23. Обработка ошибок
23 - 6 Automating with STEP 7 in STL and SCL
Автоматизация посредством STEP 7
с использованием STL и SCL
CPU также выдает сообщение об ошибке доступа к I/O, когда совершается
попытка обращения к несуществ ующему модулю независимо от того,
выпол няется попытка прямого доступа к модулю (через область I/O) или
попытка косвенного доступа к модулю (через область образа процесса).
Биты фильтров ошибок, непоказанные в приведенных таблицах, не имеют
отношения к обработке синхронных ошибок.
23.2.2 Маскирование синхронных ошибок
Системная функция SFC 36 MSK_FLT позволяет блокировать вызовы ОВ
обработки синхронных ошибок с помощью фильтров ошибок. "1" в
фильтре ошибок индицирует те синхронные ошибки, при появлении
которых не будут вызываться организационные блоки для их обработки (в
таких случаях говорят, что синхронные ошибки "маскированы" - "masked").
При маскировании синхронных ошибок с помощью фильтров ошибок
данные маскирования добавляются к данным маскирования, которые
хранятся в памяти операционной системы. Системная функция SFC 36
возвращает значение функции, равное W#16#0001, показывающее, что в
сохраненных данных маскирования уже установлен хотя бы один бит из
вновь устанавливаемых согласно определению входных параметров
функции.
Функция SFC 36 возвращает "1" в выходных параметрах для все х
маскированных ошибок на текущий момент.
Если происходит синхронная ошибка, которая ранее была маскирована,
то соответствующий ей блок ОВ не вызывается, а информация об ошибке
поступает в диагностический буфер. Блокировка (Disable) вызова ОВ
касается текущего приоритетного класса (приоритетного уровня - "priority
level"). Например, если Вы заблокировали вызов ОВ обработки
синхронной ошибки в основной программе, данный блок ОВ все же будет
вызываться в случае возникновения этой ошибки в подрограмме,
обслуживающей прерывание, которое происходит в основной программе.
23.2.3 Демаскирование синхронных ошибок
Системная функция SFC 37 DMSK_FLT позволяет разблокировать
(разрешить) вызовы ОВ обработки синхронных ошибок с помощью
фильтров ошибок. Вы должны ввести "1" в фильтр ошибок для
обозначения тех син хронных ошибок, для которых вновь должны
вызываться организационные блоки для их обработки (в таких случаях
говорят, что синхронные ошибки "демаскированы" - "unmasked").
Установленные пользователем биты соответствуют определенным битам
в регистре ошибок, которые теперь будут сброшены. Системная функция
SFC 37 возвращает значение функции W#16#0001, показывающее, что в
уже сохраненных данных маскирования нет ни одного установленного
(маскирующего соответствующую ошибку) бита, который должен быть
сброшен в соответствии с вновь определенными входными параметрами
для системной функции (для демаскирования соответствующей ошибки).