Достаточно указать один неверный адрес регистра или бита и панель начнёт тормозить. Или поставить не настроенный график (таблицу) или не подключить прописанный слейв модуль.
Надо не паниковать, а проверить адреса и удалить не нужные.
Достаточно указать один неверный адрес регистра или бита и панель начнёт тормозить. Или поставить не настроенный график (таблицу) или не подключить прописанный слейв модуль.
Надо не паниковать, а проверить адреса и удалить не нужные.
Последний раз редактировалось kondor3000; 04.12.2025 в 08:01.
Совершенно верно, это нулевой бит 322-го регистра. Именно он в контроллере и должен отвечать за открытие этого окна. Биты 1, 2 и 3 этого же регистра должны были отвечать за открытие других окон.
Вот объявление этой переменной в CodeSys:
CV_WordOfBits_MBUSout AT %QD161 : DWORD; (* WordOfBits *)
Так вам надо сначала проверить, что этот бит приходит (или не приходит) в панель, без всяких окон. Может есть смещение адресов регистров или бит.
Проще всего поставить несколько целочисленных дисплеев с адресами 321, 322 и 323 и проверить число, в соответствии биту.
322 адрес число 1 соответствует 0 биту.
Последний раз редактировалось kondor3000; 04.12.2025 в 08:37.
Да-да, ещё он может оказаться не 0вым, а 7мым, например, из-за особенностей модбас...
Ещё можно убрать запросы к коилам, и переделать на запросы к битам регистра. СП это вроде может делать без проблем. Или я уже с чем то другим путаю...
Если подключиться эмулятором, можно посмотреть сам запрос, который панель шлет при открытии окна. Потом сформировать в эмуляторе этот запрос и отправить в ПЛК, и посмотреть на его ответ.