DATE_AND_TIME Wochentag flackert bei Übertragung von TP37 auf S7-300

bernd81

Level-2
Beiträge
117
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich habe ein Problem und zwar habe ich ein TP37 (noch mit Protool projektiert) und eine S7-315-2DP welche 3 Kompressoren über Zeit und Wochentag steuern sollen.

Im Touchpanel wird die jeweilige Zeit und der Wochentag eingestellt welcher Kompressor laufen soll. Die Uhrzeit wird über Steuerungsauftrag 41 an die CPU übertragen und dort wird dann entschieden je nachdem was auf dem Panel eingestellt wurde ob der Kompressor laufen soll oder nicht.
Das funktioniert auch ganz gut nur bin ich jetzt anhand des SPS Analyzer drauf gekommen das der Kompressor auch am Sonntag läuft obwohl er vom SPS Programm her gar nicht angesteuert wird.
Die Variable welche vom Touchpanel kommt und mir sagt welcher Wochentag ist flackert am Sonntag und auch an anderen Tagen immer wieder und nimmt werte von bis zu 15 an.
Dadurch kommt meine Zeitschaltuhr natürlich durcheinander.

Habt ihr schon mal ähnliche Probleme gehabt?
 
Hallo,
bei mir setzt der Steuerungsauftrag 41 die Systemuhr in der CPU. Das ist es doch wohl nicht, was du willst ... und wenn doch, dann würde ich diese nicht in einem schnellen Zyklus setzen sondern vielleicht einmal am Tag (oder so).
Du willst doch wohl einen Vergleichswert vorgeben ? Das hat dann nichts mit dem Steuerungsauftrag zu tun sondern mehr mit einer "normalen" Variablen ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

bei mir steht im Kommentarbereich der SPS

//Mit dem Steuerungsauftrag 41 können Sie die Übertragung von Uhrzeit und Datum vom Bediengerät zur Steuerung anstroßen

also Code wird folgendes benutzt:

//Auftragsnummer an TP senden

L 41
T MB40
L MB40
T DB2.DBB5

L DB2.DBB0
T MB41

danach wird im selben Baustein der DB2 ausgelesen und die einzelnen Bytes auf Merkerbytes beschrieben welche dann die Uhrzeit und den Wochentag anzeigen.

Der DB2 wird sonst nirgends beschrieben also nehme ich an das der DB2 die Schnittstelle zwischen TP37 und SPS ist und das dort das TP37 die Uhrzeit reinschreibt und dann in der SPS weiterverarbeitet wird.

Vielen Dank schon mal für deine schnelle Antwort von vorher!
 
Wie oft findet denn diese Abfrage statt ?
Kontrollierst du vor einer neuen Abfrage ob das Auftragsfach leer ist ? Es steht dann eine 0 in deinem DB2.DBB5.
Auf diese Weise kannst du auch kontrollieren, ob die Anfrage bearbeitet wird. Du schreibst 41 rein und wenn das Bediengerät das bearbeitet hat steht danach 0 drin. Nun würde m.E. auch erst der korrekte Wochentag drinstehen ...

Gruß
Larry
 
Hallo,
bei mir setzt der Steuerungsauftrag 41 die Systemuhr in der CPU. Das ist es doch wohl nicht, was du willst ... und wenn doch, dann würde ich diese nicht in einem schnellen Zyklus setzen sondern vielleicht einmal am Tag (oder so).
Du willst doch wohl einen Vergleichswert vorgeben ? Das hat dann nichts mit dem Steuerungsauftrag zu tun sondern mehr mit einer "normalen" Variablen ...

Gruß
Larry


Nanu,
der Steuerungsauftrag 41 HOLT doch nur Datum/Uhrzeit, die setzt doch nicht die Systemuhr ??:confused:

Gruss
 
Hallo,


L 41 --->Steuerungsauftrag
T MB40
L MB40
T DB2.DBB5 ---> Auftragsfach

L DB2.DBB0 ---> ??
T MB41

danach wird im selben Baustein der DB2 ausgelesen und die einzelnen Bytes auf Merkerbytes beschrieben welche dann die Uhrzeit und den Wochentag anzeigen.

Welche Bytes/Worte werden denn im DB 2 dann noch ausgelesen??
 
so sieht mein Baustein aus:

// Datum und Uhrzeit
//Uhrzeit: Wort n+9 bis n+11
//Datum: Wort n+12 bis n+14
//Mit dem Steuerungsauftrag 41 können Sie die Übertragung von Uhrzeit und Datum vom Bediengerät zur Steuerung anstoßen.
//Das Bild zeigt den Aufbau des Datenbereiches. Alle Angaben sind BCD-codiert.
// Lebensbit
L DB2.DBB 1
T MB 30
// Uhrzeit
L DB2.DBB 15
T MB 31
L DB2.DBB 16
T MB 32
L DB2.DBB 17
T MB 33
// Datum
L DB2.DBB 21
T MB 34
L DB2.DBB 22
T MB 35
L DB2.DBB 23
T MB 36
L DB2.DBB 24
T MB 37
// Auftragsnummmer an TP senden
L 41
T MB 40
L MB 40
T DB2.DBB 5
L DB2.DBB 0
T MB 41

Im nächsten NW werden die Merkerwörter mit den Uhrzeiten und Wochentagen (MB34) noch mit BTI in eine Festpunktzahl umgewandelt
und dann wird das MB34 welches nacher in einem anderen DB steht verglichen auf den Wochentag.
Dieser Wert ändert sich jedoch des öfteren täglich für ein paar Sekunden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie oft findet denn diese Abfrage statt ?
Kontrollierst du vor einer neuen Abfrage ob das Auftragsfach leer ist ? Es steht dann eine 0 in deinem DB2.DBB5.
Auf diese Weise kannst du auch kontrollieren, ob die Anfrage bearbeitet wird. Du schreibst 41 rein und wenn das Bediengerät das bearbeitet hat steht danach 0 drin. Nun würde m.E. auch erst der korrekte Wochentag drinstehen ...

Schön, dass du auf meine Frage so präzise geantwortet hast ...
Ich denke, das die Behebung deines fehlers an der einen oder anderen Antwort hängt ...
 
Zitat von Larry Laffer
Wie oft findet denn diese Abfrage statt ?
Kontrollierst du vor einer neuen Abfrage ob das Auftragsfach leer ist ? Es steht dann eine 0 in deinem DB2.DBB5.
Auf diese Weise kannst du auch kontrollieren, ob die Anfrage bearbeitet wird. Du schreibst 41 rein und wenn das Bediengerät das bearbeitet hat steht danach 0 drin. Nun würde m.E. auch erst der korrekte Wochentag drinstehen ...



Der Steuerungsauftrag sollte auch nicht zu oft gesetzt werden, da kommt so manches Gerät durcheinander... :rolleyes:
Vielleicht zyklisch alle paar Minuten einmal ?
Auch noch die alten Daten im Bereichzeiger Datum/Uhrzeit ablöschen, bevor neuer Auftrag angestossen wird.

Übrigens Larry: die 41 wird zwar vom Bediengerät gelöscht ("0"), aber wird dann doch noch mal kurzzeitig wieder von Gerät ins DBB geschrieben (wenn die Daten übertragen werden)
Hier hilft vielleicht das Ablöschen der empfangenen Daten. Der Auftrag ist dann abgeschlossen, wenn neue Daten da sind (auf >< 0 prüfen)

Gruss
 
Hallo Larry,

entschuldigung das ich deine Frage nicht richitg beantwortet habe aber der oben aufgelistete Code ist die einzigste Stelle wo was mit dem DB2
gemacht wird.
Außer im OB1 wird noch folgender Code ausgeführt welcher aber nicht kommentiert ist:

U DB2.DBX3.3
S DB2.DBX3.2
R DB2.DBX3.0

Der Steuerungsauftrag wird dauernd angestoßen ich kann mal nirgendwo eine Zeit finden wo es zeitlich begrenzen würde.
Wö könnte ich die Zeit einstellen wieoft er die Zeit synchronisiert.

Was mir auch aufgefallen ist das bei mir der Sonntag den Wert 2 hat und nicht wie in der Hilfe beschrieben den Wert 1.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Larry,

entschuldigung das ich deine Frage nicht richitg beantwortet habe aber der oben aufgelistete Code ist die einzigste Stelle wo was mit dem DB2
gemacht wird.
Außer im OB1 wird noch folgender Code ausgeführt welcher aber nicht kommentiert ist:

U DB2.DBX3.3
S DB2.DBX3.2
R DB2.DBX3.0

Der Steuerungsauftrag wird dauernd angestoßen ich kann mal nirgendwo eine Zeit finden wo es zeitlich begrenzen würde.
Wö könnte ich die Zeit einstellen wieoft er die Zeit synchronisiert.

Was mir auch aufgefallen ist das bei mir der Sonntag den Wert 2 hat und nicht wie in der Hilfe beschrieben den Wert 1.

Hallo,
du musst die Bearbeitung deines Codes in Abhängigkeit von einem Timer machen:

- alte Daten löschen
- Timer starten
- wenn Timer abgelaufen, dann Code 1x bearbeiten
- Daten holen und auswerten
- Timer neu starten
- Code erst dann wieder durchlaufen, wenn Timer abgelaufen
usw.

Denke, du hast wegen des zyklischen Aufrufs Überschneidungen beim Lesen der Daten/Schreiben der Daten vom Gerät

Gruss
 
Übrigens Larry: die 41 wird zwar vom Bediengerät gelöscht ("0"), aber wird dann doch noch mal kurzzeitig wieder von Gerät ins DBB geschrieben (wenn die Daten übertragen werden)
Hier hilft vielleicht das Ablöschen der empfangenen Daten. Der Auftrag ist dann abgeschlossen, wenn neue Daten da sind (auf >< 0 prüfen)

:confused::confused::confused: genau so hatte ich es geschrieben :
Kontrollierst du vor einer neuen Abfrage ob das Auftragsfach leer ist ? Es steht dann eine 0 in deinem DB2.DBB5.
Auf diese Weise kannst du auch kontrollieren, ob die Anfrage bearbeitet wird. Du schreibst 41 rein und wenn das Bediengerät das bearbeitet hat steht danach 0 drin. Nun würde m.E. auch erst der korrekte Wochentag drinstehen ...

Ich habe den Vorgang bei mir als eine Art Schrittkette realisiert - auch ohne einen Timer (das macht nämlich keinen Sinn, da das Bediengerät nicht zwingend nach einer Zeit x den Auftrag bearbeitet hat). Die SK würde erstmal überprüfen, ob das Bediengerät Zeit hat (Auftragsfach ist leer), Nun den Auftrag erteilen.Warten auf Abarbeitung desselben. Nun den Wert auslesen und wenn überhaupt dann jetzt erst wieder erneut abfragen.
Besser wäre allerdings hier (wie auch von Softmaschine geschrieben) noch ein paar Minuten (oder sogar noch länger) zu warten und dann erst wieder anzufragen ...
Dann fällt auch das Problem (ganz sicher) mit den unsinnigen Werten im Koppelbereich weg.

Gruß
Larry
 
To Larry

:confused::confused::confused: genau so hatte ich es geschrieben :

Ich habe den Vorgang bei mir als eine Art Schrittkette realisiert - auch ohne einen Timer (das macht nämlich keinen Sinn, da das Bediengerät nicht zwingend nach einer Zeit x den Auftrag bearbeitet hat). Die SK würde erstmal überprüfen, ob das Bediengerät Zeit hat (Auftragsfach ist leer), Nun den Auftrag erteilen.Warten auf Abarbeitung desselben. Nun den Wert auslesen und wenn überhaupt dann jetzt erst wieder erneut abfragen.
Besser wäre allerdings hier (wie auch von Softmaschine geschrieben) noch ein paar Minuten (oder sogar noch länger) zu warten und dann erst wieder anzufragen ...
Dann fällt auch das Problem (ganz sicher) mit den unsinnigen Werten im Koppelbereich weg.

Gruß
Larry


Hey, Larry,

nichts für ungut :eek:

Allerdings ist der Auftrag noch nicht fertig bearbeitet, wenn das Bediengerät das Auftragsfach löscht, sondern erst dann, wenn die Daten übertragen worden sind.
Das Ablöschen des Auftrags 41 --> 0 bedeutet nur, dass das Bediengerät den AUftrag angenommen hat.
Bis zur Übertragung der Daten vom Bediengerät bleibt das Auftragsfach = 0, dann wird mit Datenübertragung nochmal kurzzeitig die 41 reingeschrieben und wieder gelöscht (Quittierung ...). Nun erst ist der Auftrag abgeschlossen.

wenn du schon die daten liest, wenn der Auftrag 41 auf 0 gesetzt wird, liest du womöglich alte Daten oder bei Überschneidungen eben den "Müll".

Gruss :)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Übrigens Larry: die 41 wird zwar vom Bediengerät gelöscht ("0"), aber wird dann doch noch mal kurzzeitig wieder von Gerät ins DBB geschrieben (wenn die Daten übertragen werden)
Hey, Larry,

nichts für ungut :eek:
[...]
Das Ablöschen des Auftrags 41 --> 0 bedeutet nur, dass das Bediengerät den AUftrag angenommen hat.
Bis zur Übertragung der Daten vom Bediengerät bleibt das Auftragsfach = 0, dann wird mit Datenübertragung nochmal kurzzeitig die 41 reingeschrieben und wieder gelöscht (Quittierung ...). Nun erst ist der Auftrag abgeschlossen.
(rote Hervorhebungen sind von mir)

Hey, wo hast Du das denn her? :confused: Kannst Du diese Aussage irgendwie belegen?
Für mich macht es überhaupt keinen Sinn, wenn das Bediengerät zum Auftragsabschluß noch einmal die Steuerungsauftragsnummer in das eigene Auftragsfach schreibt (und sei es auch noch so kurzzeitig). Da wäre ja der Troubble vorprogrammiert. :rolleyes:

Von Siemens dokumentiert (leider nicht zusammenhängend) ist nur dieser Ablauf:
  • die Steuerung trägt die Parameter in das Auftragsfach ein
  • die Steuerung schreibt die Auftragsnummer ins Auftragsfach
  • ist die Auftragsnummer (das erste Wort des Auftragsfaches) ungleich 0, dann wertet das Bediengerät den Steuerungsauftrag aus und setzt die Auftragsnummer auf 0
  • nun wird der Auftrag vom Bediengerät abgearbeitet, die Steuerung kann in der Zeit schon einen neuen Steuerungsauftrag ausfüllen, das Bediengerät liest den aber erst, wenn der vorherige Auftrag abgearbeitet ist
  • der Auftrag ist abgeschlossen, wenn die angeforderten Daten im Empfangsfach eingetragen worden sind, daher: vorher Empfangsfach löschen und auf <> 0 warten
Ein "kurzzeitiges" Schreiben der Auftragsnummer ins Auftragsfach (z.B. als Quittierung) passt in diesen Ablauf nicht 'rein.

Speziell für den Steuerungsauftrag 41 gibt es aber tatsächlich eine Quittierung.
Zitat aus HMI Kommunikationshandbuch (05/1999) - 13 Schnittstellenbereich bei SIMATIC S7
Kapitel 13.1 Steuer- und Rückmeldebits
Beschreibung Byte n+0

Bit 5–6
Datum, Uhrzeit: 1 = Neu
Durch den Steuerungsauftrag 41 kann die Übertragung von Uhrzeit
und Datum aus dem Bediengerät zur S7 angestoßen werden. Datum
und Uhrzeit werden dann vom Bediengerät in den Schnittstellenbereich
geschrieben.
Diese Bits werden vom Bediengerät gesetzt, wenn ein neues Datum
oder eine neue Uhrzeit übertragen wurde. Nach der Auswertung
von Datum oder Uhrzeit muß das Bit im S7-Programm zurückgesetzt
werden.

Harald
 
Im Touchpanel wird die jeweilige Zeit und der Wochentag eingestellt welcher Kompressor laufen soll. Die Uhrzeit wird über Steuerungsauftrag 41 an die CPU übertragen und dort wird dann entschieden je nachdem was auf dem Panel eingestellt wurde ob der Kompressor laufen soll oder nicht.
Wozu überträgst Du die Uhrzeit des TP37 zur CPU 315-2DP? Ist das aus einem gaaanz alten S5-Programm kopiert? Die 315-2DP hat doch selber eine bessere Uhr. Die brauchst Du nur abfragen (SFC1 oder aus OB1-TEMP lesen). Dann vergleichen, ob die Uhrzeit in einem der am TP37 eingegebenen Zeitfenster liegt und daraufhin schalten oder nicht.

Ich finde das ständige Übertragen und Verarbeiten der TP-Uhrzeit zur CPU nicht sinnvoll.

Höchstens noch eine Synchronisation der TP-Uhr mit der CPU-Uhr für die Meldungs-Zeitstempel könnte ich mir vorstellen, ist aber möglicherweise unnötig.
Wie können Datum und Uhrzeit zwischen einem Zeilen- bzw. Grafik-Bediengerät (TD17,OP5,OP15,OP17,TP27,OP27,TP37,OP37) und einer S7-300/400 Steuerung mit ProTool synchronisiert werden?

Achtung nicht verwechseln: der Steuerungsauftrag 41 überträgt die Uhrzeit der TP-Uhr und nicht die Uhrzeit, die in einem E/A-Feld eingegeben wurde. Hat eventuell der Programmierer nicht gewußt, wie man Datum/Uhrzeit-Eingabefelder auf Variablen macht und verstellt nun bei jeder Eingabe die TP-Uhr???

Das funktioniert auch ganz gut nur bin ich jetzt anhand des SPS Analyzer drauf gekommen das der Kompressor auch am Sonntag läuft obwohl er vom SPS Programm her gar nicht angesteuert wird.
Wie geht das denn? Wie kann der Kompressor laufen, wenn er vom SPS-Programm nicht angesteuert wird? Externe Elektrik an der SPS vorbei? Steuert das TP37 direkt SPS-Ausgänge? Oder ist das Ansteuerprogramm so eine undurchsichtige S/R-Orgie statt eindeutiger =Zuweisung?

Die Variable welche vom Touchpanel kommt und mir sagt welcher Wochentag ist flackert am Sonntag und auch an anderen Tagen immer wieder und nimmt werte von bis zu 15 an.
Dadurch kommt meine Zeitschaltuhr natürlich durcheinander.
"Flackert" nur der Wochentag oder auch die Datum- und Uhrzeit-Werte?
Ich vermute, das Flackern des Wochentag kommt aus dem SPS-Programm, weil die Wochentag-Synchronisation CPU-Uhr zur TP-Uhr fehlerhaft programmiert wurde. Zu meiner Vermutung passt auch:
Was mir auch aufgefallen ist das bei mir der Sonntag den Wert 2 hat und nicht wie in der Hilfe beschrieben den Wert 1.

Die Uhr des TP37 kennt von sich aus gar keinen Wochentag. Dem TP37 muß erst gesagt werden, welcher Wochentag ist (Steuerungsauftrag 15).
Wochentag Anzeige im Grafik OP (OP25, OP27, OP35, OP37, TP27, TP37)

Der DB2 wird sonst nirgends beschrieben also nehme ich an das der DB2 die Schnittstelle zwischen TP37 und SPS ist und das dort das TP37 die Uhrzeit reinschreibt und dann in der SPS weiterverarbeitet wird.
Dein DB2 ist der sogenannte "Schnittstellenbereich" des TP in der CPU.
Aufbau des Schnittstellenbereichs und Beschreibung der Steuerungsaufträge siehe
HMI Kommunikationshandbuch (05/1999)

so sieht mein Baustein aus:

// Datum und Uhrzeit
//Uhrzeit: Wort n+9 bis n+11
//Datum: Wort n+12 bis n+14
Das ist aus der falschen Schnittstellenbeschreibung abgeschrieben und gilt nur bei Kopplung zu SIMATIC 500/505.

Bei SIMATIC S7 gilt:
Uhrzeit: Byte n+15 bis n+17
Datum: Byte n+21 bis n+24

// Auftragsnummmer an TP senden
L 41
T MB 40
L MB 40
T DB2.DBB 5
Kleiner Schönheitsfehler: Die Auftragsnummer ist kein Byte, sondern ein Word.
Es sollte sichergestellt werden, daß das DBB4 = 0 ist ---> T DB2.DBW 4

Außer im OB1 wird noch folgender Code ausgeführt welcher aber nicht kommentiert ist:

U DB2.DBX3.3
S DB2.DBX3.2
R DB2.DBX3.0
Zitat aus dem HMI Kommunikationshandbuch:
Byte n+3 dient zur Synchronisation bei der Übertragung von Datensätzen und
indirekten Variablen. Nachfolgend ist die Bedeutung der einzelnen Bits aufgelistet.
Der genaue Ablauf bei der Übertragung ist in Kapitel 14.7.3 beschrieben.
Der Code ist eventuell eine Leiche aus einem kopierten Projekt und macht folgendes:
Code:
U DB2.DBX3.3  // 1 = Datenübertragung beendet
S DB2.DBX3.2  // 1 = Datensatz/Variable ist fehlerfrei
R DB2.DBX3.0  // 1 = Datenfach ist gesperrt (wird nur vom Bediengerät gesetzt)
              // 0 = Datenfach ist frei

Harald
 
Der Steuerungsauftrag wird dauernd angestoßen ich kann mal nirgendwo eine Zeit finden wo es zeitlich begrenzen würde.
Fast alle Beschreibungen der Steuerungsaufträge und die ProTool-Hilfe für Grafikgeräte sagen zum Steuerungsauftrag 41:
Zwischen zwei Aufträgen sollten mindestens 5 Sekunden liegen, da sonst das Bediengerät überlastet wird.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
(rote Hervorhebungen sind von mir)

Hey, wo hast Du das denn her? :confused: Kannst Du diese Aussage irgendwie belegen?
Für mich macht es überhaupt keinen Sinn, wenn das Bediengerät zum Auftragsabschluß noch einmal die Steuerungsauftragsnummer in das eigene Auftragsfach schreibt (und sei es auch noch so kurzzeitig). Da wäre ja der Troubble vorprogrammiert. :rolleyes:


Von Siemens dokumentiert (leider nicht zusammenhängend) ist nur dieser Ablauf:
  • die Steuerung trägt die Parameter in das Auftragsfach ein
  • die Steuerung schreibt die Auftragsnummer ins Auftragsfach
  • ist die Auftragsnummer (das erste Wort des Auftragsfaches) ungleich 0, dann wertet das Bediengerät den Steuerungsauftrag aus und setzt die Auftragsnummer auf 0
  • nun wird der Auftrag vom Bediengerät abgearbeitet, die Steuerung kann in der Zeit schon einen neuen Steuerungsauftrag ausfüllen, das Bediengerät liest den aber erst, wenn der vorherige Auftrag abgearbeitet ist
  • der Auftrag ist abgeschlossen, wenn die angeforderten Daten im Empfangsfach eingetragen worden sind, daher: vorher Empfangsfach löschen und auf <> 0 warten
Ein "kurzzeitiges" Schreiben der Auftragsnummer ins Auftragsfach (z.B. als Quittierung) passt in diesen Ablauf nicht 'rein.

Speziell für den Steuerungsauftrag 41 gibt es aber tatsächlich eine Quittierung.
Zitat aus HMI Kommunikationshandbuch (05/1999) - 13 Schnittstellenbereich bei SIMATIC S7
Kapitel 13.1 Steuer- und Rückmeldebits


Harald

Hallo Harald,
zunächst mal ist aus deinen Ausführungen zu erkennen, dass der Auftrag nicht mit dem Löschen der "41" beendet ist, sonder nur in Bearbeitung.
Erst mit dem Eintragen der Daten ins Empfangsfach ist der Auftrag beendet (alte Daten vorher löschen, auf <>"0" warten ...)

Hatte da eine kurze Diskussion mit Larry... :cool:


Das kurzzeitige Schreiben der "41" vom Bediengerät habe ich auch nicht erwartet, konnte aber dennoch zufällig die Wertänderung beobachten, allerdings in anderer (S7-317 PN/DP mit MP277Touch 10").

Habe dann nur noch manuell die "41" gesetzt, ein kleines Programm hat dann auf Änderungen/Werte > "0" im Auftragsfach gelauert, und siehe da, die "41" tauchte beim Schreiben der angeforderten Daten in das Empfangsfach nochmals auf (Quittierung ...:confused:)

Gruss nach Stralsund !
 
von wegen "kurze Diskussion mit Larry" :
Die Geschichte mit dem "Reflektieren" der Auftragnummer kann ich auch nicht bestätigen und habe sie auch nie beobachtet und an sich wäre sie auch unlogisch, da sie für das Bediengerät immer ja auch eine neue Aufforderung Daten einzulesen bedeuten würde. Davon ab habe ich ja auch einen Baustein, der nach dem von mir angegebenen Muster prima funktioniert. Ich gehe also mal davon aus, dass es so richtig ist, wie ich es mache ...

@Harald:
Danke für deine Beiträge dazu .
 
Was macht das alles für einen Sinn? Warum einfach, wenn's auch schwer geht!

Um eine einfache Zeitschaltuhr zu programmieren, muss ich doch nicht so'n Aufwand betrieben.

Wir haben die Systemzeit, die ist doch als Aktualzeit zu sehen. Dann gibst Du im Panel Datum und Uhrzeit vor, an den Du ein Ereignis steuern willst. Zum Schluss nur die Systemzeit mit der Vorgabe vergleichen und fertig ist Deine Zeitschaltuhr.

P.S. Das DT-Format kann man doch auflösen und erst nach Tag und dann nach Uhrzeit vergleichen!
 
Zurück
Oben