在结构化文本中获取输出变量的语法
Syntax for Getting Ouput Variable in Structured Text
我正在尝试使用具有以下接口的库定义函数(交叉控制产品的 CCAux):
FUNCTION Lightsensor_GetIlluminance : eErr (* return error status. 0 ERR_SUCCESS, otherwise error code.*)
VAR_OUTPUT
value: UINT;(*Illuminace value (Lux)*)
END_VAR
我似乎找不到从输出变量中获取 "value" 的正确语法。这是我的程序中的内容:
VAR
illumen : UINT;
END_VAR
这里我要illumen
设置为Lightsensor_GetIlluminace
的输出变量。以下不起作用,因为它将变量设置为 eErr
:
illumen := CCAux.Lightsensor_GetIlluminance();
并且:
illumen := CCAux.Lightsensor_GetIlluminance.value;
没有用,因为我收到错误 'value' is no input of 'Lightsensor_GetIlluminance'
并且:
illumen := CCAux.Lightsensor_GetIlluminance(value := illumen);
失败,因为 Lightsensor_GetIlluminance take exactly '0' inputs
我正在使用 CoDeSys 作为上下文。
以下是具有附加输出的函数的语法:
<function> (<function output variable1> => <output variable 1>, <function output variable n> => <output variable n>)
下面的代码应该return "Illuminace value":
CCAux.Lightsensor_GetIlluminance(value => illumen);
如果你有这样的输出变量
FUNCTION Lightsensor_GetIlluminance : eErr
VAR_OUTPUT
value: UINT;
END_VAR
然后在代码中你可以像这样获取额外的变量。
eErr := Lightsensor_GetIlluminance(value => illumen);
或者,如果您创建 FUNCTION_BLOCK
,那么除了上述方法之外,您还可以使用类似的方法。
FUNCTION_BLOCK Lightsensor_GetIlluminance
VAR_OUTPUT
value: UINT;
error : eErr;
END_VAR
并且在代码中
Lightsensor_GetIlluminance();
IF NOT Lightsensor_GetIlluminance.error THEN
illumen := Lightsensor_GetIlluminance.value;
END_IF;
因此您可以通过 .
访问变量,但您必须预先调用 FB。
我正在尝试使用具有以下接口的库定义函数(交叉控制产品的 CCAux):
FUNCTION Lightsensor_GetIlluminance : eErr (* return error status. 0 ERR_SUCCESS, otherwise error code.*)
VAR_OUTPUT
value: UINT;(*Illuminace value (Lux)*)
END_VAR
我似乎找不到从输出变量中获取 "value" 的正确语法。这是我的程序中的内容:
VAR
illumen : UINT;
END_VAR
这里我要illumen
设置为Lightsensor_GetIlluminace
的输出变量。以下不起作用,因为它将变量设置为 eErr
:
illumen := CCAux.Lightsensor_GetIlluminance();
并且:
illumen := CCAux.Lightsensor_GetIlluminance.value;
没有用,因为我收到错误 'value' is no input of 'Lightsensor_GetIlluminance'
并且:
illumen := CCAux.Lightsensor_GetIlluminance(value := illumen);
失败,因为 Lightsensor_GetIlluminance take exactly '0' inputs
我正在使用 CoDeSys 作为上下文。
以下是具有附加输出的函数的语法:
<function> (<function output variable1> => <output variable 1>, <function output variable n> => <output variable n>)
下面的代码应该return "Illuminace value":
CCAux.Lightsensor_GetIlluminance(value => illumen);
如果你有这样的输出变量
FUNCTION Lightsensor_GetIlluminance : eErr
VAR_OUTPUT
value: UINT;
END_VAR
然后在代码中你可以像这样获取额外的变量。
eErr := Lightsensor_GetIlluminance(value => illumen);
或者,如果您创建 FUNCTION_BLOCK
,那么除了上述方法之外,您还可以使用类似的方法。
FUNCTION_BLOCK Lightsensor_GetIlluminance
VAR_OUTPUT
value: UINT;
error : eErr;
END_VAR
并且在代码中
Lightsensor_GetIlluminance();
IF NOT Lightsensor_GetIlluminance.error THEN
illumen := Lightsensor_GetIlluminance.value;
END_IF;
因此您可以通过 .
访问变量,但您必须预先调用 FB。