【问题标题】:How to write an ASCII value into a string in Structured Text for a PLC?如何将 ASCII 值写入 PLC 结构化文本中的字符串?
【发布时间】:2014-02-21 05:36:54
【问题描述】:

对于用Structured Text 编写的PLC 程序,我需要一个以ASCII 值0x01 0x01 0x01 0x00 0x12 开头的字符串。

在 Java 中我会这样做:

String literal = "\x01\x01\x01\x0\x12";

如何在 PLC 的结构化文本中实现相同的功能?

【问题讨论】:

    标签: plc iec61131-3 structured-text


    【解决方案1】:

    看来 IEC-61131 的转义序列是 $hh,所以只需使用

    '$01$01$01$00$12'

    查看STRING数据类型https://en.wikipedia.org/wiki/IEC_61131-3#Data_types

    他们展示了一些使用 $ 作为转义序列字符的示例字符串文字(在 C/C++/Java 中为 \

    【讨论】:

      【解决方案2】:

      试试这个:

      VAR
       string: STRING[5]:='abcde';
       char : ARRAY[0..4] OF BYTE := 16#x01, 16#01, 16#01, 16#0, 16#12;
       ptr : POINTER TO BYTE;
       i : INT;
      END_VAR
      
      ptr:=ADR(string);
      FOR i:=0 TO 4 DO
       ptr^ = char[i];
       ptr:=ptr+1;
      END_FOR
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-10-12
        • 1970-01-01
        • 2014-10-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多