TwinCat 如何通过引用全局变量来初始化功能块

TwinCat How To Initialize Functionblock with Reference to Global Variable

你好 Whosebug 社区,

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

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

Functionblock 本身看起来像这样:

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; 

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

提前致谢...

问题是你需要在 FB_init 的正文中使用 REF=,像这样:

reftoBool REF= reftoBoolIn; 

在此处查看文档: https://infosys.beckhoff.com/english.php?content=../content/1033/tc3_plc_intro/136301707.html