Наткнулся на следующую особенность работы ПЛК с подключённой к нему панелью СП315-Р в режиме modbus tcp slave. На ПЛК настроено около 40 modbus каналов, 20 из которых настроены на write miltiple coils каждые 100мс, а другие 20 на write multiple registers каждые 1000мс. Однако на панель регистры прилетают не каждую секунду, а каждые секунды 3-4. Снял дамп трафика между ПЛК и панелью: действительно, запись всех каналов занимает много времени. При этом панель на каждый request отвечает быстро - несколько миллисекунд, а вот следующий request от ПЛК происходит через 100мс после последнего response панели. Эти 100мс совпадают с временем цикла выполнения единственной PLC_PRG.
Как-то можно сделать опрос modbus пошустрее, не меняя при этом длительность цикла PLC_PRG?
Дамп tcpdump прилагаю, расширение изменить на pcap. Можно обратить внимание, например, на запись регистра 256, он должен происходить каждые 1000мс, однако укладывается только каждые 3-4 сек.




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

