Авторизация / Кабинет>>


SCADA-ЧЕМПИОНАТ
SCADA/HMI

 

 

 

 

   

 

 

 

 


SCADA-чемпионат

SCADA/HMI

НОВЫЕ ТЕХНОЛОГИИ РАЗРАБОТКИ ОПЕРАТОРСКОГО ИНТЕРФЕЙСА В SCADA TRACE MODE 6. Глухов Федор Валерьевич, Инженер по маркетингу, Адастра

Глухов Ф.В., инженер отдела маркетинга, AdAstrA Research Group, Ltd.

Россия, Москва, 107076, а/я 38, тел (095) 737-59-33,

E-mail: fgluhov@adastra.ru

Шестая версия SCADA системы TRACE MODE разрабатывалась с учетом сотен пожеланий пользователей пятой версии, обсуждавшихся на нашем форуме http://forum.adastra.ru ,присланных в техническую поддержку по электронной почте и высказанных на многочисленных семинарах. Перед разработчиками была поставлена грандиозная задача - учесть все эти пожелания и сделать лучшую SCADA систему, способную заинтересовать не только соотечественников, но и мировой рынок. Разработка TRACE MODE 6 заняла более пяти лет. И вот, наконец, мы все можем ощутить первые результаты этой масштабной, беспрецедентной по российским меркам, работы.

TRACE MODE 6 это уже не просто SCADA система, это интегрированная платформа управления производством, объединившая в себе все уровни автоматизации от SOFTLOGIC системы программирования контроллеров до экономических модулей T-FACTORY.exe и интеграции с корпоративными ERP системами. И тем не менее, основной функции любой SCADA системы - разработке операторского интерфейса (HMI) было уделено максимальное внимание. Графическое ядро TRACE MODE 6 было переписано практически с нуля.

Итак, каковы же основные преимущества TRACE MODE 6 с точки зрения разработки операторского интерфейса (HMI)?

TRACE MODE 6 IDE - НОВАЯ АРХИТЕКТУРА

Прежде всего, следует обратить внимание на интегрированную среду разработки (IDE - integrated development environment) проекта TRACE MODE 6. Она объединяет функции всех редакторов - базы каналов (РБК), представления данных (РПД), шаблонов (РШ) и т.д. - в одной программной оболочке. Теперь не нужно, как это было в TRACE MODE 5, переключаться между задачами РПД и РБК и заботится о корректности эти переключений.

Создавая концепцию TRACE MODE 6, компания АдАстрА преследовала цель создания универсального программного продукта для широкого рынка пользователей с разными потребностями и разным уровнем квалификации - от начинающих специалистов в смежных областях и малых системных интеграторов до крупных предприятий и фирм, давно работающих в сфере АСУТП. Поэтому работа в интегрированной среде разработки TRACE MODE 6 IDE начинается с выбора стиля разработки проекта АСУТП.

_3_trmd6img1.jpg

Разработка проекта TRACE MODE 6 может начинаться в одном из трех стилей: Простой, Стандартный, Комплексный. В процессе разработки всегда можно перейти к другому стилю, как только возникнет такая необходимость.

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

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

Здесь требуется несколько углубиться в основы архитектуры TRACE MODE 6, хотя это и выходит за рамки темы данной статьи. Каналы это основные структуры данных TRACE MODE 6, в этом смысле аналогия с TRACE MODE 5 абсолютно уместна, а в других SCADA подобные информационные единицы могут называться тэгами или точками. Канал может хранить информацию об одном технологическом параметре (сигнале ввода/вывода), либо результат вычислений. Канал TRACE MODE 6, в зависимости от его типа, может содержать значение с плавающей точкой (float) или целое значение. Источниками данных могут быть, например, PLC контроллеры, платы УСО или внутренние генераторы сигналов. Источник данных TRACE MODE 6 не имеет собственной информационной емкости, он всего лишь описывает, откуда должны поступать данные в канал. То есть источник данных не имеет смысла без привязки к каналу, а один канал в данный момент времени может быть связан только с одним источником данных. Зато один канал может быть связан с произвольным количеством других компонентов - экранов, программ или шаблонов документов через их аргументы. Таков принцип взаимодействия компонентов TRACE MODE 6 в несколько упрощенном виде с точки зрения простого стиля разработки.

Load big image

Тонкости взаимосвязей между отдельными компонентами несколько выходят за рамки данной статьи, поэтому далее будем рассматривать только связи между каналами и экранами TRACE MODE 6, хотя взаимодействие каналов и, например, программ организовано весьма схоже.

Простой стиль разработки проекта не сильно отличается от идеологии TRACE MODE 5, за исключением выделения источников/приемников данных в самостоятельную структуру. В полной мере новые возможности для построения человеко-машинного интерфейса открываются в более сложных, но в месте с тем и более гибких стилях Стандартный и Комплексный. С точки зрения HMI существенной разницы между ними нет, поэтому далее будем говорить о стандартном стиле разработки.

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

Проще всего объяснять эти понятия с позиций структурного программирования. В данном случае уместна аналогия: шаблон экрана - подпрограмма, а вызов экрана - вызов подпрограммы. И на самом деле, так оно и есть, ядро TRACE MODE 6 рассматривает все компоненты, будь то экраны, программы на языке FBD или SQL-запросы, как "черные ящики", в которые данные передаются через входные аргументы, затем производятся некие действия внутри компонента, после чего из компонента через аргументы (на этот раз выходного типа) получаются обработанные данные - результат работы компонента.

Load big image

С точки зрения построения операторского интерфейса такая архитектура открывает очень интересные новые возможности для тиражирования интерфейса однотипных объектов. Допустим, в АСУТП задействовано 10 однотипных агрегатов. Разумеется, для каждого из них делается однотипная аппаратная обвязка - идентичные датчики и типовой контроллер с одной и той же программой управления. В TRACE MODE 5, несмотря на возможность использования механизма графических библиотек, для каждого такого агрегата пришлось бы создать по отдельному экрану. Разумеется, образец экрана можно было размножить, но каждая его копия все равно индивидуально дорабатывалась, как минимум в части привязки к сигналам ввода-вывода и заголовка - статического текста, по которому можно идентифицировать экран данного агрегата. На этапе создания такой графической базы все шло гладко, но после того как все 10 экранов уже созданы, начинались трудности с их сопровождением.

Например, изменены мелкие детали мнемосхемы агрегата - мелкая доработка одного экрана. Но ведь эта доработка справедлива и для остальных 9 экранов? Проделывать те же операции, что и с первым экраном, для оставшихся девяти? Или заново размножить образец экрана и ввести индивидуальные различия по второму разу? К сожалению, в старых версия TRACE MODE эта проблема не решалась нажатием одной кнопки, как не решена она и во многих других SCADA. А если таких экранов не 10, а 100 или 1000?! В таких условиях поговорка "семь раз отмерь, один раз отрежь" перестает быть веселой шуткой.

Новая архитектура TRACE MODE 6 как нельзя лучше подходит для решения подобных задач тиражирования однотипных объектов, именно благодаря механизму шаблонов, вызовов и аргументов. В рассмотренном выше примере, достаточно создать один шаблон экрана и 10 его вызовов. Вызовы можно копировать, поэтому есть если у экрана агрегата есть привязки к параметрам, которые справедливы для всех экранов, то вводить их по отдельности не придется. Вся индивидуальность агрегатов будет сосредоточена в вызовах экрана, а все общие свойства - в одном шаблоне экрана. После доработки шаблона, вызовы не нужно создавать заново, все индивидуальные привязки сохраняются. Если при доработке шаблона будет добавлен новый аргумент, то он автоматически появится во всех 10 вызовах, и только его нужно будет привязать к каналам. Если доработка экрана будет носить сугубо внутренний характер и не повлияет на аргументы экрана (то есть в нем будет дорисовано нечто статическое, либо связанное с параметрами, для которых динамические элементы, а значит и аргументы уже были созданы ранее) то никаких действий с вызовами экрана производить не потребуется, все 10 (или 100, 1000…) экранов на рабочем месте оператора автоматически изменятся вместе с шаблоном.

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

Load big image

БИБЛИОТЕКИ

В SCADA/HMI системе TRACE MODE 6 был полностью пересмотрен по сравнению с 5 версией и еще один важнейший инструмент масштабирования АСУТП - библиотеки. Теперь они подразделяются на два основных типа: ресурсные библиотеки и библиотеки компонентов.

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

   анимация;

   векторная графика (метафайлы);

   растровая графика;

   графические элементы.

Последние представляют собой удобное средство для составления своих "фирменных" графических элементов (ГЭ) из совокупности стандартных ГЭ TRACE MODE 6. Их можно динамизировать, причем для каждого параметра задается индивидуальное имя. Конечно, группу ГЭ можно скопировать и не внося ее в ресурсную библиотеку, но эта возможность бывает очень полезна, если несколько ГЭ, образующих некий символ, привязаны к одному аргументу. В этому случае, перепривязку одного элемента ресурсной библиотеки выполнить на порядок легче, чем несколько перепривязок отдельных ГЭ, к тому же "спрятанных" в меню свойств этих элементов.

Load big image

Библиотеки компонентов представляют собой мощное средство тиражирования готовых решений, и не только в области операторского интерфейса. Библиотеки компонентов состоят из объектов, каждый из которых представляет собой проект TRACE MODE 6 в миниатюре, он может включать не только экраны, но и каналы, программы и прочие компоненты, между которыми сохраняются вcе связи.

В частности, библиотеки компонентов могут служить "транспортным звеном" для объединения нескольких проектов TRACE MODE 6 в один, то есть выполняют функцию своеобразного буфера обмена. В библиотеки из проекта можно переносить не только отдельные компоненты, но и целые узлы. Все манипуляции с библиотеками осуществляются в дереве проекта методом drag-n-drop.

НОВЫЕ ГРАФИЧЕСКИЕ ВОЗМОЖНОСТИ

Фотореалистичная графика в TRACE MODE 6 основана на использовании OpenGL, поэтому она обладает массой недоступных ранее возможностей. Объемные фигуры обладают рядом новых свойств:

   полупрозрачность;

   наложение текстур;

   произвольный базовый цвет;

   настраиваемое расположение источника света;

   коэффициенты отражения и рассеивания света;

   поворот на произвольный угол (в том числе в реальном времени);

   фигурные срезы цилиндров и труб;

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

Пользователь больше не ограничен в выборе цвета - к стандартной палитре добавилась возможность использования пользовательских цветов. Причем цвета можно задавать с помощью палитры RGB или HSV.

Добавлены новые графические элементы:

   треугольник;

   овал;

   круговая диаграмма;

   окно событий.

Ожидается, что этот список будет пополняться с выходом новых релизов TRACE MODE 6.

Для отображения текстовой информации в TRACE MODE 6 также введено несколько принципиальных улучшений, связанных с расширением поддержки различных типов данных. В частности, это означает, что можно параметризовать заголовок в шаблоне экрана, а в каждом вызове этого шаблона указывать новый текст заголовка. Возвращаясь в примеру, приведенному вначале статьи, можно передавать шаблону экрана индивидуальное технологическое наименование агрегата.

Дополнительная степень свободы для вывода числовых значений в TRACE MODE 6 обеспечена поддержкой спецификации printf, хорошо знакомой программистам по языку Си. Она позволяет, в частности, задать количество символов до и после запятой, а также выводить дополнительные символы до и после значения. Например, значение "6.2" в формате "%04d" будет выведено так: "0006", а в формате "L = %.2 m" так: "L = 6.20 m". То есть теперь не обязательно пристыковывать статический текст к динамическому, чтобы пояснить оператору, что за параметр он наблюдает на экране.

Load big image

Вообще, грани между статическим и динамическим текстом больше не существует, как не существует и самого деления на статические и динамические элементы, принятого в пятой версии TRACE MODE. Любой текст, в терминологии TRACE MODE 5, может стать и динамическим текстом, и текстовым индикатором, и цветовым индикатором, и даже гистограммой!

Необходимость в индикаторах, как отдельных элементах, полностью отпала.

Расширены возможности динамизации для всех графических элементов:

   Любой элемент может быть кнопкой;

   Можно задавать независимые действия по нажатию и отжатию кнопки мыши;

   Любые графические элементы (за исключением таких "тяжелых", как тренд или стрелочный прибор) могут:

   двигаться по произвольной траектории в реальном времени;

   изменять свои геометрические размеры в реальном времени;

   поворачиваться на произвольный угол в реальном времени;

   Любой 2D- графический элемент, обладающий площадью, может стать гистограммой (в том числе замкнутая кривая и динамический текст!);

   Контур любого 2D- графического элемента может стать бегущей дорожкой.

Полностью переработаны тренды:

   Тренд сам определяет, откуда брать данные - из архива SIAD/SQL6 или временного буфера, то есть деления на архивный тренд и тренд реального времени больше нет, как нет и деления на дискретный и аналоговый тренды, все они успешно реализуются в рамках одного универсального тренда;

   Улучшена навигация по оси времени;

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

Доработаны кнопки:

   Текст кнопки и его цвет, а также цвет фона теперь может меняться в зависимости от аргумента;

   Есть только один тип кнопки, для которой опционально можно задавать текст или картинку, "залипание" "твердой" кнопки - тоже опция;

   Кнопка - элемент операционной системы, поэтому под Windows XP поддерживается подсветка при наведении курсора мыши.

Рисовать объемные трубы теперь также легко, как простые ломаные линии. Трубы могут быть расположены под произвольными углами, но удерживая клавишу Ctrl можно рисовать строго ориентированные трубы. Узловые точки труб можно редактировать. Для окрашивания труб, как и прочих 3D-элементов, доступна вся цветовая палитра.

Расширены возможности работы с внешними графическими файлами:

   Внешняя графика и анимация теперь импортируется в проект и хранится в одном файле проекта в виде ресурсных библиотек. Вставка элемента ресурсной библиотеки (изображения или видеоклипа) на экран осуществляется привычным методом drag-n-drop. Одни и те же растровые изображения из ресурсной библиотеки могут быть использованы как обои экрана, текстура объемного элемента, рисунок на кнопке, либо простой графический элемент;

   Расширился список поддерживаемых графических форматов: BMP, JPG, PNG, XPM, EMF, SVG, AVI, MNG;

   Добавлена возможность управления анимацией (AVI): теперь в зависимости от значения переменной можно показывать различные видеоклипы, причем их воспроизведением можно управлять;

   Вся графика и анимация стала масштабируемой как в режиме редактирования экрана, так и в реальном времени. Более того, изображения и видеоклипы можно поворачивать на произвольный угол;

   Поддерживается прозрачность фона AVI;

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

   Степень прозрачности растровых изображений (в том числе импортированных из BMP) можно настраивать.

Редактор графики теперь поддерживает слои, хорошо знакомые пользователям таких современных графических редакторов, как Adobe Photoshop. Более того, видимостью слоев можно управлять в реальном времени. Это позволяет на одной мнемосхеме отображать по желанию пользователя те или иные подсистемы технологического объекта. Например, можно создать поверх плана сооружения несколько схем-слоев: канализация, отопление, электроснабжение, вентиляция, пожарная сигнализация и т.д.; а отображать только то, что нужно в данный момент.

В TRACE MODE 6 стал возможен принципиально новый подход к созданию пользовательского интерфейса - поддержка всплывающих (Pop-Up) окон. Всплывающие окна располагаются поверх основного окна и служат вспомогательными элементами интерфейса. Одновременно может быть открыто несколько всплывающих окон, причем с ними можно работать, как с обычными окнами Windows: перемещать, изменять размер, закрывать с помощью привычного крестика в правом верхнем углу, переводить на передний план или перекрывать другим всплывающим окном. Основное окно и всплывающие окна работают независимо, для них можно указывать различный цикл пересчета. Пользователи инструментальной системы (в том числе и бесплатной версии) могут ознакомится с технологией Pop-Up окон, открыв демо-проект Ozon.

Load big image

Сам редактор графики TRACE MODE 6 существенно улучшен по сравнению с пятой версией:

   Появились новые, интуитивно понятные кнопки на панели инструментов для настройки свойств графических элементов - цвет, толщина, шрифт и т.д.;

   Улучшено выделение элементов, теперь формы отображения выделяются не только за край, но и за внутреннюю область;

   В настройках ИС появилась опция, при включении которой автоматический подсвечивается элемент, который будет выделен по нажатию мыши, поэтому выделять элементы стало существенно проще;

   Предусмотрена возможность изменения масштаба рабочей области редактора представления данных от 50 до 200%;

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

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

ЗАКЛЮЧЕНИЕ

Нет никаких сомнений в том, что TRACE MODE 6 это большой шаг на пути к совершенству технологий разработки операторского интерфейса. Многие идеи, реализованные в TRACE MODE 6 не имеют аналога ни в одной современной SCADA/HMI системе, ни в  России, ни за рубежом.

Ожидается, что в 2005 году возможности TRACE MODE 6 будут совершенствоваться, и Вы сами сможете в этом убедиться, скачивая обновления бесплатной версии TRACE MODE 6 с нашего сайта www.adastra.ru .

Текущие релизы TRACE MODE: 7.1.0.3 и 6.10.2. Обновитесь бесплатно!



НОВОСТИ