评估一个值是否在限值范围内
此指令评估IN输入值是否位于MN最小值和MX最大值设定的限值范围内。
输入
最小限值
与限值比较的值
最大限制
输出
如果IN输入值位于下限与上限之间,则结果为TRUE
所有用于编程此函数的输入和输出变量已在POU头中声明。 所有编程语言使用相同的POU头。
VAR
iMinValue: INT:=50;
iValidateValue: INT:=750;
iMaxValue: INT:=1000;
bResult: BOOL:=FALSE;
END_VAR
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 6 ;
NETWORK_BODY
B(B_F,WITHIN_LIMITS!,,12,1,20,6,,?DMN?DIN?DMX?C);
B(B_VARIN,,iMinValue,10,2,12,4,);
B(B_VARIN,,iValidateValue,10,3,12,5,);
B(B_VARIN,,iMaxValue,10,4,12,6,);
B(B_VAROUT,,bResult,20,2,22,4,);
L(1,0,1,6);
END_NETWORK_BODY
END_NET_WORK
END_BODY
bResult := WITHIN_LIMITS(MN := iMinValue,
IN := iValidateValue,
MX := iMaxValue);