Twincat 3, как объявить структуру внутри структуры

В настоящее время у нас есть несколько объявленных STRUCTS, которые я хотел бы объединить в 1 STRUCT. Возможно ли это и как мне это сделать? Я хотел бы иметь эту функцию, потому что она очистит наш проект.

Текущий:

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;

person user2119795    schedule 04.07.2017    source источник


Ответы (1)


Это невозможно, потому что это противоречит IEC 61131-3.

Вы должны оставаться в отдельных DUTS в своем проекте. Возможно, папки помогут вам отсортировать ваш проект.

person Tost    schedule 25.07.2017