Если вы занимаетесь автоматизацией производства и используете для программирования ПЛК среду CoDeSys и/или языки стандарта МЭК, то наверняка вам приходится работать и со строками. Хотя в отличие от программирования компьютеров строки в автоматизации производства используются значительно реже, они таки используются (например, для вывода данных на ЖК-дисплее или панели оператора).
Ещё реже приходится включать в эти строки непечатаемые символы, такие как табуляция или перевод строки. Но, поскольку такая необходимость всё-таки может возникнуть, то надо знать, как это сделать.
А сделать это можно, используя знак доллара. Строка в CoDeSys заключается в одинарные кавычки, как и в Паскале. Если внутри этой строки встретится знак $, то следующее за ним шестнадцатеричное число будет распознаваться как ASCII-код символа. Так можно вывести любой символ, в том числе и непечатаемый. Кроме того, особые комбинации из двух символов, первым из которых является знак $, также интерпретируются особым образом:
- $$ - знак доллара
- $' - одиночная кавычка
- $L или $l - перевод строки
- $N или $n - новая строка
- $T или $t - табуляция
- $R или $r - разрыв строки
- $P или $p - перевод страницы
Если вы используете код символа, то после знака доллара обязательно должно быть две шестнадцатеричных цифры, например:
$01
А если вы напишите $1, то это будет ошибкой.
А теперь пример. Исходный код на языке ST в CoDeSys 2 может быть таким:
Если запустить эту программу в режиме эмуляции, то вывод большинства непечатаемых символов вы не увидите:
Чтобы увидеть, как это работает, надо либо выводить строки на какой-то реальный прибор, либо на визуализацию. Тогда можно убедиться, что это работает:
На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить…