49 lines
1.4 KiB
Plaintext
49 lines
1.4 KiB
Plaintext
FUNCTION "Leerpuffer to Rein-Lager ermitteln" : 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
|
|
M199_7 : Bool; // war "M199.7"
|
|
MW220 : Word; // war "MW220"
|
|
END_VAR
|
|
|
|
VAR_OUTPUT
|
|
Puffer : Word; // Puffer ermitteln
|
|
END_VAR
|
|
|
|
VAR_IN_OUT
|
|
MB199 : Byte; // war "MB199"
|
|
END_VAR
|
|
|
|
VAR_TEMP
|
|
Position : Int;
|
|
END_VAR
|
|
|
|
BEGIN
|
|
REGION Aktiver Puffer zum Einfahren
|
|
#Puffer := 16#0;
|
|
END_REGION
|
|
|
|
REGION Aktiven Puffer zum Einlagern suchen ?
|
|
"DatenOut"(SSDB := 501, SSDW := 0, PARA := 16#F100, SEARCHDATEN := P#M220.0, RE_VAL := #MB199, OUTDATEN := P#M220.0, Position := #Position); // DL Puffer Leerpuffer einfahren | 1.Eintrag lesen
|
|
IF #M199_7 THEN GOTO Puffer; END_IF;
|
|
END_REGION
|
|
|
|
REGION Leerer Puffer vorhanden?
|
|
"DatenOut"(SSDB := 500, SSDW := 0, PARA := 16#F100, SEARCHDATEN := P#M220.0, RE_VAL := #MB199, OUTDATEN := P#M220.0, Position := #Position); // DL Puffer leer | 1.Eintrag lesen
|
|
IF #M199_7 THEN GOTO Puffer; END_IF;
|
|
RETURN;
|
|
END_REGION
|
|
|
|
REGION Puffer aufbereiten
|
|
#Puffer := INT_TO_BCD16(#MW220) OR 16#A000;
|
|
END_REGION
|
|
|
|
REGION Ende
|
|
RETURN;
|
|
END_REGION
|
|
|
|
END_FUNCTION
|