This is topic Использование GSM-шлюза для передачи SMS-оповещений пользователю in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/31/t/001572.html

Posted by Умнов Сергей (Участник № / Member № 7580) on :
 
Здравствуйте.

Мы хотели протестировать работу GSM-шлюза и использовать его как GSM-модем. Почему используем именно его? В связи с отсутствием у нас полноценного GSM-модема для производственных целей.

Для тестирования использовали:
- OPC-сервер Lectus для опроса TraceMode'ом панели оператора по Modbus TCP;
- GSM-шлюз RCom SPRUT Universal;

Шлюз имеет порт RS-232 и USB. В нашем случае подключение по USB. В оборудовании шлюз определяется как COM-порт. Тестовый проект сделали, создали словарь сообщений, создали пользователя с номером мобильного телефона.

Во время работы профайлера в логе пишется modem not ready при возникновении аварийных и предупредительных событий.

11:37:21 0000 00000000[0] 08.02.2018
11:37:21 0000 00000000[1] login ok
11:37:28 0000 00000001[198152] Start
11:37:31 0020 00000000[0] modem not ready
11:37:41 0020 00000000[0] modem not ready
11:37:44 0020 00000000[0] modem not ready
11:37:49 0020 00000000[0] modem not ready
11:46:59 0000 00000000[1] logout auto
11:47:00 0000 00000007[0] Stop

Настройки порта перепроверили в TraceMode и в оборудовании ОС - всё совпадает. Уровень сигнала связи на шлюзе хороший, сим-карта разблокирована, дозвон с мобильного на сим-карту шлюза идёт. СМС-оповещение же на телефон не приходит со шлюза.

В чём может быть проблема?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Установите в папке узла проекта в файл *.CNF (его описание есть в справке: Приложения -> Задание параметров работы мониторов -> Задание параметров работы мониторов -> Файл CNF)(редактируется в блокноте) ключи:

DEBUGON=218
GSM_LOG=7FF
END_OF_CNF
<пустая строка>

После чего запустите проект, в этой же папке появятся профайлерный протокол <имя проекта>_<№ узла>.txt с логами по COM-порту и расшифровками смс и wdep.log с логами обмена с модемом. Если данные логи не прояснят ситуацию - сделайте перехват данных по COM-порту и смотрите на каком этапе возникает проблема.
 
Posted by Умнов Сергей (Участник № / Member № 7580) on :
 
Обновил TraceMode до версии 6.10.1.
Сделал, как было Вами сказано. Создал отдельный файл TMcom_test1_1.cnf в папке с исполнительным файлом узла с указанными командами. После запуска профайлера и узла в логе узла появляется строка:

ERR_MODEM:COM31 MODEM ERR=1

Файл wdep.log при этом не создаётся
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
"TMcom_test1_1.cnf" - неверное название файла. Если номер узла 1, то файл должен называться "TMcom_1.cnf". Поэтому файл wdep.log и не создался.

В строку инициализации модема в редакторе узла установить через точку с запятой ключ:

;NO_DSR

и повторите тестирование. Этот ключ отключает проверку DSR при обмене по GSM. Он актуален, т.к. модем подключается через USB.
 
Posted by Умнов Сергей (Участник № / Member № 7580) on :
 
В строке инициализации, помимо PIN:0000;SCA:+79037011111 добавил ;NO_DSR. Протестировал и вот, что есть в логах.

test1_1.txt:

(18:1:43) ERR_RTM:hasp driver login = 7
(18:1:43) INF_LOAD:Starting... test1_1
(18:1:43) INF_RTM:Detected RTM NT(5.1)
(18:1:43) INF_RTM:Base TRACE MODE 6 Profiler T-Factory + ver. 6.10.2 ver. 6.10.1
(18:1:43) INF_LOAD:max channel = 65535
(18:1:43) INF_LOAD:Load Channels 3(1 - 3)
(18:1:43) INF_LOAD:Templates=1 (math=0 sql=0 scr=1 doc=0 pnl=0)
(18:1:43) INF_LOAD:Objects = 0
(18:1:43) INF_RTM:Timer=0.055s CalcLoop=550ms
(18:1:43) INF_LOAD:LoadTime=0.063s CalcPeriod=550ms
(18:1:45) INF_RTM:[1518177705] Экран#1:4 0 38
(18:1:45) INF_RTM:[1518177705] Экран#1:4 0 5
(18:1:45) INF_RTM:[1518177705] Экран#1:4 0 4
(18:1:45) INF_RTM:[1518177705] Экран#1:4 0 8
(18:1:45) INF_RTM:[1518177705] Экран#1:4 0 38
(18:1:45) INF_RTM:[1518177705] Экран#1:4 0 5
(18:1:45) INF_RTM:available(MB): pm=2005 vm=2047; free(MB): pm=559 vm=1819 em=0 after load
(18:1:45) INF_RTM:total use(MB): pm=1446 vm=227 after load
(18:1:45) INF_RTM:use(MB): pm=15(15) vm=43(43) pf=1 after load
(18:1:45) INF_RTM:gh:5 uh:2 hh:58 after load
(18:1:48) INF_RS:host channels=0 for COM31
(18:1:48) INF_IP:hostname is comp5
(18:1:48) INF_RTM:[1518177708] Экран#1:4 0 4
(18:1:48) INF_RTM:[1518177708] Экран#1:4 0 8
(18:1:48) INF_RTM:[1518177708] Экран#1:4 0 38
(18:1:48) INF_RTM:[1518177708] Экран#1:4 0 5
(18:1:48) INF_IP:card0 addr=0.0.0.0
(18:1:48) INF_IP:card1 addr=169.254.92.148
(18:1:48) INF_IP:card2 addr=192.168.10.2
(18:1:48) INF_IP:card3 addr=192.168.20.232
(18:1:48) INF_IP:card4 addr=10.0.6.2
(18:1:48) INF_RTM:start time is 0.953 s
(18:1:48) INF_FLT:ModeSwitch at start e15=0000 e18=0000 e20=0000
(18:1:48) INF_RTM:mode=2(Work) e15=00 e18=00 e20=00 [src4]
(18:1:48) INF_RTM:total use(MB): pm=1496 vm=447 after start
(18:1:48) INF_RTM:use(MB): pm=64(64) vm=107(108) pf=14291 after start
(18:1:48) INF_RTM:gh:554 uh:277 hh:227 after start
(18:1:48) INF_GRAPH:scr:1:popup=0 scrref=0 trend=1,0 update=1
(18:1:48) INF_RTM:[1518177708] Экран#1:4 0 4
(18:1:48) INF_RTM:[1518177708] Экран#1:4 0 8
(18:1:49) INF_SIAD:arch_1 after start 09.02.2018 15:13:00 09.02.2018 18:01:48
(18:1:49) INF_RTM:[1518177709] Экран#1:4 0 4
(18:1:49) INF_RTM:[1518177709] Экран#1:4 0 8
(18:1:49) INF_RTM:[1518177709] Экран#1:4 0 38
(18:1:49) INF_RTM:[1518177709] Экран#1:4 0 5
(18:1:49) INF_RTM:[1518177709] Экран#1:4 0 4
(18:1:49) INF_RTM:[1518177709] Экран#1:4 0 8
(18:1:49) INF_RTM:[1518177709] Экран#1:4 0 4
и т.д.

tm6_log.txt:

18:01:48 0000 00000002[221443] Start
18:07:45 1001 0[1] Logout Пользователь#3
18:07:49 0000 00000004[0] Stop

wdep.log появился и содержит следуещее:

9-02-2018 18:01:50.046 INFO (COM31):Initialization complete successfully
9-02-2018 18:01:50.046 INFO (GSM MODEM(+7963xxxxxxx)):SMS processor started
9-02-2018 18:01:50.046 INFO (GSM MODEM(+7963xxxxxxx)):Modem initialization started
9-02-2018 18:01:50.062 INFO (COM31):Deinitialized
9-02-2018 18:01:50.093 INFO (COM31):Initialization complete successfully
9-02-2018 18:01:50.093 INFO (COM31):Initialization complete successfully
9-02-2018 18:01:51:093 DEBUG (GSM MODEM(+7963xxxxxxx)):Output:
ate0v1x0&d2 | 61 74 65 30 76 31 78 30 26 64 32
9-02-2018 18:01:51:093 DEBUG (GSM MODEM(+7963xxxxxxx)):Input:
.te0v. | FF 74 65 30 76 EC
9-02-2018 18:02:51.109 ERROR (GSM MODEM(+7963xxxxxxx)):Failed to setup modem mode
 
Posted by Умнов Сергей (Участник № / Member № 7580) on :
 
Пробовал менять номер COM-порта на 1-ый - без изменений. Вопрос остаётся актуальным.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Скорее всего модем некорректно принимает строку с АТ-командами "ate0v1x0&d2". Некоторые модемы несколько АТ-команд одной строкой могут не распознавать. Напишите на адрес технической поддержки hotline@adastra.ru и Вам вышлют вариант решения данной проблемы.
 
Posted by Умнов Сергей (Участник № / Member № 7580) on :
 
Письмо отправлено
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Ответ выслан электронной почтой.
 
Posted by Умнов Сергей (Участник № / Member № 7580) on :
 
Рекомендации опробовали. Опробовали также другой тип модема. Появившиеся вопросы отправлены на почту техподдержки
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Направили Вам письмо с рекомендациями.
 
Posted by Умнов Сергей (Участник № / Member № 7580) on :
 
Большое спасибо. Рекомендации опробовали, всё получилось
 
Posted by Умнов Сергей (Участник № / Member № 7580) on :
 
Здравствуйте.
СМС-оповещения теперь приходят при возникновении аварийных и предаварийных ситуаций, но только одному пользователю. Поясню, что для отправки СМС-оповещений было создано ещё 2 пользователя, помимо того пользователя, к которому СМС приходят. Как можно сделать рассылку нескольким пользователям?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Автоматическая рассылка SMS-сообщений нескольким пользователям осуществляется в том случае, если это сообщения словарей ОТ с заданным направлением GSM.
Сообщения рассылается пользователям, у которых установлен флажок "Рассылка" и задан номер мобильного телефона.
Текущему пользователю SMS не посылается.

Программно можно разослать одно и то же сообщение нескольким пользователям через STRING-аргументы, привязанные к атрибутам 29 (S_Mail) соответствующих каналов ПОЛЬЗОВАТЕЛЬ.
 
Posted by Умнов Сергей (Участник № / Member № 7580) on :
 
Автоматическая рассылка сделана как раз через словари сообщений ОТ. В аргументах словарей ОТ выбрано AR+G+GSM для аварийных и предупредительных собитый. Пользователь, который входит в МРВ, рассылку не получает, номер телефона у него не указан, галочка "Рассылка" снята. Остальные пользователи (3 пользователя), имеют номера телефонов, галочка "Рассылка" в настройках этих пользователей установлена. Только один из трёх пользователей, которым установлена "Рассылка", получает СМС.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Проще всего будет сделать список для рассылки. Для этого в файл *.cnf установите ключ с телефонами для рассылки:

SMS_ALARME_PHONE_LIST=<phone>;..<phone>;

Описано в справке: Обмен с контроллерами и УСО - Обмен по встроенным протоколам - Пользовательские SMS.
 
Posted by Умнов Сергей (Участник № / Member № 7580) on :
 
Попробовали сделать по Вашему последнему предложению рассылку SMS, всё получилось. Интересует только вопрос: можно ли как-то сделать разделение между списками пользователей, кому и какие оповещения рассылать? То есть одни сообщения одной группе пользователей, другие сообщения - другой группе пользователей, и всё это из одного узла. Или такое разделение можно сделать только программно? Имеются ли примеры реализации чего-то подобного? Если имеются, буду рад ознакомиться
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Тогда необходимо будет создавать пользователей для рассылки смс и им программно через атрибут message рассылать сообщения. Уточните, а для каких целей требуется такое разделение? Опишите Вашу задачу детально письмом на адрес техподдержки hotline@adastra.ru
 
Posted by Умнов Сергей (Участник № / Member № 7580) on :
 
Письмо на указанный адрес выслано
 
Posted by Умнов Сергей (Участник № / Member № 7580) on :
 
Может ли команда MOVE языка FBD применяться для записи значений в переменные типа STRING? Если да, то в каком виде задавать значение на входе блока данной команды? Указываю в кавычках значение, которое должно присваиваться переменной на выходе блока, но компилятор определяет значение на входе блока как переменную. Всё ли я делаю верно?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Язык FBD не работает с переменными типа STRING.
Надо использовать язык ST.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2