Работа ОВЕН ПЛК с модемом одновременно и в режиме передачи данных и с СМС сообщениями

В данном примере будет показано, как опрашивать удаленный объект при помощи канала 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

 

Конфигурация ПЛК задачи

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