Фазы циклической обработки программы
Пользовательская программа, записанная в ОВ1, составляется из функциональных блоков, которые работают с текущими значениями входов и формируют текущие значения выходов. Для того, чтобы во время циклической обработки программы иметь непротиворечивый образ сигналов процесса, CPU обращается не непосредственно к периферийным входам (РI) и выходов (РQ) на модулях ввода/вывода, а к области внутренней памяти CPU, которая содержит образ входов (I) и выходов (Q).
Циклическая обработка программы включает в себя следующие фазы:
1. Операционная система запускает время контроля цикла.
2. CPU переписывает значения выходов (в модулях вывода) из таблицы образа выходов процесса.
3. CPU считывает состояния входов (в модулях ввода) и записывает их в таблицу образа входов процесса.
4. CPU выполняет программу пользователя.
5. Операционная система выполняет задачи, которые ждут своей очереди (фоновый режим).
6. CPU перезапускает время контроля цикла и начинает новый цикл.
Циклическая обработка программы может быть прервана в результате подачи команды STOP, выхода из строя питания, а также возникновения других неисправностей или ошибки в программе.
Время выполнения цикла
Время выполнения цикла – это время, необходимое операционной системе для выполнения циклической программы и системных операций, например, прерываний.
Время выполнения цикла ТС не одинаково в каждом цикле. На рисунке 1.2 показан случай увеличения времени выполнения цикла CPU. Здесь время выполнения цикла ТС_1 больше времени цикла ТС_2 из-за прерывания по времени дня, которое выполняется организационным блоком ОВ10.
Рисунок 1.2 – Возникновение разного времени выполнения циклов CPU
С помощью STEP 7 можно задавать максимальное и минимальное время цикла. Если пройдет максимальное время цикла, то в CPU возможны две процедуры: или он переходит в режим STOP, или будет вызван блок ОВ80, чтобы определить, как CPU должен реагировать на такую ошибку.
Если время рабочего цикла должно быть одинаковым, например, в задачах регулирования, то следует установить минимальную продолжительность цикла. Различие между максимальным и минимальным временем будет представлять собой резерв для обслуживания прерываний и фоновых задач.
Дата добавления: 2016-12-09; просмотров: 2869;