Добрый день.
Использую СПК107 (старую) для опроса модулей Мх110. Нарисовал на панельке экраны, чтобы записывать аварийные значения в Мх110, тестирую на МК110...8ДН.4Р.
В Codesys3.5 интерфейс для этого выглядит вот так:
2020-03-21_12-17-31.png
Глядя на это, все понятно. Записываешь маску состояний в "аварийное состояние выходов". Каждому выходу соответствует бит. Потом на короткое время устанавливаешь бит - "команда на запись". Далее, как модуль переходит в состояние авария, соответствующий выход будет включен или выключен.
Все это реализовал, но выхода при аварии остаются неизменны. При этом на самом модуле светодиод авария включается.
Не нашел в мануалах описание этих функций. По модбасу то надо 100 записать в аварийный выход, но у меня доступный тип данных только BOOL.
Делал команду на запись 2 сек и 10 сек.
При проверке через конфигуртор М110 аварийные входа неизменны. Кстати почему то там целочисленные значения.
Что я не так понимаю?! Может быть у меня какие-то старые таргеты, что не соответствуют прошивке модуля v2.01 . Что не так делаю?
P.S. Версия моего таргета для модуля 3.5.4.13. Проверил версию 3.5.11.4. Там такой же интерфейс. Думаю дело не в версиях.
предположение, что это какая-то альтернативная запись выходов при рабочей шине - тоже нет. Выхода неизменны при активной команде на запись.
P.P.S. Как я понял, по команде на запись, панелька должна сформировать модбас команду h#10 и записать в адреса с h#0010 по h#0013 значения 1000 или 0, в зависимости как установлены биты. Но этого не происходит. У меня нет новой СПК, чтобы попробовать таргет новой версии, но закралась мысль, что это проблема таргета, версия которого совместима со старым СПК.
P.P.P.S. Сделал все тоже самое, но на модуле МУ110...16Р - все отлично работает и аварийные значения выходов перезаписываются. Так что теперь полностью уверен, какой-то косячок-с в шаблон при написании закрался.