
IliaIT 13.10
счётчики СЕ303 S31 хорошо работают в системе АСУ, и с них получаю данные по накопительной энергии от сброса, токи, напряжения мгновенные мощности и прочее, так же в этой линии стоят приборы других производителей (овен, взлёт, з-д им фрунзе и прочее) с ними таких проблем нет. Для связи используется радиоканал и интерфейс RS 485. Сама программа написана в дельфи (но это вроде не должно влиять. так как обмен данными с приборами достаточно хороший, в зависимости от погодных условий.) Возникла необходимость снимать профили мощности удалённо со счётчика СЕ303 S31 различных модификаций (у них типовой протокол). Добавил в программу протокол взаимодействия, но возникает ошибка контрольной суммы. Причём не постоянно (иногда есть иногда нет). В программе всегда используется адресный запрос к каждому параметру. Для проверки снятия показаний использовал админтулс 3,7 sp1. выяснилось что иногда в ответе эта сумма отсутствует, то есть код 03h и CRC не во всех пакетах. В чём может быть причина такого странного поведения счётчиков? фрагмент протокола обмена из админ тулс. Запрос 23.04.2021 15:43:07.176 01 52 31 02 44 41 54 45 5F 28 29 03 56 .R1.DATE_().V Ответ 23.04.2021 15:43:07.717 02 44 41 54 45 5F 28 30 35 2E 32 33 2E 30 34 2E .DATE_(05.23.04. 32 31 29 0D 0A 03 03 21).... Запрос 23.04.2021 15:43:07.738 01 52 31 02 54 49 4D 45 5F 28 29 03 67 .R1.TIME_().g Ответ 23.04.2021 15:43:08.272 02 54 49 4D 45 5F 28 31 35 3A 34 33 3A 30 36 29 .TIME_(15:43:06) 0D 0A 03 20 ... Запрос 23.04.2021 15:43:08.300 01 52 31 02 54 41 56 45 52 28 29 03 5B .R1.TAVER().[ Ответ 23.04.2021 15:43:08.835 02 . Ответ 23.04.2021 15:43:08.862 54 41 56 45 52 28 33 30 29 0D 0A 03 50 TAVER(30)...P Запрос 23.04.2021 15:43:08.892 01 52 31 02 47 52 41 50 45 28 31 33 2E 30 34 2E .R1.GRAPE(13.04. 32 31 2E 31 29 03 2E 21.1).. Ответ 23.04.2021 15:43:09.474 02 47 52 41 50 45 28 30 2E 30 29 0D 0A 03 68 .GRAPE(0.0)...h Запрос 23.04.2021 15:43:09.501 01 52 31 02 47 52 41 51 45 28 31 33 2E 30 34 2E .R1.GRAQE(13.04. 32 31 2E 31 29 03 2F 21.1)./ Ответ 23.04.2021 15:43:10.045 02 47 52 41 51 45 28 30 2E 30 29 0D 0A .GRAQE(0.0).. Запрос 23.04.2021 15:43:13.572 01 52 31 02 47 52 41 51 45 28 31 33 2E 30 34 2E .R1.GRAQE(13.04. 32 31 2E 31 29 03 2F 21.1)./ Ответ 23.04.2021 15:43:14.107 02 47 52 41 51 45 28 30 2E 30 29 0D 0A .GRAQE(0.0).. Запрос 23.04.2021 15:43:17.644 01 52 31 02 47 52 41 51 45 28 31 33 2E 30 34 2E .R1.GRAQE(13.04. 32 31 2E 31 29 03 2F 21.1)./ Ответ 23.04.2021 15:43:18.188 02 47 52 41 51 45 28 30 2E 30 29 0D 0A .GRAQE(0.0).. Запрос 23.04.2021 15:43:21.715 01 52 31 02 47 52 41 51 45 28 31 33 2E 30 34 2E .R1.GRAQE(13.04. 32 31 2E 31 29 03 2F 21.1)./ Ответ 23.04.2021 15:43:22.297 02 47 52 41 51 45 28 30 2E 30 29 0D 0A 03 69 .GRAQE(0.0)...i

Концерн «Энергомера» 02.12
Возникла необходимость снимать профили мощности удалённо со счётчика СЕ303 S31 различных модификаций (у них типовой протокол). Добавил в программу протокол взаимодействия, но возникает ошибка контрольной суммы. Причём не постоянно (иногда есть иногда нет). В программе всегда используется адресный запрос к каждому параметру. AdminTools анализирует посылки на 02 тест 03 BCC. Если за Время указанное в настройках (тайм-аут) до пришел конец посылки, то делает перезапрос (количество указывается в настройках). По логу именно это мы и видим: Запрос 23.04.2021 15:43:09.501 01 52 31 02 47 52 41 51 45 28 31 33 2E 30 34 2E .R1.GRAQE(13.04. 32 31 2E 31 29 03 2F 21.1)./ Ответ 23.04.2021 15:43:10.045 02 47 52 41 51 45 28 30 2E 30 29 0D 0A .GRAQE(0.0).. Вот тут AdminTools ждал 3 секунды, но конец строки не дошел. Поэтому был сделан перезапрос. Запрос 23.04.2021 15:43:13.572 01 52 31 02 47 52 41 51 45 28 31 33 2E 30 34 2E .R1.GRAQE(13.04. 32 31 2E 31 29 03 2F 21.1)./ Ответ 23.04.2021 15:43:14.107 02 47 52 41 51 45 28 30 2E 30 29 0D 0A .GRAQE(0.0).. И снова то же самое. AdminTools ждал 3 секунды, но конец строки не дошел. Поэтому был сделан перезапрос. Запрос 23.04.2021 15:43:17.644 01 52 31 02 47 52 41 51 45 28 31 33 2E 30 34 2E .R1.GRAQE(13.04. 32 31 2E 31 29 03 2F 21.1)./ Ответ 23.04.2021 15:43:18.188 02 47 52 41 51 45 28 30 2E 30 29 0D 0A .GRAQE(0.0).. И снова то же самое. AdminTools ждал 3 секунды, но конец строки не дошел. Поэтому был сделан перезапрос. Запрос 23.04.2021 15:43:21.715 01 52 31 02 47 52 41 51 45 28 31 33 2E 30 34 2E .R1.GRAQE(13.04. 32 31 2E 31 29 03 2F 21.1)./ Ответ 23.04.2021 15:43:22.297 02 47 52 41 51 45 28 30 2E 30 29 0D 0A 03 69 .GRAQE(0.0)...i Конец посылки по каким-то причинам не доходит. Там где ответ короткий - он приходит нормально. Где длиннее - нет. Возможно, что неисправно ваше оборудование или подключено/настроено неправильно, возможно интерфейс счетчика (но у нас тщательный контроль качества).

IliaIT 02.12
Добрый день. Вопрос решился программным способом. В результате серии проверок и экспериментов выяснилось: запросу к одному профилю с нулевым значением приводят к отсутствию кода 03 и КС в 4 из 6 случаев. При запросе нескольких показаний профиля мощности (без разницы какого A+, R+, R-) данные получаются хорошо и стабильно (запрос типа '/?102205360!'#1'R1'#2'GRAQE(15.03.21.1.6)'#3#$14), с кодом проверки. Для проверки был реализован алгоритм запросов до текущего момента времени или до конца суток, но не более 7 показаний подряд с произвольного места не ранее чем через 4 часа от текущего времени. Более детальное изучение логов показало что 03 и CRC обычно не приходят при запросе без указаний количества '/?102205360!'#1'R1'#2'GRAQE(13.04.21.1)'#3'/' При этом, короткие пакеты, такие как частота сети, ответ приходит с 03 и CRC. Задача решена программным способом, тему можно закрыть. благодарю за ответы и подсказки.
Комментарии