2017-07-04 2 views
1

Derzeit haben wir mehrere STRUKTUREN deklariert, die ich in 1 STRUCT kombinieren möchte. Ist das möglich und wie mache ich das? Ich hätte gerne dieses Feature, weil es unser Projekt aufräumen würde.Twincat 3 wie man struct in struct deklariert

Aktuell:

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; 

Wunsch:

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; 

Antwort

1

das ist unmöglich, weil es gegen die IEC 61131-3 wäre.

Sie müssen in Ihrem Projekt in getrennten DUTS bleiben. Vielleicht helfen Ihnen Ordner, Ihr Projekt zu sortieren.