2

你好 StackOverflow 社区,

我有另一个关于 TwinCat/Beckhoff/Codesys 编程语言的问题,也许有人能帮我解决这个问题。

问题是:我想通过对某个变量的引用来初始化一个功能块。(在这个例子中是一个简单的布尔值)。在此我想使用 FB_Init 方法。

功能块本身看起来像这样:

FUNCTION_BLOCK PUBLIC FB_Ref
VAR
    reftoBool : REFERENCE TO BOOL;
END_VAR

FB_Init 方法看起来像这样:

METHOD FB_init : BOOL
VAR_INPUT
    bInitRetains : BOOL := FALSE;
    bInCopyCode : BOOL := FALSE;
    reftoBoolIn : REFERENCE TO BOOL;
END_VAR



reftoBool := reftoBoolIn; 

问题是我无法让代码工作..我不知道我做错了什么。

提前致谢...

4

1 回答 1

4

问题是您需要在 FB_init 的主体中使用 REF=,如下所示:

reftoBool REF= reftoBoolIn; 

请参阅此处的文档: https ://infosys.beckhoff.com/english.php?content=../content/1033/tc3_plc_intro/136301707.html

于 2019-12-28T14:46:12.790 回答