问题标签 [structured-text]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
140 浏览

codesys - 无法扩展 FB 时如何访问 VAR_IN_OUT 变量?

我一直在尝试访问AXIS_REF_SM3ieAxisSM3_Basic.MC_MoveAbsolute返回wDriveId轴的。

由于Axis被声明为VAR_IN_OUT变量,我无法使用.Axis语法在 FB 之外访问它,因为它会导致编译器抛出

错误是有道理的,因为VAR_IN_OUT变量不应该是可远程访问的。

然后我尝试使用扩展 FBFUNCTION_BLOCK FB_MoveAbsolute EXTENDS SM3_Basic.MC_MoveAbsolute并编写自己的方法以Axis在 PRG 调用中返回,FB_MoveAbsolute但我收到以下编译器错误

反而。

有谁知道更好的方法来获得from的wDriveId价值? 或者其他检查FB正在使用哪个轴的方法?AxisSM3_Basic.MC_MoveAbsolute

0 投票
1 回答
28 浏览

codesys - SM3_Basic.IAxisRef.GetAxisRefPointer 未按预期工作

在这里运行“CODESYS V3.5 SP16”,是否有人对标题中的方法有同样的问题?

尝试编译上述内容会引发以下错误

这让我很困惑,因为我以前从未见过该类型以及它返回GETAXISREFPOINTER的状态的文档.GetAxisRefPointerPOINTER TO AXIS_REF_SM3

https://help.codesys.com/webapp/3dvrBKsuKjYfmeP1KzrJnylfstc%2FGetAxisRefPointer;product=SM3_Basic;version=4.9.0.0

至于我为什么要尝试使用这种方法,我正在尝试遍历轴数组SM3_Robotics.AXIS_GROUP_REF_SM3并将它们传递给以SM3_Basic.MC_ReadStatus获取它们的个体SM3_Basic.SMC_AXIS_STATE(不仅仅是SM3_Robotics.SMC_AXIS_GROUP_STATE)进行调试

有没有更好的方法可以在不使用轴数组的情况下实现上述目标?

0 投票
1 回答
63 浏览

codesys - 将 LREAL 转换为二进制并将其解释为以 10 为底的 LINT

在这里运行“CODESYS V3.5 SP16”,我正在尝试实现中提到的哈希码算法

集合的 hashCode 方法的最佳实现

并且必须构建我自己的解决方案来复制 Java Float.floatToIntBits(f),从而产生以下功能

首先,我想知道某个库中是否有一个现有的函数已经这样做了?

我查看了很多地方,包括 OSCAT “Basic, 3.31” 库,但找不到任何类似的东西(即使是我可以链接在一起的一组函数也可以)。

其次,位访问只能手动完成吗?

我更喜欢使用循环,但似乎不可能?BYTE如果数组中的数据类型从其他类型更改为其他类型(例如) ,是否有一种较少的复制和粘贴方法来访问涉及自动检测位数的位DWORD

潜在的替代品

似乎这是工会派上用场的地方,如https://forge.codesys.com/forge/talk/Engineering/thread/02a65a50b2/#e5f4/1911/c524中所述,如果值不是来自外部来源(即无需检查字节序),Float.floatToIntBits(f)就像

0 投票
1 回答
75 浏览

plc - TwinCAT Motion 记录行程距离

我需要一些帮助来编写一个功能块,我可以用它来记录轴的行进距离。这应该记录每次轴移动有点像里程表,这个值将用于轴的预防性维护。即润滑滚珠丝杠和直线轴承。

该功能必须在不移动时忽略轴上的颤振,并适应多次覆盖位置的归位功能。

0 投票
1 回答
51 浏览

plc - 在 PLC 中计算机器运行时间

我正在使用结构化文本编程语言在 PLC 中开发一个简单的机器项目。现在,我想在按下启动命令后计算机器的运行时间(小时、分钟和秒)。因为我是新手,所以我很难提出一个想法。我试图通过每秒钟、分钟和小时使用 3 个计数器来做到这一点。但未能取得实实在在的结果。您能否分享一下如何计算 PLC(ST 或 FB)上机器的运行时间?

0 投票
1 回答
70 浏览

plc - 如何在 PLC 软件(如 twincat)中将值附加到结构化文本中的数组

我必须对算法进行排序,才能从我的一台机器中挑选出食谱。有没有办法将值推送/附加到我的数组中?