Hallo,
Habe folgenden SCL Code im Internet gefunden:
Womit ich über ein Eingangssignal Zeiten als Date_and_Time in einem Ringpuffer abspeichern kann.
Funktioniert vom Grundprinzip bestens aber ich habe ein Problem mit unserem System.
Der SFC1 liest ja die Zeit aus der Baugruppe herraus und die hat absichtlich einen
Versatz von 2 Stunden gegenüber der PG Zeit. Hat irgendetwas mit Zeitservern zu tun.
Da ich dies als Logbuch nutzen wollte kann ich das so nicht gebrauchen.
Könnte mir einer behilflich sein den SCL Code so abzuändern das nicht mehr mit dem SFC 1 die Zeit
gelesen wird sondern aus einem DB die Zeit entnommen wird.
Wir haben einen FB1 und DB1 der extra für diese 2 Stunden Versatz geschrieben wurde.
Jedenfalls ist in diesem DB1.dbd20 immer die aktuelle Zeit vorhanden als Date_and_Time.
Im voraus vielen Dank.
Mfg Tommylik
Habe folgenden SCL Code im Internet gefunden:
Code:
DATA_BLOCK Umlaufspeicher_DT
STRUCT
fm_trigger : BOOL;
schreib_index : INT;
zeiten : ARRAY [0..20] OF DATE_AND_TIME;
END_STRUCT
BEGIN
END_DATA_BLOCK
Code:
FUNCTION ZeitenMerken_DT : VOID
VAR_INPUT
NIO_TVR : BOOL; // NiO Merker
END_VAR
VAR_TEMP
x : INT;
jetzt : DATE_AND_TIME;
rv : INT;
END_VAR
BEGIN
IF e0.1 AND NOT Umlaufspeicher_DT.fm_trigger THEN
rv := Read_Clk (CDT := jetzt);
x := Umlaufspeicher_DT.schreib_index;
Umlaufspeicher_DT.zeiten[x] := jetzt;
IF x = 20 THEN
Umlaufspeicher_DT.schreib_index := 0;
ELSE
Umlaufspeicher_DT.schreib_index := x+1;
END_IF;
END_IF;
Umlaufspeicher_DT.fm_trigger := e0.1;
END_FUNCTION
Funktioniert vom Grundprinzip bestens aber ich habe ein Problem mit unserem System.
Der SFC1 liest ja die Zeit aus der Baugruppe herraus und die hat absichtlich einen
Versatz von 2 Stunden gegenüber der PG Zeit. Hat irgendetwas mit Zeitservern zu tun.
Da ich dies als Logbuch nutzen wollte kann ich das so nicht gebrauchen.
Könnte mir einer behilflich sein den SCL Code so abzuändern das nicht mehr mit dem SFC 1 die Zeit
gelesen wird sondern aus einem DB die Zeit entnommen wird.
Wir haben einen FB1 und DB1 der extra für diese 2 Stunden Versatz geschrieben wurde.
Jedenfalls ist in diesem DB1.dbd20 immer die aktuelle Zeit vorhanden als Date_and_Time.
Im voraus vielen Dank.
Mfg Tommylik