Моделирование и симуляция АС
Имитационное моделирование на цифровых вычислительных машинах является одним из наиболее мощных средств исследования, в частности, сложных динамических систем. Как и любое компьютерное моделирование, оно дает возможность проводить вычислительные эксперименты с еще
только проектируемыми системами и изучать системы, натурные
эксперименты с которыми, из-за соображений безопасности или
дороговизны, нецелесообразны. В тоже время, благодаря своей близости по
форме к физическому моделированию, это метод исследования доступен
более широкому кругу пользователей. В настоящее время, на рынке ПО
предлагаются разнообразные средства моделирования. Любой
квалифицированный инженер, технолог или менеджер должен уметь уже не просто моделировать сложные объекты, а моделировать их с помощью современных технологий, реализованных в форме графических сред или пакетов визуального моделирования.
Пакеты визуального моделирования позволяют пользователю вводить описание моделируемой системы в естественной для прикладной области и преимущественно графической форме (например, в буквальном смысле рисовать функциональную схему, размещать на ней блоки и соединять их связями), а также представлять результаты моделирования в наглядной форме, например, в виде диаграмм или анимационных картинок. Примером такого пакета является LabVIEW ф. National Instruments (США). Программа LabVIEW называется и является виртуальным прибором (англ. Virtual Instrument) и состоит из двух частей:
1. Блочной диаграммы, описывающей логику работы виртуального прибора.
2. Лицевой панели, описывающей внешний интерфейс виртуального прибора.
Виртуальные приборы могут использоваться в качестве составных частей для построения других виртуальных приборов.
Лицевая панель виртуального прибора содержит средства ввода-вывода, такие как кнопки, переключатели, светодиоды, шкалы, информационные табло и т. п. Они используются человеком для управления виртуальным прибором, а также другими виртуальными приборами для обмена данными.
Блочная диаграмма содержит функциональные узлы, являющиеся источниками, преемниками и средствами обработки данных. Также компонентами блочной диаграммы являются терминалы («задние контакты» объектов лицевой панели) и управляющие структуры (являющиеся аналогами таких элементов текстовых языков программирования, как условный оператор «IF», операторы цикла «FOR» и «WHILE» и т. п.). Функциональные узлы и терминалы объединяются в единую схему линиями связей.
LabVIEW поддерживает огромный спектр оборудования различных производителей и имеет в своём составе (либо позволяет добавлять к базовому пакету) многочисленные библиотеки компонентов:
- для подключения внешнего оборудования по наиболее распространённым интерфейсам и протоколам (RS-232, GPIB 488, TCP/IP и пр.);
- для удалённого управления ходом эксперимента;
- для управления роботами и системами машинного зрения;
- для генерации и цифровой обработки сигналов;
- для применения разнообразных математических методов обработки данных;
- для визуализации данных и результатов их обработки (включая 3D-модели);
- для моделирования сложных систем;
- для хранения информации в базах данных и генерации отчетов;
- для взаимодействия с другими приложениями.
Вместе с тем LabVIEW — очень простая и интуитивно понятная система. Неискушённый пользователь, не являясь программистом, за сравнительно короткое время (от нескольких минут до нескольких часов) способен создать сложную программу для сбора данных и управления объектами, обладающую красивым и удобным человеко-машинным интерфейсом.
Данный программный пакет обеспечивает симуляцию максимально приближенного к реальным сигналам КИПиА технологического процесса с наложенным на него возмущающими воздействиями с различными законами распределения. На рис. 38 показаны лицевая панель управляемого резервуара (верхний слайс) и программа, подготовленная на функциональном языке, которая симулирует процесс управления (нижний слайс).
Рис. 38 Лицевая панель и блок-диаграмма ВП
Одним из главных достоинств систем визуального моделирования является то, что они позволяют пользователю не заботиться о программной реализации модели, как о последовательности исполняемых операторов, и тем самым создают на компьютере некоторую чрезвычайно удобную среду, в которой можно создавать виртуальные, "квазиаппаратные" параллельно функционирующие системы и проводить эксперименты с ними. Графическая среда становится похожей на физический испытательный стенд, только вместо тяжелых металлических ящиков, кабелей и реальных измерительных приборов, осциллографов и самописцев пользователь имеет дело с их образами на экране дисплея. Образы можно перемещать, соединять и разъединять с помощью мыши. Кроме того, пользователь может видеть и оценивать результаты моделирования по ходу процесса проектирования.
При создании ответственных технологических объектов одной из важнейших составляющих процесса их проектирования является выбор решений АС, позволяющих наиболее эффективно использовать технологическое оборудование. Для этого исполнителю проекта важно:
•однозначно и просто понимать, что для этого должно быть сделано, что
делается и что сделано в программно реализуемом проекте;
• формально и изоморфно переходить от алгоритма к программам на различных языках программирования, используя минимальное число внутренних (управляющих) переменных в программах, так как эти переменные затрудняют понимание программ;
• легко и корректно вносить изменения в разработанные алгоритмы и в построенные по ним программы;
• корректно проводить сертификацию программ.
Однако при формировании общих подходов к созданию алгоритмического и программного обеспечения возникают трудности, связанные с необходимостью достижения их наглядности, структурированности, наблюдаемости и управляемости. Эти трудности усугубляются тем, что при создании различных систем управления обычно используются и различные технологии алгоритмизации и программирования. Спектр таких технологий широк: от технологий на основе алгоритмических языков высокого уровня для промышленных компьютеров до технологий на основе специализированных языков для программируемых логических контроллеров (например, функциональных и лестничных схем).
Поэтому алгоритмизация и программирование систем управления техническими средствами, должны основываться на единой методологии, позволяющей строить, читать, проверять, верифицировать алгоритмы и программы. В качестве такой методологии может быть рекомендована технология автоматного программирования. Базовым понятием автоматного программирования является «состояние». Это понятие, в том смысле, как оно
используется в описываемой парадигме, было введено А. Тьюрингом и с успехом применяется во многих развитых областях науки, и в частности, в теории управления.
Основное свойство состояния системы в момент времени t0 заключается в «отделении» будущего (t > t0) от прошлого (t < t0) в том смысле, что текущее состояние несет в себе всю информацию о прошлом системы, необходимую для определения ее реакции на любое входное воздействие, формируемое в момент времени t0.
Реакция объекта со сложным поведением на входное воздействие может зависеть, в том числе, и от предыстории. Однако, при использовании понятия «состояние» знание предыстории более не требуется. Состояние можно рассматривать как особую характеристику, которая в неявной форме объединяет все входные воздействия прошлого, влияющие на реакцию сущности в настоящий момент времени. Реакция зависит теперь только от входного воздействия и текущего состояния.
Понятие входное воздействие также является одним из базовых для автоматного программирования. Чаще всего, входное воздействие – это вектор. Его компоненты подразделяются на события и входные переменные в зависимости от смысла и механизма формирования. Совокупность конечного множества состояний и конечного множества входных воздействий образует (конечный) автомат без выходов. Такой автомат реагирует на входные воздействия, определенным образом изменяя текущее состояние. Правила, по которым происходит смена состояний, называют функцией переходов автомата.
Рис.39 Конечный автомат |
Таким образом, конечный автомат – это устройство управление, которое взаимодействует и с внешней средой, и с объектом управления. От внешней среды автомат получает входные воздействия, тогда как взаимодействие объекта управления с внешней средой имеет двунаправленный характер (рис. 40). |
То, что в автоматном программировании собственно и называется (конечным) автоматом (рис. 39) получается, если соединить понятие автомата без выходов с понятием «выходное воздействие». Такой автомат реагирует на входное воздействие не только сменой состояния, но и формированием определенных значений на выходах. Правила формирования выходных воздействий называют функцией выходов автомата.
Внешняя среда
Рис.40 Взаимодействие компонентов модели автоматизированного объекта На этом рисунке сплошными стрелками обозначены традиционные и наиболее типичные для программных реализаций виды взаимодействия между автоматом, объектом управления и внешней средой.
При автоматном программировании нет ограничений на тип входных и выходных воздействий: это могут быть символы, числа, строки, множества, последовательности, произвольные объекты – все зависит от специфики поставленной задачи и инструментов, используемых для ее решения. Кроме того, могут различаться способы передачи входных воздействий автомату и интерпретации выходных воздействий в объекте управления.
В соответствии с эти формальное определение автоматизации объекта управления выглядит следующим образом.
Правило перехода в новое состояние можно описать так. В общем случае, после получения события автомат в зависимости от своего текущего состояния реагирует (или никак не реагирует) на событие, опрашивает параметры объекта управления, учитывает состояния вложенных автоматов, затем производит последовательность выходных воздействий, включая и те выходные воздействия, которые необходимо совершить при попадании в новое состояние, и только после этого переводится в новое состояние (которое может быть тем же самым в случае петли).
Выходное воздействие первого типа, направленное на объект управления, считается сразу же осуществлённым после его применения. Выходное воздействие второго типа, представляющее собой передачу управления с событием вложенному автомату, считается выполненным только лишь после реакции вложенного автомата на это событие, которая заключается в том, что либо автомат переходит в новое состояние (срабатывает один из переходов вложенного автомата), либо событие игнорируется вложенным автоматом (ни один из переходов сработать не может). До тех пор пока выходное воздействие второго типа не осуществится, работа (процесс перехода в новое состояние) главного автомата приостанавливается.
На рис в качестве примера рассматривается система, состоящая из следующих составных элементов установки предварительного сброса воды: емкости канализационной (Е-6) с погружным насосом для откачки воды, резервуара-отстойника (Р) с автоматически регулируемой задвижкой на входе, насосов перекачки воды. В резервуаре-отстойнике предусмотрен контроль как общего, так и межфазного уровней. Логика работы системы в этом примере для большей наглядности выбрана простейшей. Так при достижении контролируемым параметром уставки срабатывает соответствующий механизм, и система извещает об этом сигнализацией. В системе предусмотрено также дистанционное управления с пульта диспетчера и механизм маскирования измерительного канала, который применяется при диагностике или пуско-наладочных работах. Для погружного насоса предусмотрена возможность ручного управления.
Моделирование данной системы может быть проведено с использованием программных сред StateFlow и Simulink программного пакета MatLab. В начале моделирования методом конечных автоматов необходимо определить все конечные автоматы, т.е. все возможные состояния системы. Далее определяются все переходы между состояниями, характеризующиеся различными событиями и действиями. Для каждого объекта создается отдельный автомат (на рисунке показана структура выделенного автомата). Автоматы могут быть вложенными (рис. 42).
Рис.42 Реализация автоматной модели в StateFlow В этом примере автомат управления емкостью Е-6 содержит в себе два вложенных автомата. Один автомат управляет погружным насосом. Другой – следит за состоянием уровня воды в емкости. Вложенные автоматы могут включать в себя другие вложенные автоматы, которые являются ниже по уровню в иерархии. Так, автомат погружного насоса включает в себя автоматы ручного и дистанционного управления и т.д.
С помощью этого средства моделирования алгоритмы логического управления АС могут быть отлажены уже на начальном этапе ее проектирования.