имитационное моделирование

 
Создание имитационных моделей технологических процессов для отладки программ ПЛК и проектов SCADA/HMI

На этапе предварительной отладки программного обеспечения ПЛК и SCADA/HMI в системах управления сложными объектами существует возможность использования имитационных моделей. Предложены практические подходы к созданию имитационных моделей с использованием ресурсов ПЛК на языках МЭК 61131.

Ключевые слова: имитационное моделирование, отладка, ПЛК, SCADA/HMI.

 

Актуальность

Одним из наиболее ответственных этапов жизненного цикла АСУТП является отладка ПО ПЛК а также SCADA/HMI. В большинстве случаев отладку проводят в несколько этапов:

-        после написания функционально законченной части программы, до внедрения на объекте (грубая отладка);

-        тонкая отладка программы на объекте во время пуско-наладочных работ;

-        доотладка программы в режиме эксплуатации.

На первом этапе разработчик пытается максимально приблизить программу к рабочему состоянию еще во время ее создания. Отсутствие технологического объекта требует от разработчика ПО ПЛК имитировать сигналы от датчиков или изменять соответствующие входные переменные в соответствии с алгоритмом функционирования объекта. Разработчик должен четко представлять себе, как работает технологический объект, чтобы имитировать сигналы в правильной последовательности и в нужных диапазонах, а также внимательно проверять реакцию программы на эти действия.  Для сложного объекта отладить программу путем перебора заданных комбинаций значений переменных процесса довольно проблематично. В таких ситуациях могут помочь имитационные модели объектов управления.

Использование имитационных моделей способствует также быстрой отладке проектов SCADA/HMI. Кроме того, современные подходы в системной и программной инженерии требуют периодического участия представителей заказчика в оценке работы ПО верхнего уровня, что без наличия связи с реальным объектом требует  имитации переменных процесса.

С развитием компьютерной техники имитационное моделирование набирает все большую популярность как для проведения исследований, так и для построения тренажеров [1]. В настоящее время существует много программных пакетов, предназначенных для имитационного моделирования в РВ. Использование таких пакетов для задач отладки программ ПЛК и проектов SCADA/HMI ограничено следующими факторами:

1)       дополнительные затраты времени на изучение среды моделирования;

2)      неоправданная дороговизна для объектов средней сложности;

3)      излишняя избыточность и сложность применительно к поставленным задачам;

4)      наличие аппаратных ресурсов (входов/выходов реального контроллера) или программного интерфейса (например, OPC).

Первые три фактора создают серьезный барьер для любого внедряемого ПО, будь то САПР или среда имитационного моделирования. Кроме того, современные среды разработки ПЛК средней и большой информационной сложности поставляются со встроенными имитаторами исполнительной системы (ИС) контроллера, способными также работать совместно с имитаторами ИС SCADA/HMI. Для проверки работы программ на таких ИС не нужно оборудование, а его отладка возможна с использованием только программных имитационных моделей.

Исходя из вышесказанного, для задач отладки наиболее практичным способом имитационного моделирования является использование программных ресурсов контроллера, в котором реализованы проверяемые алгоритмы. Такой подход не нов, и используется многими разработчиками прикладного ПО для ПЛК и SCADA/HMI. Рассмотрим практические рекомендации по созданию и использованию таких имитационных моделей с использованием языков МЭК 61131-3.

Имитационная модель в структуре программы ПЛК

Имитационная модель в данном контексте является частью исполнительного проекта ПЛК. То есть, это часть программы ПЛК (включая все дополнительные переменные), имитирующая работу объекта. Модель может быть выполнена как программная секция, функция или функциональный блок, написанные на тех же языках МЭК 61131-3, что и основная программа управления (далее по тексту эта часть будет называться программой имитации). Таким образом, исполнительный проект ПЛК во время отладки будет состоять из двух типов программных элементов: программ управления и программ имитации.

Следует отметить, что создание имитационной модели имеет смыл только для объектов средней и большой алгоритмической сложности. ПЛК, а также среды разработки для них, используемые в такого уровня системах управления, можно охарактеризовать следующими показателями:

-        наличие некоторой ресурсной избыточности касательно решаемых задач (например, объем памяти, максимальное число программных элементов, таймеров и т.п.);

-        разделение программ на части (POU (Program Organization Unit), секции, функции, функциональные блоки);

-        кроме адресного обращения к переменным имеется возможность символьной адресации;

-        наличие имитатора исполнительной системы ПЛК в среде разработки;

-        наличие развитых средств поиска перекрестных ссылок в среде разработки;

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

В качестве примера можно привести ПЛК Premium/Quantum/M340 (Schneider Electric, среда Unity PRO); S7-1200/S7-1500/S7-300/S7-400 (Siemens, среда Step7); FX/Q (Mitsubishi Electric, среда GX IEC Development), среда ISAGraph (ICS Triplex), среда CodeSys (3S-Smart Software Solutions) и т.п.

В работе [1] указаны некоторые сложности, возникающие при встраивании программ имитации в структуру программы управления. Учитывая приведенные выше показатели ПЛК и сред разработки, эти проблемы могут быть решены, с помощью ряда приемов и рекомендаций:

-        программа имитации не должна быть частью программы управления, а выделена в отдельный структурный элемент (секция, функция, функциональный блок);

-        переменные, константы и остальные объекты языка ПЛК (таймеры, счетчики, экземпляры функциональных блоков), созданные исключительно для имитации, нужно идентифицировать и организовывать таким образом, чтоб их можно было быстро найти и при необходимости удалить (например, использовать специфические префиксы в именах переменных);

-        программа имитации должна вызываться в контексте той же задачи, что и программа управления;

-        программа имитации должна выполняться в задаче перед вызовом программы управления;

-        следует учитывать время выполнения программы имитации, то есть длительность выполнение задачи (Task) ПЛК будет большей, чем без программы имитации;

-        рекомендуется создавать сначала программу имитации объекта, а затем программу управления;

-        рекомендуется использовать графические средства отладки или ресурсы SCADA/HMI.

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

Особенности построения имитационных моделей, используемых для отладки программ ПЛК и SCADA/HMI

В настоящее время, при создании имитационных моделей ТП часто используют методы статистического анализа, нейронные сети, теорию нечетких множеств, требующие наличие экспериментальных данных об объекте. В большинстве случаев при разработке прикладного ПО для АСУТП новых объектов такие данные отсутствуют, по этому аналитические методы являются предпочтительными. Кроме того, для разработчика алгоритмов управления теоретические знания о физике процесса являются обязательными. Поэтому построение аналитической имитационной модели ТП не займет много времени, если выработать методику и не усложнять модель ненужными для отладки деталями. Выделим некоторые особенности построения имитационных моделей:

1)       модель должна отображать сущность ТП, то есть быть адекватной сути исследованию, однако требование к точности могут быть занижены;

2)      модель должна быть устойчивой …;

3)      модель должна предусматривать инициализацию, то есть переход в начальное состояние в любой момент времени;

4)      учитывая использование ресурсов ПЛК, модель должна быть максимально простой и описывать только те элементы, которые непосредственно участвуют в управлении или существенно влияют на него;

5)      модель должна иметь возможность работать в реальном, ускоренном или замедленном масштабе времени.

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

Технологические установки состоят, как правило, из типового оборудования. Это является предпосылкой для блочного построения имитационной модели, при котором программа имитации состоит из набора связанных экземпляров типовых функциональных блоков. Таким образом, с каждым новым объектом разработчик постепенно накапливает библиотеку собственных функциональных блоков, которые могут быть использованы для моделирования последующих объектов. Учитывая использования для написания таких блоков языков МЭК 61131-3, они являются портабельными, то есть могут быть использованы в других средах программирования ПЛК. Например, в качестве таких функциональных блоков могут быть модели теплообменников, емкостей смешивания, дозаторов, центрифуг, насосов и т.д. Кроме того, в системе управления используются различные датчики, исполнительные механизмы и регулирующие органы, для моделирования которых тоже необходимо разработать функциональные блоки. Ниже приводятся подходы при создании таких блоков, а также пример их реализации.

Моделирование переменных состояния объекта

Для динамического моделирование переменных состояний технологического объекта предлагается использовать системы дифференциальных уравнений. При этом, численное решение системы обыкновенных дифференциальных уравнений можно получить, используя конечные разностные схемы, например, явный метод Эйлера [2]:

 (1)
где yn+1, yn – координаты состояний объекта управления на текущем и предыдущем шаге; t – время шага моделирования; f() – вектор-функция процесса; tn – время на текущем шаге моделирования.

Явный метод Эйлера имеет существенные недостатки, в частности, малую точность и систематическое накопление ошибок. Однако они компенсируются небольшим временем расчета и невысокими требованиями к точности имитационной модели. Особенностью реализации приведенных формул в ПЛК является совпадение циклов пересчета с вызовом задачи, то есть отсутствуют итерационные расчеты на каждом цикле, что было бы невозможно при неявных методах.

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

(2)                 
 
 
 
(3)             
с начальными условиями:
(4)
 
где ,  – объем в теплообменнике рабочей жидкости и теплоносителя соответственно, м3;  – плотность рабочей жидкости и теплоносителя соответственно, кг/м3;  – теплоемкость рабочей жидкости и теплоносителя соответственно, кДж/(кг К) – коэффициент передачи через поверхность теплообмена, кВт/(м2 °С);  – поверхность теплообмена, м2 – время моделирования, с.

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

На рис. 2 показана структура и программа пользовательского функционального блока, имитирующего работу теплообменника. Параметры модели (2)-(3) и начальные значения (4) задаются как глобальные переменные блока. Входные значения модели являются входными переменными блока, а координаты состояния – выходными. В случае отсутствия в среде разработки глобальных параметров функциональных блоков как таковых, можно использовать входные.
 
На примере этого типа функционального блока, прокомментируем использование общих подходов, описанных выше. Вход INIT используется для инициализации модели. То есть в любой момент времени отладки разработчик может перевести модель в начальное состояние. Глобальный параметр d_t указывает алгоритму блока, с какой периодичностью он вызывается. При таком подходе сам блок должен вызываться периодически, для чего можно использовать неявный вход EN (использование EN/ENO описан в стандарте МЭК 61131-3). Задав параметр d_t равным периодичности вызова, наладчик выставляет имитационной модели режим реального времени, больше периодичности вызова – ускоренный режим, меньше – замедленный.

Моделирование возмущений и шумов измерения

Моделирование возмущений играет значительную роль при проверке работы программы ПЛК. В зависимости от решаемой задачи, при моделировании возмущений и шумов измерения можно использовать различные закономерности изменения сигналов: ступенчатый, импульсный, случайный, синусоидальный, кусочно-линейный и т.д. Тут ограничимся только моделированием случайной составляющей сигнала, путем генерирования псевдослучайных чисел. Для этого, например, можно использовать генератор случайных чисел в диапазоне [0,M], описываемый линейным конгруэнтным методом:

(5)

где ri – значение случайной величины на новом цикле пересчета; М, k, b - коэффициенты, r0 - начальное значение, MOD – остаток деления.

На рис. 3 показан пример реализации функционального блока для генерации случайных чисел с использованием формулы (5). Коэффициенты М, k, b и начальное значение задаются как глобальные переменные блока, внутренняя переменная ri предназначена для запоминания предыдущего значения.
 
 

Моделирование исполнительных механизмов и регулирующих органов

Тип исполнительного механизма (ИМ) и регулирующего органа (РО) вносит свои коррективы в алгоритм управления, поэтому его поведение также необходимо учитывать при проверке роботы программы. Для запорно-регулирующей трубопроводной арматуры с электро- или пневмоприводом, можно разработать универсальный функциональный блок, имитирующий всю сборку. Такой блок должен учитывать следующие особенности:

-        время полного хода (открытия) РО с заданным типом ИМ при рабочих условиях (давление пневмопитания т.п.);

-        управление двумя входными сигналами типа BOOL: открыть (больше) и закрыть (меньше); в случае управления одним сигналом (ИМ с возвратом) на другой вход должна подаваться его инвертированная копия;

-        возможность аналогового управления с позиционером, то есть блок должен иметь входной сигнал в диапазоне 0…100%, задающий позицию РО;

-        выходы для датчиков: положения штока/заслонки (0…100%), сигнализаторы положения "открыт" и "закрыт";

-        тип характеристики регулирующего органа: линейный, равнопроцентный, быстрого открытия.

На рис. 4, 5 показаны примеры реализации такого функционального блока. Параметр t_valve определяет время полного хода РО для выбранного ИМ, APOS – определяет тип управления (аналоговое или дискретное), v_type - указывает на  тип характеристики РО. Входы cmdOPN и cmdCLS предназначены для сигналов управления соответственно типа "открыть" и "закрыть" при дискретном управлении (при APOS=0), а cmdPOS  (0-100%) - для аналогового управления (при APOS=1). Выход блока Kf – является коэффициентом расхода в диапазоне 0…1. Выходы stOPN и stCLS имитируют работу конечных датчиков положений, а stPOS – текущей позиции РО. Таким образом, один и тот же тип функционального блока может быть использован для разных типов ИМ и трубопроводной арматуры.
Апробация

Приемы, описанные в данной статье, апробированы при предварительной наладке программ ПЛК для процессов молочного производства. В частности, моделировался процесс последовательного набора танков приготовления цельномолочных продуктов с пастеризационно-охладительной установки, и переходом между танками по показателям счетчиков и датчиков проводимости. Предварительная наладка на имитационной модели дала возможность отловить большинство ошибок в программе управления до этапа внедрения, сократить время внедрения и пуско-наладки, а также избежать потерь продукта на этапе пуско-наладочных работ.

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

Для демонстрации описанных подходов, ниже приводится фрагмент учебного примера для лабораторной работы по изучению библиотеки регулирования UNITY_PRO (Schneider Electric). На рис. 6 показан операторский экран для контура стабилизации температуры на выходе теплообменника (TT101), путем изменения расхода теплоносителя клапаном с ИМ типа МЭО (TV101). ИМ управляется двумя сигналами TV101_OPN (больше) и TV101_CLS (меньше). Для контроля положения РО используются контакты ИМ конечного положения (GSH101 и GSL101).
Задача лабораторной работы сводится к созданию программной части контура регулирования в различных операционных режимах и проверке ее работоспособности. Один из вариантов реализации программной части контура показан на рис. 7. Регулятор реализован в виде фрагмента FBD-программы, состоящей из взаимосвязанных функциональных блоков: TC101 (PI_B) – реализующего ПИ закон регулирования, и TS101 (SERVO) – для управления МЭО. На рис. 8 не показаны фрагменты масштабирования реальных входов/выходов, так как эту часть программы можно отладить на самом объекте при проверке каналов измерения и управления.
Для проверки работоспособности программной части контура составлена имитационная модель в виде программы на FBD (рис. 8). Все дополнительные переменные и экземпляры функциональных блоков имеют префикс sm, что позволяет удалить их перед  использованием реального объекта. Блок smTV101 имитирует работу исполнительного механизма, smHeat – температуры теплообменника. Таким образом, контур из рис. 7 замыкается через имитатор объекта управления, показанный на рис. 8.

Выводы

Идея использования ресурсов ПЛК для имитационного моделирования ТП не является новой, однако известные практические приемы в лучшем случае сводятся к использованию блоков типовых линейных звеньев [3, 4]. Приведенные выше рекомендации, прошедшие апробацию в производственных и учебных проектах, имеют практическую ценность. В наработке имеется библиотека функциональных блоков типовых объектов, описание которых не вписывается в рамки данной статьи.  Постоянно ведется работа над расширением библиотеки. Использование языков МЭК 61131-3 делает эти блоки универсальными (вендор-независимыми) и понятными всем разработчикам программного обеспечения ПЛК.

Однако следует выделить границы использования этих имитационных моделей. Использование явного метода Эйлера не рекомендуется для точного моделирования, а, значит, такая модель не может быть применена в контуре регулирования в качестве эталонной модели технологического процесса. Перед созданием программы имитации следует оценить время на её разработку и верификацию, и соотнести общее время затраченное на тестирование с моделью и без неё. Для типовых проектов наличие модели оправдано, так как ее адаптация к конкретному объекту не занимает много времени.

В качестве весомых аргументов в пользу разработки имитационной модели является уменьшение рисков производственных затрат а также сокращение времени на этапе пусконаладочных работ. Также есть смысл разработки модели для верификации проектов SCADA/HMI на разных этапах их жизненного цикла.

 

Луцкая Наталия Николаевна - канд. техн. наук, доцент кафедры «Автоматизация процессов управления»,
Пупена Александр Николаевич - канд. техн. наук, доцент кафедры «Интегрированные АСУ» Национального университета пищевых технологий

Контактный телефон  38(044) 287-97-90

 

 

Список литературы

1.       Зюбин В.Е. Итерационная разработка управляющих алгоритмов на основе имитационного моделирования объектов управления // Автоматизация в промышленности. 2010. № 11.

2.       Гартман Т.Н., Клушин Д.В. Основы компьютерного моделирования химико-технологических процессов / Уч. пособие для вузов. М.: ИКЦ «Академкнига». 2006.

3.       PID Temperature Control (ПИД-управление температурой): Руководство пользователя. – SIMATIC: Издание 11/2001 (A5E00125039-01)

4.       Системы автоматического управления на основе программируемых логических контроллеров: Техническая коллекция Schneider Electric. – Выпуск № 16, март 2008 г.

5.       IEC 61131-3

 

 

Comments