Files
HundM_awl/SCL-Export/=A01+UH06-KF00/AMRZeiger_ermitteln.scl
T

46 lines
1.3 KiB
Plaintext

FUNCTION "AMRZeiger_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
AMR_X : Word; // AMR zum Beeinflussen
MW224 : Word; // war "MW224"
MW226 : Word; // war "MW226"
END_VAR
VAR_OUTPUT
AMR_DB : Int;
AMR_DW : Int;
Error : Bool;
g_6_HMI_Err_UH06_AMR : Word; // war "6_HMI_Err_UH06_AMR"
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 AMR_X ermitteln
#MW200 := #AMR_X;
// Einsprung AMR ermitteln:
"DatenOut"(SSDB := 276, SSDW := 0, PARA := 16#0000, SEARCHDATEN := P#M200.0, RE_VAL := #MB199, OUTDATEN := P#M220.0, Position := #Position); // Eintrag lesen
#g_6_HMI_Err_UH06_AMR.Logistik.DB276_Err := (#MB199 AND 2#1111111) <> 0;
#Error := (#MB199 AND 2#1111111) <> 0;
IF (#MB199 AND 2#1111111) <> 0 THEN RETURN; END_IF;
#AMR_DB := #MW224;
#AMR_DW := #MW226;
END_REGION
REGION Ende
RETURN;
END_REGION
END_FUNCTION