Пример работы с SMS-сообщениями в ОВЕН ПЛК

Введение

Пример предназначен для демонстрации взаимодействия ОВЕН ПЛК и коммуникационного оборудования, подключенного через последовательный интерфейс RS232. При написании программы вызываются функции стандартной библиотеки SysLibCom.lib.  Функционально программа позволяет посылать и принимать SMS сообщения, используя стандартную визуализацию среды CoDeSys. Пример проекта, позволяющего принимать и посылать SMS–сообщения находится в файле
“sms_send_example.pro”.

Типовая аппаратная конфигурация

Программа протестирована на ПЛК100. Для перехода на ПЛК 150 (154) следует использовать верхний (DBGU) порт с “Модемным кабелем ПЛК1XX“ без перемычки (см. РЭ ПЛК150 (154)). В качестве модема применялся терминал Siemens MC35i. Типовые настройки модема:

1)      Выбрана скорость обмена 9600 AT+CBST=7

2)      Уведомление о приходе новых SMS AT+CNMI=1,1

3)   Сохранение параметров настройки во флэш-памяти. AT&W0

Описание работы программы

При работе с программой источником событий могут являться: либо человеко-машинный интерфейс, либо входящее SMS-сообщение с модема. При получении SMS на мнемосхеме появится телефонный номер, откуда пришло сообщение и текст. Для отсылки SMS наберите номер и нажмите в мнемосхеме viz1 кнопку “Отправить”.

Описание ФБ для работы с модемом

Для работы SMS в цикл программы ПЛК должен быть включен вызов ФБ “Gsm_modem_sms”

В качестве входов блока используются

com_num:PORTS:=COM1; Номер порта к которому подключен модем ( по умолчанию – COM1 – для ПЛК150 замените на COM3)

phone_num:STRING;         Телефонный номер получателя (например, 79160000000)– если не требуется посылать SMS оставьте пустым.

send_SMS_text:STRING;          Строка для отправки по указанному номеру – если не требуется посылать SMS оставьте пустым.

rcvSMS:BOOL;                      Флаг необходимости проверки SMS  — если установлен то производится проверка на вновь полученное SMS

use_unicode: BOOL ; Использование кодовой таблицы — юникод — ограничение на сообщение — 21 символ. Для отправки русских СМС – ограничение будет именно в 21 символ.

В качестве выходов блока используется

rcvedSMS:STRING;               Полученное SMS – если не пустое, то пришло новое.

rcvedPhonNum:STRING;     Телефон с которого отправлено SMS

rcvedTm:STRING(25);         Время отправки SMS сообщения

sended_OK:BOOL;               Признак успешной отправки SMS