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

问题描述 投票:0回答:2
这就是我现在的样子

TYPE MyType: STRUCT name: STRING[20]; input: INT; output: INT; END_STRUCT END_TYPE

PROGRAM PLC_PRG:
    VAR
        struct:  MyType;
        struct_NULL:  MyType;
        error: BOOL;
    END_VAR

    IF error THEN
        struct := struct_NULL;
    END_IF
END_PROGRAM
是否有另一种方法可以使结构为空,而无需清除并使用struct_NULL

[这就是我现在的样子。TYPE MyType:STRUCT名称:STRING [20];输入:INT;输出:INT; END_STRUCT END_TYPE程序PLC_PRG:VAR结构:MyType; struct_NULL:...

plc st structured-text iec61131-3
2个回答
1
投票
是的,这行得通,但是可以保证没有人会在代码中写这样的东西:

0
投票
只需使用SysMemSet(Codesys库SysMem),MemSet(Codesys库MemoryUtils)或MEMSET(TwinCAT 3库Tc2_System)功能将所有数据设置为0。

SysMemSet( pDest := ADR(TestStruct), udiValue := 0, udiCount := SIZEOF(TestStruct) );

© www.soinside.com 2019 - 2024. All rights reserved.