OpenSCADAWiki: Doc/ El Figure ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
This is an old revision of Doc/ElFigure from 2011-04-28 12:34:45..
English (1 Kb) English version?
Ukrainian (1 Kb) Українська версія?

Векторный графический редактор в OpenSCADA.

Автор: Максим Лысенко


Contents


Формирование

Введение

SCADA системы ‑ это комплекс программных средств, применяющихся при создании автоматизированных систем управления (АСУ) промышленными объектами. В настоящее время основным элементом АСУ являются программируемые логические контроллеры, применение которых минимизирует участие человека в управлении техническими комплексами. Однако необходимость мониторинга и технологического процесса грамотными операторами-технологами остается. Для этого с помощью SCADA систем осуществляется связь контроллера с компьютером и предоставляется так называемый человеко-машинный интерфейс (HMI). При этом специалистам недостаточно получать численные значения тех или иных характеристик объекта (температуры, давления, расхода и т. д.). Опыт показывает, что наиболее информативной формой представления технологических процессов являются мнемосхемы ‑ совокупность сигнальных устройств и сигнальных изображений оборудования и внутренних связей контролируемого объекта, выполняемые на персональном компьютере. Для их создания можно использовать любой из существующих графических редакторов. Однако полученные таким образом мнемосхемы являются статическими и не отражают динамику изменения характеристик процесса, а следовательно, они неадекватны и неудобны для восприятия. Таким образом, одной из задач, стоящих перед разработчиками SCADA систем, является создание графического редактора для изображения объектов, характеристики которых могут быть динамически изменены.

1. Принципы и функции разработанного графического редактора

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


file:ElFigCntrPoints.png
Рис. 1. Контрольные точки линии, дуги и кривой Безье.

Примеры примитивов различного цвета, толщины, стилей с бордюрами и без бордюров приведены на рис. 2.


file:ElFigExamples.png
Рис. 2. Примеры примитивов.

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


file:ElFigFills.png
Рис. 3. Заливки замкнутого контура цветом и/или изображениями.

Графический редактор позволяет масштабировать и поворачивать фигуры (примитивы и сложные графические объекты) (рис. 4).
К возможностям редактора также относятся выделение, перемещение, копирование и удаление фигур.


file:ElFigScaleRotate.png
Рис. 4. Масштабирование и поворот фигур.

2. Основные принципы работы в описываемом графическом редакторе

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


file:ElFigAttrs.png
Рис. 5. Атрибуты элементарной фигуры.

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


В системе OpenSCADA могут быть реализованы интерфейсы программирования и виртуальных источников данных на основе различных языков в отдельных модулях подсистемы "Сбор данных". На момент версии 0.6.3.2 доступны модули виртуальных вычислителей:


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


Модуль /Doc/JavaLikeCalc предоставляет в систему механизм создания динамических пользовательских функций и их библиотек на Java-подобном языке. Описание функции на Java-подобном языке сводится к обвязке параметров функции алгоритмом. Кроме этого модуль наделен функциями непосредственных вычислений путём создания вычислительных контроллеров с ассоциированной вычислительной функцией. Модулем предоставляется механизм прекомпиляции контекстно-зависимых функций, что используется для встраивания пользовательских алгоритмов непосредственно в контекст различных компонентов OpenSCADA. Например, это механизм шаблонов параметров подсистемы "Сбор данных" и движок среды визуализации и управления (СВУ).


Модуль /Doc/BlockCalc предоставляет в систему OpenSCADA механизм создания пользовательских вычислений. Механизм вычислений основывается на формальном языке блочных схем (функциональных блоков). Языки блочного программирования основываются на понятии блочных схем (функциональных блоков). Причём в зависимости от сущности блока блочные схемы могут быть: логическими схемами, схемами релейной логики, моделью технологического процесса и другое. Суть блочной схемы состоит в том, что она содержит список блоков и связи между ними. С формальной точки зрения блок - это элемент (функция), который имеет входы, выходы и алгоритм вычисления. Исходя из концепции среды программирования, блок - это кадр значений, ассоциированный с объектом функции. Входы и выходы блоков нужно соединять для получения цельной блочной схемы.


С целью наполнения API пользовательского программирования пользовательскими функциями созданы следующие специализированные модули статических функций API пользовательского программирования:


file:progCompon.png
Рис. 1. Контрольные точки линии, дуги и кривой Безье.

Ссылки

There are no referring pages


 
There are no files on this page.[Display files/form]
There is no comment on this page. [Display comments/form]