Стартовая страница › Форумы › Rapid SCADA на Linux-контроллерах и Raspberry Pi › Драйвер ИВТМ на Raspberry
Помечено: ивтм linux
- В этой теме 49 ответов, 4 участника, последнее обновление 3 года, 10 месяцев назад сделано Mikhail.
-
АвторСообщения
-
15.06.2020 в 14:51 #16443manjey73Участник
выключили console или выключили и в том числе работу портов ?
15.06.2020 в 15:27 #16444qweqweqweУчастниквыключили console или выключили и в том числе работу портов ?
Выключил консоль, включил поддержку UART, в config.txt, cmdline.txt
enable_uart=1 dtoverlay=uart5
console=tty1 root=PARTUUID=14a49b91-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
15.06.2020 в 15:38 #16445manjey73УчастникЗапустите raspi-config и в интерфейсах, Serial на оба вопроса ответить НЕТ.
Перезагрузиться и проверить работу на USB-RS485 свистке15.06.2020 в 15:45 #16447qweqweqweУчастникЗапустите raspi-config и в интерфейсах, Serial на оба вопроса ответить НЕТ.
Перезагрузиться и проверить работу на USB-RS485 свисткеБезрезультатно.
15.06.2020 в 15:53 #16450manjey73УчастникНу тогда видать где-то ошибка, либо в Linux возможно такие вещи не отключаемы. Я имею ввиду по поводу SerialPort.ReadLine, о котором говорил Михаил
А может ошибка где-нибудь в Mono
- Этот ответ был изменен 3 года, 10 месяцев назад от manjey73.
15.06.2020 в 16:52 #16452manjey73УчастникА подскажите как вы настраивали KpTest.dll ? надо чтобы с одной машины на другую шла передача ?
15.06.2020 в 17:14 #16457MikhailМодераторНа Windows лучше выключите Коммуникатор и отправляйте данные с помощью утилиты Hercules (её легко найти и скачать).
Нужно понять, удастся ли хоть что-нибудь считать с помощью KpTest на Linux.
И затем для сравнения запустить на Linux драйвер Modbus и считать любые данные с помощью него.
Присылайте логи.15.06.2020 в 17:19 #16458manjey73УчастникRaspberry настроен как TCP server, Windows как TCP client, все передается через интернет. На COM портах не проверял
- Этот ответ был изменен 3 года, 10 месяцев назад от manjey73.
15.06.2020 в 18:14 #16462qweqweqweУчастникЗапустил KPTest на Raspberry:
2020-06-15 15:55:17 Initialize communication line 3 "USB>RS485" 2020-06-15 15:55:17 Start communication line 3 "USB>RS485" 2020-06-15 15:55:17 Open serial port /dev/ttyUSB0 2020-06-15 15:55:17 Communication session with the Device 6 "TestKP", type: KpTest Send: test 0 Write duration: 0.003 Receive: no data Read duration: 1.005 2020-06-15 15:55:23 Communication session with the Device 6 "TestKP", type: KpTest Send: test 0 Write duration: 0.000 Receive: no data Read duration: 1.010 2020-06-15 15:55:29 Communication session with the Device 6 "TestKP", type: KpTest Send: test 0 Write duration: 0.000 Receive: no data Read duration: 1.009 2020-06-15 15:55:35 Communication session with the Device 6 "TestKP", type: KpTest Send: test 0 Write duration: 0.000 Receive: no data Read duration: 1.003 2020-06-15 15:55:41 Communication session with the Device 6 "TestKP", type: KpTest Send: test 0 Write duration: 0.000 Receive: no data Read duration: 1.000 2020-06-15 15:55:47 Communication session with the Device 6 "TestKP", type: KpTest Send: test 0 Write duration: 0.000 Receive: no data Read duration: 1.000 2020-06-15 15:55:53 Communication session with the Device 6 "TestKP", type: KpTest Send: test 0 Write duration: 0.000 Receive: no data Read duration: 1.008 2020-06-15 15:55:59 Close serial port /dev/ttyUSB0 2020-06-15 15:55:59 Stop communication line 3 "USB>RS485" --------------------------------------------------------------------------------
В утилите Hercules:
Connecting to 192.168.200.23 ... Connected to 192.168.200.23 test 0test 0test 0test1test1test1test1test 0test1test1test1test1test1test1test1test1test1test1test1test1test1test1test1test1test1test1test1test1test1test 0test1test 0test 0 Connection closed
KpTest не реагирует на данные, посылаемые из консоли.
Запустил обмен с ПВТ100: -------------------------------------------------------------------------------- 2020-06-15 16:11:56 Initialize communication line 1 "RS485UART" 2020-06-15 16:11:57 Load device template from file KpModbus_PVT100.xml 2020-06-15 16:12:07 Start communication line 1 "RS485UART" 2020-06-15 16:12:07 Open serial port /dev/ttyAMA1 2020-06-15 16:12:07 Communication session with the Device 1 "PVT100-1", type: KpModbus, address: 1 Request element group "Сенсор" Send (8): 01 03 00 FF 00 01 B4 3A Receive (5/5): 01 03 02 00 16 Receive (2/2): 39 8A OK! Request element group "Температура" Send (8): 01 03 01 02 00 01 24 36 Receive (5/5): 01 03 02 09 42 Receive (2/2): 3E 25 OK! Request element group "Влажность" Send (8): 01 03 01 03 00 01 75 F6 Receive (5/5): 01 03 02 11 B8 Receive (2/2): B4 66 OK! Request element group "Точка росы" Send (8): 01 03 01 04 00 01 C4 37 Receive (5/5): 01 03 02 04 59 Receive (2/2): 7A BE OK! 2020-06-15 16:12:12 Communication session with the Device 1 "PVT100-1", type: KpModbus, address: 1 Request element group "Сенсор" Send (8): 01 03 00 FF 00 01 B4 3A Receive (5/5): 01 03 02 00 16 Receive (2/2): 39 8A OK! Request element group "Температура" Send (8): 01 03 01 02 00 01 24 36 Receive (5/5): 01 03 02 09 42 Receive (2/2): 3E 25 OK! Request element group "Влажность" Send (8): 01 03 01 03 00 01 75 F6 Receive (5/5): 01 03 02 11 AE Receive (2/2): 35 A8 OK! Request element group "Точка росы" Send (8): 01 03 01 04 00 01 C4 37 Receive (5/5): 01 03 02 04 57 Receive (2/2): FB 7A OK! 2020-06-15 16:12:16 Communication session with the Device 1 "PVT100-1", type: KpModbus, address: 1 Request element group "Сенсор" Send (8): 01 03 00 FF 00 01 B4 3A Receive (5/5): 01 03 02 00 16 Receive (2/2): 39 8A OK! Request element group "Температура" Send (8): 01 03 01 02 00 01 24 36 Receive (5/5): 01 03 02 09 41 Receive (2/2): 7E 24 OK! Request element group "Влажность" Send (8): 01 03 01 03 00 01 75 F6 Receive (5/5): 01 03 02 11 A7 Receive (2/2): F5 AE OK! Request element group "Точка росы" Send (8): 01 03 01 04 00 01 C4 37 Receive (5/5): 01 03 02 04 55 Receive (2/2): 7A BB OK! 2020-06-15 16:12:20 Communication session with the Device 1 "PVT100-1", type: KpModbus, address: 1 Request element group "Сенсор" Send (8): 01 03 00 FF 00 01 B4 3A Receive (5/5): 01 03 02 00 16 Receive (2/2): 39 8A OK! Request element group "Температура" Send (8): 01 03 01 02 00 01 24 36 Receive (5/5): 01 03 02 09 41 Receive (2/2): 7E 24 OK! Request element group "Влажность" Send (8): 01 03 01 03 00 01 75 F6 Receive (5/5): 01 03 02 11 AA Receive (2/2): 34 6B OK! Request element group "Точка росы" Send (8): 01 03 01 04 00 01 C4 37 Receive (5/5): 01 03 02 04 57 Receive (2/2): FB 7A OK! 2020-06-15 16:12:25 Communication session with the Device 1 "PVT100-1", type: KpModbus, address: 1 Request element group "Сенсор" Send (8): 01 03 00 FF 00 01 B4 3A Receive (5/5): 01 03 02 00 16 Receive (2/2): 39 8A OK! Request element group "Температура" Send (8): 01 03 01 02 00 01 24 36 Receive (5/5): 01 03 02 09 40 Receive (2/2): BF E4 OK! Request element group "Влажность" Send (8): 01 03 01 03 00 01 75 F6 Receive (5/5): 01 03 02 11 C2 Receive (2/2): 35 85 OK! Request element group "Точка росы" Send (8): 01 03 01 04 00 01 C4 37 Receive (5/5): 01 03 02 04 5F Receive (2/2): FA BC OK! 2020-06-15 16:12:29 Communication session with the Device 1 "PVT100-1", type: KpModbus, address: 1 Request element group "Сенсор" Send (8): 01 03 00 FF 00 01 B4 3A Receive (5/5): 01 03 02 00 16 Receive (2/2): 39 8A OK! Request element group "Температура" Send (8): 01 03 01 02 00 01 24 36 Receive (5/5): 01 03 02 09 40 Receive (2/2): BF E4 OK! Request element group "Влажность" Send (8): 01 03 01 03 00 01 75 F6 Receive (5/5): 01 03 02 11 BB Receive (2/2): F4 67 OK! Request element group "Точка росы" Send (8): 01 03 01 04 00 01 C4 37 Receive (5/5): 01 03 02 04 59 Receive (2/2): 7A BE OK! 2020-06-15 16:12:33 Communication session with the Device 1 "PVT100-1", type: KpModbus, address: 1 Request element group "Сенсор" Send (8): 01 03 00 FF 00 01 B4 3A Receive (5/5): 01 03 02 00 16 Receive (2/2): 39 8A OK! Request element group "Температура" Send (8): 01 03 01 02 00 01 24 36 Receive (5/5): 01 03 02 09 3F Receive (2/2): FE 04 OK! Request element group "Влажность" Send (8): 01 03 01 03 00 01 75 F6 Receive (5/5): 01 03 02 11 B4 Receive (2/2): B4 63 OK! Request element group "Точка росы" Send (8): 01 03 01 04 00 01 C4 37 Receive (5/5): 01 03 02 04 57 Receive (2/2): FB 7A OK! 2020-06-15 16:12:37 Communication session with the Device 1 "PVT100-1", type: KpModbus, address: 1 Request element group "Сенсор" Send (8): 01 03 00 FF 00 01 B4 3A Receive (5/5): 01 03 02 00 16 Receive (2/2): 39 8A OK! Request element group "Температура" Send (8): 01 03 01 02 00 01 24 36 Receive (5/5): 01 03 02 09 3F Receive (2/2): FE 04 OK! Request element group "Влажность" Send (8): 01 03 01 03 00 01 75 F6 Receive (5/5): 01 03 02 11 B8 Receive (2/2): B4 66 OK! Request element group "Точка росы" Send (8): 01 03 01 04 00 01 C4 37 Receive (5/5): 01 03 02 04 56 Receive (2/2): 3A BA OK! 2020-06-15 16:12:42 Close serial port /dev/ttyAMA1 2020-06-15 16:12:42 Stop communication line 1 "RS485UART" --------------------------------------------------------------------------------
В Hercules:
Connecting to 192.168.200.23 ... Connected to 192.168.200.23 {FF}ґ:9Љ$6B>%uцёґfД7Yzѕ{FF}ґ:9Љ$6B>%uц®5ЁД7Wыz{FF}ґ:9Љ$6A~$uц§х®Д7Uz»{FF}ґ:9Љ$6A~$uцЄ4kД7Wыz{FF}ґ:9Љ$6@їдuцВ5…Д7_ъј{FF}ґ:9Љ$6@їдuц»фgД7Yzѕ{FF}ґ:9Љ$6?юuцґґcД7Wыz{FF}ґ:9Љ$6?юuцёґfД7V:є Connection closed
15.06.2020 в 18:17 #16463qweqweqweУчастникПересобрал драйвер с костылём:
SerialPort.ReadTimeout = 100; while (!stopReceived && startDT <= utcNowDT && utcNowDT <= stopDT) { string line; try { byte[] byteArray = new byte[1024]; SerialPort.Read(byteArray, 0, 1024); string result = System.Text.Encoding.UTF8.GetString(byteArray); line = result; } catch (TimeoutException) { line = ""; } if (line != "") { lines.Add(line); stopReceived = stopCond.CheckCondition(lines, line); }
В коммуникаторе теперь обрезает конец строки:
2020-06-15 15:46:52 Communication session with the Device 4 "IVTM-3", type: KpIvtm7M, address: 4 Запрос текущих данных Send: $0004RR000008B4 Receive: !0004RR89BBB54
В терминале по прежнему нормальные ответы. Теперь я совсем запутался и не могу понять куда копать((((
15.06.2020 в 21:44 #16464manjey73Участника если в костыле увеличить SerialPort.ReadTimeout ?
16.06.2020 в 09:55 #16465qweqweqweУчастника если в костыле увеличить SerialPort.ReadTimeout ?
Пробовал как увеличивать, так и уменьшать, поведение не меняется.
- Этот ответ был изменен 3 года, 10 месяцев назад от qweqweqwe.
16.06.2020 в 10:02 #16467qweqweqweУчастникОбмен по протоколу Modbus удобней мониторить через программу Moxa device terminal, в ней есть 16-ричное представление:
2020-06-16 07:57:56 Communication session with the Device 1 "PVT100-1", type: KpModbus, address: 1 Request element group "Сенсор" Send (8): 01 03 00 FF 00 01 B4 3A Receive (5/5): 01 03 02 00 16 Receive (2/2): 39 8A OK! Request element group "Температура" Send (8): 01 03 01 02 00 01 24 36 Receive (5/5): 01 03 02 0A DB Receive (2/2): FE BF OK! Request element group "Влажность" Send (8): 01 03 01 03 00 01 75 F6 Receive (5/5): 01 03 02 0F 89 Receive (2/2): 7C 12 OK! Request element group "Точка росы" Send (8): 01 03 01 04 00 01 C4 37 Receive (5/5): 01 03 02 05 07 Receive (2/2): FA D6 OK! 2020-06-16 07:58:01 Communication session with the Device 1 "PVT100-1", type: KpModbus, address: 1 Request element group "Сенсор" Send (8): 01 03 00 FF 00 01 B4 3A Receive (5/5): 01 03 02 00 16 Receive (2/2): 39 8A OK! Request element group "Температура" Send (8): 01 03 01 02 00 01 24 36 Receive (5/5): 01 03 02 0A DA Receive (2/2): 3F 7F OK! Request element group "Влажность" Send (8): 01 03 01 03 00 01 75 F6 Receive (5/5): 01 03 02 0F 89 Receive (2/2): 7C 12 OK! Request element group "Точка росы" Send (8): 01 03 01 04 00 01 C4 37 Receive (5/5): 01 03 02 05 06 Receive (2/2): 3B 16 OK! 2020-06-16 07:58:05 Communication session with the Device 1 "PVT100-1", type: KpModbus, address: 1 Request element group "Сенсор" Send (8): 01 03 00 FF 00 01 B4 3A Receive (5/5): 01 03 02 00 16 Receive (2/2): 39 8A OK! Request element group "Температура" Send (8): 01 03 01 02 00 01 24 36 Receive (5/5): 01 03 02 0A DB Receive (2/2): FE BF OK! Request element group "Влажность" Send (8): 01 03 01 03 00 01 75 F6 Receive (5/5): 01 03 02 0F 89 Receive (2/2): 7C 12 OK! Request element group "Точка росы" Send (8): 01 03 01 04 00 01 C4 37 Receive (5/5): 01 03 02 05 07 Receive (2/2): FA D6 OK! 2020-06-16 07:58:09 Communication session with the Device 1 "PVT100-1", type: KpModbus, address: 1 Request element group "Сенсор" Send (8): 01 03 00 FF 00 01 B4 3A Receive (5/5): 01 03 02 00 16 Receive (2/2): 39 8A OK! Request element group "Температура" Send (8): 01 03 01 02 00 01 24 36 Receive (5/5): 01 03 02 0A DB Receive (2/2): FE BF OK! Request element group "Влажность" Send (8): 01 03 01 03 00 01 75 F6 Receive (5/5): 01 03 02 0F 8C Receive (2/2): BC 11 OK! Request element group "Точка росы" Send (8): 01 03 01 04 00 01 C4 37 Receive (5/5): 01 03 02 05 08 Receive (2/2): BA D2 OK! 2020-06-16 07:58:14 Communication session with the Device 1 "PVT100-1", type: KpModbus, address: 1 Request element group "Сенсор" Send (8): 01 03 00 FF 00 01 B4 3A Receive (5/5): 01 03 02 00 16 Receive (2/2): 39 8A OK! Request element group "Температура" Send (8): 01 03 01 02 00 01 24 36 Receive (5/5): 01 03 02 0A DA Receive (2/2): 3F 7F OK! Request element group "Влажность" Send (8): 01 03 01 03 00 01 75 F6 Receive (5/5): 01 03 02 0F 93 Receive (2/2): FD D9 OK! Request element group "Точка росы" Send (8): 01 03 01 04 00 01 C4 37 Receive (5/5): 01 03 02 05 0A Receive (2/2): 3B 13 OK! 2020-06-16 07:58:18 Communication session with the Device 1 "PVT100-1", type: KpModbus, address: 1 Request element group "Сенсор" Send (8): 01 03 00 FF 00 01 B4 3A Receive (5/5): 01 03 02 00 16 Receive (2/2): 39 8A OK!
0000 010300FF 0001B43A 01030200 16398A01 0010 03010200 01243601 03020ADB FEBF0103 0020 01030001 75F60103 020F897C 12010301 0030 040001C4 37010302 0507FAD6 010300FF 0040 0001B43A 01030200 16398A01 03010200 0050 01243601 03020ADA 3F7F0103 01030001 0060 75F60103 020F897C 12010301 040001C4 0070 37010302 05063B16 010300FF 0001B43A 0080 01030200 16398A01 03010200 01243601 0090 03020ADB FEBF0103 01030001 75F60103 00A0 020F897C 12010301 040001C4 37010302 00B0 0507FAD6 010300FF 0001B43A 01030200 00C0 16398A01 03010200 01243601 03020ADB 00D0 FEBF0103 01030001 75F60103 020F8CBC 00E0 11010301 040001C4 37010302 0508BAD2 00F0 010300FF 0001B43A 01030200 16398A01 0100 03010200 01243601 03020ADA 3F7F0103 0110 01030001 75F60103 020F93FD D9010301 0120 040001C4 37010302 050A3B13 010300FF 0130 0001B43A 01030200 16398A
16.06.2020 в 10:22 #16468manjey73УчастникНу вам же Михаил написал, что Modbus использует другие механизмы.
Постараюсь проверить на выходных через COM порт KpTest.dllкак раз прикручу к Raspberry Zero преобразователь TTL-RS485 и свяжу с другой. Посмотрим как себя поведет. Через TCP соединение проблем нет, скрины выкладывал выше.
На счет мониторинга есть и другое ПО, тот же Tibbo Monitor в составе ПО для виртуальных COM портов.
Advanced Serial Data Loger в триал режиме и в режиме прослушки.- Этот ответ был изменен 3 года, 10 месяцев назад от manjey73.
16.06.2020 в 10:45 #16470MikhailМодераторОбновите эту библиотеку. Присылайте логи с её работой.
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.