LIMIT_IND: Ограничение с индикатором
Описание функции
Эта процедура передает неизмененное входное значение (Input) на выход (Output), если входное значение не меньше минимального значения (LimitMinimum) и не превышает максимальное значение (LimitMaximum). Если входное значение (Input) меньше минимального значения (LimitMinimum), на выход будет передано минимальное значение. Если входное значение (Input) превышает максимальное значение (LimitMaximum), на выход будет передано максимальное значение.
Кроме того, производится индикация выхода за границы. Если значение на входе (Input) меньше значения на входе (LimitMinimum), выход (MinimumViolation) становится "1". Если значение на входе (Input) больше значения на входе (LimitMaximum), выход (MaximumViolation) становится "1".
Типы данных входных значений (LimitMinimum, Input, LimitMaximum) и выходного значения (Output) должны быть идентичны.
EN и ENO могут быть сконфигурированы как дополнительные параметры.
Формула:
OUT = IN, если (IN <= MX) & IN >= MN
OUT = MN, если (IN < MN)
OUT = MX, если (IN > MX)
MN_IND = 0, если IN >= MN
MN_IND = 1, если IN < MN
MX_IND = 0, если IN <= MX
MX_IND = 1, если IN > MX
Представление в LD
Представление:
Описание параметров
Описание входных параметров:
Описание функции
Эта процедура передает неизмененное входное значение (Input) на выход (Output), если входное значение не меньше минимального значения (LimitMinimum) и не превышает максимальное значение (LimitMaximum). Если входное значение (Input) меньше минимального значения (LimitMinimum), на выход будет передано минимальное значение. Если входное значение (Input) превышает максимальное значение (LimitMaximum), на выход будет передано максимальное значение.
Кроме того, производится индикация выхода за границы. Если значение на входе (Input) меньше значения на входе (LimitMinimum), выход (MinimumViolation) становится "1". Если значение на входе (Input) больше значения на входе (LimitMaximum), выход (MaximumViolation) становится "1".
Типы данных входных значений (LimitMinimum, Input, LimitMaximum) и выходного значения (Output) должны быть идентичны.
EN и ENO могут быть сконфигурированы как дополнительные параметры.
Формула:
OUT = IN, если (IN <= MX) & IN >= MN
OUT = MN, если (IN < MN)
OUT = MX, если (IN > MX)
MN_IND = 0, если IN >= MN
MN_IND = 1, если IN < MN
MX_IND = 0, если IN <= MX
MX_IND = 1, если IN > MX
Представление в LD
Представление:
Описание параметров
Описание входных параметров:
Параметр
|
Тип данных
|
Значение
|
LimitMinimum
|
BOOL, BYTE, WORD, DWORD, INT, DINT, UINT, UDINT, REAL, TIME
|
Минимальное значение
|
Input
|
BOOL, BYTE, WORD, DWORD, INT, DINT, UINT, UDINT, REAL, TIME
|
Вход
|
LimitMaximum
|
BOOL, BYTE, WORD, DWORD, INT, DINT, UINT, UDINT, REAL, TIME
|
Максимальное значение
|
Описание выходных параметров:
Параметр
|
Тип данных
|
Значение
|
MinimumViolation
|
BOOL
|
Меньше минимального значения
|
Output
|
BOOL, BYTE, WORD, DWORD, INT, DINT, UINT, UDINT, REAL, TIME
|
Выход
|
MaximumViolation
|
BOOL
|
Больше максимального значения
|
Для начала присвоим переменным числовые и булевые значения:
MIN – тип INT
IN1 – тип INT
MAX – тип INT
MIN_IND – тип BOOL
OUT1 – тип INT
MAX_IND – тип BOOL
Запускаем программу и выставляем значения нашим переменным, как показано на рисунке ниже.
Если входной параметр IN1 будет находиться в промежутке между 10 и 100, тогда не один из минимальных и максимальных индиакаторов не будут функционировать, как показано на рисунке ниже.
Лишь стоит входному параметру оказаться выше 100 или меньше 10 тогда срабоатет один из индикаторов.