В данном примере будет показано, как опрашивать удаленный объект при помощи канала CSD и одновременно при необходимости отправлять СМС сообщения.
В данном примере ПЛК будет инициировать связь с удаленным объектом (ПК-оператора), куда будет передавать текущее значение «var1»- контролируемый параметр, и откуда будет считывать значение переменной «var1_Alarm»- аварийный уровень. При этом если текущее значение переменной превысит аварийный уровень (далее авария) отправить СМС сообщение и обнулить ее.
Настройка связи с удаленным объектом настраивается в конфигурации ПЛК.
Алгоритм работы следующий: В фоновом режиме происходит периодический обмен между ПЛК и ПК. В случае аварии выставляется флаг о необходимости отправить СМС «Start», блоку «FB_SMS_SR» подается команда на отправку, номер абонента и текст сообщения. Далее если в текущий момент модем не занят (переменная «LineStatus» равна нулю), то захватываем порт, при необходимости производим настройку модема, после чего происходит непосредственно отправка сообщения. После отправки флаг снимается (при помощи выхода «SmsSend» блока «FB_SMS_SR»)и происходит освобождение порта.

- Программа в CoDeSys 2.3
Список переменных:
PROGRAM PLC_PRG
VAR
Com :OpenPort;
cfg :FB_SMS_CFG;
sms :FB_SMS_SR;
DevNum :WORD;
Start : BOOL :=FALSE;
cfg_ok :BOOL;
var1 AT%QW12.1.1.0 :WORD;
var1_Alarm AT%IW12.1.0.0 :WORD :=8000;
LineStatus AT%QB12.0.0 : BYTE;
SmsNum :STRING := ‘79012345678’;
END_VAR

Мой блог находят по следующим фразам