Systemzeit auslesen

Reto

Level-1
Beiträge
158
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen

Ich versuche gerade verzweifelt, die Systemzeit in einen DB zu schreiben. Doch leider wird ausser nullen nichts geschrieben :(

Aktuell hab ich folgendes Programmiert:
Code:
CALL  "READ_CLK"
       RET_VAL:=MW34
       CDT    :=#DAT

      L     LD     6
      T     DB198.DBD    0
      L     LB    10
      T     DB198.DBD    4
#DAT ist eine Temp-Var vom Typ Date_And_Time ab Adresse 6.0
DB198.DBD0 ist eine Variable vom Typ Date_And_Time ab Adresse 0.0

In der HW-konfig habe ich eine 315-2DP eingesetzt und bin aktuell mit PLCSIM am testen.

Jemand eine Idee, was ich hier falsch mache?
Danke und Gruss
 
Hallo,

ich lese bei einer 315-2DP die Uhrzeit so ein:

CALL "READ_CLK" (SFC1)
RET_VAL:="wzu_db".time_err
CDT :="wzu_db".date_time_akt// P#DB13.DBX0.0-DATE_AND_TIME

Das Datum und die Uhrzeit stehen dann im DB13 ab DBB0.
Könnte vielleicht an der Variablen #Dat liegen?!

Viele Grüße
rkoe1
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Reto,

so ist besser :rolleyes:

CALL SFC 1
RET_VAL:=#Dummy
CDT :=#Date_Time
NOP 0

LAR1 P##Date_Time
L B [AR1,P#0.0]
T #Jahr

L B [AR1,P#1.0]
T #Monat

L B [AR1,P#2.0]
T #Tag

L B [AR1,P#3.0]
T #Stunde

L B [AR1,P#4.0]
T #Minute

L B [AR1,P#5.0]
T #Sekunde

L W#16#FFF0
L W [AR1,P#6.0]
UW
T #MilliSek

BE
 
Danke für euere Auskünfte.

Mit diesen Funktionen wird das Datum aber immer aufgesplittet. Geht das nicht auch als Date_And_Time ?!?

@rkoe1: Direkt in den DB hab ich auch versucht, geht genau gleich wenig.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für euere Auskünfte.

Mit diesen Funktionen wird das Datum aber immer aufgesplittet. Geht das nicht auch als Date_And_Time ?!?

@rkoe1: Direkt in den DB hab ich auch versucht, geht genau gleich wenig.

Läuft die Uhr der SPS überhaupt?
 
Ja, denke schon ... also wenn ich via Diagnose das Zeitsystem anschaue, hat's halbwegs die richtige Zeit.

Wenn ich's teile in Jahre, Monate, etz ... dann geht's ... zusammen geht's nicht.
 
warum nimmst du nicht die lokaldaten vom OB1?

Code:
      L     LD    12
      T     DB198.DBD    0

      L     LD    16
      T     DB198.DBD    4
fertig ist die Laube. :ROFLMAO:
so mach ich das immer.
einfacher und schneller bekommst du die Daten nicht in deinen DB.

ich hab mir mal nen fc geschrieben dem übergebe ich die zeit vom ob1
und der friemelt mir das auseinander und gibt alles als INT zurück.

FC200-Extrahiert Datum und Uhrzeit aus den Startinformationen des OB1

also
Jahr
Monat
Tag
Stunde
Minute
Sekunde
Millisekunde
Wochentag
alles als INT
damit kann man dann schön weiterarbeiten
z.B. Zeitschaltuhr...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Habe folgendes Problem, ich will eine Lampe den ganzen Monat April und Septemper für 1 Stunde leuchten lassen. Habe es jetzt so weit hinbekommen das sie täglich in der gewünschten Zeit leuchtet nur weis ich leider nicht wie ich aus der Systemzeit den Monat 04 und 09 heraus lesen kann.
Ich hoffe mir kann jemand weiter helfen.
 
Sieh dir mal in der Step7-Hilfe den Aufbau des DATE_AND_TIME Datentyps an.
Da siehst du dann wo was steht und was du dir da raus ziehen musst.
 
Ja, so weit klar. Aber wie schreibe ich zum Beispiel das im OB im 4. und 8. Monat jeden Jahres der Ausgang A1.0 kommt?
 
Zuletzt bearbeitet:
Zurück
Oben