- •Днепропетровск нМетАу 2012
- •Издается в авторской редакции. Рецензенты: в.Н. Куваев, д-р. Техн. Наук, проф. (нгу)
- •Содержание
- •Часть 1. Описание пользовательского интерфейса
- •Часть 2. Разработка проекта системы регулирования температуры в методической нагревательной печи 68
- •Часть 3. Комплекс индивидуальных заданий 98
- •Введение
- •Часть 1. Описание пользовательского интерфейса среды scada/Softlogic s3
- •1.1. Общая характеристика scada-системы s3-ide
- •1.2. Создание проекта в среде разработки s3
- •1.2.1. Принципы построения
- •1.2.2. S3, qnx и hmi–проекты
- •Минимальные требования к рабочим станциям hmi–проектов:
- •1.3. Конфигурирование qnx–проекта
- •1.3.2. Переменные s3
- •1.3.3. Устройства ввода-вывода. Драйверы
- •1.3.4. Процессы управления
- •1.3.5. База данных
- •1.4. Конфигурирование hmi–проекта
- •1.4.1. Процесс отображения hmi
- •1.4.1.1. Создание мнемосхем
- •1.4.1.2. Редактирование мнемосхемы
- •1.4.1.3. Элементы мнемосхем палитры Photon
- •1.4.1.4. Скрипты процесса отображения
- •1.4.1.5. Процессы отображения в qnx–проекте
- •1.4.2. Графики
- •1.4.3. Протокол
- •1.4.4. Пользователи
- •1.5. Особенности создания узлов сети для разработки и отладки проектов в среде s3-ide
- •1.5.1. Установка Demo системы с использованием виртуальной машины
- •1.5.2. Установка демонстрационной версии среды разработки и среды исполнения s3
- •1.5.2.1. Инсталляция s3-ide в Windows
- •1.5.2.2. Инсталляция среды исполнения s3-qnx-Runtime
- •Часть 2. Разработка проекта системы регулирования температуры в методической нагревательной печи
- •2.1. Постановка задачи автоматизации
- •2.1.1. Схема технологического агрегата и описание автоматизируемой установки
- •2.1.2. Исходные данные и требования к качеству аср температуры
- •2.1.3. Динамическая модель аср температуры
- •2.1.3.1. Математическое описание нагревательной печи как объекта регулирования
- •2.1.3.2. Аппроксимация объекта регулирования
- •2.1.3.3. Выбор закона регулирования и расчет параметров регулятора
- •2.2. Создание и конфигурирование qnx–проекта аср температуры в среде разработки s3-ide
- •2.2.1. Описание переменных
- •2.2.2. Создание процесса управления
- •2.2.2.1. Описание функциональных блоков
- •2.2.2.2. Создание последовательной fbd программы
- •2.2.3. Создание процесса отображения: мнемосхемы
- •2.2.4. Создание базы данных
- •2.3. Компиляция, загрузка и запуск проекта
- •2.4. Режимы работы аср температуры
- •2.4.1. Автоматизированный режим
- •Загрузка Выдача -10 0.011 0.017 0 4 12 -3.7
- •Загрузка Выдача -10 0.011 0.017 0 12 5 -325.6
- •Загрузка Выдача -10 0.011 0.017 0 12 5 319.4
- •2.4.2. Автоматический режим
- •Часть 3. Комплекс индивидуальных заданий
- •3.1. Порядок разработки и защиты проекта
- •3.2. Перечень тем по металлургическим переделам
- •3.2.1. Агломерационные машины. Подготовка шихтовых материалов
- •3.2.2. Доменный процесс
- •3.2.3. Сталеплавильные печи
- •3.2.4. Нагревательные печи
- •3.2.5. Прокатное производство
- •Литература
- •Программирование систем реального времени проектирование автоматизированных систем управления в среде
- •49600, Днепропетровск, пр. Гагарина, 4
1.4.1.4. Скрипты процесса отображения
Скрипты процесса отображения предназначены для управления содержимым мнемосхем. Они могут помочь разработчику сделать интерфейс оператора более гибким и интерактивным, к тому же использование скриптов способно сильно облегчить разработку системы, а в некоторых случаях является просто необходимостью. Скрипты можно писать на языке ST, имеющем схожий с языком Pascal синтаксис. В реализации языка ST для S3-IDE существует набор библиотечных функций для работы с компонентами мнемосхем.
В дополнение к библиотечным функциям разработчик может объявить собственные функции на языке ST, и вызывать их затем так же, как и библиотечные функции.
Создадим функцию, которая будет включать/отключать компонент на экране в зависимости от того, находится система в автоматическом режиме, или нет. Для определения такой функции нужно создать ее в ветке Подпрограммы (рис. 1.76).
|
|
Рис. 1.76. Добавление скрипта в подпрограммы и окно создания скрипта
Редактирование скрипта производится так же, как и для ST-подпрограммы процесса управления, в подразделе 1.3.4. Создадим входной строковый параметр, и наполним скрипт несложным кодом (рис. 1.77). То, что делает эта подпрограмма, можно реализовать и с помощью действия Включить/отключить компонент, но так получается гибче, так как впоследствии мы можем организовать проверку каких-нибудь дополнительных условий, или изменить поведение скрипта, отредактировав его только там, где он определен.
Рис. 1.77. Подпрограмма процесса отображения
Далее привяжем скрипт к компоненту. Пусть это будет кнопка управления клапаном подачи природного газа – в автоматическом режиме она не должна быть видна. Добавим к кнопке событие Изменение переменной, в качестве переменной выберем mdGlobalAuto, к этому событию привяжем действие Скрипт (рис. 1.78).
Рис. 1.78. Добавление действия Скрипт
В скрипте вызовем подпрограмму, передав ей имя компонента (рис. 1.79).
В ветке Скрипты/Запуск можно разместить скрипты, инициализирующие мнемосхемы. В ветке Скрипты/Периодические могут быть размещены скрипты, выполняемые с заданным интервалом (интервал задается отдельно для каждого скрипта). В ветке Скрипты/Горячие клавиши могут быть размещены скрипты, вызываемые при нажатии клавиш, задаваемых для каждого скрипта отдельно.
Рис. 1.79. Вызов подпрограммы
1.4.1.5. Процессы отображения в qnx–проекте
В QNX–проекте один контроллер может содержать несколько процессов отображения, полностью аналогичных процессам отображения HMI–проекта. Все, рассмотренное ранее по Display HMI, можно отнести и к Display QNX. То есть контроллер, имеющий стандартный набор устройств ввода/вывода, может содержать в таком случае весь проект – как управляющую его часть, так и операторский интерфейс. Разница между процессами отображения контроллера и HMI–проекта в том, что «отрисовка» мнемосхем в первом производится средствами графической среды QNX-Photon, а во втором – средствами виртуальной машины Java (см. раздел 1.5). Для разработчика проекты полностью совместимы.
В среде S3-IDE есть возможность копирования мнемосхемы (компонента, события, действия) из QNX–проекта в HMI–проект и наоборот. Копировать компоненты из проекта в проект можно так же, как и в пределах одной мнемосхемы.
Рассмотрим порядок копирования мнемосхем. Создадим в QNX–проекте процесс отображения (рис. 1.80).
Процесс отображения в QNX–проекте имеет следующие свойства:
Приоритет – задает приоритет процесса отображения. Он должен быть меньше приоритета драйверов и процессов управления;
Номер консоли – номер виртуальной консоли (1…9) на которой будут отображаться мнемосхемы;
Минимальное обновление – минимальный период считывания переменных. Все переменные, период обновления которых меньше минимального, будут обновляться с этим периодом;
Авт. отрег. – автоматическая отрегистрация пользователя. Если пользователь не двигал мышью и не нажимал клавиш, то по истечению указанного времени он будет отрегистрирован.
Сохранять положение мнемосхем – включает/отключает сохранение положения и состояния временных мнемосхем между запусками проекта.
|
|
Рис. 1.80. Создание нового процесса отображения
Теперь мышью перетащим мнемосхему из секции Display HMI–проекта в секцию Display QNX–проекта, предварительно нажав и удерживая клавишу Ctrl. На этом копирование мнемосхемы закончено. Остается только создать в ветке Подпрограммы те подпрограммы, которые вы вызываете в скопированной мнемосхеме, иначе при попытке скомпилировать проект компилятор укажет на ошибку компиляции – на попытку вызвать не определенную функцию. Точно таким же образом можно копировать мнемосхемы в обратном направлении – из QNX–проекта в HMI–проект.
