Добрый день!
ПЛК - 110-60
Сконфигурировал опрос модулей овен по модбасу в окошке "Кнфигурация ПЛК". Забегая вперед вопрос- кто-нибудь кроме меня так делает? или есть другие быстрые или правильные решения?

И для анализа связи с модулями написал микро код:
Код:
CASE mb_last_addr OF
1: mb_modul_state.0 := (mb_last_err=0);
2: mb_modul_state.1 := (mb_last_err=0);
3: mb_modul_state.2 := (mb_last_err=0);
4: mb_modul_state.3 := (mb_last_err=0);
5: mb_modul_state.4 := (mb_last_err=0);
6: mb_modul_state.5 := (mb_last_err=0);
7: mb_modul_state.6 := (mb_last_err=0);
END_CASE;
где соответственно mb_modul_state.X - это бит состояния N модуля (с адресами от 1 до 7)
И понял, что эта штука не адекватно оценивает связь с модулем, потому что я вижу, что все ответы ок приходят.

Для того чтобы разобраться, я установил "Framing Time" - 1000, в настройках РС-485 чтобы опрос был раз в секунду.
Опрос и правда стал похожим на "раз в секунду", но переменная "last address" и "last error" - почему-то меняются чаще чем раз в секунду, значительно.
И у всех модулей, кроме последнего опрошенного получается ошибка 81 (таймаут) - но как? раз в секунду все модули отвечают!

Я решил посмотреть опрос.... и просто офигел от того что творит этот контроллер:
ккк.png
каждая строка помеченная красным - появляется раз в секунду, это куча запросов
за тем сразу же идет строка с нормальным запросом и ответом.
секунда ожидания - и снова строка с кучей запросов, строка с нормальным запросом/ответом

что происходит?


опрос всех 7 модулей настроен одинаково:
work mode: by poll time
poll time: 10 ms
max timeout: 150 ms