mit dem move Baustein ist das allerdings nicht möglich, da er das Datenformat Time_of_Day nicht raus gibt.
Also bei mir mault er nicht beim Moven von Time_of_Day¯\_(ツ)_/¯
Oder beziehst du dich darauf, dass RD_SYS_T kein Time_of_Day ausgibt?
Musst den Zeitwert dann eben konvertieren.
Was spricht gegen DTL oder ähnliches? sollte für dein Vorhaben auch funktionieren.
T_DIFF müsste auch DTL können.
...die maximale zeitspanne ist ein paar sekunden...
Und bei Umstellung Winter- auf Sommerzeit wird daraus eine Stunde und ein paar Sekunden

Sowas kann einen ganz böse foppen, wenn im Betrieb irgendwann nicht reproduzierbare Fehler zufällig auftauchen...
SCL ist mir zu umständlich für die kleine Anlage, die ich hier betreue
Ich find FUP für solche kleinen Zustandsautomaten immer etwas....mühsam und unübersichtlich.
FUP ist für reine Logikschaltungen und die "oberste Schicht" der Programmierung OK.
Kleinere "Schrittketten" bzw Zustandsautomaten gehen in SCL sehr viel übersichtlicher, wenn man sich mal an die Sprache gewöhnt hat.
Nichts anderes hast du ja: Startereignis => Startzeit speichern => warten => Endereignis => Zeitdifferenz zu Start berechnen
Wenn du mal Muße hast, kannst du dir die Siemens-LGF Bibliothek anschauen.
Da gibts einige Templates dazu wie man so etwas effizient mit Status-/Fehlercodes allem aufziehen kann.