Files

55 lines
1.4 KiB
Plaintext

FUNCTION "DL_Einsprung" : Void
{ 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
Bereich_DL : Int; // Nur für Stammdaten =1!
ID : Int;
MW224 : Word; // war "MW224"
MW226 : Word; // war "MW226"
END_VAR
VAR_OUTPUT
Dyn.DB : Int;
AR_Start : DInt;
Error : Bool;
Dyn_DB : Bool; // war "Dyn.DB"
MW200 : Word; // war "MW200"
END_VAR
VAR_IN_OUT
MB199 : Byte; // war "MB199"
MW196 : Word; // war "MW196"
END_VAR
BEGIN
REGION Inittialisierung
#Dyn_DB := 0;
#AR_Start := 0;
#Error := TRUE;
END_REGION
REGION ID suchen
#MW200 := #ID;
"DatenOut"(SSDB := #Bereich_DL, SSDW := 0, PARA := 16#0000, SEARCHDATEN := P#M200.0, RE_VAL := #MB199, OUTDATEN := P#M220.0, Position := #MW196); // Eintrag lesen
#Error := (#MB199 AND 2#1111111) <> 0;
IF (#MB199 AND 2#1111111) <> 0 THEN RETURN; END_IF;
END_REGION
REGION Daten übergeben
#Dyn_DB := #MW224;
IF #MW224 <= 0 THEN
#Error := TRUE;
RETURN;
END_IF;
#AR_Start := INT_TO_DINT(#MW226);
END_REGION
REGION Ende
RETURN;
END_REGION
END_FUNCTION