用SCL写的一个FC11块,实现功能:输入REAL数,并根据设定的输入输出上下限得出相应的REAL数据;在另一块中调用语句:TEMP_REAL5:=FC11(IN:=TE,IN_L:=TL,IN_H:=TH,OUT_L:=TEMP_REAL1,OUT_H:=TEMP_REAL2);
//TE,TL,TH,TEMP_REAL1,TEMP_REAL2,TEMP_REAL5为REAL数据;
请问,这调用语句表达方式是否正确呀?我看SCL手册中好像就是这么用的呀
但提示输入参数配置不完全INPUT PARAMETERS ASSIGNMENT(S) INCOMPLETE.
FC11块原码如下:
FUNCTION FC11 : REAL
TITLE = 'REAL_TO_REAL'
VERSION: '1.0'
AUTHOR: AMOR
NAME: R_T_R
FAMILY: CQXY
VAR_INPUT
IN:REAL;
IN_L:REAL;//输入下限 >=IN
IN_H:REAL;//输入上限,>=IN_L;
OUT_L:REAL;//输出下限
OUT_H:REAL;//输出上限
END_VAR
VAR_OUTPUT
OUT:REAL;//输出
END_VAR
BEGIN
IF IN <= IN_L OR IN_L = IN_H THEN
OUT:=OUT_L ;
ELSIF IN >= IN_H THEN
OUT:=OUT_H ;
ELSE
OUT:=(IN-IN_L)*(OUT_H-OUT_L)/(IN_H-IN_L)+OUT_L;
END_IF;
FC11:=OUT;
END_FUNCTION