This is topic Всплывающие формы in forum Операторский интерфейс / HMI at Форум TRACE MODE: техническая поддержка.


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

Posted by CONSAT (Участник № / Member № 51) on :
 
При доработке графического интерфейса возникла проблема
с формами отображения, привязанными к параметру состояния
кнала.
При привязке формы к состоянию канала и при дальнейшей смене экрана
и возврата к требуемому - происходит неправильное отображение формы
(всплывает) - а не должна

Направляем Вам проект с данной проблемой.

Поставленная задача: Динамический текст должен исчезать с экрана как
только состояние канала "1" = 1.

1. Запускаем проект.
2. На экране 2 отображается изменение значения канала 1 (ДИНАМИЧЕСКИЙ ТЕКСТ)
3. Нажимаем кнопку Состояние.
4. С экрана исчезает динамический текст. Все нормально!!!
5. С помощью кнопки Экран 1 переходим на экран 2
6. Возращаемся на экран 2, нажав на кнопку Экран 1
7. Видим, что на экране появился динамический текст.

Данная ситуация не наблюдается если форма отображения
привязана к параметру канала ДОСТОВЕРНОСТЬ. Это можно проверить с помощью кнопки
Достоверность.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
В Вашем проекте происходит конфликт двух ФО Открыть/Закрыть. Обратите внимание - обе формы управляют одним и тем же динамическим текстом. Индекс атрибута Достоверность в таблице атрибутов канала идет после атрибута Состояние. Таким образом Ваша ФО Динамический текст при перерисовке экрана всегда управляется ФО Открыть/Закрыть по атрибуту Достоверность.
 
Posted by CONSAT (Участник № / Member № 51) on :
 
Посоветуйте, пожалуйста, как лучше поступить в данном случае. Задача
состоит в том, что необходимо убирать динамический текст с экрана
и по достоверности и по сотоянию канала.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Для этого необходимо реализовать логический алгоритм на FBD. Иначе нельзя - управляющий выход должен всегда быть один и если он зависит от нескольких состояний, то обязательно должен быть промежуточный алгоритм (в Вашем случае это логическое ИЛИ от двух состояний). Соответственно это потребует дополнительного канала в базе, но можно воспользоваться не используемым атрибутом любого из каналов (например границами).
 
Posted by CONSAT (Участник № / Member № 51) on :
 
По вашему совету создали FBD, и дискретный канал, управляющий ФО
ДИНАМИЧЕСКИЙ ТЕКСТ.
Ко входам FBD привязали состояние и достоверность канала "1".
Выход FBD привязаль на 1 бит дискретного канала.

В итоге при последовательности
1. Нажимаем кнопку "Сотояние", в атрибут "Состояния" канала "1" прописывается 1,
но при этом в 1 бит дискретного канала единичка не прописывается, соответственно
ДИНАМИЧЕСКИЙ ТЕКСТ не удаляется.
2. Нажимаем кнопку "Достоверность" - все работает.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
В Вашем проекте ошибка:
Вы привязали FBD к каналу, состоянием которого Вы же и управляете (т.е. - отключаете канал от пересчета). Естественно FBD при 1 на атрибуте Состояние не пересчитывается и Ваш алгоритм не работает. [А-а! / Eek!]
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2