О пакете программных модулей для компоновки диалоговых многозадачных систем автоматизации
Автоматизация технологических процессов представляет собой комплекс настраиваемых и постоянных программных модулей, из которых путем генерации и компоновки создаются реальные версии диалоговых много заданных систем реального времени, настроенных на конкретный управляющий вычислительный комплекс (УВК). ДМСРВ предназначены для выполнения в режиме интерпретации в реальном масштабе времени программ, составленных в диалоговом режиме на языке БЕЙСИК-РВ, являющемся расширенной версией языка БЕЙСИК.
Условия запуска задачи, а также приоритеты задач устанавливаются в процессе выполнения и могут динамически изменяться.
ДМСРВ систем управления технологическими процессами состоит из трех основных частей: интерпретирующей системы, диспетчера задач и управляющей программы ОС систем автоматизации. Интерпретирующая система и диспетчер задач ДМСРВ работают под управлением программы ОС реального времени АСПО.
Управление работой системы осуществляется через монитор. Монитор вводит и обрабатывает команды оператора, с помощью которых запускаются в работу остальные части системы. Через монитор осуществляется связь с ОС систем автоматизации и выполняются все операции ввода-вывода информации.
Транслятор осуществляет обработку операторов языка БЕЙСИК-РВ, в результате которой преобразует исходную программу во внутреннюю программу, пригодную для интерпретации.
Ретранслятор выполняет обратное преобразование — из внутренней программы восстанавливает ее исходную форму. Редактор выполняет запись, вставку, вычеркивание и замену оператора во внутренней программе.
Компилятор переводит внутреннюю программу в язык компоновщика программ, т. е. в перемещаемый формат в машинных кодах. Полученная программа перед выполнением должна быть обработана компоновщиком программ. Интерпретатор выполняет внутреннюю программу оператор за оператором. В процессе выполнения внутренней программы интерпретатор осуществляет связь с диспетчером задач, а именно с основным диспетчером.
Диспетчер задач управляет порядком выполнения задач. Задачи могут быть запущены на выполнение по времени либо по внешнему событию (прерыванию).
Запуском задач по времени управляет диспетчер реального времени. Он ведет учет реального времени и активизирует те задачи, время выполнение которых пришло.
Диспетчер внешних прерываний обрабатывает прерывание от внешних инициативных источников и активизирует задачи, связанные с этими источниками внешних прерываний.
Основной диспетчер получает управление от интерпретатора после выполнения очередного оператора текущей задачи, выбирает из числа активных задач старшую по приоритету и сравнивает ее приоритет с приоритетом выполняющейся задачи. Если приоритет выполняющейся задачи выше, диспетчер дает указание интерпретатору продолжить ее выполнение. В противном случае диспетчер передает интерпретатору номер задачи, которую тот и начинает выполнять.
Ввод исходной программы, редактирование ее, трансляция во внутреннюю форму, компиляция и ретрансляция осуществляются не в реальном масштабе времени (это основной поток обработки программы).
Дополнительный поток обработки программы включает перевод внутренней программы в перемещаемый формат с помощью компилятора. Полученная в результате перемещаемая программа выполняется вне ДМСРВ систем автоматизации. Выполнение внутренней программы осуществляется в реальном масштабе времени.
Создание ДМСРВ систем управления технологическими процессами происходит в два этапа. На первом этапе с помощью макрогенератора, транслятора с мнемокода и компоновщика программ генерируется операционная система реального времени АСПО систем автоматизации. На втором этапе производится генерация и компоновка ДМСРВ. Управление работой ДМСРВ осуществляется с помощью команд, вводимых с пультов оператора.
Автоматизированная система испытания программного обеспечения систем реального времени систем автоматизации (ACM ПО СРВ) решает задачу моделирования внешних сигналов управляемого процесса; генерирует тестовые наборы данных, характер поступления которых задается пользователем; измеряет временные характеристики выполнении поданных программных структур; обеспечивает диагностику состояния системы прерываний; интерпретирует выдачу управляющей информации каналам связи. Основной задачей, решаемой АСИ ПО СРВ систем управления технологическими процессами, является задачи динамического комплексного испытания ПО СРВ систем управления технологическими процессами, вторая включает в себя следующие этапы; проверку начального режима включения системы управления и режиме отсутствия внешних сигналов; логики взаимодействия программных структур в динамическом режиме и меняющемся потоке исходных данных; проверку и фиксацию аварийных ситуаций работы по управлению системой прерывании; проверку взаимодействия программных структур в режиме искажения и перегрузок в процессе моделируемого поступления внешних заявок; регистрацию и вычисление временных характеристик ПО, связанных с реакцией ив управляющее воздействие; автоматическое подключение тестов при известных условиях их формирования; индикацию выходных значений, эквивалентных управляющим воздействиям системы управления, дифференцированных по каналам связи (интерфейсным картам); проверку устойчивости ПО формированием некорректных в алгоритмическом смысле входных воздействий. Таким образом, основные этапы задачи динамического испытания ПО СРВ систем управления технологическими процессами заключаются в уточнении взаимодействия алгоритмов в реальном масштабе времени в уточнении автономного решения задач функциональными алгоритмами при реальных характеристиках в условиях функционирования внешних абонентов.
В системе использованы методы моделирования сигналов объекта управления; тестирования ПО программируемых логических контроллеров (ПЛК) созданием аппарата генерирования тестовых, последовательностей; построения измерительных систем. При моделировании сигналов объекта управления пользователь может обратиться к стандартным процедурам для реализации различных законов поступления заявок (инициативных сигналов) от объекта управления, а также создать оригинальные модуля, описывающие характер функционирования объекта управления. Для выполнения процедуры тестирования на информационный вход подают определенный набор данных, указывая время или условия начала запуска теста. Под управлением супервизора реализована измерительная система, основанная на использовании метода выборок, который заключается в следующем. Для проведения режима измерений супервизор использует аппаратный таймер. В процессе выполнения исследуемой программы в представляющих интерес точках с помощью программных «ловушек» осуществляется перехват и производятся вычисления, связанные с отмеченными показателями таймера. Для осуществления перехвата используется метод интерпретации, который заключается в том, что сбор данных о характеристиках и структурах исследуемых программ осуществляется посредством перехвата определенных команд, помещения их в отдельные ячейки, восстановления результата предыдущего действия в случае необходимости и выполнения действий интерпретации по виду перехваченной команды. ПО СРВ систем управления технологическими процессами можно разделять на десять основных блоков.
Блок перехвата систем управления служит для организации процесса регистрации прохождения вычислительного процесса через контрольные точки в ПО СРВ систем автоматизации. Для выполнения перехвата в указанные точки предварительно помещают команды обращения к подпрограммам супервизора. По приходу в указанные точки вычислительного процесса во время сеанса испытания управление передается соответствующему блоку супервизора, где определяется функциональный набор перехваченной команды, затем управление возвращается для продолжения исполнения программы. По существу, организация такой схемы соответствует программному прерыванию.
Интерпретатор команд ввода-вывода систем управления обеспечивает подстановку результатов выполнения этих команд в условиях моделирования информации, поступающей от объекта управления.
Блок контроля системы прерывания систем управления последовательно фиксирует выполнение всех команд управления масками и системой прерывания при исполнении ПО. Это достигается использованием техники перехвата и жесткой схемы организации прерывания на ЦВМ М-6000 АСВТ-М.
Блок управления таймером систем управления обеспечивает задание временных интервалов, истечение которых вызывает наступление ближайшего из планируемых событий.
Измерительная система параметров функционирования систем управления ПО СРВ систем автоматизации выполняет расчеты времени выполнения программных маршрутов испытываемого ПО, их накопление и выдачу на* устройство регистрации.
В генераторе прерываний систем управления реализуется процесс моделируемого поступления заявок от объекта управления по схеме заданной пользователем. Появление и организация воздействия прерывания максимально приближено к физической схеме наступления прерывания для этого класса программируемых логических контроллеров (ПЛК).
Имитатор входной информации выполняет загрузку тестовых наборов данных, задаваемых различными способами в моменты времени, соответствующие съему информации, появляющейся в каналах связи с объектом управления.
Блок диагностики ошибок систем управления работает на различных этапах совместного функционирования программы и ПО пользователя. Индексация ошибок отображается на пульте оператора.
Блок приема и обработки информации систем управления осуществляет’ интерактивное взаимодействие на этапе ввода параметров испытания. Эти параметры представляют собой значения контрольных точек, маршрутов реализации (задаваемых в терминах истинных адресов памяти), а также границы ПО систем управления технологическими процессами, в рамках которых осуществляется процесс испытаний.
Блок приема и обработки информации на этапе ввода и вывода информации отображает данные по фиксированному формату с указанием (при выводе) номеров интерфейсных карт и времени наступления процедуры ввода- вывода.
АСИ ПО СРВ систем управления технологическими процессами реализована на языке ассемблера для класса управляющих программируемых логических контроллеров (ПЛК). Объем памяти без учета тестовых наборов составляет приблизительно 5 К 16-разрядных слов. Одновременно допускаются: идентификация и регистрации 100 точек ПО за один сеанс испытания; имитация управляющих воздействий по интерфейсным картам в диапазоне 20—77 карт. Проведение испытания вносит потери в реальном масштабе времени, которые при наличии 100 точек перехвата составляют 5 %.