ЭВМ для управления в реальном времени (Глава 13 книги "Роботы и автоматизация производства"), страница 13

Нами исследованы некоторые соображения о приоритетах в случае возникновения аварийной ситуации; теперь остановимся на противоположной проблеме: предположим, что ЭВМ обслужила все прерывания и простаивает! Такое положение должно быть нормой для ЭВМ, функционирующей в реальном времени, поскольку в случае возникновения непредвиденной неисправности у ЭВМ должно быть достаточно времени для обслуживания соответствующих программ прерывания. Существуют два пути решения этой, проблемы, связанной с постоянной загрузкой ЭВМ:

1. Фоновая обработка данных в пакетном режиме.

2. Холостая отработка программ.

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

Возможно, что больший интерес представляет собой холостая отработка программ. Эта концепция является наиболее трудной для восприятия программистами, имеющими опыт обычного программирования в пакетном режиме. Рассмотрим следующий сегмент программы, представленной на языке Фортран:

С TWIDDLE THUMBS

12 GO TO 13

13 GO TO 12

или на языке Бейсик:

12 GOTO 13 : REM TWIDDLE     

13 GOTO 12 : REM THUMBS.

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

13.5. ПРОГРАММИРОВАНИЕ УПРАВЛЯЮЩЕЙ ЭВМ

Здесь читатель должен понимать, что существуют некоторые различия между программированием управляющей ЭВМ в реальном времени и обычным программированием в режиме пакетной обработки. Однако возможно программирование на тех же самых или аналогичных простых языках компилятора. Вместо языка Фортран может применяться язык Process Фортран, вместо языка Бейсик возможно применение языка Power Бейсик. Вместо языка ассемблера может быть использован язык ПАЛ (Process Assembly Language). При использовании языка любого типа должны быть в наличии средства на этом языке, обеспечивающие распознавание (или запрет) параметров технологического процесса и/или прерываний в реальном времени. Такой язык должен также обеспечить прием и обработку входных сигналов от датчиков производственного оборудования и выдачу соответствующих выходных сигналов. Требования к высокой эффективности реализации программ и необходимость обработки последних в двоичных кодах обусловливают предпочтительный выбор языков ассемблера для многих случаев применения, хотя наряду с языками ассемблера также применяются языки компилятора.

Рис. 13.13

Структурная схема алгоритма управления процессом по программе в реальном времени с помощью ЭВМ

На рис. 13.13 изображена схема алгоритма программы, реализованной на ЭВМ. Эта программа является частью системы программного обеспечения, предназначенного для контроля в реальном времени технологических параметров. Назначение алгоритма, структурная схема которого представлена на рис. 13.13, состоит в считывании усредненных значений параметра путем квантования в реальном времени. Другой функцией такой программы является аварийная сигнализация при перегрузке путем индикации с помощью аналоговых приборов. Перегрузка устанавливается при превышении измеряемым сигналом уставки.