Структурированная программа пользователя

Минимальное время цикла

Максимальное время цикла

Время цикла

Возможности прерывания

Прерывание

Циклическое выполнение программы может перерываться определенными событиями. Если возникает такое событие, то блок, который обрабатывается в данный момент, перерывается на границе команды и начинается обработка другого организационного блока, который подчинен данному событию. После этого продолжается обработка основной программы из прерванного места.

Вместе с тем существует возможность, те части программы пользователя, которые не должны обрабатываться циклически, обрабатывать только при необходимости. Программа пользователя может быть разделена на части и на разные организационные блоки. Если программа пользователя должна реагировать на важные сигналы, которые возникают относительно редко (например сигнал о полном заполнении резервуара), может часть программы, которая должна обрабатываться, если поступает сигнал, помещаться в организационный блок, который выполняется по событию.

Циклическая выполнение программы, может быть прервано через:

– аварию

– команду СТОП (переключатель режимов работы на CPU)

– исчезновение напряжения сети

– появление аппаратных или программных ошибок

Время цикла – это время, которое необходимо операционной системе для обработки циклических программ а также всех это цикл прерывающих частей программ (например, выполнение других организационных блоков) и работы системы (например обновление отображения процессов). Это время контролируется. Время цикла не является одинаковым для каждого цикла.

Пользователь может изменять установленное максимальное время цикла. Если это время превышено, центральный процессор переходит в положения СТОП, или вызывает организационный блок ОВ 80, в котором определен, как должен реагировать центральный процессор на временную ошибку.

Для некоторых CPU можно устанавливать минимальное время цикла. Это рационально, если например, промежутки между запусками обработки программы OB 1 (свободные циклы) должны быть одинаковой длины.

Если задача автоматизации сложная, она разделяется на более мелкие задачи, которые могут быть использованы неоднократно. Алгоритмы решения этих задач программируются в логических блоках. Порядок и вложение вызовов блоков называется иерархией вызовов.

Рисунок 3.3 – Иерархия вызовов

Контрольные вопросы

1. Дайте классификацию ПО, применяемого на различных уровнях АСУТП.

2. Перечислите особенности ОСРВ.

3. Дайте характеристику наиболее распространенным ОСРВ и ОС общего назначения, применяемым в АСУ ТП.

4. Дайте классификацию и перечислите особенности прикладного ПО.

5. Что такое CASE-инструментарий? Дайте примеры соответствующего ПО. На каких стандартах оно основывается?

6. Каковы функции операционной системы ПЛК?

7. Каковы функции программы пользователя ПЛК?

8. Перечислите блоки программы пользователя и дайте им характеристику.

9. Как реализуется циклическая обработка программы пользователя?

10. Как обрабатываются прерывания в программе пользователя?

11. В чем задача таблиц отображения входов и выходов?