75 lines
2.5 KiB
Plaintext
75 lines
2.5 KiB
Plaintext
FUNCTION_BLOCK "HWtoAMR_Zylinder"
|
|
{ S7_Optimized_Access := 'FALSE' }
|
|
// Mechanische AWL->SCL-Konvertierung (awl2scl.py). Kontrollfluss per GOTO,
|
|
// wo im Original mit Sprungmarken gearbeitet wurde. Vor Uebernahme in TIA
|
|
// Portal pruefen/kompilieren (siehe SCL-Export/README.md).
|
|
|
|
VAR_INPUT
|
|
DAMR_Bereich : Word; // war "DAMR_Bereich"
|
|
END_VAR
|
|
|
|
VAR_IN_OUT
|
|
MB3000 : Byte; // war "MB3000"
|
|
MB3004 : Byte; // war "MB3004"
|
|
MB3005 : Byte; // war "MB3005"
|
|
MB3061 : Byte; // war "MB3061"
|
|
MB3562 : Byte; // war "MB3562"
|
|
MB3565 : Byte; // war "MB3565"
|
|
END_VAR
|
|
|
|
VAR
|
|
Schleuse_3061 : "MZylinder"; //
|
|
Schleuse_3005 : "MZylinder";
|
|
Schleuse_3004 : "MZylinder";
|
|
Schleuse_3000 : "MZylinder";
|
|
Schleuse_3562 : "MZylinder";
|
|
Schleuse_3565 : "MZylinder"; //
|
|
END_VAR
|
|
|
|
VAR_TEMP
|
|
Auto : Bool; // Automatik ist aktiv
|
|
Hand : Bool; // Hand ist aktiv
|
|
ZylAst : Bool; // Zylinder ansteuern
|
|
END_VAR
|
|
|
|
BEGIN
|
|
REGION Übergabe des Bereichstatus System UC061/A01
|
|
#Auto := #DAMR_Bereich.A01_UH06.Automatik AND NOT (#DAMR_Bereich.A01_UH06.Handbetrieb);
|
|
IF ((#DAMR_Bereich.A01_UC061.BereichErr OR #DAMR_Bereich.A01_UZ6102.Area_Stop) OR #DAMR_Bereich.A01_UZ6103.Area_Stop) OR #DAMR_Bereich.A01_UZ6104.Area_Stop THEN GOTO Next; END_IF;
|
|
END_REGION
|
|
|
|
REGION Schleuse_3061
|
|
#Schleuse_3061(Automatik := #Auto, Handbetrieb := FALSE, T_Ast := 0, T_Gst := 5, ZylAst := #MB3061);
|
|
END_REGION
|
|
|
|
REGION Schleuse_3005
|
|
#Schleuse_3005(Automatik := #Auto, Handbetrieb := FALSE, T_Ast := 0, T_Gst := 5, ZylAst := #MB3005);
|
|
END_REGION
|
|
|
|
REGION Schleuse_3004
|
|
#Schleuse_3004(Automatik := #Auto, Handbetrieb := FALSE, T_Ast := 0, T_Gst := 5, ZylAst := #MB3004);
|
|
END_REGION
|
|
|
|
REGION Übergabe des Bereichstatus System UH06 / A01
|
|
#Auto := #DAMR_Bereich.A01_UH06.Automatik AND NOT (#DAMR_Bereich.A01_UH06.Handbetrieb);
|
|
IF #DAMR_Bereich.A01_UH06_Halle4.BereichErr THEN GOTO Next2; END_IF;
|
|
END_REGION
|
|
|
|
REGION Schleuse_3000
|
|
#Schleuse_3000(Automatik := #Auto, Handbetrieb := FALSE, T_Ast := 0, T_Gst := 5, ZylAst := #MB3000);
|
|
END_REGION
|
|
|
|
REGION Schleuse_3562
|
|
#Schleuse_3562(Automatik := #Auto, Handbetrieb := FALSE, T_Ast := 0, T_Gst := 5, ZylAst := #MB3562);
|
|
END_REGION
|
|
|
|
REGION Schleuse_3565
|
|
#Schleuse_3565(Automatik := #Auto, Handbetrieb := FALSE, T_Ast := 0, T_Gst := 5, ZylAst := #MB3565);
|
|
END_REGION
|
|
|
|
REGION Ende
|
|
RETURN;
|
|
END_REGION
|
|
|
|
END_FUNCTION_BLOCK
|