PDA

Просмотр полной версии : Библиотека ModemOwenLib (для старых ПЛК/СПК)



Страницы : 1 [2]

mandrew
20.03.2018, 16:19
Ещё раз попробовал 10-ю библиотеку модема ошибок нет,ФБ добавляются....

Солнечный заяц
27.03.2018, 14:15
Есть ли возможность отправлять СМС-сообщения на кириллице?

Трофимов Артем
27.03.2018, 15:13
да, библиотека поддерживает кириллицу

Солнечный заяц
28.03.2018, 16:23
да, библиотека поддерживает кириллицу

Поясните, пожалуйста. У меня есть Русский текст в формате WSTRING. Я его преобразую в STRING и записываю в переменную FB_SMS_CSD.SMS_send.sms_text
Это будет работать? (оборудования нет на руках)

Трофимов Артем
28.03.2018, 16:34
да, только учитывайте, что длина 70 символов максимум на кириллице

Евгений Кислов
28.03.2018, 16:38
Отмечу, что стандартный оператор конверсии WSTRING_TO_STRING в данном случае не подойдет.
Используйте ФБ из библиотеки OwenStringUtils (http://www.owen.ru/forum/showthread.php?t=25981).
Подробности здесь: http://www.owen.ru/forum/showthread.php?t=28167&p=270862&viewfull=1#post270862

mandrew
11.04.2018, 09:50
Добрый день.
Разобрался с 12 библиотекой СПК107+ПМ01(sim800 RS-232).
У меня она нормально заработала только в sp7p4.
Основные функции библиотеки работают.
Как писалось в начале, любой входящий звонок подвешивает связь СПК107+ПМ01,помогает перезагрузка...
Из интересного ,русский текст в формате STRING модем передает-принимает нормально.....

mandrew
11.04.2018, 09:56
А где можно скачать пример групповой рассылки SMS с использованием библиотеки ModemOwenLib?

energvk
12.04.2018, 13:24
А в новой версии библиотеки устранили баг с работой GPRS на новой прошивке?
http://www.owen.ru/forum/showthread.php?t=20465&p=264419&viewfull=1#post264419

Ильнур Гибадуллин
16.04.2018, 11:24
А в новой версии библиотеки устранили баг с работой GPRS на новой прошивке?
http://www.owen.ru/forum/showthread.php?t=20465&p=264419&viewfull=1#post264419

Работы по устранению ошибки еще ведутся. Рекомендуем пока использовать старую версию прошивки СПК105 v3.948 (ссылка (http://www.owen.ru/catalog/codesys_v3/25545068)).

energvk
14.05.2018, 18:00
При добавлении библиотеки OwenModemLib_v3.5.2.12 выскакивает такое окно:

37239

Ильнур Гибадуллин
14.05.2018, 18:50
При добавлении библиотеки OwenModemLib_v3.5.2.12 выскакивает такое окно:

37239

Откройте проект PM01(08_11_2017).projectarchive во вложении первого поста. Библиотека автоматически подтянется в Вашу среду.

Осинский Алексей
15.05.2018, 08:40
При добавлении библиотеки OwenModemLib_v3.5.2.12 выскакивает такое окно:

37239

Впервые вижу такое сообщение.
Какая у Вас версия CODESYS?

energvk
15.05.2018, 11:08
Откройте проект PM01(08_11_2017).projectarchive во вложении первого поста. Библиотека автоматически подтянется в Вашу среду.

Первый раз так и делал. Потом удалил и уже добавил отдельно. В обоих случаях выскакивало данное сообщение.

CODESYS V3.5 SP5 Patch 5

energvk
15.05.2018, 11:33
И почему то не могу с ней работать. Когда ставлю в менеджере библиотек эту версию - она пропадает из ассистента ввода. И ранее работающие ФБ (11й версии библиотеки), становятся красными. Возвращаю на предыдущие версии - всё ок

Ильнур Гибадуллин
15.05.2018, 11:58
Первый раз так и делал. Потом удалил и уже добавил отдельно. В обоих случаях выскакивало данное сообщение.

CODESYS V3.5 SP5 Patch 5

Если открыть архив проекта, то насколько мне известно ошибка не должна возникать. Удалил библиотеки на своем ПК, открыл архив проекта, библиотеки подтянулись.

energvk
16.05.2018, 16:30
Библиотека то подтянулась. Ошибка не выскакивает, но как я писал выше
И почему то не могу с ней работать. Когда ставлю в менеджере библиотек эту версию - она пропадает из ассистента ввода. И ранее работающие ФБ (11й версии библиотеки), становятся красными. Возвращаю на предыдущие версии - всё ок

Осинский Алексей
16.05.2018, 16:59
Библиотека то подтянулась. Ошибка не выскакивает, но как я писал выше

Пришлите пожалуйста архив проекта с 12й версией библиотеки.
Попробую воспроизвести ошибку.

energvk
23.05.2018, 10:43
Создал пустой проект, добавил библиотеку - результат аналогичен
37384

Ильнур Гибадуллин
31.05.2018, 10:05
Создал пустой проект, добавил библиотеку - результат аналогичен
37384

Попробуйте библиотеку во вложении.

Yaroslav_22
05.06.2018, 10:44
Здравствуйте.

Такой вопрос: CS3.5P5, СПК207,ПМ01 SIM800(не уверен, производство 2018г), все отлично работает с библиотекой (проверял пока на СМС), прикрепленной выше, но не может отобразить баланс, оператор - Теле2, номер запроса #105#, пишет "ERROR:No answer"

Что может быть не так?

з.ы, может такое быть из-за того, что оператор не предоставляет такую функцию в виде СМС а отображает только как всплывающий экран?

Yaroslav_22
05.06.2018, 10:53
Еще вопрос в библиотеке есть ФБ SMS.Read - показывает последнее пришедшее СМС а как можно увидеть весь список с возможность его редактировать (удалять/читать)?

Трофимов Артем
05.06.2018, 11:11
Еще вопрос в библиотеке есть ФБ SMS.Read - показывает последнее пришедшее СМС а как можно увидеть весь список с возможность его редактировать (удалять/читать)?

библиотека читает последнюю пришедшую СМС, после чего удаляет её с сим карты. если необходима история смс - её придётся сделать в проекте самому, загоняя смски в массив.
биб-ка работает с флеш смс на приём и отправку. запрос баланса в таком режиме не тестировался.

Yaroslav_22
05.06.2018, 11:17
т.е. про проверку баланса пока можно забыть? или как это можно сделать? свой ФБ?

Трофимов Артем
05.06.2018, 11:32
через личный кабинет? или крайне необхходимо внутри контроллера знать?

Yaroslav_22
05.06.2018, 11:44
Иногда объекты находятся в деревнях, где не то что интернет, сотовая связь ловит плохо(но это решаемо) и личный кабинет не всегда удобно для пользователя, поэтому предполагалось, что с панели оператора, нажав кнопку, можно будет получить баланс. Можно через СМС и блок SMS_Read, но оператор не предоставляет такой функции пока, как вариант можно тогда поговорить с тех. поддержкой Теле2.

Yaroslav_22
05.06.2018, 12:14
к сожалению вход и выход у этого блока BOOL. Пока остается вариант с личным кабинетом, Я так понимаю внутрь ФБ этой библиотеки не попасть

Yaroslav_22
05.06.2018, 12:38
все верно, она и не работает
37560

Yaroslav_22
05.06.2018, 12:51
постараюсь достать симку "необгрызаную" по формату, другого оператора и попробую...

Yaroslav_22
05.06.2018, 13:02
да, пробовал, то же самое. Может быть такая ошибка из-за того, что сообщение физически не влазит в balans: STRING(80)?

Трофимов Артем
05.06.2018, 13:13
подключите к модему ещё сниффер, подайте команду запроса с контроллера, лог посмотрю , подумаю , что можно сделать.

Yaroslav_22
05.06.2018, 13:33
37561
Вот что показывает терминал, т.е. команда проходит и что то принимает, только это явно не "ERROR:No answer"

Yaroslav_22
05.06.2018, 13:46
к сожалению, моих знаний по модему, кажется, пока не достаточно - куда нужно вписать данную строчку AT+CUSD=1,*105#,15$R$N, в библиотеке для CS3.5 нет ФБ, который передавал бы АТ команды через ПЛК в модем.

Где можно найти расшифровку - 15$R$N - этой строчки - что она означает?

Yaroslav_22
05.06.2018, 13:56
про руководство спасибо - гляну.

про сниффер - о такой штуке не слышал, читаю пока)))...

по остальному - жить так пока, до выяснений обстоятельств...

Трофимов Артем
05.06.2018, 14:01
если в первом приближении как смотрю, ув. Capzap прошу поправить если неправ, то 3 и 4 символы это тип кодировки сообщения. этот тип кодировки у нас не разбирается

приборист
06.06.2018, 20:04
Добрый день!
А куда пропал пример с групповой рассылкой?

http://www.owen.ru/forum/showthread.php?t=25986&p=234448&viewfull=1#post234448
По ссылке картина осталась, в теме примера не нашел.

Екатерина Аладышева
13.06.2018, 07:29
Добрый день!
А куда пропал пример с групповой рассылкой?

http://www.owen.ru/forum/showthread.php?t=25986&p=234448&viewfull=1#post234448
По ссылке картина осталась, в теме примера не нашел.

В ближайшее время будет опубликована доработанная библиотека и пример.

Ильнур Гибадуллин
13.06.2018, 15:40
Добрый день!
А куда пропал пример с групповой рассылкой?

http://www.owen.ru/forum/showthread.php?t=25986&p=234448&viewfull=1#post234448
По ссылке картина осталась, в теме примера не нашел.

Добрый день!

Пример с групповой рассылкой добавили в первый пост темы.

energvk
14.06.2018, 11:00
При интегрировании в проект согласно инструкции не переносятся методы программы SmsSender, что приводит к ошибке:
37669

Евгений Кислов
14.06.2018, 11:05
А как именно вы переносите эту программу из одного проекта в другой?

energvk
14.06.2018, 11:22
Согласно инструкции:
"Для интегрирования ПО в проект необходимо:
1) Перенести в проект содержимое директории "Group Sms Sender" с вкладки POU примера (рис. 2.5)".

Соответственно я открываю свой проект и проект примера и Ctrl+C --> Crtl+V.

Евгений Кислов
14.06.2018, 11:27
Вы можете со мной связаться по skype, чтобы это продемонстрировать?

energvk
14.06.2018, 11:36
В принципе да

приборист
15.06.2018, 20:01
Согласно инструкции:
"Для интегрирования ПО в проект необходимо:
1) Перенести в проект содержимое директории "Group Sms Sender" с вкладки POU примера (рис. 2.5)".

Соответственно я открываю свой проект и проект примера и Ctrl+C --> Crtl+V.

В моем случае Copy \ Paste приводил к задваиванию ID Элементов (В итоге мои элементы на визуализации показывали данные из примера).
Помогло следущее:
Экспорт из примера и Импорт в свой проект.

energvk
17.06.2018, 13:17
В моем случае Copy \ Paste приводил к задваиванию ID Элементов (В итоге мои элементы на визуализации показывали данные из примера).
Помогло следущее:
Экспорт из примера и Импорт в свой проект.

По разному пробовал,не работает. Какая-то странная штука с методами. Только они не подгружаются. Я и создать их не могу. Позже попробую импортировать свой проект в пример. Возможно получится

Осинский Алексей
17.06.2018, 13:19
В шапке темы обновил пример групповой рассылки СМС до версии 3.5.4.5.
Список изменений:

Версия используемой библиотеки OwenModemLib обновлена до 5.3.2.13.
Тип POU SmsSender изменен с программы на ФБ из-за ограничений CODESYS 3.5 SP5 (у программ не может быть методов).
В "описании ПО" обновил алгоритм интеграции примера в проект.


energvk, используйте обновленный пример.
Обратите внимание, что алгоритм интеграции ПО в проект изменился из-за смены типа POU SmsSender.

energvk
12.07.2018, 14:08
Добрый день! Использую данную библиотеку для GPRS-соединения (совместно с Modbus Slave TCP Library v.1.0.0.8). Подключение к интернету происходит, внутренний пинг ФБ работает. Но снаружи недостучаться. СПК не пингуется. TCP сервер не опрашивается через OPC-клиент. Айпишник - белый, статика. В чём может быть проблема?

Осинский Алексей
12.07.2018, 16:01
Добрый день! Использую данную библиотеку для GPRS-соединения (совместно с Modbus Slave TCP Library v.1.0.0.8). Подключение к интернету происходит, внутренний пинг ФБ работает. Но снаружи недостучаться. СПК не пингуется. TCP сервер не опрашивается через OPC-клиент. Айпишник - белый, статика. В чём может быть проблема?
Добрый день!

Конкретно с такой проблемой не сталкивался.
Была следующая (в ПЛК323): Нет доступа по Ethernet из внешней сети при включенном модеме.

Проблема, оказалась в маршрутах.
Может быть решение поможет:

Происходит это из-за того, что при включении модема маршрутизация в ПЛК отдает приоритет GPRS-соединению.

Устраняем это:
1) Подключиться через putty (ссылка на скачивание (https://www.putty.org/));
1.1) В стартовом окне Putty введите IP-адрес контроллера, порт 22 и тип подключения: SSH
37996

1.2) В диалговом окне "login as: " вводим root и нажимаем Enter;
1.3) На запрос пароля просто нажимаем Enter;

2) По умолчанию ПЛК323 считает себя роутером сети, пытаясь перенаправить весь трафик через GPRS-содинение.
Отключаем это поведение выполнив команду оболочки (вставьте в окно putty)
sed -i 's/GPRS_ROUTER=1/GPRS_ROUTER=0/g' /etc/network.conf
либо любым другим удобным способом измените в файле /etc/network.conf
строчку GPRS_ROUTER=1 на GPRS_ROUTER=0
3) Примените настройки перезагрузив ПЛК командой
/sbin/reboot
4) При включенном модеме выполните команду busybox route add default gw x.y.z.a dev eth0
где x.y.z.a - IP-адрес шлюза в интернет
Эта команда перенаправит весь трафик через Ethernet-соединение.
Из программы это можно сделать при помощи библиотеки CmpSysExec (ссылка на скачивание (http://www.owen.ru/catalog/codesys_v3/80224381)). Описание библиотеки доступно по ссылке.
5) Посмотреть текущие маршруты можно командой busybox route
6) Если необходимо часть трафика направить через GPRS
Нужно будет явно указать запросы на какие IP нужно передавать через модем.
Это можно сделать выполнив команду
busybox route add 192.168.1.10 gw 192.168.1.1 dev ppp0
Где
192.168.1.10 - IP адрес, к которому нужно обращаться через GPRS
192.168.1.1 - Шлюз, через который нужно обращаться
7) Более подробно о настройке маршрутов Вы можете узнать у Вашего системного администратора.

energvk
12.07.2018, 16:19
Ого, как сложно. Странно, раньше работало без таких костылей, правда не помню на какой именно прошивке. Попробую этот вариант.

P.S. Для проверки применил ваш NTP-сервер синхронизации. Один раз получилось получить время (из наверное 50-70 попыток). СПК105 если что. Пошёл пробовать...

energvk
12.07.2018, 16:23
Выполнил:
sed -i 's/GPRS_ROUTER=1/GPRS_ROUTER=0/g' /etc/network.conf
/sbin/reboot

Далее ввел busybox route


default * 0.0.0.0 U 0 0 0 ppp0
10.10.0.0 * 255.255.0.0 U 0 0 0 usb0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
192.200.1.21 * 255.255.255.255 UH 0 0 0 ppp0


Теперь как я понимаю нужно ввести команду busybox route add default gw x.y.z.a dev eth0, где x.y.z.a - ip, полученный от оператора?

P.S. на команду получил ответ

route: SIOCADDRT: No such device

Осинский Алексей
12.07.2018, 16:32
Теперь как я понимаю нужно ввести команду busybox route add default gw x.y.z.a dev eth0, где x.y.z.a - ip, полученный от оператора?

P.S. на команду получил ответ

route: SIOCADDRT: No such device

В СПК105 нет Ethernet интерфейса, так что такой ответ - норма.

Скажите, а Вы пробовали подключиться к модему, когда СПК не подключен к ПК (т.е. не активен виртуальный Ethernet интерфейс usb0)?



Теперь как я понимаю нужно ввести команду busybox route add default gw x.y.z.a dev eth0, где x.y.z.a - ip, полученный от оператора?

Нет. Поскольку у СПК1хх нет Ethernet-интерфейса в выполнении этой команды нет необходимости.
Как я и говорил, решение выше помогло в несколько иной ситуации.

energvk
12.07.2018, 16:35
В СПК105 нет Ethernet интерфейса, так что такой ответ - норма.

Скажите, а Вы пробовали подключиться к модему, когда СПК не подключен к ПК (т.е. не активен виртуальный Ethernet интерфейс usb0)?

Да, я уже понял, что ответ норма. Если заменить на ppp0 вместо eth0, то команда проходит. Ещё бы знать адрес шлюза...

Подлючаться при отключенном СПК от ПК пробовал. результат аналогичен

Осинский Алексей
12.07.2018, 16:41
Да, я уже понял, что ответ норма. Если заменить на ppp0 вместо eth0, то команда проходит. Ещё бы знать адрес шлюза...

Подлючаться при отключенном СПК от ПК пробовал. результат аналогичен

Возможно Firewall блокирует входящие подключения.
Давайте попробуем его отключить.
Выполните команду /etc/rc.fw stop и попробуйте подключиться через GPRS (все так же, при отключенном USB).

energvk
12.07.2018, 16:49
Возможно Firewall блокирует входящие подключения.
Давайте попробуем его отключить.
Выполните команду /etc/rc.fw stop и попробуйте подключиться через GPRS (все так же, при отключенном USB).

Сработало. Пошел пинг и опрос через опс-сервер и с отключенным и с подключенным usb

energvk
12.07.2018, 18:10
Сработало. Пошел пинг и опрос через опс-сервер и с отключенным и с подключенным usb

Как я понимаю, после перезагрузки СПК эту команду необходимо повторять. Кроме как в теле программы, это можно как то принудительно сделать?

Осинский Алексей
12.07.2018, 18:30
Как я понимаю, после перезагрузки СПК эту команду необходимо повторять. Кроме как в теле программы, это можно как то принудительно сделать?

На сколько мне известно в этом нет необходимости. Достаточно выключить 1 раз.

energvk
13.07.2018, 10:38
На сколько мне известно в этом нет необходимости. Достаточно выключить 1 раз.

Как выяснилось, это не так. После перезагрузки мне пришлось повторно отключать фаервол

Трофимов Артем
16.07.2018, 10:07
можете добавить в конец файла /etc/rc.local команду выключения файервола, но рекоммендую подумать о безопасности, и как минимум установить пароль на доступ к консоли панели

energvk
16.07.2018, 16:02
рекоммендую подумать о безопасности, и как минимум установить пароль на доступ к консоли панели.

Это выполнил. А как максимум, что ещё можете порекомендовать?

И почему вообще возникла данная ситуация? Раньше таких проблем с файерволом не наблюдалось

Трофимов Артем
16.07.2018, 16:13
видимо в одной из прошивок обновили файервол, у которого настройки по умолчанию - блок.
вы можете настроить файервол. в файле пример настройки /etc/firewall.conf
надо допустим для modbus TCP открыть порт 502
пишем в конфиге tcp=502,off
502й порт должен будет стать доступен для TCP траффика
также можете указывать диапазон IP адресов, с которых стенка будет пропускать траффик даже для 502 порта

energvk
17.07.2018, 11:03
видимо в одной из прошивок обновили файервол, у которого настройки по умолчанию - блок.
вы можете настроить файервол. в файле пример настройки /etc/firewall.conf
надо допустим для modbus TCP открыть порт 502
пишем в конфиге tcp=502,off
502й порт должен будет стать доступен для TCP траффика
также можете указывать диапазон IP адресов, с которых стенка будет пропускать траффик даже для 502 порта

Спасибо. Так всё работает

Yaroslav_22
23.07.2018, 07:41
Здравствуйте.

CS3.5 SP8
СПК207-24.03.00-CS-WEB таргет 3.5.4.0
modLib 3.5.2.13

Решилась ли проблема с запросом баланса, ОШИБКА No answer. Ни мегафан, ни билайн, ни теле2, ни МТС не работают.

Трофимов Артем
23.07.2018, 11:57
Здравствуйте.

CS3.5 SP8
СПК207-24.03.00-CS-WEB таргет 3.5.4.0
modLib 3.5.2.13

Решилась ли проблема с запросом баланса, ОШИБКА No answer. Ни мегафан, ни билайн, ни теле2, ни МТС не работают.

Здравствуйте, можете приложить лог обмена с модемом?

Yaroslav_22
23.07.2018, 13:30
т.е. через терминал?

если нет, то как это сделать? через какую программу?

Трофимов Артем
23.07.2018, 14:22
можете через любую терминальную программу

Yaroslav_22
01.08.2018, 06:21
Извиняюсь что запоздал....
38219

p.s. Help....

Dmitro
19.08.2018, 15:44
Дайте пожалуйста, готовую демо-программу по работе с ОВЕН ПМ01 _на языке_ ST.
Уже полгода не могу "завести" этот чудо-модем((

Yaroslav_22
20.08.2018, 07:50
Дайте пожалуйста, готовую демо-программу по работе с ОВЕН ПМ01 _на языке_ ST.
Уже полгода не могу "завести" этот чудо-модем((

В описании к библиотеке есть куча примеров, описание на первой странице есть ("Библиотека OwenModemLib - Руководство по применению"), в принципе этого достаточно для того что бы "завести" его, если нет ни каких проблем с самим железом...

Там все на CFC, но не сложно переделать на ST

Максим79
19.09.2018, 19:54
Здравствуйте. Отлаживаем работу модема в CodeSys3.5 Pach5 SP5. Следуя руководству к библиотеке OwenModemLib наладили отправку СМС. А вот при получении СМС не видит текст сообщения: переменная in_text пустая. Видит что СМС получено переменная NewSMS на 2 сек становиться TRUE, но нет текста сообщения и номера входящего. Время считывается в переменную, но странного формата. При компиляции CodeSys выдает 38 предупреждений ссылаясь на библиотеку OwenModemLib. Неверные конвертации типов. Может с этим что-то связано.
Помогите кто-нибудь пожалуйста.

Осинский Алексей
19.09.2018, 20:11
Здравствуйте. Отлаживаем работу модема в CodeSys3.5 Pach5 SP5. Следуя руководству к библиотеке OwenModemLib наладили отправку СМС. А вот при получении СМС не видит текст сообщения: переменная in_text пустая. Видит что СМС получено переменная NewSMS на 2 сек становиться TRUE, но нет текста сообщения и номера входящего. Время считывается в переменную, но странного формата. При компиляции CodeSys выдает 38 предупреждений ссылаясь на библиотеку OwenModemLib. Неверные конвертации типов. Может с этим что-то связано.
Помогите кто-нибудь пожалуйста.

Добрый вечер.
Вероятнее всего ФБ модема не смог опознать кодировку входящего сообщения.
1. Какой оператор у Вас?

2. У Вас будет возможность при помощи АС4 + терминальная программа (например, hyperterminal, Terra Term (https://osdn.net/projects/ttssh2/downloads/69976/teraterm-4.100.zip/)) промониторить обмен между модемом и контроллером?
Это очень поможет в поиске причины.

Максим79
19.09.2018, 21:39
1.Теле 2. Мы находимся в Казахстане.
2.Это обмен.
OK
AT+CREG?

+CREG: 0,1

OK
AT+CSQ

+CSQ: 29,0

OK

+CMTI: "SM",5
AT

OK
AT+CLCC

OK
AT+CMGL=0,1

+CMGL: 5,0,"",23
07917770707000F4040B917770666878F40000819002004335 4204417B580E

OK
AT+CMGR=5,1

+CMGR: 0,"",23
07917770707000F4040B917770666878F40000819002004335 4204417B580E

OK
AT+CMGD=5

OK

Осинский Алексей
19.09.2018, 21:49
Спасибо, завтра днем посмотрю.
Я правильно понял, что пробел в сообщении


07917770707000F4040B917770666878F40000819002004335 4204417B580E

это терминал так строку перенес, и в реальности ответ был без этого пробела?

Максим79
19.09.2018, 22:04
пробела нет. видимо при копи пасте что то пошло не так. Пробовали просто цифры, та же фигня. И главное нет ни текста, ни номера, а время выдает вот так - '202,-$N9-70 19:77:07'
Вот на кирилице
+CMTI: "SM",1
AT+CMGL=0,1

+CMGL: 1,0,"",29
07917770707000F4040B917770666878F40008819002106060 420A04100432043004400020

OK
AT+CMGR=1,1

+CMGR: 0,"",29
07917770707000F4040B917770666878F40008819002106060 420A04100432043004400020

OK
Поменяли карту на билайн, тоже ничего не выдает.

Максим79
20.09.2018, 09:15
38820
Авар тоже никуда не вписывается. Отправляем с телефона на модем. Время такое во всех сообщениях.

Трофимов Артем
20.09.2018, 09:59
38820
Авар тоже никуда не вписывается. Отправляем с телефона на модем. Время такое во всех сообщениях.

отключите эхо в модеме - ATE0
либо через блок конфигурации модема ( он сам выключит эхо )

Максим79
20.09.2018, 10:40
Спасибо большое. Дело оказалось в эхо. Хотя мы вчера на другом модеме отключали эхо, но и включили текстовый режим и кодировку GSM. Он стал выдавать ошибку. Мы поменяли модем и не стали ничего менять. Еще раз большое спасибо.

Трофимов Артем
20.09.2018, 11:02
тут надо уточнить у Максима версию библиотеки , которую он использует на данный момент.

Максим79
22.09.2018, 13:21
Здравствуйте, у нас новая проблема. С проверкой баланса. Оператор Билайн Казахстан. Использую ФБ FB_SMS_CSD.CheckModemBalans. Если запрос на номер *102#, выход пустой. Но на запрос приходят сообщения о том что была подключена какая-то услуга и т.п. Сообщения видны во входящих СМС через FB_SMS_CSD.SMS_Read. Если запрос на номер #102#, нет ответа. В снифере видно что ругается на формат USSD. Если делать запрос баланса просто с телефона, ответ приходит не как СМС раньше, а как всплывающее окно с какими-то дополнительными предложениями. Возможно ли реализовать запрос баланса через СПК? И что для этого надо?

Максим79
22.09.2018, 14:17
Если как-то поможет. На запрос *102# присылает сообщения что "Вы уже подписаны на сервис Beeline Пресса". Значит он не видит эту команду как запрос баланса и выдает :
+CREG: 0,1
OK
+CSQ: 26,0
OK
OK
OK
OK
+CUSD: 1,"0036002E00390039002000740067002E000A04120441043500 20043F043E043F0443043B044F0440043D044B043500200436 04430440043D0430043B044B0020043E043D043B0430043904 3D00210020041F043504400432044B04350020003300200434 043D044F0020041104350441043F043B04300442043D043E00 21000A0031002E041F043E0434043A043B", 72

OK
+CUSD: 0, "041204300448002004370430043F0440043E04410020043E04 3104400430043104300442044B04320430043504420441044F 002E00200414043E043604340438044204350441044C002000 53004D0053", 72

OK

+CREG: 0,1

OK
+CSQ: 24,0
OK
+CMTI: "SM",1
OK
OK
+CMGL: 1,0,"",103
07917750097700F004038165F7000881902261858342580412 044B00200443043604350020043F043E0434043F0438044104 30043D044B0020043D04300020044104350440043204380441 002000AB004200650065006C0069006E00650020041F044004 3504410441043000BB002E
OK
+CMGR: 0,"",103
07917750097700F004038165F7000881902261858342580412 044B00200443043604350020043F043E0434043F0438044104 30043D044B0020043D04300020044104350440043204380441 002000AB004200650065006C0069006E00650020041F044004 3504410441043000BB002E
OK
OK

На запрос #102#:
OK

OK

OK

+CUSD: 0, "Your USSD request cannot be served. Please check the USSD code you've submitted", 15

OK

+CREG: 0,1

OK

+CSQ: 21,5

OK

Максим79
22.09.2018, 18:26
Понятно, но на запрос #102# выдает:

+CUSD: 0, "Your USSD request cannot be served. Please check the USSD code you've submitted", 15
OK
+CREG: 0,1

Нашли у Билайна запрос баланса, ответ которого приходит в СМС . Команда *802# . СМС приходят, но некоторые символы не читаются. Кракозябки. И непонятно цифры есть, но среди них баланса мы не увидели. И еще проблема что ответ приходит в виде трех СМС и они друг друга затирают. Остается хвостик ответа. Как вы и говорите. Но проблема что # тоже не работает. Если со * хоть что-то приходит, то с решеткой совсем ничего.

bort992
26.01.2019, 10:47
Всем привет! Прошу не пинать сильно, но видит бог, запутался в трех соснах. Ситуация такая, не могу понять как создать МАССИВ для рассылки на несколько абонентов. Codesys 3.5 SP5 PH5 СПК107 + ПМ01.
В версии 2.3 есть блок массовой рассылки FB_SMS_SL, а здесь его нет.
Просмотрев пример по данной библиотеке, сказать честно, не фига не понял.

Создал вот так:
// Номер абонента
numList: STRING: = '79151234576 ; 79153214567';
num: ARRAY[0..2] OF STRING(11): = '79151234576','79153214567';

Но что теперь указать в переменной, и что вообще еще нужно???


40912

Ascold_Primorye
28.05.2019, 04:44
Доброго времени суток. Можно ли обновить версию библиотеки для CS v3.5 SP11 Hf4? Компилятор ругается на старые версии библиотек в зависимостях.

Евгений Кислов
28.05.2019, 06:38
Доброго времени суток. Можно ли обновить версию библиотеки для CS v3.5 SP11 Hf4? Компилятор ругается на старые версии библиотек в зависимостях.

Добрый день.
На первой странице темы выложена актуальная версия библиотеки - 3.5.2.13. При ее использовании ошибок компиляции не возникает.
Там же доступно видео от клиента - пример работы с библиотекой на СПК1хх [М01] в CODESYS V3.5 SP11 Patch 5.

Единственный нюанс - блоки работы с GPRS для СПК1хх [М01] работать не будут.

Если вы используете актуальную версию библиотеки и наблюдаете ошибки - выложите, пожалуйста, архив вашего проекта.

Ascold_Primorye
28.05.2019, 09:39
Устройство СПК107[M2]
Версия компилятора 3.5.11.52

Евгений Кислов
29.05.2019, 07:52
1. Нажмите кнопку Загрузка отсутствующих библиотек (ее видно на вашем скриншоте).
2. Установите архив репозитория (ссылка в подписи).
3. Установите эту библиотеку:
https://ftp.owen.ru/CoDeSys3/04_Library/02_Manual_installation/07_CmpSysExec/1.0.0.2/CmpSysExec_1.0.0.2.compiled-library

После этого компиляция должна пройти без ошибок.

Ascold_Primorye
30.05.2019, 01:18
Спасибо, помогло.

Максим79
15.08.2019, 09:42
Здравствуйте. Столкнулись с проблемой. Имеем 4 шт. ПЛК 304 и СПК 107, купленные две недели назад. Организовали связь СМС-ками между СПК и ПЛК через GSM модем ПМ01, тоже свеже купленный. Библиотека последняя OwenModemLib 3.5.2.13. В чем суть проблемы: при пополнении баланса СИМ карты находящейся в модеме, который подключен к ПЛК, от оператора сотовой связи приходит сообщение что на счет поступили деньги. СМС длиной занимает 3 СМС. И тут программа при получении СМС вылетает. Пишет "исключение". С модемом, который подключен к СПК токой проблемы нет. Все работает, а вот ПЛК 304 при вычитывании СМС вылетает. Пробовали по 232 потру и по 485. Вылетает. Меняли библиотеку на 3.5.2.12 - тот же эффект. Что делать???? Скриншот прилагается.
44108
Вот что в видно в снифере:
OK
AT+CMGF=0

OK
AT+CMGS=20

> 00110000910000AA0D70F9DB9D5EC740F0B73DCD06AT+CMGL =0,1

+CMTI: "SM",1
AT+CREG?

+CMTI: "SM",2
AT+CSQ

+CMTI: "SM",3
AT

ERROR
AT+CLCC

OK
AT+CMGL=0,1

+CMGL: 1,0,"",160
07917750000022F1440DD0C27239E936BF0100089180512191 60428C050003C4030104120430044800200441044704510442 0020043F043E043F043E043B043D0435043D0020043D043000 20003200300030002E00300030002004420435043D04330435 002E002004110430043B0430043D0441002000380039003200 2E00350032002004420433002E002004230447043004410442 043204430439044204350020043800200432

+CMGL: 2,0,"",160
07917750000022F1440DD0C27239E936BF0100089180512191 60428C050003C40302044B043804330440044B043204300439 044204350020043C0433043D043E04320435043D043D043E00 200434043E002000320035003000200442044B0441044F0447 002004420435043D04330435002E0020041F04350440043204 30044F002004380433044004300020041104150421041F041B 04100422041D041E00210020041F043E0434

+CMGL: 3,0,"",112
07917750000022F1440DD0C27239E936BF0100089180512191 60425C050003C40303043A043B044E04470430043904420435 0020002A0032003200310023002E0020041F043E0434044004 3E0431043D04350435003A00200069006E007300740061002E 006200650065006C0069006E0065002E006B007A

OK
AT+CMGR=1,1

+CMGR: 0,"",160
07917750000022F1440DD0C27239E936BF0100089180512191 60428C050003C4030104120430044800200441044704510442 0020043F043E043F043E043B043D0435043D0020043D043000 20003200300030002E00300030002004420435043D04330435 002E002004110430043B0430043D0441002000380039003200 2E00350032002004420433002E002004230447043004410442 043204430439044204350020043800200432

OK

Трофимов Артем
15.08.2019, 11:01
посмотрите в журнале ПЛК , что за исключение происходит

Максим79
15.08.2019, 13:50
44110
Спасибо большое что подсказали куда посмотреть. В журнале в исключениях видно что сработал сторожевой таймер. Увеличили время с 200мс до 1000мс - проблема ушла. Еще раз огромное спасибо!

heos
11.11.2019, 22:42
Добрый день. CODESYS V3.5 SP11 Patch 5 Hotfix 4 (версия компилятора 3.5.11.52) + OwenModemLib 3.5.2.13. Эта связка вообще корректно работает или как? Никак не удается увидеть логический результат вызова некоторых методов, например:
1. CheckModemAT - всегда отдает TRUE.
2. CheckModemREG - всегда FALSE.
3. GetLastError - "0" до появления ошибки, после ее появления (имитировал зависание модема отключением, через минуту появлялось "13") - "0" не увидеть до рестарта ПЛК (((, как при этом можно обработать ошибки модема? Не хватает сброса результата этого метода на 0, не хватает команды на перерегистрацию модема в сети,...
При этом CheckModemSignal уровень отдает, СМС уходят,..
Еще как-то напрягает SMS_Send, вернее ее выходная переменная. Я так понимаю, что она показывает попытку отправки СМС, но не результат?!

Трофимов Артем
14.11.2019, 11:58
в данной версии эти методы лишь выозвращают результат последнего вызова, а вызываются они каждый раз после проверки наличия СМС
1) всё нормально команды проходят, если ответа не будет - станет false
2) тут надо смотреть ответ от модема, что он Вам присылает
3) так и было задумано, что если была ошибка - вы в любой момент времени можете её узнать.

heos
14.11.2019, 15:10
Спасибо за оперативность и за наводку (тут надо смотреть ответ от модема, что он Вам присылает))) Было включено эхо.((
Хотя, в описании на первой странице:

Все ФБ

Теперь, если эхо включено, из ответа модема автоматически удаляется эхо
Если эхо было включено - после получения полного ответа модема эхо будет отключено автоматическиКак-то не срабатывает, но не критично...
Но вопросы оставляю открытыми):
1) от CheckModemAT FALSE я так и не увидел.
2) CheckModemREG теперь TRUE выставляет, хоть во время отсутствия связи с модемом на FALSE не преключается, но можно забить...
3) Все таки как узнать успешность отправки СМС? Очень важно определить в программе, уходят ли СМС по всем номерам. Бывают ситуации, когда не отправляются по одному номеру, но уходят по другому, и в зависимости от результатов удалить сообщение из очереди, выставить новую ошибку или дать команду модему на перерегистрацию в сети.
Пример успешной отправки СМС контролером из монитора (модем SIM800 R13.08):

AT+CMGF=0

OK
AT+CMGS=28

.> 0011000C917325195989490008AA0E041F0440043804320435 04420021.
+CMGS: 83

OK

Неуспешной:

AT+CMGF=0

OK
AT+CMGS=28

.> 0011000C917325195989490008AA0E041F0440043804320435 04420021.
ERROR
При этом GetLastError возвращает всегда "0" или какую-то давнюю ошибку, не имеющую никакого отношения к результату отправки СМС.

Трофимов Артем
14.11.2019, 15:39
Бывают ситуации, когда не отправляются по одному номеру, но уходят по другому,
флаг смс отправлен взводится как только метод отправки завершает своб работу и висит до нового вызова метода. после передачи сообщения оператору обработчику. что происходит дальше - модему неизвестно.

heos
14.11.2019, 16:33
флаг смс отправлен взводится как только метод отправки завершает своб работу и висит до нового вызова метода. после передачи сообщения оператору обработчику. что происходит дальше - модему неизвестно.
ЕЩЕ КАК известно, это видно в мониторе (см. выше) и в документации:

Response
TA sends message from a TE to the network (SMS-SUBMIT). Message reference value <mr> is returned to the TE on successful message delivery. Optionally (when +CSMS <service> value is 1 and network supports) <scts> is returned. Values can be used to identify message upon unsolicited delivery status report result code.
1) If text mode(+CMGF=1) and sending successful:
+CMGS: <mr>
OK
2) If PDU mode(+CMGF=0) and sending successful:
+CMGS: <mr>
OK
3)If error is related to ME functionality:
+CMS ERROR: <err>
Parameters
<mr> GSM 03.40 TP-Message-Reference in integer format
Вы неправильно поняли. Вопрос не в том что дошло или не дошло СМС, а ушло или не ушло.

По крайней мере нужен дополнительный флаг (к примеру "SMS_Sended") на выходе метода SMS_Send об успешной (SMS_Sended=TRUE) или не успешной (SMS_Sended=FALSE) отправке СМС по окончании его работы. Не думаю, что сложно отличить ответ типа "ERROR" или его отсутствие от "+CMGS: .. OK".

Вообще, может, найдете исходники .. да дадите кому-нибудь задание с ней поработать. Тот устранит проблемы, помогу с тестированием отправки СМС ... А там и продажи ПМ01 пойдут веселее.

Максим79
16.11.2019, 19:16
Добрый день. Очередной проект. Контролеры СПК107 и ПЛК150. Связь и управление по СМС с помощью GSM модемов. Столкнулись с проблемой ЭХО. Отключаем АТ командой АТЕ0, сохраняем AT&W, все работает. СМС корректно получает. Но после перезагрузки СПК и модема (выключили, включили питание всего шкафа управления), СМС отправляет, а вот при получении СМС не видит текст, номер, дата не корректная. Как при включенном ЭХО. Снова отключаем ЭХО, сохраняем - работает. Но после очередной перезагрузки все снова повторяется. Это уже третий проект и до этого проблем не было. Причем так ведет себя только один модем, подключенный к СПК. Второй модем сохраняет отключение ЭХО. Попробовали отключать ЭХО с помощью FB_SMS_CSD.SetModemPort как описано в примере. Но после перезагрузки все тоже самое. Модем подключен по 232. Поменяли модемы местами. Тот который работал с ПЛК, с СПК тоже перестал видеть СМС. Как будто в СПК что-то включает ЭХО. Скриншот прилагается. Что не так?
45660

Максим79
16.11.2019, 20:22
Опытным путем выяснили что дело в 232. именно на нем, после перезагрузки включается эхо. Перешли на 485 - все работает, СМС приходят корректно.
В продолжении эпопеи.
Выяснил, что в бибке блок (FB_SMS_CSD.SetModemPort) который должен настроить модем, в том числе отключить эхо, не отключает эхо.
Переподключил модем на RS 232-2, проблема ушла.
Вывод: на 485 и 232-2 работает нормально, на 232-1 при перезагрузке включается эхо.
Наверное проблема в бибке или прошивке.

heos
19.11.2019, 17:34
45708
При компиляции выходит 37 предупреждений на данную библиотеку, после заливки проекта в контроллер начинаются чудеса по нехватке памяти вплоть до зависания контроллера. Как только исключается из компиляции часть работы с СМС (овенмодемлиб) - предупреждений 0 и в контроллере все летает. Такое ощущение, что библиотека лезет не в ту память, о чем, собственно, и предупреждает компилятор. Вопрос - есть ли решение уйти от этой проблемы?

Трофимов Артем
20.11.2019, 10:19
там просто не почишено приведение типов, не влияет на работу. что за контроллер. приложите архив проекта.

heos
20.11.2019, 10:49
По ходу сам тупанул, com_conn пытался закрыть не открытый порт. Но там то почему проверки нет?
Все же повторюсь, крайне не хватает дополнительного флага (к примеру "SMS_Sended") на выходе метода SMS_Send об успешной (SMS_Sended=TRUE) или не успешной (SMS_Sended=FALSE) отправке СМС по окончании его работы. Не думаю, что сложно отличить ответ типа "ERROR" или его отсутствие от "+CMGS: .. OK".
У нас есть оператор, так он блокирует отправку СМС после некоторого количества за определенный промежуток времени (массовую рассылку). И нужно как-то в программе определить - дал ли оператор отправить СМС или нет (еще может быть неправильный номер, абонент не абонент,...), и , если никуда не уходят, сделать перерегистрацию в сети. А после перерегистрации оператор опять дает отправлять...
Ну а перерегистрацию в сети несложно и самому команды 'AT+CFUN=4' (в режим самолет) и 'AT+CFUN=1' (обратно в рабочий) послать..

Mikael
21.02.2020, 13:49
Добрый день!
Может ли быть в программе более одного метода (FB_SMS_CSD.SMS_Send) отправки SMS?
Это для того чтобы отправлять на разные номера разные SMS-сообщения.
Оборудование СПК107 и модем ПМ01

AlexeyNev
13.05.2020, 17:18
Добрый день для всех.
Прочитал все по данной теме, но ответа на решение проблемы так и не нашел. А проблема, я так понимаю больная для библиотеки OwenModemLib и модема ПМ01.
А именно, не работает блок проверки баланса. Точнее результатом работы блока на выходе появляется вместо сообщения о балансе только одна кавычка - '
Причем если намеренно задать некорректный номер для проверки баланса, то как положено, на выходе блока появляется сообщение об ошибке. Все остальные блоки, отправки, чтения СМС и т.д. работают нормально.
Испробовал все варианты команд проверки баланса (*100# #100#), менял все возможные времена циклов. Прошивки, контроллеры, ПМ01 - все новое и свежее.
Судя по форуму - эта проблема уже решалась посредством обновления библиотеки OwenModemLib. Но у меня в проекте стоит релиз v_3.5.2.13 - вроде самая последняя версия.
Так что же с балансом творится, может кто-нибудь подсказать?

Трофимов Артем
13.05.2020, 17:24
Добрый день для всех.
Прочитал все по данной теме, но ответа на решение проблемы так и не нашел. А проблема, я так понимаю больная для библиотеки OwenModemLib и модема ПМ01.
А именно, не работает блок проверки баланса. Точнее результатом работы блока на выходе появляется вместо сообщения о балансе только одна кавычка - '
Причем если намеренно задать некорректный номер для проверки баланса, то как положено, на выходе блока появляется сообщение об ошибке. Все остальные блоки, отправки, чтения СМС и т.д. работают нормально.
Испробовал все варианты команд проверки баланса (*100# #100#), менял все возможные времена циклов. Прошивки, контроллеры, ПМ01 - все новое и свежее.
Судя по форуму - эта проблема уже решалась посредством обновления библиотеки OwenModemLib. Но у меня в проекте стоит релиз v_3.5.2.13 - вроде самая последняя версия.
Так что же с балансом творится, может кто-нибудь подсказать?

подскажите год производства модема ПМ01, контроллер , который используете и интерфейс

AlexeyNev
13.05.2020, 18:26
Пробовал на двух модемах: один 2019 г.в., второй - 2020 г.в. Результат один и тот же.
Контроллер СПК 110 [М01] -2019 г.в.
Интерфейс - RS232. Соединение с контроллером -через поставляемый с ним адаптер, порт №5 . С модемом - через соответствующие зажимные выводы (№3,9,10).
Скорость обмена 9600, PortParity - 0, PortStopBits - 1, PortByteSize - 8

AlexeyNev
13.05.2020, 19:05
другие команды себя как ведут? Скорее всего функция баланса пытается выделить денежную составляющую, но уходит в ошибку, причем весьма странную, потому что возврат строки даже пустой это всегда две одинарные кавычки

По другим командам - в основном выходит сообщение об ошибке: ERROR: No answer. При этом на команду #102# выдал набор из цифр, а на команду *102# - опять ERROR: No answer.
Еще интересно, что когда в блоке библиотеки выдает одну одинарную кавычку, то на телефон приходит сообщение из двух одинарных кавычек, т.е. пустая строка

Трофимов Артем
13.05.2020, 19:10
так по какому номеру вы запрос баланса делаете 100 или 102?
у Вас МТС или Билайн?

AlexeyNev
13.05.2020, 19:35
так по какому номеру вы запрос баланса делаете 100 или 102?
у Вас МТС или Билайн?

Запрос делаю по #100#, т.к. МТС
Другие номера как варианты пробовал.

AlexeyNev
14.05.2020, 13:31
В общем, я так понял, решения проблемы нет....

Трофимов Артем
14.05.2020, 13:46
к сожалению, данный момент надо проверять со снифером и выявлять ошибку в разборе ответа.
как только сможем выйти с удалёнки, постараемся оперативно ответить, надеюсь на понимание.

Евгений Кислов
30.07.2020, 08:00
Добрый день, коллеги.

В свежих прошивках СПК и ПЛК210 (1.2.06xx.xxxx) мы добавили компонент OwenModem.

Компонент входит в состав нового пакета таргет-файлов и добавляется в дереве проекта. Поддерживается получение и отправка SMS (в т.ч. групповая рассылка), проверка баланса, сбор диагностической информации и выполнение произвольных AT-команд.

50409

Документация на компонент (https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Modems_v2.1.pdf.pdf) / Пример использования (https://ftp.owen.ru/CoDeSys3/21_Examples/01_3.5.11.5/11_Other/Example_OwenModem_3514v1.projectarchive)

В данный момент компонент протестирован только с модемом ОВЕН ПМ01 (https://owen.ru/product/pm01).
В ближайшие месяцы мы планируем выпустить небольшое обновление, которое позволит использовать компонент с рядом других модемов.

В будущем запланирована поддержка протокола GPRS.

В связи с релизом компонента мы рекомендуем всем пользователям СПК и ПЛК210 отказаться от применения библиотеки ModemOwenLib в новых проектах.

heos
19.08.2020, 22:12
Добрый день и вам. Спасибо, что не забываете про модемы )

Сразу несколько вопросов по новому компоненту:
1. (и самый важный))) Есть отправка СМС, но нет ни окончания выполнения операции, ни результата (хотя бы результат "ОК", timeout или "ERROR..").
2. 80 символов для текста СМС - почему не 70 (ограничение для кириллицы и не только в одну СМС).
3. Тип текста СМС STRING - как быть с другими языками, почему не WSTRING? А ведь WSTRING гораздо проще запаковать в PDU чем STRING, и нет необходимости заботится о кодировке.
4. С каким атрибутом "Срок доставки сообщения" отправляется СМС? Хотелось бы выбирать - день, 4 дня, неделя...
5. Как происходит выполнение произвольной AT-команды? Без флага момента отправки не определить timeout, без приостановки потока нет возможности выполнить последовательность AT-команд.

Спасибо.

Евгений Кислов
20.08.2020, 07:42
Добрый день и вам. Спасибо, что не забываете про модемы )

Сразу несколько вопросов по новому компоненту:
1. (и самый важный))) Есть отправка СМС, но нет ни окончания выполнения операции, ни результата (хотя бы результат "ОК", timeout или "ERROR..").
2. 80 символов для текста СМС - почему не 70 (ограничение для кириллицы и не только в одну СМС).
3. Тип текста СМС STRING - как быть с другими языками, почему не WSTRING? А ведь WSTRING гораздо проще запаковать в PDU чем STRING, и нет необходимости заботится о кодировке.
4. С каким атрибутом "Срок доставки сообщения" отправляется СМС? Хотелось бы выбирать - день, 4 дня, неделя...
5. Как происходит выполнение произвольной AT-команды? Без флага момента отправки не определить timeout, без приостановки потока нет возможности выполнить последовательность AT-команд.

Спасибо.

Добрый день.

1. Такого функционала действительно нет. В ближайшее время не планируется, так как реализация будет связана с определенными сложностями.
2. Ограничение - действительно 70 символов. Используется тип канала ARRAY [0..80] OF BYTE, чтобы можно было привязать обычную переменную типа STRING (и не помнить о том, что надо объявлять именно STRING(70) );
3. WSTRING без проблем можно конвертировать в STRING - см. библиотеку OwenStringUtils.
4. Компонент не устанавливает никакое значение для vp.
5. Таймаут определяется автоматически - если в течение 10 секунд ответ не получен, то взводится флаг Получен ответ, при этом канал Ответ в данном случае представляет собой пустую строку.

По п. 1 и 4 - зафиксировал в качестве пожеланий к следующей версии компонента.

heos
20.08.2020, 08:37
По п. 5: 10 секунд - это не автоматически ))). Если обратиться к документации модуля модема, то можно увидеть, что у каждой АТ-команды прописан свой таймаут и результат выполнения команды не всегда ОК. Не проще ли изначально поглубже изучить документацию, добавить к AT-командам по параметру таймаут и добавить обработку исключительных ситуаций. При соответствующей настройке модуль модема при ошибке может отдавать не только ERROR, но и еще ее код.
По поводу WSTRING - тут вообще непонятна необходимость конвертации в STRING, если при отправке СМС STRING практически конвертируется обратно в WSTRING, а при приеме СМС PDU содержит именно WSTRING, но вы ее, зачем то, конвертируете в STRING. При таком подходе гарантирована потеря символов и отсекается возможность многоязычности.

ЗЫ. А вообще было бы не плохо добавить возможность остановки потока выполнения АТ-команд компонента для работы с модулем напрямую, с нормальным буферами чтения и записи - не 80, а хотя бы 2048 (тут нужно смотреть документацию на модули модемов) и с непрерывным чтением из модема.
Спасибо.

Евгений Кислов
20.08.2020, 08:52
По п. 5: 10 секунд - это не автоматически ))). Если обратиться к документации модуля модема, то можно увидеть, что у каждой АТ-команды прописан свой таймаут и результат выполнения команды не всегда ОК. Не проще ли изначально поглубже изучить документацию, добавить к AT-командам по параметру таймаут и добавить обработку исключительных ситуаций. При соответствующей настройке модуль модема при ошибке может отдавать не только ERROR, но и еще ее код.
По поводу WSTRING - тут вообще непонятна необходимость конвертации в STRING, если при отправке СМС STRING практически конвертируется обратно в WSTRING, а при приеме СМС PDU содержит именно WSTRING, но вы ее, зачем то, конвертируете в STRING. При таком подходе гарантирована потеря символов и отсекается возможность многоязычности.

1. Возвращается любой результат, не только ОК.
2. Многоязычность не закладывалась в требования к компоненту.
С точки зрения каналов ввода-вывода CODESYS - STRING предпочтительнее, так так занимает в два раза меньше памяти.

capzap
20.08.2020, 08:53
Если обратиться к документации модуля модема, то можно увидеть, что у каждой АТ-команды прописан свой таймаут

а где написано что чипсет знает какая длинна и качество линии между контроллером и модемом? Вы же не утверждаете, что библиотека работает в модеме

heos
20.08.2020, 09:29
WSTRING у данных контроллеров много памяти не отберет, а время выполнения операций за счет отсутствия лишних конвертаций только уменьшится.

heos
20.08.2020, 09:35
а где написано что чипсет знает какая длинна и качество линии между контроллером и модемом? Вы же не утверждаете, что библиотека работает в модеме

Я просто вижу, что все недостатки из ModemOwenLib перекочевали в новый компонент... (

capzap
20.08.2020, 09:38
Я просто вижу, что все недостатки из ModemOwenLib перекочевали в новый компонент... (

однако почему то пользуетесь, структуру PDU формата знаете, набор АТ команд тоже, сделайте свою бибку

Евгений Кислов
10.10.2020, 08:01
Подготовили видеопример использования компонента Modem:
https://youtu.be/J8sBHHyE6vc

Eill
01.06.2021, 19:15
Поставил себе. Спс.