# Baustein CurTime Wago750-841



## CoDeSys123456 (21 Februar 2010)

Hallo zusammen,

Habe ein Problem: der Input des Bausteines CurTime. Wie muss dieser in CoDeSys V2.3.9.7 genannt werden (Blind_Input)? 

Habe bereits per google Forum das gleiche Problem gefunden, jedoch funktioniert es dennoch nicht. 

Anbei der Screenshot. 

Bitte um Hilfe 

Grüße


----------



## ybbs (21 Februar 2010)

Den Parameter darfst Du nennen wie Du möchtest, er muss halt vom Typ  SysTime64 sein.

Aber ist für Deine Anwendung die Funktion SysRtcGetTime nicht besser geeignet?


----------



## CoDeSys123456 (21 Februar 2010)

Hallo ybbs,

leider funktioniert es dennoch nicht:

"Den Parameter darfst Du nennen wie Du möchtest, er muss halt vom Typ SysTime64 sein."
Da dieser Parameter vom Typ BOOL ist und ich auf dem Baustein noch Time_of_day habe und dieser DWord ist=Fehlermeldung (kann Time_of_day umdekliniert werden?

"Aber ist für Deine Anwendung die Funktion SysRtcGetTime nicht besser geeignet"
Prinzipiell benötige ich als Vergleichsoperand die Systemzeit =ja.
Dieses SysRtcGetTime ist kein Baustein (=Eingang von z.B. GT).
Welcher Typ muss dieser haben dass es mit tod (Time_of_Day) funktioniert?

Bitte um Antwort

vielen DNak

MfG


----------



## ybbs (21 Februar 2010)

SysRtcGetTime ist eine *Funktion* welche die Systemzeit als DT zurückliefert. Aus dem Datentyp DT kann nun jede beliebige Zeitinfo generiert werden.

Ungetestes Beispiel zur Anregung.

```
VAR
  SysTimeDT  : DT;
  TimeOfDay  : TOD;
END_VAR

SysTimeDT := SysRtcGetTime(TRUE);
TimeOfDay := DT_TO_TOD(SysTimeDT);
```

Wenn die Systemfunktion nicht zyklisch aufgerufen werden soll, kannst Du einfach den FB RTC aus der Standard.lib "zwischenschalten".


----------



## CoDeSys123456 (21 Februar 2010)

Hallo ybbs,

könntest Du mir ein Screenshot von FUP-Funktionsplan senden mit einem GT-Bausein (System-Zeit und tod).

Der Baustein RTC würde mir doch nichts nützen??? Dieser ist zum "hochzählen" gedacht

Vielen dank

MfG


----------



## ybbs (21 Februar 2010)

Hier ein Versuch, ich kann allerdings kein FUP.

NW1 zeigt das gleiche wie NW2-4.


----------



## CoDeSys123456 (21 Februar 2010)

vielen Dank für das Beispiel.

Jedoch bekomme ich bei NW1 die Fehlermeldung 4024 "Erwarte`)`vor `(´, obwohl die Kalmmern gleich wie im Bsp sind (Abstand).

Bei NW2 bekomme ich die Fehlermeldung 4371 Überflüssige Zeichen nach gültigem Ausdruck:`SysRtcGetTime TRUE`

Bitt nochmals um Hilfe, habe bisher nur Loogs programmiert, deswegen FUP.

Grüße


----------



## ybbs (22 Februar 2010)

Spontan habe ich keine Idee. 

Falls niemand eine passenden Ansatz hat, kannst Du mir Dein Projekt (inkl. der verwendeten Libs) und eine kurze Aufgabenbeschreibung senden. Ich kann Dir anbieten mir das Morgen Abend anzusehen.


----------



## CoDeSys123456 (22 Februar 2010)

Habe jetzt DT_TO_TOD (SysRtcGetTime (TRUE) ) als FB-Eingang gesetzt: 

Fehlermeldung: 4024 Erwarte ´)´vor ´(´ 

Anbei der Screenshot. clip_image003.jpg 

Welche Klammern sind falsch gesetzt oder müssen bei TRUE gar keine Klammern hin ?

Ansonsten werde ich Dir das Projekt mal senden; vielen Dank für Dein Angebot


Grüße

CoDeSys123456


----------



## CoDeSys123456 (24 Februar 2010)

*Danke für die Hilfe*

Hallo ybbs,

vielen Dank für die Hilfestellung. Funktioniert jetzt.

Durch deine explizite Erklärung der Funktionsweise, weiß ich jetzt auch wie dies zusammenhängt.


Viele Grüße

CoDeSys456


----------



## michaelr1512 (20 Februar 2015)

*Probleme mit der Sysrtcgettime*

Hallo zusammen

Ich habe ein ähnliches Problem: Ich möchte die Zeit bei einen gewissen Ereignis protokollieren und in Visu ausgeben. Jedoch komme ich mit dem Baustein SysRTCGetTime nicht weiter, dieser gibt mir immer nur die Standartzeit (1.1.1970) aus und ändert diese nicht. Wenn ich aber in Visu in einem Textfeld %t %c reinschreibe steht dort die Korrekte Zeit.
Kann mir jemand helfen?


----------



## egro (20 Februar 2015)

Dieser Baustein gibt die Controller-Zeit raus.
Also funktioniert eine Simulation nicht. Wenn das Programm auf einen Controller geladen wurde und immer noch Januar 1970 ist, ist entweder die Zeit nicht eingestellt oder der Controller ist nicht auf START...


----------

