Добрый день!
ПЛК - 110-60
Сконфигурировал опрос модулей овен по модбасу в окошке "Кнфигурация ПЛК". Забегая вперед вопрос- кто-нибудь кроме меня так делает? или есть другие быстрые или правильные решения?
И для анализа связи с модулями написал микро код:
где соответственно mb_modul_state.X - это бит состояния N модуля (с адресами от 1 до 7)Код: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;
И понял, что эта штука не адекватно оценивает связь с модулем, потому что я вижу, что все ответы ок приходят.
Для того чтобы разобраться, я установил "Framing Time" - 1000, в настройках РС-485 чтобы опрос был раз в секунду.
Опрос и правда стал похожим на "раз в секунду", но переменная "last address" и "last error" - почему-то меняются чаще чем раз в секунду, значительно.
И у всех модулей, кроме последнего опрошенного получается ошибка 81 (таймаут) - но как? раз в секунду все модули отвечают!
Я решил посмотреть опрос.... и просто офигел от того что творит этот контроллер:
ккк.png
каждая строка помеченная красным - появляется раз в секунду, это куча запросов
за тем сразу же идет строка с нормальным запросом и ответом.
секунда ожидания - и снова строка с кучей запросов, строка с нормальным запросом/ответом
что происходит?
опрос всех 7 модулей настроен одинаково:
work mode: by poll time
poll time: 10 ms
max timeout: 150 ms


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