-> Hier kostenlos registrieren
hey,
ich bastel an einem SCL Baustein, welcher ein Datum und eine Zeit (TIME_OF_DAY) übergeben bekommt, diese zu DATE_AND_TIME zusammensetzt und später mit einem anderen Datum vergleicht.
leider bekomme ich immer einen Error wenn ich den FC3 aufrufe und ich weiß einfach nicht warum....
Mein Quelltext+Fehlermeldung ist im Anhang, ich bin echt ideenlos, da ich mir sicher bin alles richtig parametriert zu haben.Vielen Dank für eure Hilfe!
Zur besseren lesbarkeit hier nochmal die SCL Quelle:
FUNCTION_BLOCK FB42
VAR_TEMP
zustandBool: BOOL;// temporäre Variablen
retVal: INT;
END_VAR
VAR_INPUT
input_BOOL: BOOL :=false;
daten: DATE:=D#1990-1-1;
timen: TIME_OF_DAY:=TOD#0:0:0.000;
END_VAR
VAR_OUTPUT
output_BOOL: BOOL;
END_VAR
VAR
vergleichsDatum: DATE_AND_TIME:=DT#1990-1-1-0:0:0.0;
aktuelleZeit: DATE_AND_TIME;
END_VAR
// Anweisungsteil
retVal:=READ_CLK(CDT :=aktuelleZeit); //Aktuelle Systemzeitlesen
vergleichsDatum:= D_TOD_DT(IN1 :=daten // IN: DATE
,IN2 :=timen // IN: TIME_OF_DAY
); // DATE_AND_TIME
zustandBool:= EQ_DT(DT1 :=aktuelleZeit // IN: DATE_AND_TIME
,DT2 :=vergleichsDatum // IN: DATE_AND_TIME
); // BOOL
IF zustandBool = TRUE THEN
output_Bool:=input_BOOL;// Anweisungsteil_IF
END_IF
;
END_FUNCTION_BLOCK
ich bastel an einem SCL Baustein, welcher ein Datum und eine Zeit (TIME_OF_DAY) übergeben bekommt, diese zu DATE_AND_TIME zusammensetzt und später mit einem anderen Datum vergleicht.
leider bekomme ich immer einen Error wenn ich den FC3 aufrufe und ich weiß einfach nicht warum....
Mein Quelltext+Fehlermeldung ist im Anhang, ich bin echt ideenlos, da ich mir sicher bin alles richtig parametriert zu haben.Vielen Dank für eure Hilfe!
Zur besseren lesbarkeit hier nochmal die SCL Quelle:
FUNCTION_BLOCK FB42
VAR_TEMP
zustandBool: BOOL;// temporäre Variablen
retVal: INT;
END_VAR
VAR_INPUT
input_BOOL: BOOL :=false;
daten: DATE:=D#1990-1-1;
timen: TIME_OF_DAY:=TOD#0:0:0.000;
END_VAR
VAR_OUTPUT
output_BOOL: BOOL;
END_VAR
VAR
vergleichsDatum: DATE_AND_TIME:=DT#1990-1-1-0:0:0.0;
aktuelleZeit: DATE_AND_TIME;
END_VAR
// Anweisungsteil
retVal:=READ_CLK(CDT :=aktuelleZeit); //Aktuelle Systemzeitlesen
vergleichsDatum:= D_TOD_DT(IN1 :=daten // IN: DATE
,IN2 :=timen // IN: TIME_OF_DAY
); // DATE_AND_TIME
zustandBool:= EQ_DT(DT1 :=aktuelleZeit // IN: DATE_AND_TIME
,DT2 :=vergleichsDatum // IN: DATE_AND_TIME
); // BOOL
IF zustandBool = TRUE THEN
output_Bool:=input_BOOL;// Anweisungsteil_IF
END_IF
;
END_FUNCTION_BLOCK