FUNCTION "PufferZeiger_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 Puffer_X : Int; // Puffer zum Auslagern MW224 : Word; // war "MW224" MW226 : Word; // war "MW226" END_VAR VAR_OUTPUT Puffer_DB : Int; Puffer_DW : Int; Error : Bool; g_7_HMI_Err_UH07_OB : Word; // war "7_HMI_Err_UH07_OB" MW200 : Word; // war "MW200" END_VAR VAR_IN_OUT MB199 : Byte; // war "MB199" END_VAR VAR_TEMP Position : Int; END_VAR BEGIN REGION Zeiger für Puffer_X ermitteln #MW200 := #Puffer_X; #Error := #Puffer_X = 0; IF #Puffer_X = 0 THEN RETURN; END_IF; "DatenOut"(SSDB := 275, SSDW := 0, PARA := 16#0000, SEARCHDATEN := P#M200.0, RE_VAL := #MB199, OUTDATEN := P#M220.0, Position := #Position); // Einsprung Puffer ermitteln: | Eintrag lesen #g_7_HMI_Err_UH07_OB.Logistik.DB275_Err := (#MB199 AND 2#1111111) <> 0; #Error := (#MB199 AND 2#1111111) <> 0; IF (#MB199 AND 2#1111111) <> 0 THEN RETURN; END_IF; #Puffer_DB := #MW224; #Puffer_DW := #MW226; END_REGION REGION Ende RETURN; END_REGION END_FUNCTION