Здравствуйте, мне нужен способ переключения экранов (скрийнов) в DopSoft 4 в соответствии с состоянием битовых регистров в PLC, например X1 = 1 -> откроется screen_1, M0 = 0 -> откроется screen_3 и так далее.
Я искал команды в макросах для этой цели. Единственная, который я нашел, была OPENSCREEN, но она работает с регистрами типа WORD, что для меня в данном случае неприемлемо.
Спасибо!
Способ переключения скрийнов DopSoft 4.
-
- Сообщения: 181
- Зарегистрирован: 31 авг 2019, 13:12
Re: Способ переключения скрийнов DopSoft 4.
Стандартно переключение делается через Control Block - Status Block.
"Привяжите" ваши X,Y,M... к соответствующим битам регистра Screen№ в Control Block.
"Привяжите" ваши X,Y,M... к соответствующим битам регистра Screen№ в Control Block.
-
- Сообщения: 181
- Зарегистрирован: 31 авг 2019, 13:12
Re: Способ переключения скрийнов DopSoft 4.
Вот в чем проблема. Насколько я вижу, здесь можно выбрать только регистр типа WORD."Привяжите" ваши X,Y,M... к соответствующим битам регистра Screen№ в Control Block.
Как видно из примера в руководстве по Dopsoft 4, при установке D1 = 1 переключается на экран 1, D2 = 2 - экран 2 и т. д.
Я не вижу, как использовать битовых регистров контроллера для этой цели.
Спасибо!
Re: Способ переключения скрийнов DopSoft 4.
В Background или в Clock макро типа такого скрипта
IF {Link1}1@X1 == ON
({Link1}1@D0) = 1
ENDIF
IF {Link1}1@M1 == ON
({Link1}1@D0) = 2
ENDIF
Естественно, битовые переменные не должны быть включены одновременно.
Если скрипт окажется слишком длинным, то панель начнет ощутимо тупить.
Поэтому, "привязку" X,M... лучше сделать в программе на ПЛК.
IF {Link1}1@X1 == ON
({Link1}1@D0) = 1
ENDIF
IF {Link1}1@M1 == ON
({Link1}1@D0) = 2
ENDIF
Естественно, битовые переменные не должны быть включены одновременно.
Если скрипт окажется слишком длинным, то панель начнет ощутимо тупить.
Поэтому, "привязку" X,M... лучше сделать в программе на ПЛК.
-
- Сообщения: 181
- Зарегистрирован: 31 авг 2019, 13:12
Re: Способ переключения скрийнов DopSoft 4.
Таким образом, во всех случаях смена экранов связана с различными значениями конкретного регистра данных.В Background или в Clock макро типа такого скрипта
Я думал еще в начале o программa, которая будет назначать различные значения для D1 (например) в зависимости от того, какой из флагов (X, Y, M) для разных экранов активен.
Однако я не был уверен, где его поставить - background или clock macro. Какая здесь разница?
Спасибо!
Re: Способ переключения скрийнов DopSoft 4.
Clock macro выполняется полностью через заданные интервалы времени, а Background за скан может выполняться частично.
Детали с мануале на DopSoft.
Детали с мануале на DopSoft.
-
- Сообщения: 181
- Зарегистрирован: 31 авг 2019, 13:12
Re: Способ переключения скрийнов DopSoft 4.
Background macro is a program that is executed repeatedly during the operation of the HMI with
one line or several lines being executed at a time (not finished after executing once). It will be
executed once again at the end of the last line. To define the number of lines for each
Background Macro execution, go to [Options] > [Configuration] to set the Background macro
update cycle with a maximum of 512 lines.
Все понял, спасибо!