Организационные блоки

В различных режимах работы ПЛК могут вызываться разные организационные блоки. Для задания одного из режимов предназначены кнопки “РЕЖИМ” и “ПУСК” на передней панели МЦП. Режимы работы ПЛК:

§ СТОП - индикация “Р0”;

§ ТЕСТ - индикация “Р1”;

§ РАБОТА - индикация “Р2”;

§ РЕСТАРТ/РАБОТА - индикация “Р3”;

§ ДИАГНОСТИКА - индикация “Р4”;

Переключение режима работы производится в два этапа:

- нажатием кнопки “РЕЖИМ” выбирается необходимый режим работы; при этом режим, в котором находится контроллер, индицируется на цифровом индикаторе постоянным свечением, другие режимы - мигающим;

- нажатием кнопки “ПУСК” запускается выбранный режим.

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

1) Блок OB0 - при отсутствии не обрабатывается. При переходе контроллера в состояние останова - в режим СТОП (Р0) или в режим ДИАГНОСТИКА (Р4) вызывается блок OB0. В блоке OB0 может быть запрограммирована, например, установка в исходное состояние (или обнуление) каналов модулей цифроаналогового преобразователя, каналов модулей управления электроприводами и т. п. При переходе в состояние останова модуль контроля и управления отключает каналы дискретного выхода, и при выполнении программы в OB0 обработка входов/выходов и таймеров не производится.

2) Блок OB1 (см. п.3) – блок циклической обработки программы пользователя - при отсутствии не обрабатывается. Циклическое выполнение программы начинается с первой команды, запрограммированной в OB1, и заканчивается выполнением команды BE. Потом выполняется системная программа сканирования модулей ввода/вывода и управление вновь передается на на первую команду OB1, и т.д. При этом запрограммированная в OB1 последовательность вызовов программных и функциональных блоков определяет последовательность обработки структурных частей программы пользователя.

3) Блоки OB2...OB9 - блоки, обрабатываемые по изменению входа (обработка по сообщению). Организационные блоки OB2...OB9 вызываются при изменении состояния соответствующего входа младшего байта входов. Если одновременно изменяются несколько из этих входов, то система приоритетно обрабатывает сначала блок с меньшим номером, затем блок с большим номером (см. табл. 4.1). Команды AS и AF позволяют соответственно блокировать или деблокировать обработку по сообщению. По умолчанию после включения контроллера обработка по сообщению блокирована.

Таблица 4.1: Организационные блоки, вызываемые по сообщению.

Организационный блок Вход Приоритет обработки Примечание
OB2 E x.0 Высший x – номер младшего байта модуля ввода, установленного в центральном корпусе. Вызываются на границе обработки блоков (см. далее).
OB3 E x.1  
OB4 E x.2  
OB5 E x.3  
OB6 E x.4  
OB7 E x.5  
OB8 E x.6  
OB9 E x.7 Низший

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

4) Блоки OB10...OB18 - обработка по времени. Организационные блоки OB10...OB18 вызываются через интервал времени, указанный в табл. 4.2. Время обработки блока OB10...OB18 не должно превышать значения интервала времени между вызовами. Система приоритетно обрабатывает сначала блок с меньшим номером, затем блок с большим номером.

Таблица 4.2: Организационные блоки, вызываемые по времени.

Организационный блок Интервал времени между вызовами, с Приоритет обработки Примечание
OB10 0,02 высший Вызываются на границе обработки блоков (см. далее).
OB11 0,05  
OB12 0,1  
OB13 0,2  
OB14 0,5  
OB15    
OB16    
OB17    
OB18   низший

5) Блок OB19 - вызов отсутствующего блока - при отсутствии блока OB19 контроллер переходит в режим ДИАГНОСТИКА (Р4). Блок OB19 вызывается при обращении из программы пользователя к программному, функциональному или организационному блоку, отсутствующему в памяти контроллера. При вызове OB19 в словный аккумулятор RW1 загружается номер отсутствующего блока: в старший байт аккумулятора RW1 загружается тип отсутствующего блока (0 - OB; 1- РВ; 2- FB; 3- DB), в младший байт RW1 - номер блока от 0 до 31.

6) Блок OB20 - начальный пуск контроллера - при отсутствии не обрабатывается. Блок OB20 обрабатывается один раз в момент пуска в режим РАБОТА (Р2) с кнопок на передней панели МЦП либо в момент пуска после включения при отсутствии OB22. При этом выполняется функция начального пуска, т.е. обнуление отображения входов/выходов, таймеров, счётчиков, меток, регистрация всех установленных и исправных модулей ввода/вывода. Затем вызывается, если запрограммирован, организационный блок OB20, и после его отработки начинается циклическая отработка программы пользователя путем вызова организационного блока OB1 (если он есть).

7) Блок OB21 - ручной повторный пуск - при отсутствии не обрабатывается. Функцию ручного повторного пуска можно реализовать, переключив контроллер кнопками на передней панели процессорного модуля после останова в режим РЕСТАРТ/РАБОТА (РЗ). При этом вызывается, если запрограммирован, организационный блок OB21, а затем продолжается выполнение программы пользователя с прерванного остановом (командой STP) или выключением места. При этом отображение входов/выходов, счётчики, метки, таймеры не обнуляются.

8) Блок OB22 - автоматический повторный пуск - при отсутствии OB22 после включения производится запуск в режим Р2. Если запрограммирован организационный блок OB22, то после включения и инициализации аппаратных узлов контроллера проверяется сохранность программы пользователя, данных пользователя (отображение входов/выходов, метки, таймеры, счётчики). Если программа и данные сохранены, то вызывается и выполняется организационный блок OB22, и затем продолжается выполнение программы пользователя с прерванного перед выключением места. При этом отображение входов/выходов, счётчики, метки, таймеры не обнуляются, сохраняя предшествующее выключению состояние. В OB22 достаточно запрограммировать только BE.

9) Блок OB23 - возникновение ошибок в модулях ввода/вывода - при отсутствии OB23 контроллер переходит в режим ДИАГНОСТИКА (Р4). Блок ОВ23 вызывается при появлении ошибки при сканировании модулей ввода/вывода или при обнаружении неисправности этих модулей. При вызове OB23 в словный аккумулятор RW1 загружается номер байта входа (выхода), в котором обнаружена ошибка (в старший байт аккумулятора RW1 загружается номер каркаса, в младший байт RW1 - номер байта входов/выходов).

10) Блок OB24 - возникновение ошибок в каналах связи с блоками расширения - при отсутствии OB24 контроллер переходит в режим ДИАГНОСТИКА (Р4). Блок ОВ24 вызывается при возникновении ошибок в межблочном канапе связи с контроллером расширения С300.02. При вызове ОВ24 в словный аккумулятор RW1 загружается номер того блока расширения, при связи с которым зафиксирована ошибка.

11) Блок OB26 - превышение максимально допустимой длительности цикла обработки программы - при отсутствии OB26 контроллер переходит в режим ДИАГНОСТИКА (Р4). Блок OB26 вызывается при превышении длительности цикла отработки программы. В длительность цикла входит время на вызов и обработку блока OB1, вызов и обработку программных и функциональных блоков, вызываемых из блока OB1, а также время обработки всех организационных блоков с управлением по времени, сообщению или ошибке, обработанных в этом цикле до обработки команды конца блока BE в OB1. После выполнения блока OB26 процессор возвращается к выполнению основной программы с прерванного места. По умолчанию время контроля длительности цикла обработки программы пользователя составляет 100 мс. Для изменения времени контроля применяется специальная команда TS. Дискретность уставки – 1 мс. Максимальное значение уставки – 64 с.

12) Блоки OB41, OB44, OB45 - обработка прерываний с ЦИ от модулей расширенной периферии - при отсутствии не обрабатываются. Блоки OB41, OB44 и OB45 прерывают обработку других блоков сразу же, как только возникает соответствующее прерывание (см. табл. 4.3). С помощью этих блоков возможна обработка модулей специальной обработки.

Таблица 4.3: Блоки обработки прерываний.

Организационный блок Прерывание Источник прерывания Приоритет обработки
OB41 INT1 контакт B16 центрального интерфейса высший
OB44 INT4 контакт C14 центрального интерфейса  
OB42 INT5 контакт B14 центрального интерфейса низший

13) Блоки OB46 и OB47 - обработка последовательного канала связи “ЭВМ” - при отсутствии OB46 и OB47 прерывания обрабатываются системной программой, реализующей протокол С300. Использование блоков OB46 и OB47 позволяет реализовать другие протоколы связи.

Таблица 4.4: Блоки приёмников последовательных каналов.

Организационный блок Источник прерывания Приоритет обработки
OB46 приёмник канала “ЭВМ” высший
OB47 передатчик канала “ЭВМ” низший

14) Блок OB50 - при отсутствии не обрабатывается. Блок OB50 вызывается при запуске контроллера после включения перед определением конфигурации ММС и блоков расширения (БР). Использование блока OB50 позволяет задать время ожидания установления связи ММС и БР и скорости связи ММС и БР. Эти установки можно изменить, используя блок FB144 из стандартной библиотеки IV.LIB, входящей в комплект поставки системы программирования “ИНТЕРВЬЮ”.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: