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:11:37..
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. Основные принципы работы в описываемом графическом редакторе

Кроме сбора физических данных актуальной является функция виртуального сбора данных. Виртуальные данные представляют собой данные, полученные внутри системы как независимо, так и на основе физических данных. Практически механизмы формирования виртуальных данных реализуются совместно с механизмом пользовательских вычислений. В среде промышленных контроллеров и SCADA-систем используются различные языки программирования. В случае с контроллерами в качестве таких языков часто используются языки низкого уровня (ассемблеры), однако в последнее время всё чаще используются языки высокого уровня (C, Pascal и другие), а также формальные языки МЭК 61131-3 (схемы потоков состояний SFC, блочные схемы FBD, релейные схемы LD и текстовые ST, IL). В случае со SCADA-системами вычисления чаще обеспечиваются языками программирования высокого уровня и формальными языками.


В системе 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]