Modbus 538184

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы
Ответить
Artem.spb

Activity Автор
expert
expert
Сообщения: 1942
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Репутация: 0
Версия LabVIEW: 12-18
Контактная информация:

Modbus 538184

Сообщение Artem.spb »

Знатоки modbus, подскажите.
При работе по TCP периодически (но не со строгим периодом) возникает ошибка 538184 (кто-то там failure).
Пробовал повторять попытки чтения по ошибке, не помогает, всё равно та же ошибка. После трёх попыток программа идёт на реконнект и успешно продолжает работу до следующей ошибки.
Но заказчика это смущает (меня немного тоже).
По логам сервера, там никаких сбоев нет.
Смотрю modbus pool, там проблема тоже воспроизводится: счётчик ошибок периодически увеличивается.
Вопрос: кто виноват и что делать? В чём может быть глюк?
Контроллер Бахман, там так же используется готовая Modbus-библиотека.

Borjomy_1

Activity Professionalism Silver
expert
expert
Сообщения: 1921
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Репутация: 0
Версия LabVIEW: 4-8.6,9-14
Откуда: город семи холмов

Re: Modbus 538184

Сообщение Borjomy_1 »

приведите точно описание ошибки. Какая библиотека используется?

ujin
user
user
Сообщения: 78
Зарегистрирован: 28 июл 2019, 13:16
Репутация: 0
Версия LabVIEW: 19
Контактная информация:

Re: Modbus 538184

Сообщение ujin »

ошибка 538184 (кто-то там failure)
https://forums.ni.com/t5/NI-Labs-Discus ... anguage=en
538180+the modbus error code
https://knowledge.ni.com/KnowledgeArtic ... AC&l=ru-RU
04 Slave Device Failure
Это если Вы используете Modbus библиотеку от NI.
Мало информации. Какие функции используете? Может какая либо функция подвешивает контроллер.
Какие таймауты записи в порт, чтения из контроллера, периодичность запросов, таймаут между запросами. Сколько одновременных соединений поддерживает контроллер. Может гдето коннект не закрывается. Закрывать соединение нужно даже если нет ответа на запрос соединения. Wireshark что показывает. Может что лишнее от мастера идет.
Попробовать загрузить Бахман запросами на чтение с периодичностью 20 мс и менее. Когда начнет сбоить.
Как сеть организована. Есть ли однаковые IP в сети. Могут быть одинаковые IP, но у одного из них PING отключен. Могут быть новые приборы от производителя с одинаковым MАС адресом.
Какой свич. Непромышленные могут сбоить. Все это ловили на практике в работе.
Несколько попыток до реконнекта никогда не помогают. После первой же ошибки нужен реконнект. В Библиотеке от NI я не нашел где задать поле Transaction ID и оно всегда = 0. Поэтому при пропуске ответа возможна ситуация когда придет старый пакет на новый запрос с одинаковым Transaction ID. И данные постепенно будут приходить с все большей задержкой. Воспроизводил на практике. Причем задержка может доходить в зависимости от емкости буфера сетевой карты до 2х минут.

Artem.spb

Activity Автор
expert
expert
Сообщения: 1942
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Репутация: 0
Версия LabVIEW: 12-18
Контактная информация:

Re: Modbus 538184

Сообщение Artem.spb »

Проблему решили. Оказалась на стороне контроллера. Он ходил "налево" к другому модбасу за данными, и после сбоя там отказывался и тут нормально работать

Ответить

Вернуться в «Коммуникация с приборами»