问题描述
运行 CodeSys 3.5 的 Ecostruxure 机器专家
我有以下程序结构:
Main:两个块,Init 和 Step0,由转换链接。
在那个 main 的变量中:
VAR
My_Encoder : ENC_REF_M262;
...
END_VAR
那么在我的 Init
块中我有 My_Encoder.FB_Init(...)
但我收到的错误消息指向 Main
中的变量声明,其中显示“在 ENC_REF_M262 的此实例化中找不到 C0138 匹配的 FB_Init 方法”。
解决方法
尝试使用实例化 FB 上方的 no_init 属性。
VAR
{ attribute 'no_init'}
My_Encoder : ENC_REF_M262;
...
END_VAR
每当一个功能块被实例化时,预期会发生 FB_Init 方法的匹配实现(即使在包装 fb 内)。
注意如果它具有关键功能,您将需要在某处显式运行初始化代码 (My_Encoder.fb_Init()
)