О пакете программных модулей генерации задач сбора и обработки информации в АСУ ТП
Назначение и возможности пакета программ для систем автоматики. Пакет представляет собой набор программ, на базе которых могут быть созданы информационные системы сбора, первичной обработки и индикации данных, а также системы централизованного контроля.
Функциональные свойства пакета позволяют осуществлять:
- ввод информации от аналоговых, числоимпульсных, дискретных и кодовых сигналов систем автоматики с периодами сканирования от 100 мс до 8 ч;
- инициативный ввод информации от дискретных и число импульсных датчиков систем автоматики;
- обработку введенной информации систем автоматики;
- связь оператора с системой и вывод оперативных сообщений о ходе технологического процесса систем автоматики.
Программы пакета могут выполнять следующую стандартную обработку измеренных значений аналоговых сигналов:
- линеаризацию и масштабирование результатов измерений систем автоматики;
- компенсацию влияния температуры свободных концов термопар систем автоматики;
- контроль измеряемых значений параметров на достоверность;
- введение поправок по давлению и температуре к расходам газовых потоков систем автоматики;
- фильтрацию измеренных значений систем автоматики;
- технологический контроль измеренных значений на соответствие заданным регламентным или аварийным границам и скорости изменения параметров технологического процесса систем автоматики;
- усреднение измеренных значений параметров систем автоматики.
Пакет программ позволяет осуществлять накопление импульсов oт числоимпульсных датчиков и периодическое обновление счетчиков систем автоматики.
Связь с технологом систем автоматики посредством пакета осуществляется на основе следующих функций:
- выдачи сообщений о нарушении технологического процесса на печать, пульт технолога-оператора и мнемосхему систем автоматики;
- контроля за ходом технологического процесса посредством команд, вводимых с дисплея ДМ-500 или ДМ-2000 (пульт технолога) систем автоматики;
- регистрации тенденций изменения технологических параметров на самопишущих приборах систем автоматики.
Пакет программ реализован на основе принципа «заполни пустые места».
Язык описания систем сбора и обработки технологической информации. Язык описания систем сбора и обработки информации пакета программ представляет собой набор макрокоманд систем автоматики, зафиксированных в библиотеке макроопределений генератора системы.
Задание на генерацию задач сбора и обработки информации. Сгенерированная задача систем автоматики должна обеспечивать:
- периодический сбор и обработку информации от аналоговых, числоимпульсных и дискретных датчиков систем автоматики (задача БЗДЧ1);
- ввод и обработку информации от датчиков инициативных сигналов систем автоматики (задача БЗДЧ2);
- обмен информацией между технологом- оператором и системой по инициативе оператора систем автоматики (задачи ЗГПГО и ПОИСК);
- обработку сообщений о нарушениях заданных, возможных, аварийных и регламентных границ (задача НАРУШ);
- вывод сообщений о нарушениях на мнемосхему систем автоматики (задача МНСХ);
- периодическую подготовку к печати и печать заданных групп параметров систем автоматики (задача РПРТ).
Прикладное программирование no pacширению функциональных возможностей пакета программ сбора и обработки технологической информации АСУ ТП
Пакет программных модулей допускает расширения возможностей на уровнях:
создания задач оптимального диспетчерского управления, расчета технико-экономических показателей систем автоматики и т. п.;
разработки дополнительных программ обработки аналоговой, числоимпульсной и дискретной информации.
Для реализации расширения функций системы рекомендуется язык ФОРТРАН.
Интерфейсные подпрограммы системы охватывают следующие основные функции:
запуск задач систем автоматики в указанное время CALL TRNON (I, J, К);
запуск задачи систем автоматики после указанной задержки CALL START (I, J, К, М);
задержку выполнения вызывающей программы систем автоматики на заданное время суток CALL' WAIT (I, J, К);
последовательный опрос аналоговых датчиков систем автоматики CALL AISC (I, J, К, М, LU);
произвольный опрос аналоговых датчиков систем автоматики CALL AIRD (II, Л, Kl, М, LU);
вывод аналоговых сигналов систем автоматики CALL АО (И, Л, Kl, М, LU);
опрос дискретных датчиков систем автоматики CALL DI (И, Л, Kl, М, LU);
вывод импульсных сигналов систем автоматики CALL DOM (И, Л, Kl, М, N, LU);
вывод дискретных сигналов систем автоматики CALL DOL (И, Л, Kl, М, N, LU);
обработку битовых строк; связь с базой данных системы посредством подпрограмм получения, текущего и нового значений DATA, GDATA— SDA- ТА; чтения текущих и средних значений групп параметров GGMOL.
В подпрограммах приняты следующие обозначения: I — номер задачи; J — время задержки запуска задачи; К — масштаб времени; М — завершение запроса; LU — логический номер устройства; И — число опрашиваемых датчиков; Л —массив адресов датчиков; К1 - массив предельных значений сигналов; N — длительность хранения значения.
Особенности проблемно-ориентированного языка ФОРТРАН ПЛК АСУ ТП
Структура ПЛК и повышение требования надежности технических средств АСУ ТП существенно влияют на конфигурацию проблемно-ориентированного языка ФОРТРАН.
Отечественные ПЛК (М-6000, М-7000, СМ-1, СМ-2 и др.) содержат в составе математического обеспечения трансляторы с языка, являющегося дополненной версией ФОРТРАН И.
Элементы языка ФОРТРАН.
Алфавит А языка являются множеством латинских букв, цифровых и специальных символов:
Во входном потоке данных могут быть использованы разделители l-j и, ограничители записи /, признак восьмеричного числа @, комментарии * *
Первым оператором программы систем автоматики, записанной на языке ФОРТРАН, должен быть управляющий оператор, определяющий вид оттранслированной программы, печать листингов исходной и результирующей программы:
Вывод программы для загрузки задается символом В, вывод листинга на ФОРТРАН - символом L; вывод листинга на мнемокоде — символом А.
Запись целых и вещественных констант подробно изложена в работе.
Восьмеричная константа содержит 1 — 6 цифр, за которыми следует символ В.
Определение типа переменных систем автоматики, их размерности, эквивалентности и арифметических выражений дано в работе.
Логические операции выполняются с помощью функций IAND (логическое И), IOR (логические ИЛИ), NOT (логическое НЕ).
Операторы присвоения, размерности, эквивалентности, безусловного перехода, цикла систем автоматики, продолжения, паузы, останова и конца программы не содержат отличий от стандарта языка ФОРТРАН. Отличия оператора описания общей памяти систем автоматики заключаются в возможности размещения данных лишь в одной непоименованной области. Семантика оператора заключается в вычислении арифметического выражения А. Операторы описания и вызова программ, подпрограмм, функций возврата и операторных функций систем автоматики соответствуют стандарту языка ФОРТРАН. В случае, если транслируются несколько подпрограмм, совместно используется оператор группового конца END. Операторы ввода-вывода имеют ряд существенных отличий. Программирование задач АСУ ТП, связано с управлением объектами в реальном времени, привело к необходимости расширения языка ФОРТРАН-созданию языка RT-FORTAN. Расширение заключается в следующем:
установление связей между внешними событиями, представленными посредством прерываний, и блоками кода пользователя;
-управление инициированием программ или частей программ в заданные временные интервалы;
- совмещение ввода-вывода и вычислений; динамическое присваивание приоритетов;
- логическое присваивание имен устройствам для облегчения доступа пользователю;
- постановка в очередь конфликтующих заявок на устройства ввода-вывода;
- передача файлов данных между ОЗУ и внешней памятью.
В языке RT-FORTRAN введены дополнительные по отношению к ФОРТРАНу служебные слова: CONNECT (связать), INTERRUPT (прервать), CLOCK (часы), TIMER (таймер), TEST (тест), PENDING (ожидающий решения), REQUEST (запрос), DEVICE (устройство), ATTACH (привязать), STATUS (состояние), SYSTEM'(система), SCHEDULE (расписание).
При записи вида CONNECT CLOCK SUBTIM (19, 03, 00, 20) подпрограмма SUB-TIM выполняется в 19 ч 03 мин 00 с, а затем будет вызываться каждые 20 с до отключения таймера систем автоматики.
Задание временного графика вызова подпрограммы можно выполнить также с помощью оператора CONNECT TIMER {имя подпрограммы)» «код единицы времени>, {начальный интервал>, {коэффициент для расчета последующих интервалов».
Совмещение ввода-вывода и вычислений управляется программистом систем автоматики. При этом стандартные операторы ФОРТРАНа выполняются последовательно, а после списка переменных оператора ввода записывается номер оператора, которому передается управление после завершения ввода, что избавляет программиста от постоянной проверки завершения ввода. Это же относится и к оператору вывода. Оператор TEST PENDING 200 заставляет передавать управление оператору № 200 непосредственно, когда завершен ввод.
Конфликтующие запросы на устройства ввода-вывода ставятся в очередь. Если программа требует исключительного использования устройства в некотором интервале времени, то выполняется привязка устройства оператором ATTACH.
Опрос системы с целью определения числа требований, находящихся в файле, выполняется оператором вида STATUS TABLE (VVOD, VREM). Операторы программы систем автоматики назначаются к исполнению оператором вида SCHEDULE 200 (к исполнению назначается оператор № 200). Передача массивов в буфер делается оператором CALL ARRAY «имя буфера), (размер массива), (имя массива).
На входы АЦП поступает 20 первичных значений, которые сравниваются с предельными значениями с помощью подпрограммы TREVOG, работающей каждые 30 с. Такая периодичность устанавливается блоком TIMER, возбуждаемым операционной системой. Блок TIMER планирует выполнение программы опроса с помощью оператора SCHEDULE. Приведенная ниже программа типична для АСУ ТП и может быть использована для получения периодической информации о состоянии объекта, для вычисления эффективности работы объекта, его оптимизации или для управления объектом.