easy-forum

Deutsch - Software => XSoft-CoDeSys => Thema gestartet von: martinc am Februar 12, 2008, 08:30:44 Vormittag

Titel: Problem mit Baustein SYSRTCGETTIME
Beitrag von: martinc am Februar 12, 2008, 08:30:44 Vormittag
Hallo easyforum.net Nutzer
Bin gerade als Neuling dabei mich in codesys einzuarbeiten.
Ich habe zur Übung eine Ampelsteuerung programmiert, die auch gut läuft.
Als Erweiterung habe ich mir gedacht möchte ich eine Zeitschaltuhr programmieren die zum Beispiel von Tag zum Nachtbetrieb (Ampel blinkt gelb) wechselt. Wie ich aus der Hilfe entnehme könnte ich die Sytemzeit des Rechners mit Hilfe des Bausteins SYSRTCGETTIME auslesen. Bei mir zeigt dieser Baustein aber immer nur DT#1970-01-01-00:00 an. ???
Hat jemand auch schon dieses Problem gehabt?
Woher liest der Baustein die entsprechenden Werte (Windows)?
Titel: Re: Problem mit Baustein SYSRTCGETTIME
Beitrag von: Knodelpa am Februar 12, 2008, 09:08:07 Vormittag
Hallo Martinc,

ich denke in der Simulation funktioniert diese Funktion nicht. Hier musst du mit einer realen Steuerung testen. Der Zeitstempel, den du als Ergenis erhälst entspricht quasi 0, denn die das Date_Time Format beginnt erst ab dem 1.1.1970.

 :) ;) :D
Gruß Paul
Titel: Re: Problem mit Baustein SYSRTCGETTIME
Beitrag von: Andreas_Tekmann am Februar 12, 2008, 09:16:27 Vormittag
Hallo,

das kann ich ein bißchen aufklären.

In der Simulation funktioniert das (noch) nicht.

der Wert 1.1.1970 ist historisch motiviert: Ist die Standardzeit "Betriebssystem Unix aus der Taufe gehoben".

Oder unter Unix-Programmierern als Slang schlicht: Unix-Geburt.

Man sieht darin recht schön, was alles bei  der Entwicklung von codesys Pate gestanden hat.

Intern wird ann Echtzeit umgerechnet aus Sekunden seit 1.1.1970 0 Uhr .
Für Programmierer in Unix, C, etc. eine übliche Vorgehensweise und nicht ungewöhnlich - dennoch finde ich es immer wieder faszinierend.

mfG
Andreas

Titel: Re: Problem mit Baustein SYSRTCGETTIME
Beitrag von: Mr. Spok am Februar 13, 2008, 05:58:32 Vormittag
Hallo Martin,

um auch in der Simulation testen zu können, müßtest Du eine "Softwareuhr"
benutzen. Die Funktion getsystime greift direkt auf die Hardware zu.

Einen Baustein für eine Uhr findest Du in der oscat.lib unter www.oscat.de .
Im neuen release 2.7 solte das der Baustein rtc_2 oder rtc_ms sein.

Du kannst dann in der Simulation auf die vom Baustein generierte Uhrzeit/Datum zurückgreifen.


mfG Jan
Titel: Re: Problem mit Baustein SYSRTCGETTIME
Beitrag von: martinc am Februar 13, 2008, 09:14:14 Vormittag
Hallo easyforum.net Nutzer
Eure Antworten haben mir weitergeholfen.
Ich war davon ausgegangen, das SYSRTCGETTIME die Daten aus dem PC holt, was sich als Irrtum erwies. Als nächstes werde ich mal die Bilbliothek von OSCAT 2.7 für codesys ausprobieren. Vielen Dank für die Hinweise :)

Mfg

Martin