问题标签 [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 回答
137 浏览

twincat - SPS/ TwinCat/ 语法错误代码/ TON 和 TOF 声明

我目前正在ST(TwinCat)中编程,但是出现了两个错误,我完全不明白。错误代码说:(1)(TRUE AND TON_01.Q)不是有效的分配目标(2)Q 不是 TOF 的输入

我已经将 Q 声明为我的 Output ,但 TON 和 TOF 无法处理它。代码和错误附在帖子上。在此处输入图像描述

感谢您的帮助。

0 投票
1 回答
195 浏览

structured-text - 结构化文本中的 C 样式函数?

我们公司购买了许多 Beckhoff PLC 中的第一台,我目前正在开发状态机。

我通常在 C 中做的是使用 switch case,其中每个 case 调用一个函数,即该特定状态的状态函数。此状态函数在完成时返回 true。状态函数返回 true 后 switch-case 选择新状态

一个简短的例子:

这我想尽可能地在 ST 中重现这种结构。

我还没有找到如何在 ST 中创建一个简单的函数。我知道我可以使用 POU 来制作一个新的功能块。但这给我带来的问题是该函数被放在不同的文件中。我希望功能块与我在向您展示的 C 风格状态机中演示的状态机位于同一个文件中。

我可以这样做吗?如果是这样,怎么办?

巴斯

编辑:这是生成的功能块代码:

0 投票
3 回答
465 浏览

plc - 结构化文本中有类似类的东西吗?

我正在使用 Beckhoff PLC,我正在尝试制作几个除了 IO 之外完全相同的 POU。我正在寻找一种方法,因此我必须只编写代码,但能够运行它而不是具有不同 IO 的代码。例如像在构造函数中声明 IO 的类。不同的 POU 也必须同时运行。我已经对具有继承的顺序功能图和功能块进行了一些研究,但这似乎并没有按照我想要的方式工作。我什至不确定我想要什么是可能的。

任何帮助表示赞赏。

缺口

0 投票
2 回答
441 浏览

oop - 如何在 plc 运行时动态创建 fb 实例?

我是 PLC 编程的新手,我们需要为项目创建一个库。我们需要在运行时动态创建功能块实例。codesys主页上有一个概念描述: https ://help.codesys.com/webapp/fb_factory;product=LibDevSummary;version=3.5.15.0

我们试图实现这个例子,但没有成功。不幸的是,codesys 主页上没有关于这个概念的更多信息。有没有人建议如何在 plc 运行时动态创建 fb 实例?

0 投票
3 回答
686 浏览

twincat - TwinCAT Systemtime-Timestruct 自纪元以来的毫秒数

我需要将从 Beckhoffs 功能块“FB_LocalSystemTime”获得的 timestruct 转换为自纪元以来的毫秒数,以接收本地计算机时间(以毫秒为单位)。

不幸的是,我找不到转换这个 timestruct 的函数。任何帮助表示赞赏。

0 投票
2 回答
428 浏览

twincat - 连接变量

我需要将一个字符串、一个整数和一个字符串连接成一个变量——在这种情况下是一个输入。

输入命名如下:

现在,我想遍历这些(这只是一个简短的示例):

但是通过连接字符串,我会得到一个字符串,例如。'DI_Section1_Valve',而不是布尔变量,例如。DI_Section1_Valve。

我如何以变量而不是字符串结束?任何帮助表示赞赏,在此先感谢。/Thoft99

0 投票
1 回答
65 浏览

version-control - 结构化文本文件的版本控制(*.ST、*.POE、*.bak)

我想用我的结构化文本项目(我使用 infoteam openpcs)对工业应用程序进行版本控制。问题是每次我修改 *.ST 文件时,我也会在 *.POE 和 *.bak 对应文件中得到更改。有什么好方法可以对此类文件进行版本控制吗?对我来说,跟踪版本更改非常烦人,因为每次我只修改一个 *.ST 文件时,我在 *.POE 和 *.bak 中也会得到相同的更改。问题是我还想将其链接到 redmine 或 TortoiseSVN,并且只查看和/或恢复 *.ST 文件中的更改。可能吗?。

0 投票
1 回答
256 浏览

structured-text - 如何在数组结构化文本中查找长度和使用的元素

Array_Length_u8:=SIZEOF(SkippedElements_au8)/ SIZEOF(SkippedElements_au8[0]);

我正在使用这个公式来查找数组长度,但它没有执行并且总是显示 256 作为结果

0 投票
2 回答
81 浏览

initialization - Twincat 2:初始值不为零

在我的 TwinCat 2 项目中,当我初始化变量时,它们的默认值不为零。

当我开始项目时,这些值是:

你可以看到,前两个没问题,但接下来的对我来说有一个奇怪的价值。这个问题的原因可能是什么?

0 投票
1 回答
112 浏览

plc - 在特定时间内将值从 A 更改为 B

我希望值在值 A 到值 B 之间变化需要一定的时间。它以这种方式工作,但我受到 BYTE (255) 的限制,如果我想使用更大的数字,这会使比例变差。我不知道怎么做。

因此,我需要帮助来解决这个问题。

提前致谢!