SFC для обрабо тки синхронных ошибок
11-2 Системные и стандартные функции для S7-300 и S7-400
C79000-G7076-C567-01
11.1 Маскирование синхронных ошибок
Введение
Синхронные ошибки – это ошибки программирования и доступа. Такие
ошибки происходят в результате программирования с неправильными
адресн ыми областями, номерами или неправильными адресами.
Маскирование этих с инхронны х ошибо к означает следующее:
• Маскированные синхронные ошибки не запускают OB ошибок и не
приводят к запрограмми рованной альтернативной реакции.
• CPU "регистрирует" произошедшие маскированные ошибки в регистре
оши бок.
Ма скирование синхр онных оши бок выполняется посредством вызова SFC36
"MSK_FLT".
Демаскирование ошибок означает отмену предварительно установленной
маски и очистку соответствующего бита в регистре состояний собы тий
текущего класса приоритета. Маскирование отменяется следующим образом:
• посредство м вызова SFC37 "DMSK_FLT"
• когда завершится текущий класс приоритета.
Если ошибка происходит после того, как она бы ла демаскирована, то
операционная си стема запускает соответствующий OB ошибо к. Вы можете
запрограммировать OB121 для реа гирования на ошибки программирования и
OB122 для реагирования на ошибки доступа.
Вы можете использовать SFC38 "READ_ERR", чтобы считывать
произошедшие замаскированные ошибки.
Обратите внимание : В S7-300 (кроме CPU 318), независимо от того,
замаскирована ошибка или демаскирована, она вводится в диагностический
буфер, и светится св етодиод групповой ошибки CPU.
Обработка ош ибок в общем случае
Если в про грамме пользователя происходят ошибки программи рования и
доступа, то Вы можете реагировать на них разными способами:
• Вы можете запрограммировать OB ошибок, который вызывается
операционной системой, когда происходит соответствующая ошибк а.
• Вы можете заблокировать вызов OB ошибок индивидуально для каждого
класса приор итета. В этом случае, когда ошибка данного типа про исходит
в конкретном классе приоритета, CPU не переходит в STOP. CPU вводит
оши бку в регистр ошибок. Однако из этой записи Вы не можете узнать,
когда или как часто происходила ошиб ка.