Диагностика
Программирование в STEP 7 Lite V2.0
11-30 A5E00142284-01
При сбое модуля ввода обработка оператора L PIB0 вызывает
синхронную ошибку и запускает OB122. Команда загрузки обычно
считывает значение 0. Однако с помощью SFC44 Вы можете определить
любое подходящее для процесса подстановочное значение. SFC
заменяет содержимое аккумулятора заданным подстановочным
значением.
Пример программы может быть записан в OB122. В следующей таблице
представлены временные переменные, которые должны быть объявлены,
в данном случае в таблице объявления переменных OB122.
Объяв
ление
Имя Тип Описание
TEMP OB122EVCLASS BYTE [БАЙТ] Класс ошибки/ID ошибки 29xx
TEMP OB122SWFLT BYTE [БАЙТ] Код ошибки:
16#42, 16#43
TEMP OB122PRIORITY BYTE [БАЙТ] Класс приоритета = приоритет OB, в котором
произошла ошибка
TEMP OB122OBNUMBR BYTE [БАЙТ] 122 = OB122
TEMP OB122BLKTYPE BYTE [БАЙТ] Тип блока, в котором произошла ошибка
TEMP OB122MEMAREA BYTE [БАЙТ] Об ласть памяти и тип доступа
TEMP OB122MEMADDR WORD [СЛОВО] Адрес памяти, по которому произошла ошибка
TEMP OB122BLKNUM WORD [СЛОВО] Номер блока, в котором произошла ошибка
TEMP OB122PRGADDR WORD [СЛОВО] Относительный адрес команды, которая стала
причиной ошибки
TEMP OB122DATETIME DATEANDTIME
[ДАТАИВРЕМЯ]
Дата и время начала работы OB
TEMP Error [Ошибка] INT [ЦЕЛ ОЕ] Код ошибки SFC44
STL Описание
L B#16#2942
L #OB122SWFLT
==I
JC Aerr
L B#16#2943
<> I
JC Stop
Aerr: CALL ”REPL_VAL"
VAL : = DW#16#2912
RETVAL : =
#Error
L #Error
L 0
==I
BEC
Stop: CALL ”STP"
Сравнение кода события OB122 с кодом события
(B#16#2942) ошибки времени при чтении ввода-
вывода. Если один аковы, то переход на метку ”Aerr".
Сравнение кода события OB122 с кодом события
(B#16#2943) ошибки адресации (запись в несуще-
ствующий модуль). Если равны, то переход на ”Stop."
Метка ”Aerr": передача DW#16#2912 (двоичное 10010)
в SFC44 (REPL_VAL). SFC44 загружает это значение в
аккумулятор 1 (и заменяет значение, кот орое вызвало
OB122). Код ошибки SFC сохраняется в #Error.
Сравнение #Error с 0 (если равны, то во время
исполнения OB122 ошибок не произошло).
Завершение блока, если ошибок не произошло.
Метка "Stop": вызов SFC46 ”STP" и переход ЦПУ в
режим STOP [СТОП].