Стартовая страница › Форумы › Rapid SCADA на Linux-контроллерах и Raspberry Pi › Драйвер ИВТМ на Raspberry
Помечено: ивтм linux
- В этой теме 49 ответов, 4 участника, последнее обновление 3 года, 10 месяцев назад сделано Mikhail.
-
АвторСообщения
-
09.06.2020 в 15:59 #16383qweqweqweУчастник
Всем добрый день!
Кто нибудь пробовал опрашивать приборы ИВТМ-7-М3 через Scada на linux?
Пробовал на преобразователе UART>RS485 и на USB>RS485, результат один и тот же, данные принимаются некорректно.
В журнале коммуникатора это:2020-06-09 13:54:28 Communication session with the Device 53 «ivtm-7-1», type: KpIvtm7M, address: 3
Запрос текущих данных
Send: $0003RR000008B3
Receive: 6E50F4233
Error: invalid checksum!
Запрос текущих данных
Send: $0003RR000008B3
Receive: 33
Error: incorrect response length!
Запрос текущих данных
Send: $0003RR000008B3
Receive: 1C0DA0F4225
Error: invalid checksum!Каждый раз от датчика приходят разные ответы. Сам датчик исправен, через родной софт и scada на windows работает через USB>RS485.
09.06.2020 в 17:29 #16385MikhailМодераторДобрый день!
Скорее всего проблема в преобразователе USB-RS485. Если у Вас есть сетевая Moxa NPort, попробуйте опросить прибор через неё.09.06.2020 в 19:12 #16389manjey73УчастникСтранно, обычно USB-RS485 ведут себя гораздо корректнее чем Ethernet-RS485
10.06.2020 в 13:04 #16391Vasily777УчастникА что за протокол обмена у этого прибора? Что то в описании нет.
10.06.2020 в 15:29 #16392qweqweqweУчастникЧерез Nport настроенный TCP сервером всё работает.
Тот же USB>RS485 адаптер подключил к компьютеру на Win10 со Scada, всё работает корректно. При этом проблема на Raspberry через последовательный порт только с приборами ИВТМ, с приборами ПВТ-100 обмен проходит нормально.
Может это быть проблема с драйвером KpIvtm7M.dll? Как отловить причину глюка?10.06.2020 в 15:34 #16394qweqweqweУчастникА что за протокол обмена у этого прибора? Что то в описании нет.
https://www.eksis.ru/technical-support/exchange-protocol/
Протокол открытый в плане опроса показаний. Но писали его наркоманы, видимо из за жадности, иначе был бы более привычный Modbus.10.06.2020 в 15:35 #16395MikhailМодераторДрайвер не реализует соединение. В нём только логика. Коммуникатор использует стандартный класс .NET SerialPort.
Увеличьте таймаут и паузу запросов.
А Вы можете определить, какие именно данные искажаются? То есть какой должен быть корректный ответ прибора?
10.06.2020 в 16:27 #16396qweqweqweУчастникДрайвер не реализует соединение. В нём только логика. Коммуникатор использует стандартный класс .NET SerialPort.
Увеличьте таймаут и паузу запросов.
А Вы можете определить, какие именно данные искажаются? То есть какой должен быть корректный ответ прибора?
Подключил к линии USB>Rs485—ИВТМ преобразователь MOXA, открыл окно терминала и наблюдаю следующее:
Запрос-ответ Scada:2020-06-10 14:03:29 Communication session with the Device 4 "IVTM-3", type: KpIvtm7M, address: 4 Запрос текущих данных Send: $0004RR000008B4 Receive: DD1F4230 Error: incorrect response length!
Запрос-ответ в терминале:
$0004RR000008B4 !0004RR5426AD41EBDD1F4230
Подключил ту же схему к ПК, Win10, Scada:
Запрос-ответ Scada:2020-06-10 16:15:14 Сеанс связи с КП 1 "IVTM-1", тип: KpIvtm7M, адрес: 4 Запрос текущих данных Отправка: $0004RR000008B4 Приём: !0004RR5EF2B34191053842F5 OK!
Запрос-ответ в терминале:
$0004RR000008B4 !0004RR5EF2B34191053842F5
Настройки линии:
<!--Линия 3--> <CommLine active="true" bind="true" number="3" name="USB>RS485"> <CommChannel type="Serial"> <Param name="BaudRate" value="9600" /> <Param name="Behavior" value="Master" /> <Param name="DataBits" value="8" /> <Param name="DtrEnable" value="False" /> <Param name="Parity" value="None" /> <Param name="PortName" value="/dev/ttyUSB0" /> <Param name="RtsEnable" value="False" /> <Param name="StopBits" value="One" /> </CommChannel> <LineParams> <Param name="ReqTriesCnt" value="1" descr="Количество попыток перезапрос а КП при ошибке" /> <Param name="CycleDelay" value="1000" descr="Задержка после цикла опроса , мс" /> <Param name="CmdEnabled" value="true" descr="Команды ТУ разрешены" /> <Param name="ReqAfterCmd" value="false" descr="Опрос КП после команды ТУ " /> <Param name="DetailedLog" value="true" descr="Записывать в журнал подроб ную информацию" /> </LineParams> <CustomParams /> <ReqSequence> <KP active="true" bind="true" number="4" name="IVTM-3" dll="KpIvtm7M.dll " address="4" callNum="" timeout="5000" delay="5000" time="00:00:00" period="00: 00:05" cmdLine="" /> </ReqSequence> </CommLine> </CommLines>
10.06.2020 в 16:32 #16397qweqweqweУчастникНалицо некорректная работа с последовательным портом при работе с протоколом Эксис, сообщения приходят обрывками. При этом modbus отрабаывает.
В какую сторону искать проблему?
На всякий случай записал Raspbian на другую флешку, установил Scada и создал новый проект. Результата ноль(((10.06.2020 в 16:42 #16398manjey73УчастникА что в Timeout и delay в настройках Опрос КП ?
Хотя у вас какая-то странность, прилетает хвост и обрезается начало, а не наоборот…10.06.2020 в 16:54 #16399qweqweqweУчастникА что в Timeout и delay в настройках Опрос КП ?
Хотя у вас какая-то странность, прилетает хвост и обрезается начало, а не наоборот…Таймауты огромные:
timeout="5000" delay="5000" time="00:00:00" period="00:00:05"
10.06.2020 в 17:02 #16400manjey73УчастникУ вас получается задержка (delay) стоит 5 секунд и период опроса линии стоит 5 сек.
Может у вас происходит повторный опрос раньше, чем вам прибор ответит.По этому и получается, что вы теряете именно начало ответа, так как прибор вам присылает часть ответа еще на прошлый запрос ?
Уменьшите timeout и delay, сделайте 1500 и 300 например
Если я правильно понимаю организацию драйвера, то timeout будет выполняться весь, если в протоколе нельзя узнать длину ответа заранее или нет возможности выполнить остановку по каким-то критериям ответа (байт, массив байт)
- Этот ответ был изменен 3 года, 10 месяцев назад от manjey73.
10.06.2020 в 17:32 #16402qweqweqweУчастникУменьшите timeout и delay, сделайте 1500 и 300 например
Уменьшил, но это не помогло.
10.06.2020 в 17:38 #16403manjey73Участника логи запрос-ответ ?
11.06.2020 в 09:02 #16406qweqweqweУчастника логи запрос-ответ ?
Та же ситуация, приходит часть строки.
Запросы-ответы Scada:2020-06-11 06:59:28 Start communication line 3 "USB>RS485" 2020-06-11 06:59:28 Open serial port /dev/ttyUSB0 2020-06-11 06:59:28 Communication session with the Device 4 "IVTM-3", type: KpIvtm7M, address: 4 Запрос текущих данных Send: $0004RR000008B4 Receive: 05 Error: incorrect response length! 2020-06-11 06:59:29 Communication session with the Device 4 "IVTM-3", type: KpIvtm7M, address: 4 Запрос текущих данных Send: $0004RR000008B4 Receive: 4192412B42FB Error: invalid checksum! 2020-06-11 06:59:30 Communication session with the Device 4 "IVTM-3", type: KpIvtm7M, address: 4 Запрос текущих данных Send: $0004RR000008B4 Receive: A2B4223 Error: incorrect response length! 2020-06-11 06:59:31 Communication session with the Device 4 "IVTM-3", type: KpIvtm7M, address: 4 Запрос текущих данных Send: $0004RR000008B4 Receive: 23 Error: incorrect response length! 2020-06-11 06:59:32 Communication session with the Device 4 "IVTM-3", type: KpIvtm7M, address: 4 Запрос текущих данных Send: $0004RR000008B4 Receive: 341D73F2B4240 Error: invalid checksum! 2020-06-11 06:59:33 Communication session with the Device 4 "IVTM-3", type: KpIvtm7M, address: 4 Запрос текущих данных Send: $0004RR000008B4 Receive: 452B4210 Error: incorrect response length! 2020-06-11 06:59:34 Communication session with the Device 4 "IVTM-3", type: KpIvtm7M, address: 4 Запрос текущих данных Send: $0004RR000008B4 Receive: 20D Error: incorrect response length! 2020-06-11 06:59:35 Communication session with the Device 4 "IVTM-3", type: KpIvtm7M, address: 4 Запрос текущих данных Send: $0004RR000008B4 Receive: 3414C432B42FE Error: invalid checksum! 2020-06-11 06:59:36 Communication session with the Device 4 "IVTM-3", type: KpIvtm7M, address: 4 Запрос текущих данных Send: $0004RR000008B4 Receive: 3B2B4225 Error: incorrect response length! 2020-06-11 06:59:36 Communication session with the Device 4 "IVTM-3", type: KpIvtm7M, address: 4 Запрос текущих данных Send: $0004RR000008B4 Receive: 218 Error: incorrect response length! 2020-06-11 06:59:37 Communication session with the Device 4 "IVTM-3", type: KpIvtm7M, address: 4 Запрос текущих данных Send: $0004RR000008B4 Receive: 341632D2B421D Error: invalid checksum! 2020-06-11 06:59:38 Communication session with the Device 4 "IVTM-3", type: KpIvtm7M, address: 4 Запрос текущих данных Send: $0004RR000008B4 Receive: 1C9262B420A Error: invalid checksum! 2020-06-11 06:59:39 Communication session with the Device 4 "IVTM-3", type: KpIvtm7M, address: 4 Запрос текущих данных Send: $0004RR000008B4 Receive: 420A Error: incorrect response length! 2020-06-11 06:59:40 Communication session with the Device 4 "IVTM-3", type: KpIvtm7M, address: 4 2020-06-11 06:59:40 Close serial port /dev/ttyUSB0 2020-06-11 06:59:40 Stop communication line 3 "USB>RS485" --------------------------------------------------------------------------------
Запрос-ответ терминал:
$0004RR000008B4 !0004RRE1D8B34190492B4205 $0004RR000008B4 !0004RR4ED1B34192412B42FB $0004RR000008B4 !0004RRCCCFB341033A2B4223 $0004RR000008B4 !0004RRCCCFB341033A2B4223 $0004RR000008B4 !0004RRCCCFB341D73F2B4240 $0004RR000008B4 !0004RR5CCEB34164452B4210 $0004RR000008B4 !0004RR47C7B341A33D2B420D $0004RR000008B4 !0004RR07C9B3414C432B42FE $0004RR000008B4 !0004RRE8C7B3419C3B2B4225 $0004RR000008B4 !0004RRFCC3B3414A342B4218 $0004RR000008B4 !0004RRBFB7B341632D2B421D $0004RR000008B4 !0004RRD2B1B341C9262B420A $0004RR000008B4 !0004RRD2B1B341C9262B420A
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.