Здравствуйте, господа!!! Буквально две недели назад начальство в срочном порядке бросило нас на освоение новой прогрессивной SCADA-системы TraceMode. Ещё через две недели ждёт от нас готовый проект из 450 каналов. Надеемся успеть... Система, на первый взгляд, неплохая, наверное, скоро купим лицензионную версию. Вот только возникла у нас одна проблема, помогите разобраться. На экране размещены 80 трендов, открываемых/закрываемых(становящихся видимыми/невидимыми) щелчком мыши по соответствующим 80 динамическим текстам. Для удобства все эти тренды находятся в одном месте и имеют одинаковый размер. Работать с большим количеством одновременно открытых трендов трудно, поэтому предполагалось сделать отдельную кнопку "Закрыть все"(с помощью свободных форм), которая закрывала бы все эти тренды. Для этого я создал канал типа "Пустой", подтип "out_null", связал с трендами и легко открывал/закрывал тренды. Однако, столкнулся с такой проблемой: я не можем одновременно заставить тренды открываться щелчком мыши и закрываться с помощью кнопки "Закрыть все". Например, открыв несколько трендов, я могу его закрыть кнопкой "Закрыть все", но если после этого снова открыть любой из трендов, кнопка уже не помогает.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Наверно эту задачу лучше решать следующим образом: Создать 5 каналов ПУСТОЙ/in_null (или out_null - не важно) типа HEX с размерностью 16 бит. Таким образом - каждый бит канала будет управлять видимостью ФО тренда. В графике управление видимостью выполнить через динамическую Свободную ФО "Открыть/Закрыть форму" привязав таким образом каждый тренд к своему биту соответсвующего канала. Тогда процедура отрытия тренда - это посылка по клику на текстовой ФО в соответсвующий бит канала нуля, а кнопка "Закрыть все" - пять функций посылки значений 0xffff по всем управляющим каналам видимости трендов.