- •Днепропетровск нМетАу 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.3.3. Устройства ввода-вывода. Драйверы
Практически в любой разрабатываемой системе не обойтись без устройств аналогового и дискретного ввода/вывода. S3-IDE поддерживает достаточно много специализированных плат, список поддерживаемого оборудования постоянно пополняется. Вначале необходимо выбрать подходящее оборудование, а затем обеспечить работу создаваемой системы с ним. Выполним добавление аналоговых устройств.
Добавление в систему нового устройства производится добавлением драйвера этого устройства к QNX-контроллеру. Используем плату аналогового ввода PCI–1713 и плату аналогового вывода PCI–1720.
Добавим соответствующие драйверы (рис. 1.19) в контроллер QNX_DEMO (рис. 1.20).
Рис. 1.19. Меню Добавить драйвер
Рис. 1.20. Контроллер с аналоговыми платами
Свойства драйверов плат (рис. 1.21) вызываются двойным щелчком на плате или через контекстное меню (см. Справку S3).
Рис. 1.21. Диалоговое окно Свойства драйвера PCI–1713
Привяжем переменные к соответствующим каналам. Откроем таблицу входных каналов драйвера PCI–1713 (один драйвер может содержать как входные, так и выходные каналы, в нашем только AI – аналоговые входы) двойным щелчком на элементе AI (рис. 1.22).
Рис. 1.22. Таблица входов PCI–1713
Двойным щелчком на поле Переменная нужного канала, можно ввести имя переменной или выбрать ее из списка, нажав на появившуюся кнопку (рис. 1.23).
Рис. 1.23. Привязка переменной к каналу платы
В окне Переменные автоматически создаются группы переменных с именами соответствующих драйверов – в них S3-IDE помещает переменные, привязанные к каналам драйверов.
Переменную можно привязать к каналу драйвера и через окно свойств переменной (рис. 1.24).
Рис. 1.24. Привязка переменной к каналу через диалоговое окно Свойства
Вышеперечисленные действия необходимо выполнить и для платы аналогового вывода.
Добавим в проект плату PCI–730, она содержит как дискретные входы, так и дискретные выходы. Процедура привязки переменной к каналу драйвера та же, что и для аналоговых переменных.
1.3.4. Процессы управления
Для создания процесса управления добавим процесс управления к контроллеру QNX_DEMO и выполним необходимые настройки в окне Создание процесса управления (рис. 1.25).
|
|
Рис. 1.25. Добавление процесса управления
Развернув добавленный элемент дерева, можно увидеть элементы (секции), из которых он состоит (рис. 1.26).
Рис. 1.26. Секции процесса управления
Стартовая секция.
Стартовая секция процесса управления может содержать программы, написанные на языке ST, и предназначена для отделения неких начальных действий от основной программы. Создадим программу в стартовой секции, добавив и открыв новую функцию (рис. 1.27).
|
|
Рис. 1.27. Добавление функции в стартовую секцию
Напишем небольшую программу на языке ST. Пока она будет состоять только из одного условного перехода, включающего автоматические режимы всех механизмов установки, если был включен общий автоматический режим. В окне редактирования программы код выглядит, как показано на рис. 1.28.
Рис. 1.28. Окно редактора ST-программы
Редактор ST имеет несколько полезных функций, среди них – дополнение кода и автформатирование кода (рис. 1.29). Дополнение кода (работает для имен функций и имен переменных) вызывается нажатием Ctrl+Space (конечно, перед этим нужно набрать хотя бы один символ, чтобы редактору было, что дополнять). Автоформатирование кода выполняется при нажатии Alt+Ctrl+F.
Рис. 1.29. Дополнение кода в редакторе ST
Конечная секция.
По аналогии со стартовой секцией процесса управления, конечная секция может содержать завершающие действия, выполняемые гарантировано после основной программы. В остальном все сказанное о стартовой секции процесса управления верно также и для конечной секции. Создадим в конечной секции функцию, которая будет обнулять флаг сброса неисправностей (рис. 1.30).
Рис. 1.30. Функция в конечной секции
Подпрограммы процесса управления.
Подпрограммы, созданные в данной секции, могут быть использованы в секции Последовательные программы. Языки подпрограмм – ST и FBD.
Создадим на ST функциональный блок для управления конвейером загрузки шихтовых материалов в печь (рис. 1.31).
|
|
Рис. 1.31. Создание нового функционального блока
Рис. 1.32. Редактирование функционального блока
Окно редактирования функционального блока (см. рис. 1.32) отличается от окна редактирования функции на ST. Здесь присутствует Таблица входов/выходов (таблица пин-компонент). Она содержит входы, выходы и локальные переменные для FBD функций и блоков, моделируя таким образом входные и выходные точки связи, а также ячейки памяти (переменные) с локальной областью видимости (см. Справку S3-IDE).
Последовательные программы.
В этой секции выполняются основные действия с переменными S3. Секция может содержать произвольное количество программ на FBD и SFC, которые будут выполняться в той последовательности, в которой они расположены в ветке Дерева проекта. Создадим в секции FBD программу, в которую будем помещать наши функциональные блоки (рис. 1.33).
|
|
Рис. 1.33. Создание FBD-программы в секции Последовательные программы
Созданный функциональный блок ChargeKоnveyor также помещен теперь в область Subroutines окна Палитра S3-IDE (рис. 1.34).
Рис. 1.34. Окно Палитра с пользовательским функциональным блоком
Блок можно вставить из палитры, сначала нажав на его кнопку на Палитре, а затем, нажав в точке, в которую необходимо поместить блок. Можно также перетащить блок в окно FBD-программы из Дерева проекта (рис. 1.35).
Рис. 1.35. Функциональный блок в FBD-программе
Далее присоединим переменные к входам и выходам блока (рис. 1.36– рис. 1.38).
Рис. 1.36. Контекстное меню редактора FBD
Рис. 1.37. Выбор переменной
Рис. 1.38. Переменная на схеме
Чтобы связать переменную и вход блока, их нужно соединить (рис. 1.39).
Рис. 1.39. Переменная, привязанная ко входу блока
Выполним эту операцию для всех входов блока, а также добавим комментарий к программе (рис. 1.40).
Рис. 1.40. Готовая FBD-программа
