PDA

Просмотр полной версии : Цвет параметра



Андрей_Б.
31.01.2024, 13:05
Добрый день!
Долгое время пользовался Мастерскадой 3.5. Есть необходимость написания проекта на версии 4D.
Куча вопросов. Первый: как изменить фон отображаемого на мнемосхеме аналогового параметра в зависимости от его вхождения в контролируемые границы?
У параметра задействовал шкалу AI. Проставил флаги "Использовать" и "Активно", настроил границы. В полном дереве появились настройки шкалы с этими параметрами.
Вынес элемент на схему, в параметр "Заливка фона" установил внешние связи с ActiveLoLo, ActiveLo, ActiveHiHi, ActiveHi, настроил цвета на значения true. Каждому свой цвет. [Скрин 1].
73220
Для начала, чтоб было меньше путаницы, гистерезис не использовал.
Запустил режим исполнения и тут начались чудеса...
Изменяя значения параметра последовательно, смотрю как меняются флаги ActiveLoLo, ActiveLo, ActiveHiHi, ActiveHi.
При значении параметра == 0, все флаги true!!!!
При значении параметра == 70 (входит в диапазон), флаги: true, false, true, true!!!!!
То есть, флаги контроля границ не соответствуют значению параметра.
Через какое-то время изменяя параметр, флаги стали отображаться как надо. Но цвета!!!!!
При нарушении предупредительных границ цвета отображаются как надо (не сразу, а как только флаги приходят в чувство).
При нарушении аварийных границ цвет фона не появляется совсем.
Скада глючит или я что-то делаю не так?
73221

Андрей_Б.
31.01.2024, 13:12
Я с форумом не ошибся?

МихаилГл
31.01.2024, 15:54
Нет, не ошибся. Но это же форум, а не техподдержка. Если есть те, кто это практикует, обязательно ответят.

На первый взгляд бросается в глаза что вы булевые значения используете. А как вы сделали сравнение текущего параметра с порогом?

Vitalina23
12.02.2024, 12:45
Контроль границ точно отображается на трендах, а для фона значения я минипрограмму сделала по состояниям: нет связи с плк, обрыв датчика, ошибка и пр. Далее все подробности в журнале событий

Если идти вашим путем, попробуйте завести контроль границ либо через программу в этом же объекте, либо можно попробовать туда же на каждую границу добавить еще строку для значения False.

Андрей_Б.
12.02.2024, 16:32
Техническая поддержка очень витиевато согласилась с доводами о наличии проблемы. Возможно, что в очередной версии продукта баг будет устранён. Но сам подход к решению проблем мне не понравился. Вместо устранения ошибки или недоработки в СКАДА предлагают решить проблему обходными путями, к примеру через скрипты (как оне в 3.5 назывались). Я решил вопрос через скрипт, но это меня не устраивает.