54 lines
1.3 KiB
Plaintext
54 lines
1.3 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;
|
|
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
|