问题标签 [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 投票
2 回答
13933 浏览

plc - 如何将 ASCII 值写入 PLC 结构化文本中的字符串?

对于用结构化文本编写的 PLC 程序,我需要一个以 ASCII 值开头的字符串0x01 0x01 0x01 0x00 0x12

在Java中,我会这样做:

如何在 PLC 的结构化文本中实现相同的功能?

0 投票
1 回答
485 浏览

iec61131-3 - 如何使用 Maxon EPOS 库在 IEC-61131 结构化文本中对插值位置模式序列进行编程?

Maxon EPOS 库定义了一些看似处理插值位置模式的功能块,但据我所知,没有示例指定如何使用它们。

这是我到目前为止所拥有的,但目前它只是在使用Executeset调用时跳过它TRUE

0 投票
1 回答
1052 浏览

time-frequency - Beckhoff TwinCAT3.1 中的频率计算

我正在尝试确定脉冲输入的频率,即泵的转速反馈。我试图创建两个计时器,每个计时器为一秒,并且每次出现上升沿时计数。根据一秒钟内上升沿的数量,我可以计算出频率。遗憾的是我找不到功能或功能块。任何关于生成函数的帮助都会很棒!

我还附上了我尝试使用但似乎不起作用的代码 - 我认为一些新鲜的眼睛可能能够发现我错过的东西。

0 投票
4 回答
4885 浏览

codesys - 我需要连接几个字符串

我是结构化文本的新手,我想知道如何连接多个字符串。最干净的方式。在这个实例中,我只需要在创建字符串时更改一个变量。我还有另一个需要做的事情 2。这个数字可能会增长。这样做的目的是让我可以将 XML 消息发送到 HTTP 服务器。这是用于记录数据。

在这种情况下,reader 变量是一个单词。

0 投票
4 回答
1957 浏览

plc - 通过编程更改 Beckhoff 控制器的系统时间

在过去的几个小时里,我遇到了通过结构化文本编程更改系统日期和时间的问题。我使用了功能块FB_LocalSystemTime,我可以在其中读取系统时间。但是我找不到任何函数或功能块来编写新的系统时间。我检查了NT_SetLocalTime,那也没有用。你知道我该怎么做吗?

有关更多信息:我已包含示例代码,例如:

0 投票
2 回答
3514 浏览

32-bit - 将 32 位实数转换为 2 个 16 位字节

我正在尝试通过 CAN 通信 (IFM) 发送 32 位实数,但 CAN 通信仅接受 16 位值。

如果我尝试发送的值高于 255,它会重置为 0 并继续以该模式。因此,我需要将 32-Bit Real 值拆分为两个 16-Bit 值,然后在通讯的另一侧重新组合。

我似乎无法理解如何在结构化文本中做到这一点。

任何帮助,将不胜感激

0 投票
1 回答
269 浏览

mongodb - 使用带有结构化文本编程的套接字将数据流式传输到 MongoDB

如何使用套接字通过结构化文本编程 (IEC 61131-3) 从 PLC 将字符串(例如,hello world)流式传输到 MongoDB?我听说SysLibSockets必须使用功能块,但我不确定如何使用。

如果你能帮我解决这个问题那就太好了,因为我对 ST 比较陌生并且想学习这门语言。

谢谢。

0 投票
2 回答
477 浏览

mongodb - 如何使用结构化文本编程在 PLC 和 MongoDB (NoSQL) 之间建立连接?

如何使用结构化文本编程 (IEC 61131-3) 从 PLC (Indraworks) 向 MongoDB 发送数据(例如字符、整数或字符串)?

没有可用的功能块(RIL_SocketComm.library)与 NoSQL 数据库(本例中为 MongoDB)兼容。有解决方法吗?

如果您能帮我解决这个问题,那就太好了。

谢谢。

0 投票
1 回答
256 浏览

automation - 移位操作返回奇怪的错误

我正在 codesys 环境中通过 ABB 编写 plc,但我无法弄清楚为什么会出现此错误:

返回此错误的代码类似于:

基本上是两个赋值和一个无符号整数的左移操作。转变是产生错误的原因,而注释该行会消除它。

我已经检查了很多次语法,并且在相互矛盾的文档之后也多次反转了参数。

谁能告诉我我错过了什么?

0 投票
5 回答
6263 浏览

timer - 结构化文本中的暂停计时器

ET当不再要求计时器运行时,我需要能够暂停计时器并保留它的值。当接近开关的输入不存在时,计时器会计时,但我只希望它在推进材料的泵运行时计时。泵可能只运行 30 秒,但 prox 开关可能需要 120 秒的泵送时间,因此需要运行 4 次泵才能检测到任何材料。

如果有帮助,我正在使用 Codesys v2.3

到目前为止,我有:

但上述情况也会导致ET电机关闭时值重置,而不仅仅是Proxy.P1变为TRUEET应仅在设置Proxy.P1为时重置TRUE

对此有何建议?令我惊讶的是,FB 上不仅有保留选项。