TIA Zeitmessung zwischen zwei Impulsen

Zuviel Werbung?
-> Hier kostenlos registrieren
Ne, du denkst schon richtig. So killst du die falsche Zeitmessung.
Aber... Dafür gehst du mit einem Wert von 0 in deine U/min-Berechnung.
Damit kommt dann wahrscheinlich wieder ein falscher U/min-Wert raus, oder gar einen Division durch Null.

Besser wäre es wenn du bei einer fehlerhaften Zeitmessung die Berechnung nicht durchführst und den Fehlerwert einfach verwirfst.


Wie liest du denn die Sytemzeit zum Füttern des T_DIFF aus?

... über den Baustein "RD_SYS_T".
 
@PN/DP: Da gebe ich dir vollkommen recht, ich finde Zeitberechnungen mit Systemzeit auch nicht toll.
Auf der S7-1200 gibt es aber nix anderes. TIME_TCK ist nur mehr auf 1500 da, und das nur als "Legacy".

OB1-Zählen ist ne Möglichkeit, TON hat halt immer das Problem des Leer-Zyklus zwischen drin.

Die Siemens-Fritzen hatten ursprünglich ihren FAQ für die Zeitmessung sogar ohne Hinweis auf mögliche Probleme veröffentlicht.
Ich hatte dann im Kommentar unten hingewiesen dass das keine sehr schlaue Variante ist,
sofern man das Problem der Uhrzeitverstellung nicht abfängt.

Hab dann zuerst folgende Antwort bekommen... :ROFLMAO:
Siemens schrieb:
vielen Dank für Ihre Anregung zu der Beitrags-ID: 52258130.

Die Systemzeit ist in der Regel UTC. Auch im NTP-Verfahren wird generell UTC übertragen.

Uhrzeitkorrekturen werden normalerweise für die Lokalzeit durchgeführt. Anhand der Einstellungen für die Zeitzone und die Sommer-/Winterzeitumschaltung wird die Lokalzeit auf Basis der Systemzeit berechnet.

Welchen Fehler meinen Sie?
Ja, da sitzen Leute mit echter Ahnung hinter diesen FAQs. Mittlerweile wurde aber unten ein Hinweis angefügt. :lol:
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
... über den Baustein "RD_SYS_T".
Siehst du.
Dieser Satz in Kombination mit meinem Beitrag #16...
2)​
Das hängt davon ab welchen Baustein du zum Auslesen der Systemzeit nimmst.
RD_SYS_T: Alles OK, der ist in UTC -> keine Zeitumschaltung
RD_LOC_T: Schlecht, sofern genanntes Häckchen an ist spring die Uhr dann ja 2x im Jahr um. Heißt dann auch 2 Fehlmessungen
Also alles OK. SYS_T liefert die Zeit in UTC (GMT). Da gibt's keine Sommer/Winterzeit.
Soll aber Leute geben welche (vor allem auch 300/400) die Lokalzeit für solche Berechnungen verwenden und vielleicht 2x im Jahr ein Problem haben.
 
Siehst du.
Dieser Satz in Kombination mit meinem Beitrag #16...

Also alles OK. SYS_T liefert die Zeit in UTC (GMT). Da gibt's keine Sommer/Winterzeit.
Soll aber Leute geben welche (vor allem auch 300/400) die Lokalzeit für solche Berechnungen verwenden und vielleicht 2x im Jahr ein Problem haben.

Danke RONIN!

Demnach müsste ja dann folgendes Format (im HMI)


Unbenannt.JPG


immer auf die Lokalzeit zugreifen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nope, das ist die Systemzeit vom Panel. Das hat ja auch ein Betriebssystem mit Uhrzeit.
Was für eine Zeit das ist (UTC, UTC+1...) hängt von den Einstellungen in der Systemsteuerung des Panels ab.
Wenn du einen PC hast, dann ist dass die Uhr vom PC.
 
Ist eigentlich hier der Befehl RUNTIME schon mal erwogen worden?
https://support.industry.siemens.com/cs/ww/de/view/87668055

Mit dem Befehl RUNTIME kann man nicht nur Programmabschnitte vermessen - wie im FAQ dargestellt - sondern auch Vorgänge, die sich über viele Zyklen erstrecken. Außerdem kann man auch laufende Messungen machen, bei dem das Ende von einem Messzyklus gleichzeitig der Start des nächsten ist.

Für die S7-1200 gibt es aber laut Online-Hilfe eine gewisse Einschränkung:Für S7-1200-CPUs mit Firmware-Stand kleiner V4.1 gilt: Die Anweisung "Laufzeitmessung" verwendet einen internen hochfrequenten Zähler um die Zeit zu berechnen. Wenn der Zähler überläuft (Dies kann bis zu einmal pro Minute vorkomen.), gibt die Anweisung Werte <= 0.0 zurück. Diese Runtimewerte sind zu ignorieren.
 
Zurück
Oben