PDA

Просмотр полной версии : Проверка баланса



Спорягин Кирилл
18.09.2018, 19:19
Добрый вечер, форумчане.

Сталкивался ли кто-нибудь с проблемой проверки баланса на модемах ПМ01 после обновления.

Предыстория вопроса.
С 2015 года использую модемы ПМ01 на объектах. В интерфейсе реализована возможность проверки баланса на сим-карте, которая исправно работала.
В феврале 2018 года на очередном объекте столкнулся с проблемой, что баланс перестал проверяться (о чем вопрошал тут (http://www.owen.ru/forum/showthread.php?t=13029&page=81&p=270970&viewfull=1#post270970)).
В тот момент функциональность оказалась для заказчика невостребованной и я отложил решение данной проблемы.
Сейчас сложилось, что на столе у меня есть 2 модема разных годов выпуска и я решил провести тесты.

Исходные данные.
1. Тестовый проект для проверки баланса - TestBalance.pro (прикрепляю).
2. Контроллер ПЛК110 М02.
3. Модем ПМ01-24.B 2016 года выпуска - буду называть "Модем 1".
4. Модем ПМ01-24.AB 2018 года выпуска - буду называть "Модем 2".
5. Библиотека SmsOwenLib от 18.05.2017 (как я понимаю, последняя).
6. Сим-карта Мегафона.
7. Номер для проверки баланса *100#.

Описание проблемы.
При работе с модемом 1 проверка баланса проходит корректно. После запроса в поле BalanceText появляется текущий баланс (см. рисунок "Баланс на модеме 2016 года").
Переставляю сим-карту и клеммную колодку с модема 1 на модем 2. Переинициализирую систему снятием и подачей питания. После запроса баланса в поле BalanceText отображается одна кавычка (см. рисунок "Баланс на модеме 2018 года").

Кто-нибудь сталкивался с данной проблемой?
В чем может быть причина?

Трофимов Артем
18.09.2018, 19:51
Кирилл, приложите пожалуйста вывод ATI команды к каждому модему.
+ укажите какой интерфейс используете
+ приложите, либо зав номер , либо дату приобретения ПЛК ( данный пункт можете в личку)

Спорягин Кирилл
20.09.2018, 12:20
Кирилл, приложите пожалуйста вывод ATI команды к каждому модему.
+ укажите какой интерфейс используете
+ приложите, либо зав номер , либо дату приобретения ПЛК ( данный пункт можете в личку)

1. Напрямую не использую AT команды. Использую библиотеку SmsOwenLib. Конкретно для проверки баланса использую ФБ FB_SMS_SR (см. "Вызов блока FB_SMS_SR").
Так что AT команды должны быть те, которые формирует этот блок. Если нужно детальней, то опишите, как их посмотреть.

2. На ПЛК110 использую интерфейс RS-485-1. На модемах RS-485, т.е. клеммы Data+/Data- на разъеме Х1.

3. Модем 1 (ПМ01-24.B, 2016) зав. № 43886161102219211.
Модем 2 (ПМ01-24.АВ, 2018) зав. № 39432180632200144.
Но я думаю, что не в конкретном модеме дело. Так как отсутствие ответа при проверке баланса наблюдается как минимум на 2-х модемах 2018 года.

Трофимов Артем
20.09.2018, 12:25
а ПЛК какого года? есть возможность проверить по 232 порту работу с модемами 18 года?
на 9600 такое же поведение?

Спорягин Кирилл
20.09.2018, 12:29
а ПЛК какого года? есть возможность проверить по 232 порту работу с модемами 18 года?
p.s. какая скорость стоит у порта?

1. ПЛК110 М02 старенький, наверное 2015 или 2016, точно не помню.
2. Если бы был модем 2018 года с интерфейсом RS-232, то проверил бы, но есть только с RS-485.
3. Порт настраиваю на 115200.

Трофимов Артем
20.09.2018, 12:31
попробуйте 9600 скорость. версия прошивки ПЛК?

Спорягин Кирилл
20.09.2018, 12:41
попробуйте 9600 скорость. версия прошивки ПЛК?

Прошивка ПЛК 0.3.67.
На скорости 9600 пока не хочет уходить с шага конфигурации.
Сегодня должен уже идти по работе. Завтра попробую 9600 еще раз и отпишусь.

Трофимов Артем
20.09.2018, 12:48
Кирилл, по хорошему Вам надо, чтобы не костылить, отправить ПЛК на доработку RS485. в декабре прошлого года мы заменили на полностью автоматический преобразователь. проблема из за него с вероятностью 99%.
в мае прошлого года ПМ01 были оснащены чипом SIM800 который работает по UART крайне шустро. если на старых с чипом SIM900 это не было заметно и работало как часики ( т.к. чип отвечал с задержкой ) , то на 800ом это вылезло в нестабильности работы с ПЛК110

Спорягин Кирилл
21.09.2018, 10:34
На скорости 9600 и 57600 и Модем 1 и Модем 2 не уходят с шага конфигурации. Ошибка возвращаемая блоком FB_SMS_CFG = 13 (таймаут).

Спорягин Кирилл
21.09.2018, 11:59
После обновления прошивки в ПЛК110 с 0.3.67 до 0.3.73 при проверке баланса с помощью модема 2 выдает ошибку 9 ("не удалось проверить баланс").
Аналогичная ситуация была у пользователя еще в 2013 году (см. тут (http://www.owen.ru/forum/showthread.php?t=13029&page=30&p=118232&viewfull=1#post118232)). Ответа в теме нет.

Спорягин Кирилл
21.09.2018, 14:15
2. Если бы был модем 2018 года с интерфейсом RS-232, то проверил бы, но есть только с RS-485.


Так это у меня глаз замылился. Как раз модем 2018 года у меня АВ, т.е. и с интерфейсом RS-232.
Проверил на этом интерфейсе. Так же не работает. В ответ на скорости 115200 приходит одна кавычка. На скорости 9600 не уходит с шага конфигурации с ошибкой 13 (таймаут).

Так что, видимо, интерфейс RS-485 не причем.

Спорягин Кирилл
21.09.2018, 14:16
если человек не сказал спасибо за решение проблемы, это не значит что ответов не было. Во первых, в доках было написано что мин.цикл делать нужно 10мс, во вторых баланс стоит опросить с начальным символом решетки

ЗЫ даже в документации решетка используется ведь не просто же так

Мин. цикл менял и до 15 и до 20 не помогает.
#100# также не помогает.

Спорягин Кирилл
21.09.2018, 16:45
Дополнил код отправкой тестовой СМС. Код прикрепляю.

СМС прекрасно отправляются с модема 2 (2018 года).

А вот баланс по-прежнему не проверяется.

Уважаемая тех. поддержка, вы можете провести аналогичные тесты и сообщить результаты?
Или укажите на ошибку в моем коде!

Спасибо!

Трофимов Артем
25.09.2018, 14:22
1) а читатет ли Ваша сборка СМС что вы отправляете НА ПЛК а не С ПЛК?
2) можете приложить лог обмена между модемом и ПЛК при запросе?
3) то что таймаут на других скоростях - скорее всего Вы установили на модеме не автоопределение , а конкретно скорость 115200.

Спорягин Кирилл
25.09.2018, 17:19
1) а читатет ли Ваша сборка СМС что вы отправляете НА ПЛК а не С ПЛК?

У меня потребности в этой операции пока нет, но если это нужно для диагностики могу попробовать получить СМС.


2) можете приложить лог обмена между модемом и ПЛК при запросе?

Прикрепляю (см. Лог обмена.jpg). Скорость 9600.



3) то что таймаут на других скоростях - скорее всего Вы установили на модеме не автоопределение , а конкретно скорость 115200.

Не знаю как установить конкретную скорость или автоопределение. Пользовался только блоком FB_SMS_CFG.
Скорость удалось поменять следующим действием. В конфигурации оставить 115200, а в блоке FB_SMS_CFG указать новую скорость (9600). После чего модем сконфигурировался на 9600.

На скорости 9600, так же ошибка 9 (не удалось проверить баланс). См. "Ошибка Не удалось проверить баланс.jpg".

ЛОГ ИЗ ЭТОГО ПОСТА ЛУЧШЕ НЕ СМОТРЕТЬ. У МЕГАФОНА сегодня какие-то проблемы. На телефоне тоже баланс не проверятся.

Спорягин Кирилл
25.09.2018, 18:46
Вот лог проверки на модеме 2018 года на сим карте Билайн.

В ответ на запрос баланса одна кавычка.

Спорягин Кирилл
25.09.2018, 19:13
Провел повторно эксперимент опроса с помощью одного и того же кода 2-х модемов разных годов.
Скорость опроса 9600.

Логи прикрепляю.
Программу прикрепляю.

Из логов видно, что модем ответил ПЛК совершенно одинаково.
Но в одном случае блок FB_SMS_SR в свое поле NewInSmsText поместил текущий баланс 391.88 р. (см. Модем 2016).
А в другом случае только кавычку (см. Модем 2018).

capzap
25.09.2018, 19:20
Ну где же одинаково, лишний пробел перед кодировкой и перед текстом

Спорягин Кирилл
25.09.2018, 19:20
Все же ответы отличаются на 2 hex20, т.е. на 2 пробела.

Спорягин Кирилл
25.09.2018, 19:21
Вижу, вижу. Еще в конце один лишний пробел.

Трофимов Артем
26.09.2018, 11:57
Кирилл, на ходу добавил сдвиг по этим пробелам, но на данный момент не успеваю протестировать. попробуйте, надеюсь сходу поедет

capzap
26.09.2018, 12:00
Кирилл, на ходу добавил сдвиг по этим пробелам, но на данный момент не успеваю протестировать. попробуйте, надеюсь сходу поедет

сдвиг или трим, как бы с этой бибкое не перестали работать старые модели ПМ

Трофимов Артем
26.09.2018, 12:05
сдвиг или трим, как бы с этой бибкое не перестали работать старые модели ПМ

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

Спорягин Кирилл
28.09.2018, 10:37
Кирилл, на ходу добавил сдвиг по этим пробелам, но на данный момент не успеваю протестировать. попробуйте, надеюсь сходу поедет

При подключении библиотеки компиляция не проходит (см. Ошибка компиляции).

Трофимов Артем
28.09.2018, 11:10
приложите проект

Спорягин Кирилл
28.09.2018, 11:29
Видимо, проблемы на сервере. Не прикрепляется проект. Но его можно взять из первого поста. Проект не менялся. Я только переподключил библиотеку.
Собственно, в библиотеке видно, что поле DeviceNumber закомментированно.

Спорягин Кирилл
28.09.2018, 11:33
приложите проект

Прикрепился. Отставали часы.

Трофимов Артем
28.09.2018, 11:35
ааа всё просто. поменяйте DeviceNumber на PortNum, блок открытия порта чутка менялся

Спорягин Кирилл
28.09.2018, 11:49
ааа всё просто. поменяйте DeviceNumber на PortNum, блок открытия порта чутка менялся

Теперь не уходит с шага конфигурации модема и ругается на номер устройства (см. Нет проходит конфигурация модема).

Спорягин Кирилл
28.09.2018, 11:50
В общем сходу не пошло.
Артем, задача не стоит остро. Я так сказать на будущее, когда будем внедрять очередной проект, где будет необходимо СМС-информирование.
Так что могу дождаться полноценного решения.

Трофимов Артем
28.09.2018, 11:52
нулевой порт это первый 485й. нумерация в ОС идёт с 0, а в кодесис с 1 - поэтому среда говорит что все мы инвалиды...
скорость также 115200? можете всё таки лог снять через тот же АС4.
и всё же мне подсказывает опыт что мы приближаемся к моменту на первой странице о портах ПЛК, т.к. контроллер 15-16 годов выпуска

UPD. несмотря на то что вопрос стоит не остро, лучше закрыть его раньше, а не откладывать в долгий ящик.
иначе будет неприятно наткнуться на этот момент на ПНР.

Спорягин Кирилл
28.09.2018, 12:27
нулевой порт это первый 485й. нумерация в ОС идёт с 0, а в кодесис с 1 - поэтому среда говорит что все мы инвалиды...
скорость также 115200? можете всё таки лог снять через тот же АС4.
и всё же мне подсказывает опыт что мы приближаемся к моменту на первой странице о портах ПЛК, т.к. контроллер 15-16 годов выпуска

UPD. несмотря на то что вопрос стоит не остро, лучше закрыть его раньше, а не откладывать в долгий ящик.
иначе будет неприятно наткнуться на этот момент на ПНР.

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

Спорягин Кирилл
28.09.2018, 12:28
Вообще видно, что блоки OpenPort у двух вариантов библиотек разнятся.

Спорягин Кирилл
29.05.2019, 15:37
Уважаемая тех. поддержка, задача опять актуальна.

Трофимов Артем
30.05.2019, 10:40
Уважаемая тех. поддержка, задача опять актуальна.

всё та же ошибка таймаута при конфигурировании?
Если да , то Вы либо в SMSPort скорость RS установите в 9600 ( по умолчани открывается на 115200
либо SMSPortConfig скорость установите 115200 или вообще отмените конфигурирование порта
а то Вы устанавливаете разные скорости и вот таймаут ответа от модема.

upd - это я сужу по тому проекту с предыдущей страницы
PortBaudrate : STRING(6) := '9600';
всё таки приложите лог обмена с модемом

Спорягин Кирилл
30.05.2019, 12:48
всё та же ошибка таймаута при конфигурировании?
Если да , то Вы либо в SMSPort скорость RS установите в 9600 ( по умолчани открывается на 115200
либо SMSPortConfig скорость установите 115200 или вообще отмените конфигурирование порта
а то Вы устанавливаете разные скорости и вот таймаут ответа от модема.

upd - это я сужу по тому проекту с предыдущей страницы
PortBaudrate : STRING(6) := '9600';
всё таки приложите лог обмена с модемом

Артем, добрый день.

Вы, видимо, спрашиваете про библиотеку, которую прикрепляли ранее.

Позвольте встречный вопрос. А у вас она работает с модемами 2018 года выпуска и более поздними.
Хотелось бы получить оттестированный вариант библиотеки, а не выступать в качестве тестора.

Спорягин Кирилл
30.05.2019, 13:08
Артем, еще раз попробовал использовать библиотеку из этого (https://www.owen.ru/forum/showthread.php?t=29417&page=3&p=288105&viewfull=1#post288105) поста.

По-прежнему не уходит с шага конфигурации порта.
Отмечу, что я беру рабочий проект с библиотекой 2.3.0.25. В нем я только меняю библиотеку и заменяю DeviceNum на PortNum.
И если в первом случае шаг конфигурации успешно проходит, то во втором нет.

Проверьте, пожалуйста, у себя.

Спорягин Кирилл
26.06.2019, 13:12
После долгих мучений все же удалось получить баланс с новыми модемами (выпущенными после мая 2018).
Спасибо Трофимову Артему.
Исправленную библиотеку ОВЕН обещал выложить в ближайшее время.

Спорягин Кирилл
23.07.2019, 20:14
Что-то ОВЕН не выкладывает правленную библиотеку.
Сделаю это за него.

В прикрепленной библиотеке проверка баланса работает.
Но данная библиотека не работает с модемами, выпущенными до мая 2018 года.

Так же отмечу, что в библиотеке переделан механизм открытия порта. Теперь не нужно в конфигурации контроллера создавать UNM и ссылаться на него.
Все настройки порта необходимо указывать в качестве входных переменных блока OpenPort.