SM3_Basic.IAxisRef.GetAxisRefPointer 未按预期工作
SM3_Basic.IAxisRef.GetAxisRefPointer not working as expected
运行这里是“CODESYS V3.5 SP16”,有没有人和标题中的方法有同样的问题?
PROGRAM PLC_PRG
VAR
itfAxisRef : SM3_Basic.IAxisRef;
pAxisRefSm3 : POINTER TO SM3_Basic.AXIS_REF_SM3;
END_VAR
pAxisRefSm3 := itfAxisRef.GetAxisRefPointer;
尝试编译以上内容会引发以下错误
C0032: Cannot convert type 'GETAXISREFPOINTER(sm3_basic, 4.10.0.0 (3s - smart software solutions gmbh))' to type 'POINTER TO SM3_Basic.AXIS_REF_SM3'
这让我很困惑,因为我以前从未见过 GETAXISREFPOINTER
类型,.GetAxisRefPointer
的文档指出它 returns POINTER TO AXIS_REF_SM3
至于我为什么要尝试使用这种方法,我试图遍历 SM3_Robotics.AXIS_GROUP_REF_SM3
中的轴数组并将它们传递给 SM3_Basic.MC_ReadStatus
以获得它们各自的 SM3_Basic.SMC_AXIS_STATE
(不仅是SM3_Robotics.SMC_AXIS_GROUP_STATE
)用于调试
有没有更好的方法在不使用轴数组的情况下实现上述目标?
GetAxisRefPointer 是一个方法,试试:
pAxisRefSm3 := itfAxisRef.GetAxisRefPointer();
运行这里是“CODESYS V3.5 SP16”,有没有人和标题中的方法有同样的问题?
PROGRAM PLC_PRG
VAR
itfAxisRef : SM3_Basic.IAxisRef;
pAxisRefSm3 : POINTER TO SM3_Basic.AXIS_REF_SM3;
END_VAR
pAxisRefSm3 := itfAxisRef.GetAxisRefPointer;
尝试编译以上内容会引发以下错误
C0032: Cannot convert type 'GETAXISREFPOINTER(sm3_basic, 4.10.0.0 (3s - smart software solutions gmbh))' to type 'POINTER TO SM3_Basic.AXIS_REF_SM3'
这让我很困惑,因为我以前从未见过 GETAXISREFPOINTER
类型,.GetAxisRefPointer
的文档指出它 returns POINTER TO AXIS_REF_SM3
至于我为什么要尝试使用这种方法,我试图遍历 SM3_Robotics.AXIS_GROUP_REF_SM3
中的轴数组并将它们传递给 SM3_Basic.MC_ReadStatus
以获得它们各自的 SM3_Basic.SMC_AXIS_STATE
(不仅是SM3_Robotics.SMC_AXIS_GROUP_STATE
)用于调试
有没有更好的方法在不使用轴数组的情况下实现上述目标?
GetAxisRefPointer 是一个方法,试试:
pAxisRefSm3 := itfAxisRef.GetAxisRefPointer();