TIA S7-300 Timer läuft nicht mit 0ms

Saufautomat

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

Ich habe mal wieder ein für mich dubios Problem. Ich habe ein Programm von der 1200 auf die 300 übertragen. Als Anfänger war ich mir nicht bewusst wie viel Arbeit mir das machen würde^^

Das Problem ist nun dass der Ausgang von meinem Timer nicht wahr wird wenn PT = 0 ms. Bei jeder anderen Zeit schaltet ET normal.

Wer hat Rat? 🤔
 

Anhänge

  • 20210831_135721_copy_2049x1536.jpg
    20210831_135721_copy_2049x1536.jpg
    2 MB · Aufrufe: 40
Dein Baustein ist auf "Nicht Optimiert" gestellt. Dann verhalten sich die Timer so.
Wenn du auf "Optimiert" stellst, schaltet der Timer auch bei PT:=0ms durch!
 
Das ging schnell, vielen lieben Dank🙂 0 war für mich positiv. Hätte ich mal besser in der Schule aufgepasst.
Die Bausteine musste ich alle auf "nicht optimiert" stellen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bei der hier zitierten 1200 funktioniert es allerdings komischerweise mit 0 ms.
Dort sind die Bausteine aber auf optimiert gestellte. Den Zusammenhang verstehe ich gerade noch nicht aber das versuche ich dann Mal nachzuvollziehen.
Den Zusammenhang mit dem Timerverhalten und optimiert/nicht optimiert verstehe ich auch nicht so ganz. In der Hilfe zum TON finde ich keine Info darüber. @Windoze , woher stammt diese Info? Ist das irgendwo dokumentiert?
 
Den Zusammenhang mit dem Timerverhalten und optimiert/nicht optimiert verstehe ich auch nicht so ganz. In der Hilfe zum TON finde ich keine Info darüber. @Windoze , woher stammt diese Info? Ist das irgendwo dokumentiert?
Leider habe ich das bis jetzt auch nirgendwo Dokumentiert gefunden.
Bin da auch mal zufällig drüber gestolpert und habe das dann mal ausprobiert.

Ich leite mir das folgendermassen her:
- In der S7-300/400 starten die Timer nicht bei PT:=0ms
- Bei der S7-1200/1500 wollte man das Verhalten ändern (Bin mir nicht sicher, glaube aber bei CoDeSys z.B. laufen die Timer bei PT:=0ms sofort ab)
- Um kompatibel mit migrierten Programmen zu bleiben hat man bei "Nicht Optmierten" Bausteinen das Verhalten der S7-300/400 nachgebildet
 
Saufautomat überträgt ein Programm von der 1200 auf die 300, nicht umgekehrt. Die Frage nach "optimiert" oder nicht stellt sich damit schon mal nicht.
@Saufomat, eine einfache Möglichkeit wäre, auf den Sollwert einfach 1ms auf zu addieren oder eine MAX-Auswahl mit 1ms zu treffen, das merkt schon keiner ;) .
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich leite mir das folgendermassen her:
- In der S7-300/400 starten die Timer nicht bei PT:=0ms
- Bei der S7-1200/1500 wollte man das Verhalten ändern (Bin mir nicht sicher, glaube aber bei CoDeSys z.B. laufen die Timer bei PT:=0ms sofort ab)
- Um kompatibel mit migrierten Programmen zu bleiben hat man bei "Nicht Optmierten" Bausteinen das Verhalten der S7-300/400 nachgebildet
Lautet plausibel.
Ist allerdings doof wenn man zwischen optimiert und nicht-optimiert wechselt, warum auch immer, dann funktioniert das Programm ganz anders.
Es ist ja nicht unmöglich z.B. wenn der Anwender durch den HMI ein Verzögerung = 0 einstellt, weil man keine Verzögerung wünscht, dann erhaltet er aber eine 'unendliche' Verzögerung. Klotzig wenn man dies ausbessert indem man ein dummy Wert 1 ms eingeben muss.
 
Ich war echt der Meinung, dass das mit den Timern endlich IEC-Konform läuft und dann haut Siemens einen wieder direkt ans Schienbein mit unterschiedlichem Verhalten.
 
Ich war echt der Meinung, dass das mit den Timern endlich IEC-Konform läuft und dann haut Siemens einen wieder direkt ans Schienbein mit unterschiedlichem Verhalten.
Explizit steht das meiner Meinung nach so nicht in der IEC Spezifikation, außer das wurde später noch einmal genauer konkretisiert. Aber der gesunde Menschenverstand würde bei bei t=0 ein unverzögertes Durchschalten vermuten. Vielleicht sollte man dem zuständigen Entwickler von Siemens mal einen 50 kg Amboss im Abstand d=0 auf den Fuß stellen, nach seiner Logik schwebt der Amboss dann irgendwo in der Andromedagalaxie.

Hier habe ich mal einen Vergleich der verschiedenen Timer von Siemens gemacht, und auch zwei Screenshots aus der IEC:

 
Ach schön. Das bedeutet, dass ich das rumgeeiere von der S7-300 mit den IEC-Timern auch wieder auf die S7-1500 übernehmen darf. Ich bin echt froh, dass ich auf dieses Thema gestossen bin.
 
Ach schön. Das bedeutet, dass ich das rumgeeiere von der S7-300 mit den IEC-Timern auch wieder auf die S7-1500 übernehmen darf. Ich bin echt froh, dass ich auf dieses Thema gestossen bin.
Diesen Mist gibt es schon immer bei S7 Classic.
Siemens sagt ( heute ) da 0 weder positiv noch negativ ist musss man wissen dass das nicht geht?
Einen Hinweis dass der Timer bei 0 nicht anläuft gibt es nicht. :mad:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das mit den 0ms ist so bei Step7 Classic
0ms bedeuted einen Reset des Timers!
Da IEC Timer im Gegensatz zu den alt hergebrachten S5-Timern keinen Reset-Eingang haben,
brauchte man anscheinend irgendeine Möglichkeit den Reset durchzuführen.
Normalerweise programmiert man einen Reset, sofern man den benötigt mit
einem bedingten MOVE von 0ms in Timer Vorgabwert.

RESET
bedeuted nun mal Ausgang abschalten!
 
Nur verhält es sich bei optimierten und nicht optimierten Bausteinen anders.

Bei dem einen ist es Reset, bei dem anderen schaltet er durch!!

D.h. wenn du einen Initialisierungsbaustein hast bei denen du alle Timer per T#0ms zurück setzt und dann
irgendwann aus welchen Gründen auch immer den Baustein auf optimiert stellst dann schalten dir sämtliche Timer
einmal durch!
 
In TIA gibt es ja dafür die Anweisung "RT - Reset Timer". Ich habe mal nachgeforscht, die IEC schreibt das das Setzen von PT auf 0ms um z.B. den Timer zurückzusetzen Implementationsspezifisch ist. Da kann also jeder Hersteller machen was er will und ist trotzdem IEC konform.
 
Zurück
Oben