-> Hier kostenlos registrieren
Hallo,
ich hab mal wieder ein kleines Problem mit S7-SCL.
Der Baustein soll im Sekundentakt einen Zähler in einem Global-DB um eins erhöhen.
Allerdings bekomme ich immer die Fehlermeldung unzulässige Operandentypen in der Zeile 32 beim compilieren.
Krieg das irgendwie nicht hin.
Habt Ihr noch einen Tipp was ich falsch mache
Danke schonmal
FUNCTION_BLOCK "FB_Wartungszaehler"
VAR_INPUT
i_WartungsDB :BLOCK_DB; // Eingangsparameter
i_ZaehlerNr :INT;
i_ImpulsSek :BOOL;
i_VorwarnGrenze1 :INT;
i_WarnGrenze1 :INT;
i_VorwarnGrenze2 :INT;
i_WarnGrenze2 :INT;
i_VorwarnGrenze3 :INT;
i_WarnGrenze3 :INT;
END_VAR
VAR_OUTPUT
o_SammelmeldWart :BOOL;
END_VAR
VAR
FP_ImpulsSek :BOOL;
FM_ImpulsSek :BOOL;
END_VAR
// Flankenmerker Sekunde
FM_ImpulsSek:= i_ImpulsSek AND NOT FP_ImpulsSek;
FP_ImpulsSek:=i_ImpulsSek;
//Wert im Global-DB um eins erhöhen
IF FM_ImpulsSek THEN
i_WartungsDB.DD[i_ZaehlerNr*4]:=i_WartungsDB.DD[i_ZaehlerNr*4]+1; //---> in dieser Zeile bekomme ich immer wieder den Fehler angezeigt!!
END_IF;
END_FUNCTION_BLOCK
ich hab mal wieder ein kleines Problem mit S7-SCL.
Der Baustein soll im Sekundentakt einen Zähler in einem Global-DB um eins erhöhen.
Allerdings bekomme ich immer die Fehlermeldung unzulässige Operandentypen in der Zeile 32 beim compilieren.
Krieg das irgendwie nicht hin.
Habt Ihr noch einen Tipp was ich falsch mache
Danke schonmal
FUNCTION_BLOCK "FB_Wartungszaehler"
VAR_INPUT
i_WartungsDB :BLOCK_DB; // Eingangsparameter
i_ZaehlerNr :INT;
i_ImpulsSek :BOOL;
i_VorwarnGrenze1 :INT;
i_WarnGrenze1 :INT;
i_VorwarnGrenze2 :INT;
i_WarnGrenze2 :INT;
i_VorwarnGrenze3 :INT;
i_WarnGrenze3 :INT;
END_VAR
VAR_OUTPUT
o_SammelmeldWart :BOOL;
END_VAR
VAR
FP_ImpulsSek :BOOL;
FM_ImpulsSek :BOOL;
END_VAR
// Flankenmerker Sekunde
FM_ImpulsSek:= i_ImpulsSek AND NOT FP_ImpulsSek;
FP_ImpulsSek:=i_ImpulsSek;
//Wert im Global-DB um eins erhöhen
IF FM_ImpulsSek THEN
i_WartungsDB.DD[i_ZaehlerNr*4]:=i_WartungsDB.DD[i_ZaehlerNr*4]+1; //---> in dieser Zeile bekomme ich immer wieder den Fehler angezeigt!!
END_IF;
END_FUNCTION_BLOCK