Wozu verschiedene Zeitwerte laden und den Timer mehrmals aufrufen? Ist der Aufruf mit S5T#0ms vielleicht Deine Standard-Programmlösung, um einen Timer zu stoppen/rückzusetzen? Das ist so nicht nötig, dafür gibt es eigentlich den Rücksetzbefehl "R T8". Ein SE muß noch nicht 'mal rückgesetzt werden - ein Aufruf mit VKE=0 reicht schon.

Mir scheint - obwohl Du Timer schon jahrelang benutzt - ist Dir nicht klar, daß die S7-Timer über das VKE beim Aufruf gesteuert werden. Das Steuern per Start-Aufruf + Stop-Aufruf und dazwischen ohne Aufruf "frei laufen lassen" ist so nicht vorgesehen und wird meist auch nicht funktionieren.

Das Programm aus Deinem Eingangspost mit den verwirrenden Sprüngen kann man wahrscheinlich einfach so schreiben:
Code:
      U     DB100.DBX  116.7            //Timer Request Infeed
      UN    DB100.DBX  103.3            //Request Timer Reset
      L     S5T#30S
      SE    T      8

      O     T      8
      O     DB100.DBX  103.3            //Request Timer Reset
      R     DB100.DBX  103.3            //Request Timer Reset
      R     DB100.DBX  116.7            //Timer Request Infeed
Wenn Du den DBX116.7 schon beim Start des Timers rücksetzen mußt, dann brauchst Du allerdings einen Hilfsmerker oder mußt einen anderen Timertyp nehmen (z.B. SS).

Harald