Организационный блок прерывания статуса (OB55)Организационный блок прерываний статуса ОВ 55 доступен только для CPU с PDV1. Операционная система CPU вызывает ОВ55, если выполняется прерывание статуса от слота с ведомым устройством DPV1. Это происходит в случаях, когда компонент (модуль или стойка) из ведомых устройств DPV1 меняет свой рабочий режим, например, переходит от режима RUN к режиму STOP. Для получения подробной информации о событиях, вызывающих прерывание статуса, обратитесь к документации на DPV1 устройство. Таблица описывает временные переменные (TEMP) OB прерывания статуса. В качестве
имен переменных по умолчанию взяты
Получить полную дополнительную информацию по сообщениям прерывания, вызвав функцию SFB54 "RALRM" с OB55.
Организационный блок прерывания модификации (OB56)ОВ прерывания модификации (ОВ56) доступен только для CPU с PDV1. Операционная система CPU вызывает ОВ56, если выполняется прерывание модификации от слота с ведомым устройством DPV1. Это происходит в случаях, когда меняются параметры для слота ведомого устройства DPV1 (посредством локального или удаленного доступа). Для получения подробной информации о событиях, вызывающих прерывание статуса, обратитесь к документации на DPV1 устройства. Таблица описывает временные переменные (TEMP) OB прерывания модификации.
В качестве имен переменных по умолчанию взяты
Получить полную дополнительную информацию по сообщениям прерывания, вызвав функцию SFB54 "RALRM" с OB56.
Организационный блок прерывания производителя (OB57)Примечание Операционная система CPU вызывает ОВ57, если выполняется прерывание, определенное производителем устройства, от слота с ведомым устройством DPV1. Таблица ниже описывает временные переменные (TEMP) OB прерывания, определенного производителем. В качестве имен переменных по умолчанию взяты имена OB57.
Примечание Получить дополнительную полную информацию по прерываниям, можно вызвав функцию SFB54 "RALRM" с OB57.
Организационный блок мультипроцессорных прерываний (OB60)С помощью мультипроцессорного прерывания Вы можете обеспечить синхронную реакцию соответствующих CPU на событие при мультипроцессорной обработке. В отличи от аппаратных прерываний, запускаемых сигнальными модулями, мультипроцессорное прерывание может выдаваться только центральными процессорами. Принцип действия OB мультипроцессорных прерыванийМультипроцессорное прерывание инициируется вызовом SFC 35 .MP_ALM. При мультипроцессорной
обработке это приводит к синхронизированному старту OB60 на всех установленных
CPU данного шинного сегмента, если Вы не заблокировали OB60 (с помощью SFC
39 .DIS_IRT.) или не задержали его (с помощью SFC 41 .DIS_AIRT.). Если Вы
не загрузили OB 60 в CPU, то соответствующий CPU немедленно возвращается в
последний класс приоритета перед прерыванием и продолжает там обработку программы.
В однопроцессорном режиме и при использовании сегментированных стоек OB60
запускается только на том CPU, на котором Вы вызвали SFC35 "MP_ALM".
|
| Переменная | Тип | Описание |
|---|---|---|
| OB60_EV_CLASS | BYTE | Класс события и идентификаторы: B#16#11: прерывание активно |
| OB60_STRT_INF | BYTE | B#16#61: Мультипроцессорное прерывание запущено собственным
CPU B#16#62: Мультипроцессорное прерывание запущено другим CPU |
| OB60_PRIORITY | BYTE | Назначенный класс приоритета: по умолчанию 25 |
| OB60_OB_NUMBR | BYTE | Номер OB: 60 |
| OB60_RESERVED_1 | BYTE | Резерв |
| OB60_RESERVED_2 | BYTE | Резерв |
| OB60_JOB | INT | Идентификатор задания: входная переменная JOB SFC35 "MP_ALM" |
| OB60_RESERVED_3 | INT | Резерв |
| OB60_RESERVED_4 | INT | Резерв |
| OB60_DATE_TIME | DATE_AND_TIME | Дата и время, когда был вызван OB. |
Синхронное циклическое прерывание дает Вам возможность обеспечить синхронный запуск программ в цикле DP-периферии. ОВ61 выполняет роль интерфейсного ОВ для синхронного циклического прерывания TSAL1. Можно устанавить приоритетный класс для ОВ1 с номерами 0 (ОВ не выбран) и от 2 до 26.
Таблица ниже описывает переменные данного OB. В качестве имен переменных взяты имена по умолчанию OB61
| Переменная | Тип | Описание |
|---|---|---|
| OB61_EV_CLASS | BYTE | Класс события и идентификаторы: B#16#11: прерывание активно |
| OB61_STRT_INF | BYTE | B#16#64: требование запуска для OB61 |
| OB61_PRIORITY | BYTE | Назначенный класс приоритета: по умолчанию 25 |
| OB61_OB_NUMBR | BYTE | Номер OB: 61 |
| OB61_RESERVED_1 | BYTE | Резерв |
| OB61_RESERVED_2 | BYTE | Резерв |
| OB61_GC_VIOL | BOOL | GC-нарушение |
| OB61_FIRST | BOOL | Первый вызов после запуска или после режима STOP |
| OB61_MISSED_EXEC | BYTE | Число невыполненных запусков OB61 после последнего выполнения ОВ61 |
| OB61_DP_ID | BYTE | Идентификатор (ID) ведущего DP-устройства |
| OB61_RESERVED_3 | BYTE | Резерв |
| OB61_RESERVED_4 | BYTE | Резерв |
| OB61_RESERVED_5 | WORD | Резерв |
| OB61_DATE_TIME | DATE_AND_TIME | Дата и время вызова OB |
Операционная система H CPU вызывает OB70, когда имеет место потеря резервирования в PROFIBUS DP (например, когда происходит отказ шины активного ведущие DP-устройства или ошибка в интерфейсном модуле ведомых DP-устройств) или когда переключается активное ведущее устройство DP ведомых DP-устройств с подключенными входами/выходами. Если OB70 не запрограммирован и происходит стартовое событие, то CPU не переходит в состояние STOP. Если OB70 загружен и H-система находится в резервном режиме, то OB70 выполняется в обоих CPU. H-система остается в резервном режиме.
Таблица содержит временные переменные для Организационного блока ошибок входов/выходов. Выбранные имена переменных являются заданными по умолчанию именами OB70
| Переменная | Тип | Характеристика |
|---|---|---|
| OB70_EV_CLASS | BYTE | Класс события и идентификаторы: B#16#78: наступающее событие B#16#79: уходящее событие |
| OB70_FLT_ID | BYTE | Код ошибки (возможные значения): B#16#A2, B#16#A3 |
| OB70_PRIORITY | BYTE | Назначенный класс приоритета: по умолчанию 25 |
| OB70_OB_NUMBR | BYTE | Номер OB (70) |
| OB70_INFO_1 | WORD | Зависит от кода ошибки |
| OB70_INFO_2 | WORD | Зависит от кода ошибки |
| OB70_INFO_3 | WORD | Зависит от кода ошибки |
| OB70_RESERVED_1 | WORD | Резерв |
| OB80_DATE_TIME | DATE_AND_TIME | Дата и время, когда вызывался OB |
Следующая таблица показывает, какое событие привело к запуску OB70
| OB70_FLT_ID | Стартовое событие OB70 |
|---|---|
| B#16#A0 | Переключился резервный интерфейсный модуль DP вследствие отказа активного ведомые DP-устройства. |
| B#16#A1 | Переключился резервный интерфейсный модуль DP вследствие отказа активного ведущие DP-устройства. |
| B#16#A2 | Отказ пассивного ведущиго DP-устройства. |
| B#16#A3 | Отказ пассивного ведомого DP-устройства. |
| Коды ошибки B#16#A2 | ||
| OB70_INFO_1: | Логический базовый адрес неисправного ведущие DP-устройства | |
| OB70_INFO_2: | Резерв | |
| OB70_INFO_3: | Биты с 0 по 7: Биты с 8 по 15: |
Резерв Идентификатор master-системы DP неисправного ведущие DP-устройства |
| Коды ошибки B#16#A3 | ||
| OB70_INFO_1: | Логический базовый адрес ведущие DP-устройства | |
| OB70_INFO_2: | Биты с 0 по 14: Бит 15: |
Неисправное ведомое DP-устройство: Логический базовый адрес, если используется slave-устройство S7, либо диагностический адрес, если используется стандартное ведомое DP-устройство. Идентификация входов/выходов |
| OB70_INFO_3: | Биты с 0 по 7: Биты с 8 по 15: |
Номер станции DP Идентификатор master-системы DP |
Операционная система H CPU вызывает OB72, когда происходит одно из следующих событий
OB72 выполняется всеми CPU, которые находятся в режиме RUN или STARTUP, после соответствующего стартового события.
Следующая таблица содержит временные переменные OB ошибок резервирования CPU. Заданные по умолчанию имена OB72 были использованы как имена переменных.
| Переменная | Тип | Характеристика |
|---|---|---|
| OB72_EV_CLASS | BYTE | Класс события и идентификаторы: B#16#73, B#16#75, B#16#79, B#16#78 |
| OB72_FLT_ID | BYTE | Код ошибки (возможные значения: B#16#01, B#16#02, B#16#03, B#16#20, B#16#21, B#16#22, B#16#23, B#16#31, B#16#33, B#16#34, B#16#35, B#16#40, B#16#41, B#16#42, B#16#43, B#16#44, B#16#50, B#16#51, B#16#52, B#16#53, B#16#54, B#16#55, B#16#56, B#16#C1) |
| OB72_PRIORITY | BYTE | Назначенный класс приоритета: значение по умолчанию 28 |
| OB72_OB_NUMBR | BYTE | Номер OB (72) |
| OB72_INFO_1 | WORD | (Не имеет значения для пользователя) |
| OB72_INFO_2 | WORD | (Не имеет значения для пользователя) |
| OB72_INFO_3 | WORD | (Не имеет значения для пользователя) |
| OB72_RESERVED_1 | WORD | Резерв |
| OB82_DATE_TIME | DATE_AND_TIME | Дата и время, когда вызывался OB |
Следующая таблица показывает, какое событие привело к запуску OB72.
| OB72_FLT_ID | Стартовое событие OB72 |
|---|---|
| B#16#01 | Потеря резервирования (1 из 2) вследствие запуска CPU |
| B#16#02 | Потеря резервирования (1 из 2) вследствие перехода в STOP в резерве, запущенном пользователем |
| B#16#03 | H-система (1 из 2) переключилась в резервный режим |
| B#16#20 | Ошибка при сравнении RAM |
| B#16#21 | Ошибка при сравнении выходного значения образа процесса |
| B#16#22 | Ошибка при сравнении битов памяти, таймеров или счетчиков |
| B#16#31 | Переключение на резервное ведущее устройство вследствие отказа master-устройства |
| B#16#33 | Переключение на резервное ведущее устройство вследствие вмешательства оператора |
| B#16#34 | Переключение на резервное ведущее устройство вследствие проблемы соединения |
| B#16#35 | Переключение на резервное ведущее устройство, запущенное SFC90 "H_CTRL". |
| B#16#40 | Ошибка синхронизации в программе пользователя из-за истекшего времени ожидания |
| B#16#41 | Ошибка синхронизации в программе пользователя из-за ожидания в различных точках синхронизации |
| B#16#42 | Ошибка синхронизации в операционной системе из-за ожидания в различных точках синхронизации |
| B#16#43 | Ошибка синхронизации в операционной системе из-за истекшего времени ожидания |
| B#16#50 | Нет модуля синхронизации (SYNC) |
| B#16#51 | Изменение в модуле синхронизации без включения питания |
| B#16#52 | Модуль синхронизации удален/вставлен |
| B#16#53 | Изменение в модуле синхронизации без сброса |
| B#16#54 | Модуль синхронизации: номер стойки назначен дважды |
| B#16#55 | Ошибка модуля синхронизации/устранена |
| B#16#56 | В модуле синхронизации установлен запрещенный номер стойки |
| B#16#C1 | Прерывание обновления |
| <-- Предыдущая статья | Следующая статья --> |