-> Hier kostenlos registrieren
Guten Abend an Euch alle!
Nach Haralds "Anpfiff" (https://www.sps-forum.de/simatic/96328-timer-selbst-gebastelt-bitte-schreibt-eure-meinung-danke.html) habe ich mich natürlich mit den Timern beschäftigt, statt mir selbst welche zu basteln.
Das macht richtig Freude; danke nochmals an Harald!
Ich baute mein Projekt immer weiter aus, programmierte Maschine für Maschine und setzte in jede einen unabhängigen Timer (TON) ein. Insgesamt liefen die bisher eingerichteten 6 TON-Timer einwandfrei und ab dem (bösen?) siebten fand ich lange Zeit den Fehler nicht, bis ich bemerkte, dass der siebte nicht ganz bis zum Vorgabewert hochzählt.
So musste ich mich erstmal behelfen, indem ich einfach die Bedingung rund 10ms eher gelten ließ (siehe Zeile darunter). An diesen Wert musste ich mich herantasten; ab 6ms weniger klappte es meistens, ab 7ms gab es kaum noch Ausfälle und bei 10ms Abzug läuft's.
IF "Tec".Restzeit7_Time > "Tec".Taktzeit_Kartonierer - T#10ms THEN
usw. usf
Andererseits: Zufrieden bin ich nicht mit solchen "Lösungen" ... Kann jemand bestätigen, dass zu viele Timer über viel Programm-Code verstreut eben nicht mehr korrekt arbeiten?
Danke und einen schönen Abend!
Björn
Nach Haralds "Anpfiff" (https://www.sps-forum.de/simatic/96328-timer-selbst-gebastelt-bitte-schreibt-eure-meinung-danke.html) habe ich mich natürlich mit den Timern beschäftigt, statt mir selbst welche zu basteln.
Das macht richtig Freude; danke nochmals an Harald!
Ich baute mein Projekt immer weiter aus, programmierte Maschine für Maschine und setzte in jede einen unabhängigen Timer (TON) ein. Insgesamt liefen die bisher eingerichteten 6 TON-Timer einwandfrei und ab dem (bösen?) siebten fand ich lange Zeit den Fehler nicht, bis ich bemerkte, dass der siebte nicht ganz bis zum Vorgabewert hochzählt.
So musste ich mich erstmal behelfen, indem ich einfach die Bedingung rund 10ms eher gelten ließ (siehe Zeile darunter). An diesen Wert musste ich mich herantasten; ab 6ms weniger klappte es meistens, ab 7ms gab es kaum noch Ausfälle und bei 10ms Abzug läuft's.
IF "Tec".Restzeit7_Time > "Tec".Taktzeit_Kartonierer - T#10ms THEN
usw. usf
Andererseits: Zufrieden bin ich nicht mit solchen "Lösungen" ... Kann jemand bestätigen, dass zu viele Timer über viel Programm-Code verstreut eben nicht mehr korrekt arbeiten?
Danke und einen schönen Abend!
Björn