Драйвер ИВТМ на Raspberry

Помечено: 

Просмотр 15 сообщений - с 31 по 45 (из 50 всего)
  • Автор
    Сообщения
  • #16443
    manjey73
    Участник

    выключили console или выключили и в том числе работу портов ?

    #16444
    qweqweqwe
    Участник

    выключили 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
    
    #16445
    manjey73
    Участник

    Запустите raspi-config и в интерфейсах, Serial на оба вопроса ответить НЕТ.
    Перезагрузиться и проверить работу на USB-RS485 свистке

    #16447
    qweqweqwe
    Участник

    Запустите raspi-config и в интерфейсах, Serial на оба вопроса ответить НЕТ.
    Перезагрузиться и проверить работу на USB-RS485 свистке

    Безрезультатно.

    #16450
    manjey73
    Участник

    Ну тогда видать где-то ошибка, либо в Linux возможно такие вещи не отключаемы. Я имею ввиду по поводу SerialPort.ReadLine, о котором говорил Михаил

    А может ошибка где-нибудь в Mono

    • Этот ответ был изменен 3 года, 10 месяцев назад от manjey73.
    #16452
    manjey73
    Участник

    А подскажите как вы настраивали KpTest.dll ? надо чтобы с одной машины на другую шла передача ?

    #16457
    Mikhail
    Модератор

    На Windows лучше выключите Коммуникатор и отправляйте данные с помощью утилиты Hercules (её легко найти и скачать).

    Нужно понять, удастся ли хоть что-нибудь считать с помощью KpTest на Linux.
    И затем для сравнения запустить на Linux драйвер Modbus и считать любые данные с помощью него.
    Присылайте логи.

    #16458
    manjey73
    Участник

    Linux

    Windows

    Raspberry настроен как TCP server, Windows как TCP client, все передается через интернет. На COM портах не проверял

    • Этот ответ был изменен 3 года, 10 месяцев назад от manjey73.
    #16462
    qweqweqwe
    Участник

    Запустил 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
    
    #16463
    qweqweqwe
    Участник

    Пересобрал драйвер с костылём:

    
    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
    

    В терминале по прежнему нормальные ответы. Теперь я совсем запутался и не могу понять куда копать((((

    #16464
    manjey73
    Участник

    а если в костыле увеличить SerialPort.ReadTimeout ?

    #16465
    qweqweqwe
    Участник

    а если в костыле увеличить SerialPort.ReadTimeout ?

    Пробовал как увеличивать, так и уменьшать, поведение не меняется.

    • Этот ответ был изменен 3 года, 10 месяцев назад от qweqweqwe.
    #16467
    qweqweqwe
    Участник

    Обмен по протоколу 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
    
    #16468
    manjey73
    Участник

    Ну вам же Михаил написал, что Modbus использует другие механизмы.
    Постараюсь проверить на выходных через COM порт KpTest.dll

    как раз прикручу к Raspberry Zero преобразователь TTL-RS485 и свяжу с другой. Посмотрим как себя поведет. Через TCP соединение проблем нет, скрины выкладывал выше.

    На счет мониторинга есть и другое ПО, тот же Tibbo Monitor в составе ПО для виртуальных COM портов.
    Advanced Serial Data Loger в триал режиме и в режиме прослушки.

    • Этот ответ был изменен 3 года, 10 месяцев назад от manjey73.
    #16470
    Mikhail
    Модератор

    Обновите эту библиотеку. Присылайте логи с её работой.

Просмотр 15 сообщений - с 31 по 45 (из 50 всего)
  • Вы должны авторизироваться для ответа в этой теме.