Добавил, но все равно пишет что не зарегистрированное имя MODBUS_TCP_BIT_0XВложение 35391
Вид для печати
Добавил, но все равно пишет что не зарегистрированное имя MODBUS_TCP_BIT_0XВложение 35391
Визуализируемый элемент добавьте - индикатор, например.
Спасибо!! заработало, но вопрос- Это работает только с визуализацией? просто мне достаточно не визуализировать некоторые входы-выходы.
С уважением, Александр.
Нет, добавление элемента было необходимо, чтобы проект "обновился" и компилятор смог корректно отработать.
Элемент теперь можно удалить - компиляция все равно будет проходить успешно.
Огромное спасибо!
Понял,
С уважением, Александр.
сделал всё немного по-другому с учётом вашего примера. в общем, с модуля ввода копировал один регистр в другой регистр панели и инвертировал в нём биты сигнала дистанционного управления. сделал 4 отдельных небольших макроса, которые выполняются по появлению инвертированных битов. макрос сократил до простого - условия убрал, сделал просто запись нулевого значения переменной в нужные регистры модуля вывода. чтобы не захламлять и без того уже забитую ФО, сделал ещё 4 ФО, которые вызывают макрос по появлении сигнала на инвертированном бите.
по вашему примеру появилась проблема того, что выход модуля постоянно моргал. экспериментировал с порядком выполнения параллельным/последововательным, ставил вызов макроса в ФО до чтения регистров в ФО и после, делал в отдельной ФО вызов макроса. в общем, в циклическом режиме выполнения, как вы и говорили, макросы так себе работают, зато по наличию управляющих битов. строго выполняются. не пробовал лишь сделать циклическое выполнение макросов на опрос модулей.
сейчас другая уже проблема: использовать модуль дискретного входа для счёта импульсов, а также обнулять состояние счётчиков с панели. почитал руководство на модуль ввода 16ДН, регистры нашёл. вывел значения счётчиков, вывел 2 кнопки для обнуления. сделал 2 макроса, которые должны записывать значение 0 в регистры счётчиков. выполнение макросов сделал по нажатию кнопок обнуления... по итогу - не идёт. использовал запись слова со значением 0 в регистры модуля, так как запись переменной типа int вызывала подвисание панели и прекращение опроса модулей.
Добрый день, подскажите , можно ли вставить выполнение макроса Б в цикл макроса А.
С уважением, Александр.
При необходимости - можно из тела одного макроса вызвать другой.
См. пример по ссылке:
http://www.owen.ru/forum/showthread....l=1#post266677