Autor Thema: SUN_TIME und Wandlung in local time (1 Stunde abweichender Wert)  (Gelesen 13949 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline Markus2

  • Newbie
  • *
  • Beiträge: 7
    • Profil anzeigen
Hallo,
ich bin neu hier und möchte Euch erstmal herlich Danken für die Bilbliotheken (das Toggle hätte ich nicht selber programmieren müssen, leider dieses Forum zu spät gefunden). War ein Tipp von der Phoenix Contact Hotline. Ich habe keine Erfahrung in der SPS Programmierung und mich wegen der grafischen Oberfläche für PC WorX Express entschieden. Die SPS ist eine ILC131 zur Steuerung meiner Raffstoreanlage (war eine Siemens S5).

Jetzt zu meinem Problem (die Suche hat mir keine Lösung geliefert). Der Baustein SUN_TIME liefert laut Baustein local time (s. Anhang). In der Dokumentation heisst es Weltzeit. Weltzeit ist wohl richtig, aber wie rechne ich die in local time um? Mit dem Baustein UTC_TO_LTIME klappt es nicht, obwohl der Offset als 60 Minuten abgegeben ist (Anhang).

Was mach ich falsch?




[gelöscht durch Administrator]

Offline peewit

  • Moderator
  • *****
  • Beiträge: 2 378
    • Profil anzeigen
Re: SUN_TIME und Wandlung in local time (1 Stunde abweichender Wert)
« Antwort #1 am: 25. Januar 2015, 22:25:30 »
hast du die letzte oscat basic 3.33 in verwendung ?

wenn ja, dann exportiere doch mal deinen beispielbaustein und stelle den baustein online

Offline Markus2

  • Newbie
  • *
  • Beiträge: 7
    • Profil anzeigen
Re: SUN_TIME und Wandlung in local time (1 Stunde abweichender Wert)
« Antwort #2 am: 26. Januar 2015, 13:49:45 »
Ja, ist die aktuelle (oscat_basic_333.mwt).
Baustein exportieren ... so eine Funktion finde ich nicht. Anbei das Projekt.

[gelöscht durch Administrator]

Offline peewit

  • Moderator
  • *****
  • Beiträge: 2 378
    • Profil anzeigen
Re: SUN_TIME und Wandlung in local time (1 Stunde abweichender Wert)
« Antwort #3 am: 26. Januar 2015, 20:08:03 »
hi

ist ja an sich ein logisches problem

tod ist die vergangene zeit seit 00:00:00 und wird in millisekunden angegeben
DT bzw. DATE_TIME gibt an wie viele sekunden seit 1.1.1970 vergangen sind

fällt dir was auf  ?
die einheiten sind miilisekunden und sekunden
das ist ein unterschied von faktor 1000

einfachste lösung -> siehe bild im anhang

viel spass noch mit oscat....



[gelöscht durch Administrator]

Offline Markus2

  • Newbie
  • *
  • Beiträge: 7
    • Profil anzeigen
Re: SUN_TIME und Wandlung in local time (1 Stunde abweichender Wert)
« Antwort #4 am: 28. Januar 2015, 06:37:49 »
Danke peewit!

Ja, ist logisch, wenn man die Definitionen kennt. Für DT steht es ja in der OSCAT Anleitung.
Aber woher weiß ich, daß TOD in ms definiert ist? Bin halt Anfänger.

Um die Belastung der SPS gering zu halten, rufe ich den Baustein am besten über einen Timer auf?

Offline peewit

  • Moderator
  • *****
  • Beiträge: 2 378
    • Profil anzeigen
Re: SUN_TIME und Wandlung in local time (1 Stunde abweichender Wert)
« Antwort #5 am: 28. Januar 2015, 07:21:20 »
nachdem sich das ergebnis nur einmal am tag ändern kann
würde ein einmaliger durchlauf pro tag reichen !

sobald YEAR_DAY sich ändert einmal ausführen

Offline Markus2

  • Newbie
  • *
  • Beiträge: 7
    • Profil anzeigen
Re: SUN_TIME und Wandlung in local time (1 Stunde abweichender Wert)
« Antwort #6 am: 28. Januar 2015, 16:29:21 »
Nochmals meine Frage: Aber woher weiß ich, daß TOD in ms definiert ist?
Wo kann ich daß nachlesen? Welche Lektüre empfiehlst Du?

Offline peewit

  • Moderator
  • *****
  • Beiträge: 2 378
    • Profil anzeigen
Re: SUN_TIME und Wandlung in local time (1 Stunde abweichender Wert)
« Antwort #7 am: 28. Januar 2015, 20:34:05 »
das grundproblem ist das die ganzen zeit und datum datentypen in pcworx eigentlich nicht vorhanden sind.

die habe ich alle als datentype UDINT zusammengefasst.

dadurch kann man aber auch an sich verschiedene datentypen einfach verbinden
dann passieren dinge wie bei dir , das du verschiedene dinge verbindest die aber nicht zusammen passen






[gelöscht durch Administrator]

Offline Markus2

  • Newbie
  • *
  • Beiträge: 7
    • Profil anzeigen
Re: SUN_TIME und Wandlung in local time (1 Stunde abweichender Wert)
« Antwort #8 am: 29. Januar 2015, 16:43:33 »
Hi peewit,
nochmals meine Frage:

Wo kann ich daß nachlesen?
Welche Lektüre empfiehlst Du?
Aus welcher Quelle ist der zitierte Text?

Offline peewit

  • Moderator
  • *****
  • Beiträge: 2 378
    • Profil anzeigen
Re: SUN_TIME und Wandlung in local time (1 Stunde abweichender Wert)
« Antwort #9 am: 29. Januar 2015, 19:18:33 »
siehe anhang - kapitel 10.11


[gelöscht durch Administrator]

Offline Markus2

  • Newbie
  • *
  • Beiträge: 7
    • Profil anzeigen
Re: SUN_TIME und Wandlung in local time (1 Stunde abweichender Wert)
« Antwort #10 am: 09. Februar 2015, 15:12:27 »
Hi Peewit

nachdem sich das ergebnis nur einmal am tag ändern kann
würde ein einmaliger durchlauf pro tag reichen !
sobald YEAR_DAY sich ändert einmal ausführen
Ich habe gedacht, das mach ich mal eben und bin kläglich gescheitert, da ich mir die grundlegenden Programmierkentnisse fehlen. Ich programmiere nur in KOP.

Ich würde den Wert einer Variablen (letzter Wert RTC_DAY) mit RTC_DAY vergleichen und bei Ungleichheit die Variable neu beschreiben und den zuvor besprochenen Funktionsbaustein "Sonnenzeit" aufrufen bzw. den neuen Wert RTC_DAY zuweisen.

Aber wie mach ich das in KOP?
Kann mir bitte jemand etwas Hilfestellung geben?

Schon mal vielen Dank für Eure Mühe
Markus

Offline Markus2

  • Newbie
  • *
  • Beiträge: 7
    • Profil anzeigen
Funktionsbaustein SUN_TIME nur einmal pro Tag aufrufen
« Antwort #11 am: 14. Februar 2015, 09:41:07 »
So, ich habe weiter in PC WorX Express 6.30 programmiert.

Im "Main"-Programm wird der Ausgang "Sonnenzeit_DD_Last" geändert sobald ein neues Tagesdatum ansteht.
Meine Vermutung/Hoffnung war, dass nur dann der Funktionsnaustein "FB_Sonnenzeit2_1" aufgerufen wird. Ist das so richtig?
Wenn nein, wie programmiert man das (FB nur aufrufen wenn Bedibngung erfüllt ist)?

Bevor ich diese Änderung einfügt habe betrug die SPS Zykluszeit 5 ms.
Nach der Änderung beträgt die SPS Zykluszeit 15 ms.
Ich vermute, daß der Baustein ständig aufgerufen wird.

Kann mir jemand helfen?
Screenshots und Code sind angehängt.

Viele Grüße
Markus



[gelöscht durch Administrator]
« Letzte Änderung: 14. Februar 2015, 09:43:18 von Markus2 »