Продолжим.
На объекте 3 шкафа с ПЛК110-30/60[М2]; используются оба 485; в основном подключены модули расширения и преобразователи частоты, в среднем от 3 до 10 устройств. Все это замечательно работает уже больше 3 мес. На один из шкафов 2 недели назад подключили нонэйм устройство(период опроса 100мс, $01 $03 $00 $00 $00 $08 $44 $0C) - после 2-6 часов работы вываливается EXC_HW в библиотеке Modbus.lib, на втором интерфейсе 5 ПЧ - полет нормальный.
До объекта пока так и не доехал. Так что пока все со слов наладчиков.
На столе поставил 2 ПЛК: один просто опрашивает "тишину", второй - эмулирует устройство через "modbus slave.exe". За неделю проблему так и не словил.
Помехи или "нонэйм" устройство?
Сегодня на столе решил "пошуметь в линию" (подкинулся в линию 485преобразователем и циклически кидаю байты). Через несколько минут пакеты начинают уходить с задержкой между байтами, потом только 1 байт пакета и ловим EXC_HW(SysComWrite возвращает 1, т.е. забит буфер передачи).
Возникает вопрос, почему SysComWrite(Операционка/ядро плк) не выплевывает содержимое буфера? У ПЛК на это достаточно времени.




Ответить с цитированием