Autor Thema: Problem mit Baustein SYSRTCGETTIME  (Gelesen 12443 mal)

Offline martinc

  • Newbie
  • *
  • Beiträge: 18
Problem mit Baustein SYSRTCGETTIME
« 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)?

Offline Knodelpa

  • easy god
  • *****
  • Beiträge: 1410
  • I love easy-Forum.net
Re: Problem mit Baustein SYSRTCGETTIME
« Antwort #1 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

Offline Andreas_Tekmann

  • Jr. Member
  • **
  • Beiträge: 66
Re: Problem mit Baustein SYSRTCGETTIME
« Antwort #2 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


Offline Mr. Spok

  • Sr. Member
  • ****
  • Beiträge: 652
Re: Problem mit Baustein SYSRTCGETTIME
« Antwort #3 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
Für die Richtigkeit und Funktionalität der hier veröffentlichten Beispiele wird keine Gewähr übernommen.
Für Schäden, die durch Verwendung der Beispiele entstehen, wird keine Haftung übernommen.

Offline martinc

  • Newbie
  • *
  • Beiträge: 18
Re: Problem mit Baustein SYSRTCGETTIME
« Antwort #4 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