
Редактор проектов
Simple-Editor — это редактор для разработки средств визуализации состояния технологического процесса и управления им. Выбрав существующий или создав новый проект, можно редактировать его графическую базу. Эта база включает в себя все графические фрагменты, которые будут выводиться на монитор станции оператора.
Разработка проекта осуществляется путем размещения графических элементов. Различают статические и динамические элементы. Статические элементы не зависят от значений контролируемых параметров, а также к ним не привязываются никакие действия по управлению выводимой на экран информацией. Эти элементы используются для разработки статической части графических экранов, например для изображения емкостей, котлов, ручных задвижек и т.п. Динамические элементы связываются с адресами контроллера для вывода их значений на экран. Кроме того, часть форм отображения используется для управления значениями связанных с ними переменных.
Ниже мы рассмотрим структуру и элементы интерфейса редактора.
После запуска редактора вы увидите стартовое меню:

Рисунок 6.
Добавление сообщений

Рисунок 7.
Подробнее о способах адресации можно почитать тут.
Подробнее о трендах можно почитать тут.
Свойства объекта
При выделении любого объекта на панели отображаются доступные для данного объекта свойства. Если навести указатель на какое-нибудь свойство – появится всплывающая подсказка, с описанием.

Рисунок 8.
Полный функционал программы можно оценить только имя ПЛК, поэтому мы рассмотрим функции, которые доступны нам без дополнительного оборудования.
Создание модели
Для начала нам необоходимо создать каналы, для этого мы будем использовать OPC-сервер KassldOPS. СКАЧАТЬ его можно по этой ссылке. Установка сервера не сосотавляет никаких проблем.
KassldOPS мы будем использовать, потому что в нем есть теги меняющие значения случайным образом, по различным правилам и простые теги, которые Вы можете использовать по своему усмотрению. Для того чтобы его использовать установите его, затем запустите редактор, перейдите в "Проект -> Настройки" и в разделе OPC-сервер выберите "dOPCSim.Kassl.Simulation". Не забудьте после этого сохранить проект. Далее в проекте указывайте адреса из списка приведенного ниже - можете просто копировать нужные адреса:
Эти теги можно менять из скада-системы:
Bucket Brigade.UInt4
Bucket Brigade.UInt2
Bucket Brigade.UInt1
Bucket Brigade.Time
Bucket Brigade.String
Bucket Brigade.Real8
Bucket Brigade.Real4
Bucket Brigade.Money
Bucket Brigade.Int4
Bucket Brigade.Int2
Bucket Brigade.Int1
Bucket Brigade.Boolean
Bucket Brigade.ArrayOfString
Bucket Brigade.ArrayOfReal8
Теги меняющиеся случайным образом:
Random.UInt4
Random.UInt2
Random.UInt1
Random.Time
Random.String
Random.Real8
Random.Real4
Random.Qualities
Random.Money
Random.Int4
Random.Int2
Random.Int1
Random.Boolean
Random.ArrayOfString
Random.ArrayOfReal8
Теги меняющие значения пилообразно:
Saw-toothed Waves.UInt4
Saw-toothed Waves.UInt2
Saw-toothed Waves.UInt1
Saw-toothed Waves.Time
Saw-toothed Waves.String
Saw-toothed Waves.Real8
Saw-toothed Waves.Real4
Saw-toothed Waves.Qualities
Saw-toothed Waves.Money
Saw-toothed Waves.Int4
Saw-toothed Waves.Int2
Saw-toothed Waves.Int1
Saw-toothed Waves.Boolean
Saw-toothed Waves.ArrayOfString
Saw-toothed Waves.ArrayOfReal8
Теги меняющие значения квадратично:
Square Waves.UInt4
Square Waves.UInt2
Square Waves.UInt1
Square Waves.Time
Square Waves.String
Square Waves.Real8
Square Waves.Real4
Square Waves.Qualities
Square Waves.Money
Square Waves.Int4
Square Waves.Int2
Square Waves.Int1
Square Waves.Boolean
Square Waves.ArrayOfString
Square Waves.ArrayOfReal8
Triangle Waves.UInt4
Triangle Waves.UInt2
Triangle Waves.UInt1
Triangle Waves.Time
Triangle Waves.String
Triangle Waves.Real8
Triangle Waves.Real4
Triangle Waves.Qualities
Triangle Waves.Money
Triangle Waves.Int4
Triangle Waves.Int2
Triangle Waves.Int1
Triangle Waves.Boolean
Triangle Waves.ArrayOfString
Triangle Waves.ArrayOfReal8
Теги доступные только для записи:
Write Only.UInt4
Write Only.UInt2
Write Only.UInt1
Write Only.Time
Write Only.String
Write Only.Real8
Write Only.Real4
Write Only.Money
Write Only.Int4
Write Only.Int2
Write Only.Int1
Write Only.Boolean
Write Only.ArrayOfString
Write Only.ArrayOfReal8

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

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

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

Следующим шагом мы создадимм элемент Уровень, зависящий от нескольких типов каналов:
- Bucket Brigade.Int1 (которым можно управлять на прямую из Скада)
- Random.Int1 (выдает случайное значение)
- Saw-toothed Waves.Int1 (меняющий значения пилообразно)
- Square Waves.Int1 (квадратичное)
- Write Only.Int1 (доступный только для записи)
Кроме изменения адреса необходимо так же изменить возможность редактирования и минимальное значение (изменим на 10)

Итог проделанной работы должен выглядить примерно вот так:

Далее рассмотрим элемент поле. Зададим ему адрес управляемого уровня.
Последним шагом создания СКАДА добавим такие элементы, как насос, баки и трубы, которые по-сути, являются просто картинками ассортимент которых может пополнять каждый пользователь.

На данном этапе мы можем приступить к запуску СКАДА, для этого сохраним проделанную работу и запустим Scada. Результат работы продемонстрирован на следующем скриншоте.

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