О системах управления процессами программирования автоматизации управления технологическими процессами
Пакеты прикладных программ автоматизированных систем, в отличие от языков реального времени, предназначенных для облегчения программирования, используются для замены программирования конструированием ПО систем управления технологическими процессами из готовых элементов, ППП классифицируют по входному языку и принципу производства программ. Языки делят на четыре типа: фиксированных позиций; разделителей; ключевых слов; повествовательные.
С точки зрения принципа генерации программ ППП разделяют на следующие:
- генераторы программ, составляющие текст программного комплекса на языке, допускаемом операционной системой УВК;
- интерпретаторы, служащие для выполнения исходных программ путем сканирования исходных текстов в реальном времени;
- параметрические системы, сочетающие предварительную компиляцию исходного текста с последующей интерпретацией результата компиляции.
В общем случае пакет модулей состоит из набора модулей и управляющей программы (монитора пакета) — специальной программы, которая по формулировке задачи на входном языке пакета автоматически организует вызов нужных модулей в нужной последовательности и обеспечивает обмен информацией между ними.
Существуют два типа мониторов пакетов — специализированный и универсальный.
Специализированный монитор пакетов автоматизированных систем в зависимости от исходных данных реализует одну из заранее определенных последовательностей модулей.
Такие пакеты подобны программным комплексам, но отличаются от них модульностью своих программ и стандартизацией информационных связей между ними. .
Универсальный монитор пакетов автоматизированных систем сам строит последовательность модулей, реализующую вычислительный процесс, на основе общих сведений о связях между модулями, их аргументами и результатами. В универсальный монитор можно вводить любой набор модулей, образуя тем самым пакеты для решения любого класса задач. В системе со специализированным монитором смена пакета требует замены самого монитора.
Предметная область систем автоматизации — множество задач, решаемых системой — определяется в основном одним программным и двумя информационными массивами: набором модулей, перечнем стандартных величин и графом предметной области, задающим связи между стандартными величинами и модулями системы.
Модуль систем автоматизации — программа, аргументами и результатами которой являются стандартные величины.
Стандартные величины предметной области систем автоматизации — аргументы и результаты.
Граф предметной области систем автоматизации — ориентированный граф с вершинами, соответствующими стандартным величинам, и вершинами, соответствующими модулям. Ребра связывают только вершины разных типов.
Модель предметной области и системы служит базой для оперативной части системы (монитора), выполняющей основные функции системы; запись, чтение и вычисление значений стандартных величин.
Важными составляющими ППП являются блоки ввода, вывода, памяти и процессор.
Блок ввода систем автоматизации осуществляет ввод в специальные области блока памяти текста, содержащего формулировку задачи (программного задания) и значений стандартных величин, необходимых по ходу работы.
Блок вывода систем автоматизации выводит результаты.
Блок памяти систем автоматизации предназначен для хранения программного задания модулей системы, их аргументов, результатов и промежуточных величин.
Процессор систем автоматизации модульной системы представляет группу программ, производящих выполнение требуемого модуля.
Автоматизированная система программирования реального времени автоматизированных систем является диалоговой системой параметрического типа и позволяет генерировать ПО систем управления технологическими процессами в реальном времени. АСП-РВ обладает как характерными чертами инструментальной системы программирования (возможность генерации новых ППП), так и чертами, присущими ППП, реализующим традиционный способ разработки ПО (компоновка из готовых функциональных модулей путем редактирования связей).
Ядро системы АСП-РВ систем управления технологическими процессами составляет исполнительный программный комплекс, в котором отдельные функциональные модули увязаны по взаимодействию в единую систему в соответствии с имеющейся математической моделью АСУ ТП. Настройку программного комплекса на конкретные алгоритмы осуществляют по параметрам, задаваемым пользователем на входном языке системы. Сгенерированное ПО конкретной АСУ ТП — совокупность программного комплекса и таблиц настроек. Система обеспечивает возможность коррекции и автоматического документирования алгоритмов в процессе эксплуатации, существенно облегчает работу пользователя, освобождая его от необходимости комплексной увязки модулей.
Исполнительный программный комплекс автоматизированных систем базируется на наборах функциональных и организующих (системных) программных модулей. Он состоит из трех частей: стандартной ОС, специально разработанной ОС и двух системных программ (интерпретатора и диспетчера задач). Таблицы настроек разделены на базу данных и библиотеку операционных модулей, содержащих соответственно настройки функциональных и организующих модулей. Текущая информация о состоянии объекта управления представляется численными значениями переменных, помещаемых в базу данных, а также событиями, накапливаемыми по мере их поступления в специальном буфере событий. Факт появления события устанавливается либо программным путем при проверке заранее определенного соотношения между переменными, либо задается извне.
Функционирование ЛСП-РВ систем управления технологическими процессами начинается с запуска диспетчера задач, который инициирует запуск системы. Далее работает интерпретатор, отыскивающий в базе данных таблицу настроек, соответствующих задаче назначена на выполнение, и последовательно запускает указанные в ней функциональные модули, сообщая им параметры. В процессе работы опрашиваются датчики, вычисляются технико-экономические показатели и управляющие воздействия, проверяются условия и фиксируются соответствующие события. Диспетчер задач анализирует содержимое буфера событий и изменяет статус отдельных задач в таблице задач в соответствии с настройками, занесенными в библиотеку операционных модулей и т. д.
Отладка осуществляется с помощью ретрансляции созданной системы специального ПО систем управления технологическими процессами на язык, близкий естественному. Реализация такого подхода облегчается тем, что оба раздела, на которые делятся законченные программы — операционный и раздел задач, разрабатываются и отлаживаются самостоятельно, а объединяются лишь на завершающем этапе.
В функции ретранслятора входит также документирование эксплуатируемых алгоритмов в их текущем состоянии.
Система управления процессами автоматизированных систем PMS (Process Management System.) разработана фирмой Ферранти и предназначена для управления процессами в реальном времени. PMS представляет собой скоординированную систему взаимосвязанных пакетов и обеспечивает следующие функции: непрерывное управление, дискретное управление, протоколирование, управление данными, управление при сбоях, визуальную связь.
Первоначальные идентификаторы, используемые при проектировании системы, сохраняются для прямых ссылок, что значительно облегчает настройки и регулировки системы соотношения между переменными.
Кроме информационных и управляющих функций PMS обеспечивает выполнение различных оптимизационных процедур, используя методы регрессионного анализа, линейного программирования и т. п. Система позволяет создавать и отлаживать новые задачи в процессе нормальной работы, для чего введены основная и фоновая области. Передача данных в отлаживаемые задачи фоновой области происходит по идентификаторам, использованным при проектировании основной системы.
Структуру PMS определяют две особенности: различные функции системы реализуются посредством установления взаимосвязей между стандартными конструктивными блоками или алгоритмами; программы PMS выполняются в режиме интерпретации.
Набор отдельных функций известен в системе как активность, которая, в свою очередь, состоит из ряда алгоритмов. Активность начинается с заголовка (Header), содержащего ее характеристики (например, имя н т. п.). Заголовки всех активностей сгруппированы в список (INDEX). К каждому заголовку в свою очередь присоединена соответствующая цепочка алгоритмов (ADG), занимающая часть области памяти (ADA). Запоминаются только имена алгоритмов. Коды программы хранятся в центральной библиотеке. Данные, необходимые для выполнения алгоритма, запоминаются за именем алгоритма в специальном блоке (ALG DATA). Условия выполнения активности (выбранная частота включения, выполнение заданной комбинации внешних условий) расположены в первом блоке ALQ DATA в цепочке, называемой входным списком (Input DaTa List). Проверку этих условий и реализацию последовательного выполнения алгоритмов осуществляет программа EXECUTOR. Она проверяет каждый заголовок в индексе определяет, должен ли он быть введен. После завершения проверки по каждому заголовку начинается выполнение активностей согласно сход приоритетов. Выбрав первую активность на выполнение, EXECUTOR проверяет цепочку алгоритмов» идентифицирует 1-й алгоритм, располагает в определенном порядке необходимые данные» выполняет алгоритм и продолжает просмотр цепочки. Этот процесс ведется непрерывно либо до конца (активности), либо, в зависимости от функции, которую эта активность представляет, до достижения некоторой естественной точки прерывание, например, ожидания внешнего события. В этом случае вводится следующая активность. В процессе вычислений активность использует данные, снимаемые с реального объекта. Кроме того, активности могут сами генерировать данные. EXECUTOR обрабатывает два вида списков данных: список входных данных IDL (Input Data List) и список выходных данных ODL. Обслуживание аппаратуры (PROCESS INTERFACE) осуществляют соответствующие драйверы (Input — Output Drivers).
Проверку и модификацию данных систем управления технологическими процессами осуществляет INSPECTOR, служащей интерфейсом между аппаратурой оператора (OPERATOR INTERFACE) я системными данными.
Большинство данных в P.MS систем управления технологическими процессами идентифицируется ссылками на активность, а затем, с помощью параметров, внутри активности. Исключением являются данные, запоминаемые в фиксированных списках IDL и ODL. Точно определив элемент данных, достаточно просто расширить свойства системы, изменяя системные параметры н другие данные в процессе функционирования. Изменение структуры системы посредством создания новых активностей (либо модификации существующих) реализуется программой CONSTRUCTOR. Эта программа получает ряд инструкций от оператора или с некоторого носителя [(Construction Incstructions), идентифицирует тип создаваемой активности, 'ее алгоритм, взаимосвязи и данные я выдает заголовок активности я цепочку алгоритмов. Инструкции для CONSTRUCTOR пишутся на языке PML.
Генератор программного обеспечения автоматизированных систем, автономный (ГПО-А) является генератором программ с табличным входным языком, формирующим программы на языке ФОРТРАН М-6000 из набора унифицированных программных модулей. В качестве модулей можно использовать программы на языке ФОРТРАН (версии I и IV) и подпрограммы на мнемокоде и АЛГОЛе, допускающие обращение из программ, написанных на Фортране. Технологические функции, охватываемые системой, определяются составом библиотеки программных модулей. Процесс генерации протекает в три этапа. Вначале задачи, заданные пользователем на уровне модулей, преобразуются в задачи для операционной системы. Затем распределяется общая область памяти. На заключительном этапе осуществляется компоновка задач в соответствии с требованиями языка ФОРТРАН и операционной системы реального времени. Сгенерированный текст выводится на перфоленту в символьном формате, Концепция системы предполагает, что библиотека унифицированных программных модулей готовится пользователями. При этом каждый из них должен быть параметризован, т. е. должны быть выделены все константы и переменные, с помощью которых модуль можно настроить на конкретные входные и выходные данные, вариант алгоритма и операционную систему. Параметры описываются в паспорте модуля, в котором также указывается язык программирования, затраты времени на однократное исполнение, описание формальных параметров, внутренних переменных и пр.
Конкретная программа пользователя компонуется в виде нескольких подсистем, каждая из которых содержит одну или несколько задач. Отдельная задача представляется в виде совокупности модулей. Взаимодействие модулей внутри задачи и связи между задачами и подсистемами описываются с помощью таблиц, заполняемых пользователем.
Пакеты программных модулей автоматизированных систем АСПО. Кроме основного пакета-модулей, предназначенного для создания операционных систем, в АСПО входят также другие пакеты модулей. Пакеты можно условно разделить на четыре группы: пакеты для компоновки специализированных программных систем; библиотеки общего назначения; проблемно-ориентированные пакеты программных модулей; пакет системы подготовки программ. В основе пакетов лежит использование библиотек макроопределений и стандартных подпрограмм. Генерацию осуществляет макрогенератор.
Пакеты для компоновки специализированных программных систем. Из разрабатываемых в рамках АСПО пакетов модулей этой группы необходимо выделить пакеты программных модулей для выполнения следующих функций: компоновки систем управления файлами; работы с графической информацией; работы с линиями связи; компоновки систем пакетной обработки; компоновки много пультовых систем; построения распределенных систем; контроля и диагностики вычислительного комплекса.
Библиотеки общего назначения. В этот пакет входят следующие библиотеки:
- системных макроопределений, содержащая макроопределения связи с операционными системами и макроопределения часто встречающихся макро- операций;
- программ для работы в реальном масштабе времени, которые обеспечивают ввод-вывод и обработку аналоговой и дискретной технологической информации;
- стандартных математических подпрограмм, состоящая из подпрограмм вычисления значений элементарных функций других вспомогательных подпрограмм;
- программ численного анализа, содержащая программы решения систем линейных алгебраических уравнений, систем дифференциальных уравнений, матричных вычислений и т. д.;
- программ обработки статистической информации;
- программ сортировки-слияния массивов информации.
Проблемно-ориентированные пакеты программных модулей систем управления технологическими процессами. В соответствии с основными областями использования вычислительных комплексов М-7000 АСВТ-М в первую очередь разрабатываются пакеты программ для систем управления технологическими процессами, автоматизации научного эксперимента, информационно-поисковых систем, систем обработки и коммутации сообщений.
Пакет программных модулей для компоновки систем управления технологическими процессами позволяет автоматизировать подготовку программ сбора, первичной обработки информации и управления технологическими процессами. Содержащийся в пакете набор макроопределений позволяет на языке макрокоманд описывать источники аналоговой и дискретной информации и задавать обработку для каждой точки или группы точек. Для аналоговых датчиков можно указать расчет действительных значений, линеаризацию, согласование, введение поправок по температуре и давлению, требуемый контроль за ходом технологического процесса и т. д.
Дальнейшее развитие автоматизации проектирования ПО АСУ ТП должно обеспечить решение следующих открытых задач:
- Деление системы программ на части, обеспечивающие технологичность ее изготовления, документирования и эксплуатации систем управления технологическими процессами.
- Организация изготовления системы программ коллективом программистов, выработка принципов распараллеливания работ и окончательной сборки программного продукта.
- Прием результатов работы каждого программиста, группы (бригады) и всего коллектива.
- Оформление документации на составные части систем управления технологическими процессами и весь проект в целом. Связь документации на программный продукт с единой системой конструкторской документации.
- Изготовление избыточных программных систем, устойчивых (некритичных) к ошибкам, не выявленным на этапе проектирования, и допускающих их нейтрализацию в процессе эксплуатации.
- Принципы погружения разрабатываемой системы программ в существующее ПО на аппаратуру ЦВМ.
- Отладка программ систем управления технологическими процессами, средства и техника ее автоматизации. Доказательство правильности программ. Тестовая проверка программ. Построение диагностирующих тестов, определяющих место и характер ошибок в отлаживаемой программе.
- Совершенствование технической базы систем управления технологическими процессами, в том числе разработка архитектуры ЦВМ, для которой существенно упрощается производство систем программ. Специализированные средства (технологическая оснастка) для повышения производительности труда программистов.
- Разработка системы документооборота систем управления технологическими процессами, обеспечивающей формализацию отношений между исполнителями, заказчиком и пользователем. Сбор и обработка статистического материала для промышленных программных систем. Разработка системы нормирования труда программистов.
- Социальные аспекты: оплата труда, обучение, патентно-лицензионное право и т. д.