Tag Archives: Динамизация

Создание узла АРМ в Trace Mode (часть 2)

Создание стрелочного прибора, привязка к аргументу

Применим для отображения параметра новый тип ГЭ – Стрелочный прибор. Для этого необходимо выполнить последовательность действий:

выделим двойным щелчком ЛК на инструментальной панели графического редактора иконку  и выберем из появившегося меню иконку стрелочного прибора ;

установим ГЭ , выбрав его размер таким, чтобы все элементы графики и текста на нем были разборчивы и симметричны;

перейдем в режим редактирования и откроем окно свойств ГЭ ;

щелчком ЛК на экранной кнопке Основная привязка откроем окно табличного редактора аргументов шаблона экрана;

ЛК выберем уже имеющийся аргумент Параметр;

подтвердим выбор щелчком ЛК на кнопке Готово;

двойным щелчком ЛК откроем атрибут Заголовок и в строке Текст введем надпись Параметр;

закроем окно свойств ГЭ .

Для проверки правильности привязок ГЭ к аргументам экрана можно воспользоваться режимом эмуляции. Переход в режим эмуляции осуществляется с помощью иконки  на панели инструментов. По нажатию, на экран графического редактора выводится окно задания значения аргумента в соответствующем поле:

Так, введя значение 25, наблюдаем:

В нашем случае оба ГЭ отображают введенное значение – привязки выполнены правильно. Выход из режима эмуляции – повторное нажатие ЛК по иконке .

 

Автопостроение канала

Для создания канала в узле проекта по аргументу шаблона экрана воспользуемся процедурой автопостроения. Для этого:

в слое Система выберем ЛК узел RTM_1;

в поле компонентов узла ЛК выберем Экран#1;

щелчком правой кнопки мыши (ПК) вызовем контекстное меню;

в нем щелчком ЛК откроем свойства компонента Экран#1:

выберем ЛК вкладку Аргументы;

выделим ЛК аргумент Параметр и с помощью иконки  создадим канал класса Float типа Input с именем Параметр:

Задание границ и уставок

Двойным щелчком ЛК по каналу Параметр откроем бланк редактирования его атрибутов и заполним раздел Границы следующим образом:

 

Создание генератора синуса и привязка его к каналу

Введем в состав проекта источник сигнала – внутренний генератор синусоиды, свяжем его с созданным каналом и опробуем в работе выполненные средства отображения. Для этого проделаем следующие действия:

откроем слой Источники/Приемники и через ПК создадим в нем группу компонентов Генераторы:

двойным щелчком ЛК откроем группу Генераторы_1 и через ПК создадим в ней компонент Синусоида;

захватим с помощью ЛК созданный источник и, не отпуская ЛК, перетащим курсор на узел RTM_1 в слое Система, а затем, в открывшемся окне компонентов, на канал Параметр. Отпустим ЛК.

 

    Создание узла АРМ в Trace Mode (часть 1)

    Загрузим инструментальную систему двойным щелчком левой клавиши (ЛК) мыши по иконке  рабочего стола Windows и с помощью иконки  инструментальной панели создадим новый проект. При этом в открывшемся на экране диалоге

    выберем стиль разработки Простой. После нажатия ЛК мыши на экранной кнопке Создать, в левом окне Навигатора проекта отобразится дерево проекта, содержащее слои Ресурсы, Система (с созданным узлом АРМ RTM_1), Источники/Приемники и Библиотеки_компонентов. В правом окне Навигатора проекта отобразится содержимое узла RTM_1 – пустая группа Каналы и один канал класса CALL Экран#1, вызывающий соответствующий компонент – шаблон экрана, предназначенный для отображения с помощью графических элементов (ГЭ) средств человеко-машинного интерфейса на узле RTM_1:

     

    Создание графического экрана

    Двойным щелчком ЛК на компоненте Экран#1 откроем окно графического редактора.

    Создание статического текста

    Разместим в левом верхнем углу экрана статический текст — надпись Значение параметра.

    Для этого выполним следующие действия: на панели инструментов графического редактора ЛК мыши выделим иконку ГЭ Текст ;

    в поле графического редактора установим прямоугольник ГЭ, для чего

    зафиксируем ЛК точку привязки — левый верхний угол;

    развернем прямоугольник движением курсора до необходимого размера;

    зафиксируем ЛК выбранный ГЭ:

    Для перехода в режим редактирования атрибутов размещенного ГЭ выделим ЛК иконку  на панели инструментов;

    Для автоматического вывода окна свойств ГЭ по завершению его размещения необходимо в настройках интегрированной среды разработки в разделе РПД/Основные свойства активировать пункт Открывать свойства автоматически.

    двойным щелчком ЛК по ГЭ откроем окно его свойств;

    в правом поле строки Текст наберем Значение параметра и нажмем на клавиатуре клавишу Enter;

    закроем окно свойств щелчком ЛК по иконке , ГЭ примет следующий вид:

    Если введенный Вами текст не уместился в прямоугольнике ГЭ, выделите его и растяните до нужного размера с помощью мыши.

    Создание динамического текста, создание аргумента экрана в процессе настройки динамического текста

    Подготовим на экране вывод динамического текста для отображения численного значения какого-либо источника сигнала – внешнего или внутреннего — путем указания динамизации атрибута Текст ГЭ. Определим назначение аргумента шаблона экрана. Для этого необходимо проделать следующие действия:

    создадим и разместим новый ГЭ  справа от ГЭ c надписью Значение параметра;

    откроем свойства вновь размещенного ГЭ;

    двойным щелком ЛК на строке Текст вызовем меню Вид индикации;

    в правом поле строки щелчком ЛК вызовем список доступных типов динамизации атрибута;

    из всех предлагаемых типов выберем ЛК Значение;

    в открывшемся меню настройки параметров динамизации:

    выполним щелчок ЛК в правом поле строки Привязка;

    в открывшемся окне Свойства привязки, нажмем ЛК по иконке   на панели инструментов и тем самым создадим аргумент шаблона экрана;

    двойным щелчком ЛК выделим имя аргумента и изменим его, введя с клавиатуры Параметр (здесь и в дальнейшем ввод данных с клавиатуры будем завершать нажатием клавиши Enter);

    подтвердим связь атрибута Текст ГЭ с данным аргументом щелчком ЛК по экранной кнопке Готово;

    закроем окно свойств ГЭ.

    Графический экран будет иметь следующий вид:

     

      Динамические мнемосхемы без динамизации в MasterSCADA

      В MasterGraph мнемосхемы формируются не только из элементов собственной палитры, но и с помощью элементов дерева проекта, перетаскиваемых в мнемосхему. Этот раздел служит только напоминанием о возможностях стандартных элементов проекта, поскольку их подробное описание приведено в посвященных им отдельных статьях.

      В мнемосхему могут быть перетащены три вида элементов проекта: переменные, визуальные функциональные блоки, объекты. Все эти элементы не требуют для выполнения своих стандартных динамических функций дополнительных настроек, однако

      вы можете придать им дополнительные динамические свойства, как и любым обычным элементам палитры графического редактора. Обратите внимание, что именно такой способ создания динамических мнемосхем является наиболее простым и правильным с точки зрения идеологии Master SCADA .

      Переменные на мнемосхемах

      Переменные могут быть представлены на мнемосхемах в виде значений (создаются при перетаскивании объекта в мнемосхему левой кнопкой мыши) или щитовых приборов (создаются при перетаскивании объекта в мнемосхему правой кнопкой мыши). Значения и приборы уже сопоставлены с шкалой параметра и могут не только показывать числом, столбиком или стрелкой само значение параметра, но и отображать цветом нарушения заданных в шкале границ. Обратите внимание, что все графические представления переменных имеют аналог в палитре MasterGraph. Практически во всех случаях при создании мнемосхем за исключением отладочных и демонстрационных целей необходимо использовать переменные Master SCADA , а не эти элементы.

      Визуальные функциональные блоки на мнемосхемах

      Визуальные функциональные блоки (ВФБ) – это стандартные библиотечные элементы Master SCADA: исполнительные механизмы, технологические аппараты, элементы управления. Такие ВФБ при перетаскивании из дерева объектов на мнемосхему отображают заданное в них разработчиком графическое представление. Ряд ВФБ позволяет выбрать одно представление из нескольких (ВФБ «Задвижка», «Насос» и ряд других) или выбрать отдельное изображение для каждого состояния (ВФБ «Двухпозиционный механизм с выбором изображения»), либо выбрать отображаемый динамический мультфильм (ВФБ «Динамический ИМ»). Все они имеют окно управления с контролем прав доступа, способ отображения открытого (включенного) и закрытого (отключенного) состояния, индикацию аварии.

      Объекты на мнемосхемах

      Объекты могут быть представлены на мнемосхемах в виде кнопок вызова. При перетаскивании объекта в мнемосхему левой кнопкой мыши создается ссылка на документ «Мнемосхема» (на кнопке отображается ее сжатое изображение, либо любой рисунок по выбору разработчика, либо только надпись). При перетаскивании по правой кнопке мыши из списка имеющихся документов объекта выбирается документ, на который нужно создать ссылку. Если выбрать в списке «Изображение объекта», то будет вставлено изображение объекта. Вы можете дополнительно динамизировать кнопку объекта, чтобы, например, красной рамкой отображать аварию. Изображение объекта – это символ (обычно, динамический), который, будучи помещен на мнемосхему, выполняет две функции одновременно:

      кнопки вызова документов (на щелчок мыши для вызова документов объекта реагирует вся площадь прямоугольника, заданного в качестве размера изображения объекта, за исключением элементов, имеющих собственную обработку событий от мыши)

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

      Обратите внимание, что если вам не хватает стандартных библиотечных объектов Master SCADA, то правильнее всего создать новый, сформировав новый объект с необходимой обработкой данных и динамическим изображением, а затем поместив его в библиотеку. Внутренние связи между переменными объекта и динамическими свойствами его графического представления сохраняются, а привязка к проекту сводится к установлению только внешних связей с источниками и приемниками данных. Это гораздо удобнее, чем типизация на основе создания библиотечных объектов непосредственно в палитре MasterGraph.

        Внесение динамизированного элемента в Библиотеку MasterSCADA

        Только что мы уже упоминали удобство использования библиотеки при работе с символами и импортированными элементами управления ActiveX, однако зачастую библиотекой можно пользоваться и просто для хранения предварительно настроенных и динамизированных типовых элементов. На рисунке 1 показан пример занесения «Цилиндра» с динамизированным уровнем (процентом заливки) и цветом заливки в созданную нами библиотеку Динамизация. Для наглядности последующего выбора элемента из библиотеки предварительно переименуем его в «Индикатор уровня».

        Рис.1

        Вставим сохраненный элемент из библиотеки в мнемосхему другого проекта. Мы обнаружим (рис.2), что динамизация на панели свойств сохранилась.

         

        Рис.2

        Мало того, в новом проекте у нас изначально не было входа мнемосхемы с таким названием («Вход_Уровень»), но при вставке элемента на панели входов автоматически появится группа «Индикатор уровня» со входом «Вход_Авария» (рис.3).

         

        Рис.3

        А в панели динамизации вставленного элемента автоматически «прописывается» новый путь к входу динамизации (рис.4).

         

        Рис.4

        Теперь остается лишь не забыть привязать сам «Вход_Авария» к переменной в новом проекте с помощью панели свойств Входа (рис.5). Напомним, это производится перетаскиванием переменной из дерева объектов в графу «Объект».

         

        Рис.5

        Таким образом, библиотека – это хранилище графических объектов, включая динамические. Объектом может быть как отдельный элемент, так и группа элементов. При помещении объекта в библиотеку сохраняются все его свойства, настроенные пользователем, в том числе динамизация, как входных, так и выходных свойств.

          Динамизация произвольных ActiveX контролов в MasterSCADA

          Программные элементы управления ActiveX (контролы) могут быть заимствованы из Интернета, приобретены (как, например, широко известная библиотека символов для мнемосхем «Symbol Factory» — рис. 1), а также написаны на одном из стандартных универсальных языков программирования.

          Рис.1

           

          Добавить элемент ActiveX можно двумя способами:

          1. Выбрать в главном меню пункт «Сервис», подпункт «Органайзер ActiveX»
          2. Щелкнуть правой кнопкой мыши в панели «Палитра» по категории «Другие элементы ActiveX», в появившемся контекстном меню выбрать «Органайзер ActiveX» и в открывшемся списке переместить необходимый контрол в правую часть диалога.

           

          Рассмотрим использование ActiveX контрола на примера стандартного элемента «Календарь», который всегда присутствует в Windows. Пусть стоит задача предоставить оператору возможность выбора даты.

          Динамизация по входу

          Для того чтобы на календаре отображалась текущая дата, в дерево объектов вставляется функциональный блок (ФБ) «Текущее время». Выходы этого ФБ («Число», «Месяц» и «Год») перетаскиваются на соответствующие свойства «Календаря» в подзакладке «Входы» панели свойств. Теперь в режиме исполнения на календаре будет подсвечиваться текущее число, отображаться месяц и год.

          Рис.2

          Динамизация по выходу

          Для того чтобы дата, выбранная оператором, попадала в дерево объектов, необходимо создать три переменные Команда целочисленного типа (отдельно для числа, месяца и года) и перетащить их на соответствующие свойства на подзакладке «Выходы» панели свойств «Календаря».

          Упрощение работы с элементами управления ActiveX

          Как правило, импортированный откуда-либо элемент ActiveX используют затем в разных мнемосхемах и проектах, для чего помещают его в библиотеку. Обратите внимание, что перед помещением в библиотеку из этого элемента можно сделать символ. Это бывает удобно для упрощения дальнейшей работы с контролом, так как тем самым мы получим возможность оставить у него только нужные в дальнейшем свойства. Мало того, поскольку, как правило, эти свойства англоязычные, мы можем заодно и переименовать их (рис.3).

          Рис.3

           

            Мультфильмы в MasterSCADA

            В палитре MasterGraph есть элементы, которые являются динамическими уже по своей природе. Все они помещены в категорию «Мультимедиа» и в целом называются «Мультфильмы». Принципиально различается два вида мультфильмов:

            • «чужие» – импортированные из «внешнего» мира (имеют стандартные форматы gif и avi)
            • «свои» – созданные во встроенном редакторе

             

            Покадровый показ изображений

            Фактически, форматы gif и avi предназначены для «прокручивания» серии растровых изображений. Для этих целей используется элемент «Мультфильм». Для упрощения работы в нем, наряду с возможностью использования произвольных внешних файлов указанных форматов, есть ряд уже готовых динамических изображений:

            • насос
            • воздуходувка
            • мешалка
            • шнеки различных конфигураций
            • конвейеры
            • турбина

             

            В элементе «Мультфильм» обычно динамизируют два свойства. Свойство «Работа» приводит изображение в движение (вертится вентилятор, движется конвейер и т.п.). Когда оно отключено, элемент «остановится», то есть примет такой вид, каким его выносят на мнемосхему. Фактически, при этом отображается первый кадр мультфильма. Свойства группы «Рамка» (наличие и цвет) обычно используются для индикации аварии. Обратите внимание, что вместо этого элемента часто удобнее использовать элемент проекта – визуальный функциональный блок «Динамический ИМ». Иногда требуется не показ процесса движения механизмов и их частей, а управляемое поочередное включение отдельных статичных растровых изображений. Для этих целей предназначен элемент «Выбор изображения».

            Редактор мультфильмов

            Элемент «Мультфильм в рамке» («Мультфильм в круге») фактически является редактором мультфильмов. За основу обычно берется статическое растровое изображение, которое делается динамическим путем формирования дополнительных кадров по определенному закону изменения изображения. В настоящее время поддерживаются следующие законы (рис.1):

            1. набор изображений (аналогичен элементу «Мультфильм», но позволяет управлять скоростью движения)
            2. поворот изображения или вращение (обычно используется в рамках специально предназначенного для этого элемента «Мультфильм в круге»)
            3. расфокусировка (удобно для отображения процессов кристаллизации в химии и т.п.)
            4. смещение (для отображения любого линейного движения – поршни, груз на конвейере и т.п.)
            5. увеличение (удобно для привлечения внимания в случае аварии)

             

            Рис.1

            Созданный таким образом мультфильм придет в движение, только если динамизировать свойство «Пуск». Управление периодом отображения позволяет изменять скорость движения.

             

              Типовая динамизация стандартных свойств элементов в MasterSCADA

              Вспомним, что все элементы имеют две стандартные базовые группы свойств: «Положение» и «Отображение».

               

              Рис.1

              С помощью группы «Положение» можно динамически изменять размещение элемента на мнемосхеме, его размеры. Наиболее часто используются свойства группы «Отображение» («Отключен», «Мигание», «Заблокирован»), с помощью которых решаются задачи управления составом мнемосхемы для ее типизации («Отключен»), отображением аварий и переключений оборудования («Мигание»), блокирования нецелесообразных в текущей ситуации управляющих воздействий операторы («Заблокирован»). Рассмотрим эти три свойства подробнее. Динамизация имеющегося у каждого элемента мнемосхемы свойства «Отключен» позволяет отключать его изображение. Это широко используется при создании такого проекта, в котором одна и та же мнемосхема используется для отображения нескольких типовых объектов, незначительно отличающихся друг от друга. Разработчик один раз создает наиболее общую мнемосхему (принадлежащую типовому тиражируемому объекту), а затем «отключает» те элементы оборудования, которые отсутствуют на конкретном объекте. Они просто не отрисовываются за счет того, что их свойству «Отключен» задано значение ИСТИНА. Удобные для использования такого подхода объекты – насосные станции с переменным числом насосов, установки приточно-вытяжной вентиляции с необязательным использованием всех возможных элементов, теплопункты и т.п.

              Динамизация свойства «Мигание» позволяет быстро привлечь внимание оператора к какому-либо участку мнемосхемы. Разработчик проекта, исходя из требований эргономики, сам может решить, что лучше отображать миганием – аварию, процесс переключения двухпозиционного исполнительного механизма или еще какие-либо события. Часто для отображения аварийных ситуаций используют мигающую красную рамку. На рис. 1 за появление рамки (графический элемент прямоугольник без штриховки) «отвечает» вход динамизации «Вход_Авария», связанный с выходом функционального блока регулятора «Авария». Если от этой же переменной динамизировать свойство «Мигание», то рамка будет мигать всегда, когда есть авария (переменная «Авария»=ИСТИНА), однако обычно мигание нужно только для привлечения внимания оператора. Когда внимание уже привлечено, необходимо аварию «квитировать» – по нажатию дополнительной кнопки прекратить мигание рамки. Для реализации этой логики необходимо (рис.2):

               

              Рис.2

              1. Создать в проекте дискретную команду «Квитировать» и триггер для запоминания того, что авария уже квитирована.

              2. Перетащить правой кнопкой мыши команду «Квитировать» из дерева проекта в мнемосхему. Получим кнопку.

              3. Подать на вход включения триггера сигнал аварии, а на вход отключения сигнал квитирования.

              4. Перетащить выход триггера на свойство мигания рамки.

               

              Теперь оператор имеет возможность останавливать мигание аварийного предупреждения, сохраняя при этом красную рамку, как напоминание о том, что аварийная ситуация еще существует. Обратите внимание, что в этом примере продемонстрирована возможность одновременной динамизации нескольких свойств одного элемента мнемосхемы. Причем разные свойства можно привязывать как к одной переменной, так и к разным. Вход «Заблокирован» чаще всего используется для динамической блокировки кнопок, которые оператору нельзя в данный момент нажимать в силу технологических обстоятельств (это не имеет отношения к правам доступа, поскольку они и так проверяются в проекте). Например, некоторый механизм включен, и повторно давать команду на его включение уже смысла не имеет. Тогда кнопку, с помощью которой производится включение, можно динамизировать по состоянию «Включен» этого механизма. При этом до тех пор, пока «Включен»=ИСТИНА, кнопка будет бледно-серой, и не будет реагировать на клики мышкой.

               

                Динамизация по дискретным входам в MasterSCADA

                Теперь посмотрим, какие возможности дает динамизация по входу с помощью дискретной переменной, принимающей только одно из двух значений – ИСТИНА или ЛОЖЬ (1 или 0).

                Прямая динамизация дискретного свойства

                Возьмем тот же пример с уровнем. Сам уровень в емкости меняется линейно, но дополнительно мы хотим отобразить аварийное состояние емкости, вычисленное в проекте путем контроля различных параметров – давления, температуры, утечки (изменения уровня при закрытом сливе). Результатом этого вычисления в Master SCADA обычно является дискретная переменная типа Событие. Чтобы отобразить аварию путем мигания аварийного элемента, перетащим переменную на свойство «Мигание». Этого достаточно, чтобы элемент мигал, когда переменная принимает значение ИСТИНА.

                Обратная динамизация дискретного свойства

                Иногда переменную проекта надо предварительно инвертировать. Например, в проекте вычисляется состояние нормы объекта, а графически нам надо отобразить миганием аварийное состояние. В этом случае надо открыть диалог настройки динамизации (рис. 1) и установить соответствие между истинным значением переменной и отключенным состоянием свойства (при норме мигания нет), и обратно: при ложном состоянии переменной (не норма) мигание включено.

                 

                Рис.1

                Дискретная динамизация аналогового свойства

                Дискретные параметры можно использовать и для динамизации аналоговых свойств. Правда, в этом случае аналоговое свойство может принимать только два фиксированных числовых значения – одно для значения дискретного параметра ИСТИНА, другое для значения ЛОЖЬ. Примером такого применения могут быть два цвета графического элемента, два его положения на экране и т.п.

                 

                Рис.2

                В примере на рис.2 направление элемента (например, стрелки) определяется дискретным значением: вверх (90 градусов) при отключенном состоянии и вниз (-90) при включенном.

                Динамизация по аналоговому выходу

                Наряду с пассивным отображением информации о состоянии объекта, требуется дать оператору возможность управления им, а также вызова необходимой ему информации. Некоторые графические элементы обладают свойствами, которые доступны для изменения оператором. Чтобы приступить к динамизации по выходу надо в закладке свойств графического элемента нажать кнопку Запуск.

                Численная динамизация

                Пусть необходимо дать возможность оператору выставлять значение уставки какого-либо параметра с мнемосхемы. Для этого на мнемосхему выводится «Задатчик значений» (в данном случае от 0 до 100) – стандартный элемент категории «Управление» палитры MasterGraph (рис.3). Отметим, что этот пример выбран для наглядности, хотя при разработке проектов так никогда не делается, поскольку проще получить уже настроенный задатчик, перетащив из дерева проекта в мнемосхему переменную типа Команда.

                 

                Рис.3

                В режиме исполнения оператор будет перемещать ползунок задатчика; значение, определенное оператором, должно попасть в дерево объектов. Чтобы это произошло, переменная типа Команда должна быть перетащена на свойство «Величина» закладки свойств задатчика, открытой кнопкой Запуск в разделе «Динамизация выходных значений». Окно настройки соответствия диапазонов переменной и свойства то же, что и при настройки динамизации по входу. Точно так же, как и для входов, можно было воспользоваться внутренней переменной мнемосхемы типа Выход. Это необходимо для изменения одной переменной проекта от нескольких органов управления на мнемосхеме, либо в случае автономной отладки мнемосхемы отдельно от проекта.

                Перечислимая динамизация

                Если необходимо из нескольких взаимоисключающих значений выбрать одно (например, загружаемый в технологический аппарат ингредиент), то используются элементы палитры из категории «Элементы диалога», как «Список», «Переключатели», «Поля выбора». Команда, связанная с выходом «Выбранная строка» такого элемента палитры, будет принимать значение, равное порядковому номеру строки (нумерация проводится от нуля) в поле переключателей.

                Динамизация по дискретному выходу

                Простейшим примером передачи формирования дискретного значения является кнопка. По ее нажатию можно присваивать заранее определенной Команде проекта значения ЛОЖЬ или ИСТИНА. Кнопку можно найти в категории Управление палитры MasterGraph и задинамизировать ее выход (свойство «Кнопка нажата»). Этот пример тоже наглядно демонстрирует, что гораздо удобнее пользоваться базовыми возможностями «быстрой» разработки в Master SCADA : достаточно создать дискретную команду в дереве объектов и перетащить ее на мнемосхему. В результате появится уже настроенная кнопка, связанная с этой переменной проекта.

                 

                  Динамизация по аналоговым входам в MasterSCADA

                  Динамизация «один к одному»

                  Предположим, необходимо наглядно показать уровень жидкости в емкости.

                  В дереве объектов должна быть переменная, которая принимает значение текущего уровня в рассматриваемой емкости (рис.1). Поместим на мнемосхему элемент «Цилиндр» из категории «Объемные элементы». Следует отметить, что встроенный индикатор уровня предусмотрен во всех элементах этой категории, поэтому можно создать емкость любой формы.

                  Откроем закладку свойств созданного элемента, и нажмем на кнопку в ее заголовке. Откроется подзакладка «Динамизация входных значений», в которой будут отображены только те свойства, которые могут быть динамизированы значениями параметров. Перетащим в строку «Процент заливки» переменную «Уровень» из дерева объектов.

                  Рис.1

                  В результате такого перетаскивания на строке процент заливки появится автоматически сформированное внутреннее имя переменной динамизации, например, «Вход 1». Обратите внимание, что мы могли воспользоваться не переменной проекта, а перетащить уже существующую переменную динамизации типа Вход из панели входов самой мнемосхемы. Результатом перетаскивания явится установление полного соответствия между значением переменной «Уровень» значением свойства «Процент заливки». Если и то, и другое измеряется в процентах, то больше ничего делать не надо – динамизация произведена.

                  Пропорциональная динамизация

                  Для других типов параметров может оказаться необходимым установление соответствия не 1 к 1, а между одним поддиапазоном и другим (рис.2). В данном примере, хотя диапазон шкалы датчика уровня изменяется от 0 до 5 метров, но мы знаем, что максимальное заполнение емкости – это 4,5 метра, для чего и меняем верхнюю границу диапазона. Для этого нам надо выбрать динамизируемое свойство, перетащить туда переменную и нажать появившуюся кнопку , чтобы открыть окно настройки динамизации.

                  Рис.2

                  Обратно-пропорциональная динамизация

                  Никто нам не мешает задать не только прямую зависимость, но и обратную (рис. 3). В этом случае минимальное значение диапазона значений переменной отображается на мнемосхеме максимальным значением свойства (в данном примере стопроцентной заливкой), а максимальное значение переменной – минимальным значением свойства (нулевой заливкой). Проиллюстрируем такую ситуацию. Скажем, у нас нет датчика уровня в емкости, но мы знаем, что она полностью опорожняется за 100 секунд. В этом случае мы можем стартовать в проекте Master SCADA таймер сразу после начала слива, а уровень отобразить на основании значения таймера. Вначале бак полон, а время слива равно нулю, но через 100 секунд уровень в емкости должен опуститься до нуля.

                  Рис.3

                  Интервальная динамизация

                  Мы рассмотрели простейшие линейные законы динамизации: один к одному, пропорциональную или обратно-пропорциональную зависимость свойства от значения.

                  Этот же диалог позволяет задать индивидуальную пропорцию для каждого выбранного интервала изменения параметра. Получившуяся кусочно-линейную зависимость можно даже использовать для моделирования кривых любых видов, что позволяет линеаризовать путем аппроксимации графическое представление сигналов от любых датчиков с нелинейной шкалой (давление, температура). Обычно, такая линеаризация выполняется в самом измерительном устройстве, либо модуле ввода сигналов, либо в проекте Master SCADA . Однако иногда она бывает востребована и на мнемосхемах. Для задания такой динамизации в окне настройки вводятся (с помощью кнопки «Добавить») дополнительные строки, в которых назначается соответствие значений переменной и процента заливки. К примеру, форма нашей емкости такова, что на разной высоте каждому проценту изменения уровня соответствует другая величина изменения объема. Разумеется, оператору важно знать не уровень, а именно объем жидкости. В этом случае пересчет из уровня в объем с графическим отображением результата несложно сделать в стандартном диалоге настройки (рис.4).

                  Рис.4

                  Зависимость процента заливки от входного значения будет иметь кусочно-линейный вид, то есть каждому интервалу изменения переменной соответствует свой закон линейного изменения изображения заполнения емкости на мнемосхеме.

                  Динамизация свойств со скрытым численным представлением

                  Некоторые свойства, например цвет, не имеют явного численного представления (в реальности оно все равно имеется, что и позволяет их динамизировать). Такие свойства задаются в диалоге в своем естественном виде (рис.5).

                  Рис.5

                  Если входная переменная в приведенном примере – температура, то постепенное изменение цвета наглядно и образно покажет разогрев, например, металла котла.

                  Пороговая динамизация

                  Есть такие графические свойства, которые определяются фиксированным перечнем именованных состояний. К примеру, число видов штриховки поверхности (рис.6).

                  Рис.6

                  В том же диалоге эти свойства отображаются в выпадающем списке. Особенность такой динамизации в том, что значение свойства меняется не плавно, а скачком, когда значение входной переменной достигнет указанного значения.

                  Но бывает, что и обычное числовое свойство или цвет тоже нужно менять не пропорционально изменению значения переменной, а в тот момент, когда оно достигнет заданного порога. Скажем, цвет может быть использован не для показа разогрева, а для сигнализации об аварийном перегреве, деталь может не перемещаться плавно на конвейере, а скачком менять положение с одной позиции обработки на другую. Для выбора такого способа динамизации надо настройку «Линейное преобразование», имеющуюся у любого аналогового свойства, перевести из состояния ИСТИНА в состояние ЛОЖЬ. Для рассмотренного примера изменение типа преобразования приведет к тому, что цвет элемента на мнемосхеме будет сразу меняться на указанный в следующем диапазоне в тот момент, когда значение переменной перейдет из одного диапазона в другой.

                   

                    Источники динамизации в MasterSCADA

                    Источником значения для изменения свойства графического элемента всегда является «вход» мнемосхемы. Аналогично приемником для свойства, изменяемого оператором, является ее «выход». Входы и выходы отображаются на соответствующих панелях (рис.1), в которых есть возможность добавления и удаления входов-выходов.

                     

                    Рис.1

                    Master SCADA позволяет напрямую связывать значение переменной и свойство элемента мнемосхемы путем перетаскивания переменной из проекта на панель свойств элемента. В этом случае Вход в список входов на панели добавляется автоматически. О списке входов можно и не вспоминать, пока не потребуется одно из следующих действий:

                    1. Разработать мнемосхему до разработки проекта

                    2. Динамизировать от одной переменной несколько свойств одного или разных элементов.

                    3. Сменить источник (переменную проекта) для входа

                    При выделении любого из Входов (предварительно надо щелчком на пустом месте мнемосхемы отменить выделение всех элементов) открывается панель его свойств, в которой можно настроить диапазон, имя и источник значений Входа. Источником данных Входа может выступать переменная проекта, локальный Выход мнемосхемы, а также имитационный сигнал. В зависимости от выбора типа источника меняется общий вид панели свойств Входа.

                     

                    Рис.2

                    Для смены переменной проекта, являющейся источником значений входа, достаточно перетащить ее в строку «Объект». Мы видим, что в приведенном примере от одной переменной динамизированы несколько свойств различных объектов. Замена переменной-источника позволит разом изменить источник значений для всех перечисленных свойств. Для отладочных целей бывает удобно сменить источник значений с «Объект» на «Имитацию» или «Выход». В последнем случае, поставив на мнемосхему средство изменения значения выхода (например, элементы «Значение» или «Задатчик»), мы получим возможность тонкой настройки динамизации. Возможно создать и отладить полностью динамизированную мнемосхему до разработки самого проекта. При этом для динамизации мнемосхемы достаточно использовать созданные в ней самой Входы и Выходы.