标签: structured-text

B&R Automation Studio“错误 9340:项目包含可视化组件对象,但没有版本定义”

在 Automation Studio 中编译 B&R 项目时,会引发此错误。

Error 9340: Project contains Visual Component objects but no version definition
Run Code Online (Sandbox Code Playgroud)

如何解决这个编译错误?

发密科Automation Studio V 4.0.29.87。

structured-text br-automation-studio

5
推荐指数
1
解决办法
2800
查看次数

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

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

在Java中,我会这样做:

String literal = "\x01\x01\x01\x0\x12";
Run Code Online (Sandbox Code Playgroud)

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

plc structured-text iec61131-3

4
推荐指数
1
解决办法
1万
查看次数

有没有办法打印到输出控制台?(双猫3)

有没有办法使用结构化文本在 VB.NET 中像 debug.print() 这样的控制台打印输出?(双猫3)

structured-text twincat

4
推荐指数
1
解决办法
3082
查看次数

在 Codesys 中定义数组

我正在使用 Codesys 创建一个数组。

下面的示例是我用来创建 5 个值的数组的示例

ARRAY [1..5] OF INT := [1,2,3,4,5];
Run Code Online (Sandbox Code Playgroud)

这对于 5 个值的数组来说没问题,但如果我需要一个包含 100 个值的数组呢?

有没有一种更快的方法来处理 100 个值的数组,而不是像下面的示例所示单独输入每个值。

ARRAY [1..100] OF INT :=[1,2,3,4,5,6,7 to 100]
Run Code Online (Sandbox Code Playgroud)

arrays codesys structured-text

3
推荐指数
1
解决办法
2万
查看次数

TwinCAT 3 中“操作”和“方法”有什么区别?

在 TwinCAT 3 中使用功能块时,我看到可以使用 anaction代替 a 的选项method。我只熟悉方法。两者之间有什么区别,什么时候应该使用其中一种而不是另一种?

我想知道为什么TwinCAT中的FIFO数据结构使用动作而不是方法。

plc structured-text twincat

3
推荐指数
1
解决办法
1326
查看次数

让 mutool 输出“结构化文本(作为 xml)”

按照 mutool 的命令说明进行draw操作
https://mupdf.com/docs/manual-mutool-draw.html

当输出“矢量格式”之一是“调试跟踪(作为 xml)”并且“输出格式是从输出文件名推断出来”时,如何输出“结构化文本(作为 xml)”?

如果我跑

mutool draw -o "testfile.xml" "testfile.pdf"
Run Code Online (Sandbox Code Playgroud)

看来我得到了“调试跟踪(作为 xml)”文件格式。

我应该使用什么文件扩展名来确保输出“结构化文本(如 xml)”格式?

pdf mupdf structured-text

1
推荐指数
1
解决办法
1907
查看次数

清除结构化文本中整个结构的最佳方法是什么

这就是我现在的情况

TYPE MyType: STRUCT
    name: STRING[20];
    input: INT;
    output: INT;
    END_STRUCT
END_TYPE
Run Code Online (Sandbox Code Playgroud)
PROGRAM PLC_PRG:
    VAR
        struct:  MyType;
        struct_NULL:  MyType;
        error: BOOL;
    END_VAR

    IF error THEN
        struct := struct_NULL;
    END_IF
END_PROGRAM
Run Code Online (Sandbox Code Playgroud)

是否有另一种方法可以使结构无效,而无需声明和使用struct_NULL

plc st structured-text iec61131-3

1
推荐指数
1
解决办法
3975
查看次数

Twincat 3:为数组位命名

整个 PLC 的初学者,所以欢迎更正。

我正在尝试整理我的项目,当前情况是这样的:我从 modbus 收到 16 字节数组。这些充当按钮、灯、传送带,这些是您在 Factory IO 中所拥有的。

GAB_FactoryIO_Inputs    AT %I*      :   ARRAY [0..15] OF BYTE;
GAB_FactoryIO_Outputs   AT %Q*      :   ARRAY [0..15] OF BYTE;
Run Code Online (Sandbox Code Playgroud)

因此,我没有用它的位“IO.GAB_FactoryIO_Inputs[0].0”来指代“开始按钮”,而是做了一个笨拙的转换 POU 和 GVL 来遍历每一位并给它们一个新名称。所以它目前看起来像这样的 200 行:

IO.iSensor10_Capa   :=  IO.GAB_FactoryIO_Inputs[7].3;
IO.iSensor9_Capa    :=  IO.GAB_FactoryIO_Inputs[7].4;
IO.iPositioner_Limit    :=  IO.GAB_FactoryIO_Inputs[7].5;
IO.iPositioner_Clamped  :=  IO.GAB_FactoryIO_Inputs[7].6;
IO.iPick2_Detected  :=  IO.GAB_FactoryIO_Inputs[7].7;
IO.iPick2_MovX  :=  IO.GAB_FactoryIO_Inputs[8].0;
IO.iPick2_MovZ  :=  IO.GAB_FactoryIO_Inputs[8].1;
IO.iPick2_Rot   :=  IO.GAB_FactoryIO_Inputs[8].2;
IO.iPick2_GripRot   :=  IO.GAB_FactoryIO_Inputs[8].3;
Run Code Online (Sandbox Code Playgroud)

和这个

iPositioner_Limit   :   BOOL;
iPositioner_Clamped :   BOOL;
iPick2_Detected :   BOOL;
iPick2_MovX :   BOOL;
iPick2_MovZ :   BOOL;   
iPick2_Rot  :   BOOL; …
Run Code Online (Sandbox Code Playgroud)

structured-text twincat

1
推荐指数
1
解决办法
155
查看次数