Twincat 3如何在struct中声明struct

Twincat 3如何在struct中声明struct,struct,declaration,twincat,Struct,Declaration,Twincat,目前我们已经声明了几个结构,我想把它们合并成一个结构。这可能吗?我该怎么做?我想有这个功能,因为它会清理我们的项目 当前: TYPE ST_MAIN_HMI : STRUCT Var 1 : BOOL; Var 2 : BOOL; END_STRUCT END_TYPE TYPE ST_MAIN_CFG : STRUCT Var 1 : BOOL; Var 2 : BOOL; END_STRUCT END_TYPE TYPE ST_MAIN : STRUCT HMI

目前我们已经声明了几个结构,我想把它们合并成一个结构。这可能吗?我该怎么做?我想有这个功能,因为它会清理我们的项目

当前:

TYPE ST_MAIN_HMI : 
STRUCT
  Var 1 : BOOL;
  Var 2 : BOOL;
END_STRUCT
END_TYPE

TYPE ST_MAIN_CFG : 
STRUCT
  Var 1 : BOOL;
  Var 2 : BOOL;
END_STRUCT
END_TYPE

TYPE ST_MAIN : 
STRUCT
  HMI : ST_MAIN_HMI;
  CFG : ST_MAIN_CFG;
END_STRUCT
END_TYPE

Main.HMI.Var1 := TRUE;
Main.CFG.Var2 := FALSE;
TYPE ST_MAIN : 
STRUCT
  TYPE HMI : 
  STRUCT
    Var 1 : BOOL;
    Var 2 : BOOL;
  END_STRUCT
  END_TYPE
  TYPE CFG :
  STRUCT
    Var 1 : BOOL;
    Var 2 : BOOL;
  END_STRUCT
  END_TYPE
END_STRUCT
END_TYPE

Main.HMI.Var1 := TRUE;
Main.CFG.Var2 := FALSE;
所需:

TYPE ST_MAIN_HMI : 
STRUCT
  Var 1 : BOOL;
  Var 2 : BOOL;
END_STRUCT
END_TYPE

TYPE ST_MAIN_CFG : 
STRUCT
  Var 1 : BOOL;
  Var 2 : BOOL;
END_STRUCT
END_TYPE

TYPE ST_MAIN : 
STRUCT
  HMI : ST_MAIN_HMI;
  CFG : ST_MAIN_CFG;
END_STRUCT
END_TYPE

Main.HMI.Var1 := TRUE;
Main.CFG.Var2 := FALSE;
TYPE ST_MAIN : 
STRUCT
  TYPE HMI : 
  STRUCT
    Var 1 : BOOL;
    Var 2 : BOOL;
  END_STRUCT
  END_TYPE
  TYPE CFG :
  STRUCT
    Var 1 : BOOL;
    Var 2 : BOOL;
  END_STRUCT
  END_TYPE
END_STRUCT
END_TYPE

Main.HMI.Var1 := TRUE;
Main.CFG.Var2 := FALSE;

这是不可能的,因为这将违反IEC 61131-3

在你的项目中,你必须待在单独的DUT中。也许文件夹可以帮助您对项目进行排序