ГОСТ Р МЭК 61131-3—2016
Граф ический пример (язы к FBD)
Текстовы й пример (язы к ST)
О бъяснение
А:= INC(V:= X):
Определеннаяпользователем
функция INC
Имена формальных параметров V
для
<*)
♦
----------
+
I INC |
II— А
X --IV---------VI --Х
♦
------------
♦
VARJN.OUT
Рисунок 10— Формальное и неформальное представление вызова
(примеры), лист 1
В примере показывается графическое и текстовое представление вызова, включая вызов стан
дартной функции (ADD) без определенных имен формальных параметров; вызов стандартной функ
ции (SHL) с определенными именами формальных параметров; вызов этой же функции с использо
ванием входного параметра EN и выходного параметра ENO с отрицанием; и вызов определенной
пользователем функции (INC) с определенными именами формальных параметров.
Рисунок 10
6.6.1.5 Управление выполнением (EN. ENO)
Как показано в таблице 18, дополнительная логическая входная переменная EN (Разрешить) и
дополнительная логическая выходная переменная ENO (Разрешить выход) могут предоставляться раз
работчиком или пользователем в соответствии с объявлением.
VARJNPUTEN:
BOOL:= 1;
END_VAR
VAROUTPUTENO;
BOOL;
END_VAR
Когда используются эти переменные, выполнение операций, определенных программным компо
нентом. контролируется в соответствии со следующими правилами;
1 Если значение EN равно FALSE, то программный компонент не будет выполняться. Кроме того,
значение ENO будет установлено в FALSE. Разработчик подробно определяет поведение в этом слу
чае, см. примеры ниже.
2 В противном случае, если значение EN равно TRUE, значение ENO устанавливается в TRUE, и
реализация программного компонента будет выполняться. Программный компонент может устанавли
вать ENO в логическое значение в соответствии с результатами выполнения.
3 Если во время выполнения одного из программных компонентов возникает ошибка, выходная
переменная ENO этого программного компонента устанавливается в FALSE (0) системой программиро
ванного контроллера.
4 Если выходная переменная ENO установлена FALSE (0), значения всех других выходных пере
менных (VAR_OUTPUT, VAR_IN_OUT и результат функции) определяются разработчиком.
5 Входная переменная EN устанавливается в фактическое значение только во время вызова про
граммного компонента.
6 Выходная переменная ENO передается только как во время вызова программного компонента.
7 Выходная переменная ENO устанавливается только внутри программного компонента.
8 Использование параметров EN или ENO в функции REF() для получения указателя на EN или
ENO является ошибкой.
В случав, когда EN равно FALSE, можно выполнять другие действия вместо нормального выпол
нения программного компонента. Данные действия определяются разработчиком. См. примеры ниже.
Пример 1 — Внутренняя реализация
Входная переменная EN оценивается внутри программного компонента.
Если EN равно FALSE то ENO устанавливается в False, и программный компонент немедленно
завершает выполнение или выполняет подмножество операций в зависимости от ситуации.
49