PDA

Просмотр полной версии : стыковка контроллера WAGO и модема ОВЕН ПМ01



Игорь КЭР
23.04.2018, 09:53
У меня стоит задача отправлять СМС с плк Wago используя модем ОВЕН ПМ01 используя связь по RS-485.

Я пишу в codesys версии 2.3, при этом не использовал библиотеки отправки СМС, а отсылал АТ команды используя com-порт.
При этом простые АТ команды типа считывания номера устройства или смены скорости выполнялись нормально. А вот при попытке отправить СМС возникли проблемы.
В руководство АТ команда описана как AT+CMGS=<”номер”> потом дожидаемся ответа '>' и посылаем текст СМС с 1Аh в конце.
Во первых в руководстве не написано в каком формате должен быть номер, надо ли писать +7,7 или 8 в начале, как минимум странно не указать такую важную вещь в руководстве. Во вторых не совсем понятно надо ли в АТ -команде проставлять двойные кавычки. Неплохо было бы просто привести пример правильно АТ-команды. Я перепробовал все возможные варианты. Обычно на 1-2 первые посылки модем просто не реагирует, а потом отвечает дублируя посылку и добавляет 13 10 в конце. Что это значит, что модем не понял команду ?
Если после этого все равно отправлять текст СМС в модем он отвечает 'stte', что это значит ?
Еще один вопрос какой примерно интервал времени должен проходить между отправкой АТ-команды и отправкой текста СМС?

Нет ли у вас простого правильного примера отправки СМС в codesys без использования библиотеки Owen ?

И еще один вопрос, на этом же интерфейсе rs-485 висит электросчетчик Меркурий. Подразумевается что ПЛК будет опрашивать по этому же интерфейсу и электросчетчик, поскольку оба устройства работают по разным протоколам, они должны просто игнорировать то что отправлено не им. Как себя поведет в данном случае модем, если он получить сообщение которое не сможет распознать, то он просто проигнорирует его или будет выдавать какое то сообщение о ошибке ?

Vladislav_OWEN
23.04.2018, 11:26
1. Попробуйте отправить сообщение с ПК через Гипертерминал. Если получится, то приступайте к отправки с контроллера. ЭТО (https://www.elecrow.com/download/SIM800%20Series_AT%20Command%20Manual_V1.09.pdf) и ЭТО (http://www.owen.ru/catalog/gsm_gprs_modem_owen_pm01/74944685) Вам в помощь.

2. Вешать на один порт модем и счетчик нельзя, т.к. могут происходить конфликтные ситуации, результат которых очень сложно предсказать.

З.Ы. Не забудьте отключить эхо на модеме ( АТЕ0 )

capzap
23.04.2018, 11:45
В руководство АТ команда описана как AT+CMGS=<”номер”> потом дожидаемся ответа '>' и посылаем текст СМС с 1Аh в конце.
Во первых в руководстве не написано в каком формате должен быть номер, надо ли писать +7,7 или 8 в начале, как минимум странно не указать такую важную вещь в руководстве.команды АТ придумали не ОВЕН, а разработчик чипсетов и у них в документации всё про это написано только лишь с одним ньюансом, они ссылаются на стандарт (https://en.wikipedia.org/wiki/GSM_03.40), потому что можно послать не только на обычный номер, так же на короткий, также на символьное представление, поэтому напрямую и не расписано, что касается руководства предоставляемого ОВЕНом, то там все есть, скрин прилагаю.

добавляет 13 10 в конце
по поводу этих символов, опять же разработчики АТ команд, помимо ответов типа ОК возвращают конец строки, вот откуда появление сиволов

он отвечает 'stte', что это значитлибо мусор либо обрывок полного сообщения, овеновская библиотека работает в цифровом режиме и Вам лучше перейти на него же, текстовый формат подходит больше для компьютерных программ

какой примерно интервал времени должен проходить между отправкой АТ-команды и отправкой текста СМСкогда получите правильный ответ от модема, тогда и шлите следующую команду

Нет ли у вас простого правильного примера отправки СМС в codesys без использования библиотеки Owenв теме про бибку я выкладывал пример как пользоваться своими АТ-командами не используя бибку в целом

Игорь КЭР
26.04.2018, 23:53
овеновская библиотека работает в цифровом режиме и Вам лучше перейти на него же, текстовый формат подходит больше для компьютерных программ
А чем плох текстовый режим ? Мне удобнее собирать сообщение в текстовом режиме.
У вас везде написано, что номер надо писать без плюса, у меня работает только вариант с плюсом спереди, без плюса СМС не отсылаются.

capzap
27.04.2018, 07:25
где Вы добавляете плюс, в терминале, в программе? Ознакомтесь с форматом посылки сообщений (http://hardisoft.ru/soft/samodelkin-soft/otpravka-sms-soobshhenij-v-formate-pdu-teoriya-s-primerami-na-c-chast-1/) и поймете что + просто выкидывается, для отправки он не нужен