Спасибо. Посмотрим.
Спасибо. Посмотрим.
Вот что удалось посмотреть в логе для ещё одного СРК.....пока не понятно что ему нужно....
4058404: |2187310784| [TRA] (192.168.3.23:502) Tx: [12] 00 4B 00 00 00 06 01 03 00 02 00 05
4058404: |2187310784| [INF] (192.168.3.23:502) NLTryReopenTCPSocket reason=NLTCPSend err=111
4058404: |2187310784| [INF] (192.168.3.23:502) Close socket : (state=2)
4058404: |2187310784| [ERR] (192.168.3.23:502) OpenTCPSocket failed error=115
4058405: |2187310784| [TRA] (192.168.3.23:502) Tx: [12] 00 4B 00 00 00 06 01 03 00 02 00 05
4058405: |2187310784| [INF] (192.168.3.23:502) NLTryReopenTCPSocket reason=NLTCPSend err=111
4058405: |2187310784| [INF] (192.168.3.23:502) Close socket : (state=2)
4058405: |2187310784| [ERR] (192.168.3.23:502) OpenTCPSocket failed error=115
4058405: |2187310784| [TRA] (192.168.3.23:502) Tx: [12] 00 4B 00 00 00 06 01 03 00 02 00 05
4058405: |2187310784| [INF] (192.168.3.23:502) NLTryReopenTCPSocket reason=NLTCPSend err=111
4058405: |2187310784| [INF] (192.168.3.23:502) Close socket : (state=2)
4058405: |2187310784| [ERR] (192.168.3.23:502) OpenTCPSocket failed error=115
ну тут вам скорее всего мешает опрос из MS4D. оно просто не может открыть еще один сокет. тут даже ответов от СРК нет. ну или оно там не доступно для связи...
Что касается ответа - ошибка Transaction ID - то там ответ приходит скорее всего. иначе и ошибки бы такой не было.
Вопросов стало ещё больше))) ...
Ну самый простой вариант, если не умеете пользоваться WireShark (к тому же его требуется запускать на машине с MS4D на том физическом интерфейсе, с которого идут запросы).
1. на ПК c MS4D выключить опрос вашего устройства, лог которого нужен.
2. на любом другом ПК установить RapidScada (web нафик не сдался, он тут не нужен). Нужен Сервер, Коммуникатор и Админка. (то есть достаточно будет установить по описанию только dotnet Desktop (Bundle на хостинг не нужен, IIS ставить не нужно)
3. Настроить там линию с вашим устройством, сделать шаблон Modbus на один регистр float или на что-то. Запустить и посмотреть лог в Статистике линии связи Коммуникатора. Он будет в hex и запросы и ответы.
5. воспользоваться этой штукой - https://rapidscada.net/modbus/
так как запросы по Modbus TCP и с учетом ошибки, тут не помогут виртуальные порты и чтение по RTU. Ибо Transaction ID это сугубо TCP-шная хрень протокола Modbus TCP.
Последний раз редактировалось melky; 26.03.2025 в 12:07.
Там же вроде ошибка отправки
Валенок, нет. это другое. На форуме RapidScada у человека было устройство, которое без смены Transaction ID вообще не работало. А здесь похоже обратное.
По идее, слейв устройство, если ему посылают xx xx должно отвечать дублируя xx xx в ответе не разбираясь. Это не задача слейва в принципе
Последний раз редактировалось melky; 26.03.2025 в 21:56.
Так до сих пор ответа никто так и не показал
Так человек не умеет пользоваться другими средствами логирования![]()
Тогда как сможет чем то выцепить ответ, тогда и можно будет хоть что то сказать.