-> Hier kostenlos registrieren
Hallo ich habe folgende SCL Funktion.
Diese rufe ich in einem anderen Baustein auf:
Dabei bekomme ich an der stalle startbyte angezeigt, dass die Parameterübergabe nicht korrekt sei. kann mir jemand helfen?
Code:
FUNCTION FC955 : VOID
VERSION : '1.0'
AUTHOR : BS
VAR_INPUT
DB_Input : BLOCK_DB;
Startbyte : INT;
Anzahl : INT;
END_VAR
VAR_TEMP
Index : INT;
Hilfsindex : INT;
Zwischenwert : REAL;
END_VAR
FOR Index := 1 TO Anzahl BY 1 DO
Hilfsindex := Startbyte + Index * 4 - 4;
Zwischenwert := DWORD_TO_REAL(DB_Input.DD[Hilfsindex]);
IF Zwischenwert <> -100.00 AND Zwischenwert <> -200.00 THEN
Zwischenwert := Zwischenwert * -1.0;
DB_Input.DD[Hilfsindex] := REAL_TO_DWORD(Zwischenwert);
END_IF;
END_FOR;
END_FUNCTION
Diese rufe ich in einem anderen Baustein auf:
Code:
"Invertiere Realwert"(DB_Input := WORD_TO_BLOCK_DB(INT_TO_WORD(DB_Einzelmesswerte))// IN: BLOCK_DB
,Startbyte := 8// IN: INT
,Anzahl := 2// IN: INT
); // VOID
Dabei bekomme ich an der stalle startbyte angezeigt, dass die Parameterübergabe nicht korrekt sei. kann mir jemand helfen?