Создание символа устройства (панели-источника)

Во всех объектах, которые мы создали к настоящему моменту, динамически изменяемые свойства графических объектов были связаны со значениями явно указанных элементов точек данных (например, цвет фона круга в символе насоса зависел от значения элемента «P1.state.speed»). При необходимости создания и использования нескольких однотипных устройств, например, насосов «P1», «P2», «P3», … , возможным подходом являлись бы а) группировка объектов, входящих в состав символа насоса «P1», б) копирование созданной группы объектов требуемое количество раз, в) позиционирование копий в интересующих точках экранной формы,

После этого необходимо ввести правильный идентификатор точки данных для каждого компонента, связанного с элементом точки данных. Создание подобным образом, например, 50 или более однотипных устройств было бы, очевидно, весьма трудозатратным.

Рисунок: статическая связь между переменными процесса (элементами точек данных) и свойствами графических объектов

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

Рисунок: фиксированная связь между элементами точки данных, атрибутами графического объекта (слева) и подстановочным параметром ($-параметром)

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

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

Рисунок: создание экранной формы процесса (панели) с использованием панелей-ссылок

Необходимо при инициализации панели во время выполнения программы заменить подстановочный параметр ($-параметр) именем точки данных. После этого все динамические свойства будут автоматически соотнесены с экземплярами устройств, указанных при создании образа процесса.

Рисунок: во время выполнения программы каждая отдельная панель-ссылка использует собственный набор данных

Такой подход отличается рядом преимуществ:

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

ПРИМЕЧАНИЕ

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

Создадим панель-источник для клапанов «V1», «V2» и «V3».

Рисунок: упрощенное описание символьного обозначения клапанов

На рисунке выше изображен символ клапана, созданный так же, как и описанный выше символ насоса. Подобные символы могут быть легко созданы с использованием полигонов, кругов, линий, а также текстов (в данном примере для отображения буквы «М»). Значок в виде руки создается (как и в случае с символом насоса) в виде прямоугольника с изображением. Индикатор алармов, построенный по технологии «ссылка-в-ссылке», будет представлен в разделе «Настройка обработки алармов».

Кроме этого, в состав «КАСКАД Цифра» входят готовые изображения, которые можно использовать при создании образа процесса. Использование данных символов позволяет быстро создавать информативные экранные формы без существенных трудозатрат. Чтобы проиллюстрировать эти возможности, при создании символа устройства для клапана мы будем использовать альтернативный метод.

Рисунок: клапан «GS_VALVE_ref.pnl» в графическом редакторе (слева) и во время выполнения программы (справа)

На следующем рисунке изображены элементы, используемые при создании символа устройства.

Рисунок: части символа устройства «GS_VALVE_ref.pnl»

  1. Создайте новую панель размером 120×160 пикселей.
  2. Сохраните данную панель в директории «<путь_проекта>/panels/objects/» под именем «GS_VALVE_ref.pnl». Панели-источники должны находиться в директории «../objects/».
  3. Нарисуйте прямоугольник размером 72×112 пикселей с положением x = 24, y = 24.
  4. Выберите данный прямоугольник и в редакторе свойств откройте диалоговое окно для выбора внешнего изображения («Заливка» > «Рисунок» > «Загрузить»). В выпадающем списке «Проект» выберите запись с директорией установки системы (например, «C:/Sybcom/Automation/KASKAD/<версия>/pictures»). В выпадающем списке «Типы файлов» выберите «Все файлы (*)».
  5. Выберите файл «…/pictures/Valves/slide_valve_realistic_complete_3_h_t.wmf». Задайте для прямоугольника прозрачный цвет рисунка.
  6. В правом верхнем углу только что созданного прямоугольника создайте еще один прямоугольник размером 32х32 пикселя, в качестве заливки добавьте из директории установки системы изображение «…/pictures/Indicators/manual_mode_hand_yellow.wmf» и задайте для прямоугольника прозрачный цвет рисунка.

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

Таким образом, для добавленного внешнего изображения остается только настроить динамическое изменение цветовой схемы. В этом примере в целях экономии времени используется готовый файл с изображением. Проблема заключается в том, что цвет этого изображения определялся в графическом редакторе или программе CAD, и непосредственное изменение этого цвета в зависимости от значений переменных процесса программой «КАСКАД Цифра» не поддерживается.

ПРИМЕЧАНИЕ

В системе «КАСКАД Цифра» для изображений в формате Windows-Meta-File (*.wmf) или Enhanced-Meta-File (*.emf) во время выполнения программы поддерживается динамическое изменение любого из используемых цветов. При этом изображение не разбирается на элементы (базовые объекты), и файл изображения остается автономным. В ходе отображения объекта на экране цвет изображения изменяется с использованием функции преобразования цвета. Доступ к функции преобразования цвета возможен с помощью сценария на языке Control, созданного, например, с помощью мастера свойств или с помощью редактора сценариев.

Для обеспечения возможности изменения цвета сначала необходимо указать, какой цвет из числа используемых во внешнем изображении цветов должен изменяться. Со всеми частями изображения, окрашенными в указанный цвет, можно выполнять те же операции, что и с цветом фона графического объекта «КАСКАД Цифра».

Рисунок: определение цвета внешнего изображения, который должен адресоваться как «Цвет фона»

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

ВНИМАНИЕ

Подобное управление цветом возможно только при использовании файлов в форматах WMF и EMF. При этом графическая система должна находиться в режиме истинного цвета (True Color) как в ходе настройки, так и во время выполнения программы. Мигание для внешних графических изображений не поддерживается.

ПРИМЕЧАНИЕ

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

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

Рисунок: использование $-параметра и неизменяемой части для указания идентификатора элемента точки данных

В связи с тем, что мастером свойств непосредственно после ввода идентификатора элемента точки данных выполняется проверка целостности, а элемент точки данных $valve+».state.position» не существует в системе, тип точки данных (например, «float») должен быть указан вручную. Структура идентификатора для интересующего элемента точки данных выглядит следующим образом:

Рисунок: структура идентификатора элемента точки данных с использованием $-параметров (в данном случае в качестве подстановочного параметра для имен точек данных)

Динамическое изменение цвета фона (заливка графического изображения клапана) настраивается аналогично тому, как было представлено в предыдущих разделах.

  1. Выберите прямоугольник с символическим изображением клапана и запустите для события «Initialize» мастер свойств.
  2. В открывшемся окне установите флажок «Изменить цвет».
  3. На следующем экране установите флажок «Цвет фона (заливки, фона текста)» (изменение возможно только при использовании изображений в формате WMF) и в области «Фон» выберите переключатель «По значению». Нажмите кнопку «Вперед >».
  4. В поле «Элемент точки данных» введите » $valve+».state.position» » (без внешних кавычек).
  5. В выпадающем списке «Тип» выберите «float». Данное действие необходимо, поскольку точка данных с указанным именем в системе не существует и, соответственно, тип данных не может быть определен автоматически.
  6. Настройте цвета согласно рисункам ниже.

Рисунок: изменение цвета фона изображения клапана в зависимости от процентного значения

Аналогичным образом настройте изменение видимости прямоугольника с изображением желтой руки в зависимости от значения элемента точки данных «$valve + «.state.manual». Прямоугольник должен быть видим при значении элемента точки данных, равном «TRUE». Сохраните панель-источник.

Созданная панель-источник теперь может быть применена в экранной форме процесса. Для добавление символа устройства на экранную форму процесса выполните следующие действия:

  1. Откройте каталог объектов проекта при помощи меню «Вид»: «Вид > Каталоги > C:/KASKAD_Proj/myGettingStarted» (или другое имя проекта/другой путь согласно фактическим настройкам).
  2. Откройте ранее созданную экранную форму процесса «myProcess.pnl».
  3. Перетащите при помощи мыши объект «GS_VALVE_ref» из каталога на панель «myProcess.pnl».
  4. В открывшемся окне определения параметров ссылок в качестве значения $-параметра укажите, например, первый клапан «V1» (при этом возможно использование селектора элементов точек данных, для открытия которого сначала необходимо нажать кнопку «… «, а затем в открывшемся окне нажать кнопку . Также возможет непосредственный ввод желаемого значения в поле в колонке «Значение»).
  5. Подтвердите ввод путем нажатия кнопки «OK».
  6. Переместите символ клапана на желаемую позицию в панели.
  7. Сохраните панель «myProcess.pnl».

Рисунок: добавление панели-ссылки путем перетаскивания панели-источника из каталога

Рисунок: настройка панели-ссылки, задание имени точки данных в качестве значения $-параметра

Теперь в режиме предварительного просмотра панели «myProcess.pnl» в редакторе GEDI символ клапана будет отображать состояние элементов точки данных «V1». Повторите описанные выше действия для клапанов «V2» и «V3». Расположите клапаны «V2» и «V3» на экранной форме процесса так, как показано на первом рисунке в разделе «Учебный проект».

ПРИМЕЧАНИЕ

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

Для повышения удобства работы с каталогом объектов имеется возможность изменения значков объектов в каталоге объектов. Имеется возможность использования уже существующих изображений (в формате «*.ico» или «*.bmp»). Также имеется возможность создания новых изображений в графическом редакторе. Изображение для созданного символа клапана уже доступно и находится в директории установки системы. В окне каталога объектов щелкните правой кнопкой мыши по значку клапана и в открывшемся контекстном меню выберите элемент «Изменить значок». Автоматически будет открыт графический редактор. Выберите пункт меню «Файл -> Открыть» и выберите в директории установки системы файл «valve_3D_grey.gif». При использовании путей по умолчанию полный путь файла: «C:\Sybcom\Automation\KASKAD\3.15\pictures\DeviceIcons\valve_3D_grey.gif». Сохраните открытое изображение как «<путь_проекта>\images\objects\GS_VALVE_ref.pnl\GS_VALVE_ref.png».

В каталоге объектов отображаются все файлы *.pnl , находящиеся в директории «<путь_проекта>/panels/objects/». Для оптимизации структуры поддерживается создание поддиректорий. Содержимое данных поддиректорий отображается в каталоге объектов в отдельных подкатегориях. Содержимое поддиректорий последующих уровней не отображается, в связи с чем их использование при работе с каталогом объектов не является целесообразным.

ПРИМЕЧАНИЕ

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

ПРИМЕЧАНИЕ

Панели-источники не обязательно должны быть связаны с точками данных каких-либо жестко фиксированных типов (например, «GS_VALVE»). При неизменности наборов передаваемых $-параметров и неизменности формы и способа отображения информации возможно создание панелей-источников универсального назначения. Примерами подобных панелей-источников универсального назначения могут являться универсальный индикатор значений, отображающий значения любых интересующих элементов точек данных (bool, int, uint, float) любых типов, или целая насосная установка, многократно используемая в дальнейшем в экранных формах различных перекачивающих станций.

ПРИМЕЧАНИЕ

В системе «КАСКАД Цифра» допускается практически неограниченная вложенность панелей (каскадирование). Панели-источники могут содержать панели-ссылки на другие панели-источники, а также обычные графические объекты. Позже, используя вложенность панелей, мы реализуем индикацию алармов для клапана.

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

Чтобы реализовать вращение объекта, сначала необходимо указать центр вращения. У каждого графического объекта в «КАСКАД Цифра» имеется так называемая «реперная точка». В редакторе свойств данное свойство также называется «Реперная точка». Положение реперной точки на панели определяется координатами по осям X и Y.

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

Положение реперной точки по оси Х = ОКРУГЛ[ (Положение Х + Положение Х + Размер Х)/2 ] = ОКРУГЛ[ (54 + 54 + 5)/2 ] = 57

Положение реперной точки по оси Y = ОКРУГЛ[ (Положение Y + Положение Y + Размер Y)/2 ] = ОКРУГЛ[ (112 + 112 + 18)/2 ] = 121

  1. Настройте точку вращения прямоугольника (который используется для обозначения запорного механизма) так, чтобы она совпадала с центром графического объекта (в данном примере реперная точка должна находиться в точке X = 57, Y = 121).
  2. Запустите мастер свойств для события «Initialize» прямоугольника.
  3. В открывшемся окне установите флажок «Повернуть объект».
  4. В поле «Элемент точки данных» введите » $valve+».state.position» » (без внешних кавычек).
  5. В выпадающем списке «Тип» выберите «float».
  6. Выберите переключатель «Фиксированные значения» и введите в поля «Минимальное значение» и «Максимальное значение» значения 0 и 100 соответственно.
  7. Введите в поля «Минимальный угол» и «Максимальный угол» значения 0 и 90 соответственно. Нажмите кнопку «Завершить».

Рисунок: добавление прямоугольника в качестве стилизованного изображения запорного механизма и настройка его реперной точки

Рисунок: настройки динамического отображения степени открытия запорного механизма в шаблоне устройства

ПРИМЕЧАНИЕ

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

В системе «КАСКАД Цифра» поддерживается добавление панелей-ссылок на панель и их удаление непосредственно во время выполнения программы. Более подробная информация представлена в описании функции «addSymbol()» языка Control.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *