![](https://cv01.studmed.ru/view/fabd0fac512/bg241.png)
Приложение
Программирование с помощью STEP 7 v5.3
A5E00261405-01 A-99
A.5.4.5 Пример маскирования и демаскирования синхронных
ошибок
Следующий пример программы пользователя показывает, как маскировать и
демаскировать синхронные ошибки. При использовании SFC36 "MSK_FLT" в
программируемом фильтре ошибок маскируются следующие ошибки:
• Ошибка длины области при чтении
• Ошибка длины области при записи
Вторым вызовом SFC36 "MSK_FLT" можно замаскировать также область
доступа:
• Ошибка доступа для ввода/вывода при записи
Замаскированные синхронные ошибки запрашиваются с
помощью SFC38
"READ_ERR". "Ошибка доступа для ввода/вывода при записи" демаскируется
с помощью SFC37 "DMSK_FLT.
Раздел кода
Ниже Вы найдете OB1, в котором запрограммирован пример программы
пользователя в форме списка операторов.
STL (Network 1) Объяснение
AN M 255.0
JNB m001
CALL SFC 36
PRGFLT_SET_MASK :=DW#16#C
ACCFLT_SET_MASK :=DW#16#0
RET_VAL :=MW 100
PRGFLT_MASKED :=MD 10
ACCFLT_MASKED :=MD 14
m001: A BR
S M 255.0
Бит не сохраняемой памяти M 255.0 (только
при первом прогоне = 0)
SFC36 MSK_FLT (маскирование синхронных
ошибок) Бит 2 = Бит 3 = 1 (BLFL и BLFS
маскируются)
Все биты=0 (ошибки доступа не маскируются)
Возвращаемое значение
Выходной фильтр текущей программной
ошибки в MD10
Выходной фильтр текущей ошибки доступа в
MD14
Установить M255.0, если маскирование
успешно.
STL (Network 2) Объяснение
CALL SFC 36
PRGFLT_SET_MASK :=DW#16#0
ACCFLT_SET_MASK :=DW#16#8
RET_VAL :=MW 102
PRGFLT_MASKED :=MD 20
ACCFLT_MASKED :=MD 24
SFC36 MSK_FLT (маскирование синхронных
ошибок)
Все биты=0 (дальнейшие программные ошибки
не маскируются
Бит 3 = 1 (ошибки доступа для записи
маскируются)
Возвращаемое значение
Выходной фильтр текущей программной
ошибки в MD20
Выходной фильтр текущей ошибки доступа в
MD24
STL (Network 3) Объяснение
AN M 27.3
BEC
Завершить блок, если ошибка доступа для
записи (бит 3 в ACCFLT_MASKED) не
замаскирована
STL (Network 4) Объяснение
L B#16#0
T PQB 16
Доступ для записи (при значении 0)в PQB 16