Ich muss ja dann je nach erfüllter Bedingung trotzdem dem Timer sagen, was er ist..
Die (normalen) Timer wird das nicht die Bohne interessieren was der Sollwert sein soll.
Die normalen IEC-Timer (TON, TOF, ...) erwarten einen Zeitwert von einer Variable im Datenformat TIME. Das ist eine 32bit Ganzzahl (im Prinzip ein DINT) in Millisekunden (=> Zeitbasis).
Du müsstest bei Verwendung eines IEC-Timers in "S010 Init Timer" deine Zeitangabe in Bezug auf die Zeitbasis in Millisekunden umrechnen (also auf eine einheitliche Zeitbasis bringen), das Ergebnis in eine TIME-Variable packen & damit den Timer starten.
Was "pPH_Wartezeit" als REAL soll? Keine Ahnung....
Ich kenne kein Zeitelement, dass eine Gleitpunktzahl direkt verarbeiten kann.
Int oder Reals für Timer kenne ich nur aus irgendwelchen selbstgebauten Timern, betrifft aber meistens alten S5-Code oder "Speziallösungen".
Aber da müsstest du deine Eingabe auch auf eine einheitliche Zeitbasis bringen & damit den Timer füttern.
Oder sollst du den Timer-Baustein programmieren & "pPH_Wartezeit" und "pPH_Zeitbasis" sind Formalparameter für den geforderten Baustein?
Dann müsstest du trotzdem die Umrechnung der Soll-Wartezeit auf eine einheitliche Zeitbasis im Timer Baustein erledigen, damit die eigentliche Timer-Logik weiß welche zeitliche Größe der Zahlenwert in der Sollwert-Variable darstellt.