Стартовая страница › Форумы › Взаимодействие с устройствами › Modbus › Чудеса опроса Modbus RTU
- В этой теме 10 ответов, 2 участника, последнее обновление 9 лет, 12 месяцев назад сделано
manjey73.
-
АвторЗаписи
-
08.09.2016 в 17:35 #3062
manjey73УчастникТакое дело, настроил опрос устройства с двух SCADA систем при помощи remserial на Raspberry Pi и наблюдаю неадекватное поведение при опросе.
С одной SCADA меняю одну переменную, вижу по прибору (переменная выводится на экран) что она изменилась. Так же она меняется и в WEB SCADA именно в той, из которой менял переменную. А вот во второй SCADA значение «зависает» хотя другая переменная видно как меняется.Настроен групповой запрос в обоих случаях. xml файл конфигурации одинаковый для обоих SCADA систем.
Вот, что в обоих случаях есть в логах.
2016-09-08 17:25:55 Сеанс связи с КП 69 «PR200″, тип: KpModbus, адрес: 1
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 01 03 0E 00 01
Приём (14/14): 00 78 00 51 00 B4 00 00 A5 10 41 CF 3B A0
OK!Вопрос, почему Прием идет в две строки ?
Почему при наличии группового запроса меняется только часть данных ?Содержимое xml файла
<?xml version=»1.0″ encoding=»utf-8″?>
<DevTemplate>
<ElemGroups>
<ElemGroup name=»» tableType=»HoldingRegisters» address=»512″>
<Elem name=»Rezhim» type=»ushort» byteOrder=»» />
<Elem name=»Tcommand» type=»ushort» byteOrder=»» />
<Elem name=»Trabota» type=»ushort» byteOrder=»» />
<Elem name=»Tpausa» type=»ushort» byteOrder=»» />
<Elem name=»not» type=»ushort» byteOrder=»» />
<Elem name=»Temp» type=»float» byteOrder=»2301″ />
</ElemGroup>
</ElemGroups>
<Cmds>
<Cmd name=»Rezhim_w» tableType=»HoldingRegisters» multiple=»false» address=»512″ elemCnt=»1″ cmdNum=»1″ />
<Cmd name=»Tcom_w» tableType=»HoldingRegisters» multiple=»false» address=»513″ elemCnt=»1″ cmdNum=»2″ />
<Cmd name=»Trab_w» tableType=»HoldingRegisters» multiple=»false» address=»514″ elemCnt=»1″ cmdNum=»3″ />
<Cmd name=»Tpaus_w» tableType=»HoldingRegisters» multiple=»false» address=»515″ elemCnt=»1″ cmdNum=»4″ />
</Cmds>
</DevTemplate>дома попробую вытянуть видео, чтобы было понятно
08.09.2016 в 17:55 #3063
manjey73Участник2016-09-08 16:51:09 Сеанс связи с КП 69 «PR200», тип: KpModbus, адрес: 1
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 01 03 0E 00 01
Приём (14/14): 00 46 00 51 00 B4 00 00 19 40 41 D4 95 C2
OK!2016-09-08 16:51:16 Сеанс связи с КП 69 «PR200», тип: KpModbus, адрес: 1
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 01 03 0E 00 01
Приём (14/14): 00 46 00 51 00 B4 00 00 10 9C 41 D4 57 A4
OK!2016-09-08 16:51:23 Сеанс связи с КП 69 «PR200», тип: KpModbus, адрес: 1
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 01 03 0E 00 01
Приём (14/14): 00 46 00 51 00 B4 00 00 17 4C 41 D4 57 29
OK!2016-09-08 16:51:30 Сеанс связи с КП 69 «PR200», тип: KpModbus, адрес: 1
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 01 06 02 01 00
Ошибка CRC!
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 7B 99 91 01 06
Ошибка CRC!
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 02 01 00 7B 99
Ошибка CRC!2016-09-08 16:51:37 Сеанс связи с КП 69 «PR200», тип: KpModbus, адрес: 1
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 00 01 00 7B 00
Ошибка CRC!
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 51 00 B4 00 00
Ошибка CRC!
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 5B 98 41 D1 05
Ошибка CRC!2016-09-08 16:51:44 Сеанс связи с КП 69 «PR200», тип: KpModbus, адрес: 1
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 01 03 0E 00 01
Приём (14/14): 00 78 00 51 00 B4 00 00 7B 14 41 D1 C0 41
OK!Лог линии когда значение уже изменено и после ошибки происходит полное обновление данных (это предварительно перед тем как видео смогу выложить)
09.09.2016 в 08:15 #3064
MikhailМодераторВопрос, почему Прием идет в две строки ?
По первой строке Коммуникатор определяет, сколько байт запрашивать дальше.
Почему при наличии группового запроса меняется только часть данных ?
Этот вопрос я не совсем понял. Часть данных в ответе?
Приём (5/5): 01 06 02 01 00
Ошибка CRC!Ответ не соответствует запросу. Хотя «Ошибка CRC» — не совсем корректное сообщение, скорее это просто неверный формат ответа.
09.09.2016 в 09:56 #3065
manjey73УчастникВчера не сохранил логи линии, сейчас сэмулировал опять и снял логи, выложу для сравнения строки ответов с каждой стороны.
09.09.2016 в 10:32 #3066
manjey73УчастникЗапись команды со стороны ScadaWeb Linux — в логе пишет что ошибка CRC при записи, хотя значение меняется на экране сразу же. Потом идет чтение и о чудо, там записанное значение ?????
2016-09-09 09:39:28 Команда КП 69 «PR200», тип: KpModbus, адрес: 1
Команда «Tcom_w»
Отправка (8): 01 06 02 01 00 86 58 10
Приём (5/5): 01 03 0E 00 01
Ошибка CRC!
Команда «Tcom_w»
Отправка (8): 01 06 02 01 00 86 58 10
Приём (5/5): 00 6F 00 51 00
Ошибка CRC!
Команда «Tcom_w»
Отправка (8): 01 06 02 01 00 86 58 10
Приём (5/5): B4 00 04 1B B4
Ошибка CRC!2016-09-09 09:39:29 Отключение от 127.0.0.1
2016-09-09 09:39:31 Установка TCP-соединения с 127.0.0.1:54321
2016-09-09 09:39:31 Сеанс связи с КП 69 «PR200», тип: KpModbus, адрес: 1
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 01 03 0E 00 01
Приём (14/14): 00 86 00 51 00 B4 00 04 D1 B0 41 CF E6 59
OK!2016-09-09 09:39:42 Сеанс связи с КП 69 «PR200», тип: KpModbus, адрес: 1
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 01 03 0E 00 01
Приём (14/14): 00 86 00 51 00 B4 00 04 E6 E0 41 CF E8 3C
OK!А в это время то, что происходит на Win машине, которая так же опрашивает данный порт по сети
2016-09-09 09:39:15 Сеанс связи с КП 69 «PR200», тип: KpModbus, адрес: 1
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 01 03 0E 00 01
Приём (14/14): 00 6F 00 51 00 B4 00 04 9F 98 41 CF 08 26
OK!2016-09-09 09:39:22 Сеанс связи с КП 69 «PR200», тип: KpModbus, адрес: 1
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 01 03 0E 00 01
Приём (14/14): 00 6F 00 51 00 B4 00 04 A3 4C 41 CF 44 4E
OK!2016-09-09 09:39:29 Сеанс связи с КП 69 «PR200», тип: KpModbus, адрес: 1
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 01 03 0E 00 01
Приём (14/14): 00 6F 00 51 00 B4 00 04 AD F4 41 CF C6 83
OK!2016-09-09 09:39:36 Сеанс связи с КП 69 «PR200», тип: KpModbus, адрес: 1
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 01 06 02 01 00
Ошибка CRC!
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 86 58 10 01 06
Ошибка CRC!
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 02 01 00 86 58
Ошибка CRC!2016-09-09 09:39:43 Сеанс связи с КП 69 «PR200», тип: KpModbus, адрес: 1
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 01 03 0E 00 01
Приём (14/14): 00 86 00 51 00 B4 00 04 08 88 41 D0 1D 00
OK!ответы в одну строку, 111 было предыдущим значением перед сменой на 134
В данный момент на ПР значение уже изменилось, так же оно изменилось и в ScadaWeb подключенной к Raspberry, а SCADA на Win получает 3 ответа, где значение еще 111, при этом хвост и CRC меняются и проходят проверку01 03 0E 00 01 00 6F 00 51 00 B4 00 04 9F 98 41 CF 08 26
01 03 0E 00 01 00 6F 00 51 00 B4 00 04 A3 4C 41 CF 44 4E
01 03 0E 00 01 00 6F 00 51 00 B4 00 04 AD F4 41 CF C6 83Здесь непонятно откуда берется измененное значение и корректная CRC.
Я как бы допускаю, что remserial вносит какие-то задержки и т.д. Но как 2 компонента могут совпасть ?Далее рваные ответы с ошибкой CRC
2016-09-09 09:39:36 Сеанс связи с КП 69 «PR200», тип: KpModbus, адрес: 1
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 01 06 02 01 00
Ошибка CRC!
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 86 58 10 01 06
Ошибка CRC!
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 02 01 00 86 58
Ошибка CRC!01 06 02 01 00 86 58 10 01 06 02 01 00 86 58 по пять байт но они повторяют структуру ответа, то есть байты явно из нормального ответа.
Та же ситуация при смене параметра из Scada на Win.
2016-09-09 09:42:10 Команда КП 69 «PR200», тип: KpModbus, адрес: 1
Команда «Tpaus_w»
Отправка (8): 01 06 02 03 00 D2 F8 2F
Приём (5/5): 01 03 0E 00 01
Ошибка CRC!
Команда «Tpaus_w»
Отправка (8): 01 06 02 03 00 D2 F8 2F
Приём (5/5): 00 9A 00 59 00
Ошибка CRC!
Команда «Tpaus_w»
Отправка (8): 01 06 02 03 00 D2 F8 2F
Приём (5/5): C8 00 04 AE 68
Ошибка CRC!2016-09-09 09:42:17 Сеанс связи с КП 69 «PR200», тип: KpModbus, адрес: 1
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 01 03 0E 00 01
Приём (14/14): 00 9A 00 59 00 D2 00 04 9A 30 41 D1 7A 0B
OK!Ругань на CRC при записи, хотя значение меняется сразу на приборе и в SCADA и та же комбинация на противоположной SCADA при чтении, сперва ничего не меняется кроме последних значений с правильной CRC а записанная переменная застывает.
09.09.2016 в 10:33 #3067
manjey73УчастникПосле записи не приходит полный ответ, SCADA ОПЯТЬ зписывает, потом еще раз опять записывает. Хотя запись на самом деле производится на первой же посылке.
09.09.2016 в 12:17 #3068
manjey73УчастникПишем из SCADA Linux 144 (00 90) проблемы с таймаутами при записи при двух подключениях к порту, запись выполнена в 10:59:27 уже правильное значение считано.
2016-09-09 10:59:22 Команда КП 69 «PR200», тип: KpModbus, адрес: 1
Команда «Trab_w»
Отправка (8): 01 06 02 02 00 90 29 DE
Приём (5/5): 01 03 0E 00 01
Ошибка CRC!
Команда «Trab_w»
Отправка (8): 01 06 02 02 00 90 29 DE
Приём (5/5): 00 37 00 7A 00
Ошибка CRC!
Команда «Trab_w»
Отправка (8): 01 06 02 02 00 90 29 DE
Приём (5/5): D2 00 04 C4 54
Ошибка CRC!2016-09-09 10:59:24 Отключение от 127.0.0.1
2016-09-09 10:59:27 Установка TCP-соединения с 127.0.0.1:54321
2016-09-09 10:59:27 Сеанс связи с КП 69 «PR200», тип: KpModbus, адрес: 1
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 01 03 0E 00 01
Приём (14/14): 00 37 00 90 00 D2 00 04 65 08 41 D5 C9 EA
OK!Запрос ответ каждые 11 сек
01 03 0E 00 01 00 37 00 90 00 D2 00 04 52 54 41 D5 07 8C
01 03 0E 00 01 00 37 00 90 00 D2 00 04 7A D0 41 D5 4E 05
01 03 0E 00 01 00 37 00 90 00 D2 00 04 7A 20 41 D5 4E 36
01 03 0E 00 01 00 37 00 90 00 D2 00 04 96 8C 41 D5 BA 87
01 03 0E 00 01 00 37 00 90 00 D2 00 04 A8 C4 41 D5 37 79
01 03 0E 00 01 00 37 00 90 00 D2 00 04 AF 58 41 D5 F6 23
01 03 0E 00 01 00 37 00 90 00 D2 00 04 BA 64 41 D5 32 23
01 03 0E 00 01 00 37 00 90 00 D2 00 04 BC D4 41 D5 33 4C
01 03 0E 00 01 00 37 00 90 00 D2 00 04 C6 00 41 D5 6A 6C
01 03 0E 00 01 00 37 00 90 00 D2 00 04 C5 F4 41 D5 2B DA
01 03 0E 00 01 00 37 00 90 00 D2 00 04 E3 8C 41 D5 A0 8B
01 03 0E 00 01 00 37 00 90 00 D2 00 04 F0 18 41 D5 E5 E3
01 03 0E 00 01 00 37 00 90 00 D2 00 04 F2 64 41 D5 25 83
01 03 0E 00 01 00 37 00 90 00 D2 00 04 F6 8C 41 D5 A4 87
01 03 0E 00 01 00 37 00 90 00 D2 00 04 F5 20 41 D5 64 E2
01 03 0E 00 01 00 37 00 90 00 D2 00 04 EE 18 41 D5 E3 CBА в это время, в это время SCADA под Win, читая данные все так же продолжает читать в данной ячейке значение 122 (00 7A) а так же меряет погоду вместо температуры (если сравнивать со SCADA под linux) но при этом чудо из чудес — CRC правильная — КАК ???? Ведь значение в SCADA Linux изменилось и отображается правильно после записи, хоть и проставлен маркер что запись не выполнена.
2016-09-09 10:59:24 Сеанс связи с КП 69 «PR200», тип: KpModbus, адрес: 1
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 01 03 0E 00 01
Приём (14/14): 00 37 00 7A 00 D2 00 04 E9 24 41 D1 94 14
OK!и просто ответы дальше
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 FA 84 41 D1 90 B2
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 F8 48 41 D1 51 35
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 F8 DC 41 D1 10 D9
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 02 88 41 D2 21 D0
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 ED BC 41 D1 14 CB
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 19 7C 41 D2 66 C6
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 1A 44 41 D2 E7 4F
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 2E 24 41 D2 E9 61
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 34 F8 41 D2 2F 83
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 45 B8 41 D2 35 6B
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 68 70 41 D2 BD F9
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 7D 94 41 D2 F9 C2
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 7B AC 41 D2 78 87
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 A3 78 41 D2 02 1F
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 9F 50 41 D2 8E 47
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 DA 58 41 D2 1A 89
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 F9 C0 41 D2 90 E2
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 0F C4 41 D3 23 6B
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 47 EC 41 D3 B4 C3
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 46 44 41 D3 34 DF
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 57 74 41 D3 31 EC
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 57 04 41 D3 30 37
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 85 A4 41 D3 09 6D
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 8B C0 41 D3 4A 5A
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 8F 28 41 D3 CB 5E
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 AF 24 41 D3 00 9D
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 C6 00 41 D3 5D 0A
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 B4 08 41 D3 C7 B0
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 E5 A4 41 D3 17 6D
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 E8 44 41 D3 14 37
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 EB 80 41 D3 55 8E
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 FE 7C 41 D3 91 B2
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 0C 80 41 D4 22 F8
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 08 FC 41 D4 E2 10
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 F3 50 41 D3 52 D7
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 19 64 41 D4 66 C3
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 32 00 41 D4 2E F8
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 32 A4 41 D4 6F 1B
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 59 A8 41 D4 B3 3C
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 65 A8 41 D4 BF 6C
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 66 A4 41 D4 7F 2B
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 7F D4 41 D4 79 AC
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 A7 64 41 D4 42 EB
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 AB 4C 41 D4 C1 B3
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 C9 2C 41 D4 DE 15
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 F1 50 41 D4 12 AD
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 D0 98 41 D4 99 6F
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 F5 68 41 D4 92 50
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 1F 10 41 D5 E7 91
01 03 0E 00 01 00 37 00 7A 00 D2 00 04 13 B0 41 D5 E4 E3Запрос ответ каждые 7 секунд
И тут БАЦ, посыпались ошибки
2016-09-09 11:05:28 Сеанс связи с КП 69 «PR200», тип: KpModbus, адрес: 1
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 01 06 02 02 00
Ошибка CRC!
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 90 29 DE 01 06
Ошибка CRC!
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 02 02 00 90 29
Ошибка CRC!2016-09-09 11:05:35 Сеанс связи с КП 69 «PR200», тип: KpModbus, адрес: 1
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 00 01 00 37 00
Ошибка CRC!
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 90 00 D2 00 04
Ошибка CRC!
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 63 98 41 D2 88
Ошибка CRC!2016-09-09 11:05:42 Сеанс связи с КП 69 «PR200», тип: KpModbus, адрес: 1
Запрос значений группы элементов
Отправка (8): 01 03 02 00 00 07 05 B0
Приём (5/5): 01 03 0E 00 01
Приём (14/14): 00 37 00 90 00 D2 00 04 1B 38 41 D0 11 CE
OK!и возобновилось чтение с уже обновленными данными.
Кто виноват и что с этим делать ?
ПР200 ? — так первой скаде от отдает уже новые данные, на дисплее отобразил изменение переменной.
remserial ? так по идео он тупой при работе с портом, гонит туда raw данные и не имеет понятия о том, что надо рассчитывать CRC да еще и чтобы расчет совпадал с Modbus.
http://lpccomp.bc.ca/remserial/ ссылка на remserial, собирал из исходников.09.09.2016 в 18:33 #3069
MikhailМодераторЗапись команды со стороны ScadaWeb Linux — в логе пишет что ошибка CRC при записи, хотя значение меняется на экране сразу же.
Команда до устройства доходит, а в ответ приходит ерунда.
Сложно судить, что происходит, не зная общего алгоритма, как должно работать распараллеливание опроса. Странно, что на Win читается старое значение, похоже они предоставляются remserial.
remserial ведёт свои логи по переключению между скадами?09.09.2016 в 19:01 #3070
manjey73УчастникНет, remserial если не ошибаюсь логи не ведет, можно попробовать echo включить и посмотреть.
remserial тупой пробрасыватель COM порта в Ethernet и я сильно сомневаюсь, что данные предоставляются именно им, ну не умеет он меняя одно из значений в ответе еще и CRC рассчитывать согласно протокола Modbus.
У меня больше подозрение на связку Коммуникатор и KpModbus.dll честно говоря.
На работу TCP клиента в КоммуникатореПорпобую еще потестить на хардверном преобразователе Ethernet — RS485
И на другом устройстве.Суть подвисания в том, что подвисает та SCADA (Коммуникатор и scada) c которой не производилась запись.
09.09.2016 в 19:54 #3073
MikhailМодераторКаким образом они должны дружить при одновременной отправке и приёме каких-либо пакетов?
09.09.2016 в 20:05 #3074
manjey73УчастникПриема не должно быть одновременного, по идее, remserial должен отправить ответ тому IP от которого пришел запрос.
Мне во всей этой комбинации непонятно одно — кто меняет занчение температуры и кто расчитывает CRC.
При чем когда подвисло, рабочий Коммуникатор можно остановить, то есть запросы прекратятся.А в логах второго коммуникатора идут запросы и ответы только мертвые и с правильной CRC что странно и надписью ОК.
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.