Как записать значение ASCII в строку в структурированном тексте для ПЛК?

Для программы ПЛК, написанной на структурированном тексте, мне нужна строка, которая начинается со значений ASCII 0x01 0x01 0x01 0x00 0x12,

В Java я бы сделал это с:

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

Как я могу добиться того же в структурированном тексте для ПЛК?

2 ответа

Решение

Похоже, что escape-последовательность IEC-61131 составляет $hh, поэтому просто используйте

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

см. тип данных STRING https://en.wikipedia.org/wiki/IEC_61131-3

они показывают некоторые примеры строковых литералов, используя $ как символ escape-последовательности (аля \ в C/C++/Java)

Попробуй это:

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
Другие вопросы по тегам