This is topic ГЭ Кнопка, функция XOR in forum Операторский интерфейс SCADA/HMI TRACE MODE 6 / at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/34/t/000227.html

Posted by bubaeshka (Участник № / Member № 7600) on :
 
Давно хочу поинтересоваться у уважаемой техподдержки следующим моментом. У меня на экране есть ГЭ Кнопка. Есть два канала, один на чтение, другой на запись. Оба привязаны к одному и тому же (или к разным) ОРС тэгам. Канал на чтение привязан к динамизированному тексту на кнопке. Заливка кнопки то же динамизированна. В общем я вижу состояние канала чтения. Реакция на клик настроена так: событие Mouse Pressed, тип передачи XOR, значение 1, источник: канал на запись, приёмник: канал на запись. Допустим исполнительный механизм у нас включен. При запуске МРВ канал на чтение =1, а вот канал на запись равен 0. По нажатию на кнопку канал на запись становится =1. То есть, я запускаю профайлер (МРВ, не суть важно) и вижу зелёненькую кнопку на которой написано: СТОП, а нажимая на кнопку у меня посылается команда СТАРТ. При втором нажатии всё становится на свои места. Но первое нажатие посылает ложную команду и создаётся впечатление неработоспособности кнопки. Операции асинхронные, длительные.
Конечно же я могу обработать действие кнопки программно, но нет ли случайно более интересного решения? Чтобы на старте МРВ, каналу на запись присваивалось значение канала на чтение?
Я могу изменить источник/результат, но если я в источнике укажу значение канала на чтение, то когда канал на запись у меня равен 0, а я посылаю в этот канал 0 - естественно ничего не происходит. Значение 0, ОРС серверу просто не посылается. Он не записывает его, а записывает значение только при его изменении с 1 на 0 или с 0 на 1. Не "протыкивать" же все кнопки при перезапуске МРВ. Программная обработка всех кнопок конечно надёжна, но довольно трудоёмка.
Спасибо.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Надо в функции управления каналом "Запись":
- в качестве "Источник" задать "Канал "Чтение",
- в качестве "Результат" задать "Канал "Запись"",
- каналу "Запись" в настройках периода обработки задать "CALC EXE".
В этом случае канал "Запись" будет отрабатывать всегда, когда ему передается какое-либо значение, даже если оно повторяет существующее значение канала.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2