问题标签 [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.
plc - 如何将 ASCII 值写入 PLC 结构化文本中的字符串?
对于用结构化文本编写的 PLC 程序,我需要一个以 ASCII 值开头的字符串0x01 0x01 0x01 0x00 0x12
。
在Java中,我会这样做:
如何在 PLC 的结构化文本中实现相同的功能?
iec61131-3 - 如何使用 Maxon EPOS 库在 IEC-61131 结构化文本中对插值位置模式序列进行编程?
Maxon EPOS 库定义了一些看似处理插值位置模式的功能块,但据我所知,没有示例指定如何使用它们。
这是我到目前为止所拥有的,但目前它只是在使用Execute
set调用时跳过它TRUE
time-frequency - Beckhoff TwinCAT3.1 中的频率计算
我正在尝试确定脉冲输入的频率,即泵的转速反馈。我试图创建两个计时器,每个计时器为一秒,并且每次出现上升沿时计数。根据一秒钟内上升沿的数量,我可以计算出频率。遗憾的是我找不到功能或功能块。任何关于生成函数的帮助都会很棒!
我还附上了我尝试使用但似乎不起作用的代码 - 我认为一些新鲜的眼睛可能能够发现我错过的东西。
codesys - 我需要连接几个字符串
我是结构化文本的新手,我想知道如何连接多个字符串。最干净的方式。在这个实例中,我只需要在创建字符串时更改一个变量。我还有另一个需要做的事情 2。这个数字可能会增长。这样做的目的是让我可以将 XML 消息发送到 HTTP 服务器。这是用于记录数据。
在这种情况下,reader 变量是一个单词。
plc - 通过编程更改 Beckhoff 控制器的系统时间
在过去的几个小时里,我遇到了通过结构化文本编程更改系统日期和时间的问题。我使用了功能块FB_LocalSystemTime,我可以在其中读取系统时间。但是我找不到任何函数或功能块来编写新的系统时间。我检查了NT_SetLocalTime,那也没有用。你知道我该怎么做吗?
有关更多信息:我已包含示例代码,例如:
32-bit - 将 32 位实数转换为 2 个 16 位字节
我正在尝试通过 CAN 通信 (IFM) 发送 32 位实数,但 CAN 通信仅接受 16 位值。
如果我尝试发送的值高于 255,它会重置为 0 并继续以该模式。因此,我需要将 32-Bit Real 值拆分为两个 16-Bit 值,然后在通讯的另一侧重新组合。
我似乎无法理解如何在结构化文本中做到这一点。
任何帮助,将不胜感激
mongodb - 使用带有结构化文本编程的套接字将数据流式传输到 MongoDB
如何使用套接字通过结构化文本编程 (IEC 61131-3) 从 PLC 将字符串(例如,hello world)流式传输到 MongoDB?我听说SysLibSockets
必须使用功能块,但我不确定如何使用。
如果你能帮我解决这个问题那就太好了,因为我对 ST 比较陌生并且想学习这门语言。
谢谢。
mongodb - 如何使用结构化文本编程在 PLC 和 MongoDB (NoSQL) 之间建立连接?
如何使用结构化文本编程 (IEC 61131-3) 从 PLC (Indraworks) 向 MongoDB 发送数据(例如字符、整数或字符串)?
没有可用的功能块(RIL_SocketComm.library)与 NoSQL 数据库(本例中为 MongoDB)兼容。有解决方法吗?
如果您能帮我解决这个问题,那就太好了。
谢谢。
automation - 移位操作返回奇怪的错误
我正在 codesys 环境中通过 ABB 编写 plc,但我无法弄清楚为什么会出现此错误:
返回此错误的代码类似于:
基本上是两个赋值和一个无符号整数的左移操作。转变是产生错误的原因,而注释该行会消除它。
我已经检查了很多次语法,并且在相互矛盾的文档之后也多次反转了参数。
谁能告诉我我错过了什么?
timer - 结构化文本中的暂停计时器
ET
当不再要求计时器运行时,我需要能够暂停计时器并保留它的值。当接近开关的输入不存在时,计时器会计时,但我只希望它在推进材料的泵运行时计时。泵可能只运行 30 秒,但 prox 开关可能需要 120 秒的泵送时间,因此需要运行 4 次泵才能检测到任何材料。
如果有帮助,我正在使用 Codesys v2.3
到目前为止,我有:
但上述情况也会导致ET
电机关闭时值重置,而不仅仅是Proxy.P1
变为TRUE
。ET
应仅在设置Proxy.P1
为时重置TRUE
对此有何建议?令我惊讶的是,FB 上不仅有保留选项。