- •Разработка структурной схемы связи функциональных блоков для моделирования средствами scada технологического процесса и сар.
- •Разработка программных модулей математических моделей пид-регулятора и технологического объекта на языке vba средствами iFix.
- •Основы программирования на vba (Visual Basic for Application)
- •If Условие then
- •2.2 Разработка структурной схемы связи функциональных блоков для моделирования технологического процесса и сар
- •Дополнительная самостоятельная работа
- •Написание отчета по лабораторной работе и его защита
If Условие then
Действия при истинности условия
[Else]
Действия в противном случае
End if
Операторы исполнения циклов
For Счетчик=Начало To Конец [Step Шаг]
Инструкции
[Exit For]
Next [Счетчик]
While Условие
Инструкции
Wend
Существуют и другие возможности построения циклов с предусловием и постусловием (см. Справочную документацию).
Процедуры и функции
[Private| Public] [Static] Sub Имя [Список аргументов]
Инструкции
[Exit Sub]
[Инструкции]
End Sub
[Private| Public] [Static] Function Имя [Список аргументов] As Имя типа
Инструкции
[Exit Sub]
[Инструкции]
End Sub
Общие правила написания программного кода
Между операторами VBA не ставится никаких знаков, каждое новое исполняемое выражение записывается с новой строки. При необходимости продолжения написания выражения на следующей строке ставится “ _” и производится переход на следующую строку.
Для комментирования исполняемой строки применяется знак “ ‘” после которого все написанное до конца строки считается комментарием.
2.2 Разработка структурной схемы связи функциональных блоков для моделирования технологического процесса и сар
Структурная схема базы данных iFIX при моделировании технологического объекта и регулятора программными средствами VBA представлена на следующем рисунке.
рис.
5 Структурная схема базы данных iFIX
при моделировании ТОУ и САР программными
средствами VBA
Функциональное назначение блоков структурной схемы описано в таблице 2.
Таблица 2
Функциональное назначение блоков базы данных iFIX
Имя ФБ |
Тип ФБ |
Назначение ФБ |
PID_UP |
AI |
ФБ для хранения выхода регулятора температуры верха |
MV_UP |
CA |
Суммирование сигнала с регулятора и внутреннего возмущения |
VZM_VNUTR |
AI |
Внутреннее возмущение в системе регулирования |
T_UP_M |
AI |
ФБ для хранения значения моделируемой температуры |
T_UP |
CA |
Суммирование смещения для температуры (внешнее возмущение) и сигнала с модели технологического объекта, т.е. моделирование абсолютного выхода объекта управления |
T_UP_SM |
AI |
Смещение температуры, т.е. задание базовой температуры, а также реализация внешнего возмущения в системе регулирования |
Для удобства настройки и управления регулятором температуры создадим на мнемосхеме дополнительные переменные. Их удобство заключается в возможности непосредственного использования в качестве источника анимации.
Рис.6 Создание дополнительных программных переменных
В следующей таблице приведен перечень и тип переменных мнемосхемы необходимых для реализации SCADA системы.
Переменные мнемосхемы необходимые для реализации системы
Таблица 2
Имя переменной |
Тип |
Назначение |
K |
Float |
Коэффициент усиления объекта |
T |
Float |
Постоянная времени объекта |
dt |
Float |
Запаздывание объекта |
Md |
Boolean |
Режим работы регулятора |
Kp |
Float |
К-т пропорциональности регулятора |
Ti |
Float |
Время интегрирования регулятора |
Td |
Float |
Время дифференцирования регулятора |
MV |
Float |
Выход регулятора |
SP |
Float |
Задание регулятора |
Для переменных мнемосхемы, содержащих значения коэффициентов модели и объекта управления рекомендуется задать начальное значение (Initial Value), которое присваивается этим переменным при открытии мнемосхемы.
Рис.7 Окно задания свойств переменной мнемосхемы
Создадим подпрограмму моделирования технологического объекта/
Рис. 8 Программная реализация модели ТОУ
На следующем этапе напишем подпрограмму модели ПИД регулятора.
Рис.9 Программа реализации ПИД регулятора
Приведенная на рис.9 подпрограмма реализации модели ПИД-регулятора имеет ряд недостатков. При таком методе расчета модели регулятора мы вынуждены обеспечивать пересчет интегральной части регулятора при его работе в ручном режиме, чтобы обеспечить безударный переход в автоматический режим, а также для предотвращения насыщения интегральной части при достижении выходом регулятора ограничений.
Программная реализация ПИД-регулятора приведенная на следующем рисунке лишена этих недостатков.
Рис.10 Модернизированная программа реализации ПИД регулятора
Разработанные подпрограммы следует просмотреть в режиме отладки и устранить в случае наличия синтаксические ошибки. После отладки подпрограмм необходимо реализовать их выполнение в реальном времени для этого создадим на мнемосхеме таймер с периодичность срабатывания 1с. И в подпрограмме обработки его события укажем вызов разработанных подпрограмм моделирования объекта и ПИД регулятора.
Рис.11 Окно создание таймера на мнемосхеме
Рис.12 Подпрограмма обработки события таймера
Далее разработанная ранее мнемосхема для случая моделирования с помощью функциональных блоков перерабатывается с учетом появившихся изменений. На мнемосхему также добавляются настроечные параметры регулятора и объекта регулирования с возможностью их изменения с экрана.
Рис.13 Выбор источника данных анимации с переменных мнемосхем
Полученная SCADA система отлаживается и анализируется работа смоделированной системы автоматического регулирования температуры.
