Способ переключения скрийнов DopSoft 4.

Ответить
ivan bratanov
Сообщения: 181
Зарегистрирован: 31 авг 2019, 13:12

Способ переключения скрийнов DopSoft 4.

Сообщение ivan bratanov »

Здравствуйте, мне нужен способ переключения экранов (скрийнов) в DopSoft 4 в соответствии с состоянием битовых регистров в PLC, например X1 = 1 -> откроется screen_1, M0 = 0 -> откроется screen_3 и так далее.

Я искал команды в макросах для этой цели. Единственная, который я нашел, была OPENSCREEN, но она работает с регистрами типа WORD, что для меня в данном случае неприемлемо.



Спасибо!

tvent
Сообщения: 1017
Зарегистрирован: 11 янв 2011, 17:02

Re: Способ переключения скрийнов DopSoft 4.

Сообщение tvent »

Стандартно переключение делается через Control Block - Status Block.
"Привяжите" ваши X,Y,M... к соответствующим битам регистра Screen№ в Control Block.

ivan bratanov
Сообщения: 181
Зарегистрирован: 31 авг 2019, 13:12

Re: Способ переключения скрийнов DopSoft 4.

Сообщение ivan bratanov »

"Привяжите" ваши X,Y,M... к соответствующим битам регистра Screen№ в Control Block.
Вот в чем проблема. Насколько я вижу, здесь можно выбрать только регистр типа WORD.
control_block.jpg
control_block.jpg (375.99 КБ) 2926 просмотров
Как видно из примера в руководстве по Dopsoft 4, при установке D1 = 1 переключается на экран 1, D2 = 2 - экран 2 и т. д.
register.jpg
register.jpg (326.42 КБ) 2926 просмотров
Я не вижу, как использовать битовых регистров контроллера для этой цели.


Спасибо!

tvent
Сообщения: 1017
Зарегистрирован: 11 янв 2011, 17:02

Re: Способ переключения скрийнов DopSoft 4.

Сообщение tvent »

В Background или в Clock макро типа такого скрипта
IF {Link1}1@X1 == ON
({Link1}1@D0) = 1
ENDIF
IF {Link1}1@M1 == ON
({Link1}1@D0) = 2
ENDIF
Естественно, битовые переменные не должны быть включены одновременно.
Если скрипт окажется слишком длинным, то панель начнет ощутимо тупить.
Поэтому, "привязку" X,M... лучше сделать в программе на ПЛК.

ivan bratanov
Сообщения: 181
Зарегистрирован: 31 авг 2019, 13:12

Re: Способ переключения скрийнов DopSoft 4.

Сообщение ivan bratanov »

В Background или в Clock макро типа такого скрипта
Таким образом, во всех случаях смена экранов связана с различными значениями конкретного регистра данных.

Я думал еще в начале o программa, которая будет назначать различные значения для D1 (например) в зависимости от того, какой из флагов (X, Y, M) для разных экранов активен.

Однако я не был уверен, где его поставить - background или clock macro. Какая здесь разница?



Спасибо!

tvent
Сообщения: 1017
Зарегистрирован: 11 янв 2011, 17:02

Re: Способ переключения скрийнов DopSoft 4.

Сообщение tvent »

Clock macro выполняется полностью через заданные интервалы времени, а Background за скан может выполняться частично.
Детали с мануале на DopSoft.

ivan bratanov
Сообщения: 181
Зарегистрирован: 31 авг 2019, 13:12

Re: Способ переключения скрийнов DopSoft 4.

Сообщение ivan bratanov »

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.

Все понял, спасибо!

Ответить