Hallo und guten Abend,

ich würde gerne eine simple Zeiterfassung in meine Steuerung implementieren, mit der ich die Zeit zwischen zwei Signalen an zwei verschiedenen Eingängen messen möchte.
Dabei arbeite ich mit drei Hallsensoren, die kreisrund je in 120° zueinander angebracht sind. Ich möchte jetzt gerne die Zeit erfassen, die zwischen den Signaleingängen an Hallsensor 1 und dem folgenden Hallsensor 2 gebraucht wird. Wie im Titel bereits beschrieben, arbeite ich mit einer S1214c DCDCDC und STEP7 v11 TIA Portal. Bisweilen konnte ich über die Funktion RD_Sys_T die jeweilige Zeit auslesen, wenn Hallsensor 1 und Hallsensor 2 Signal abgeben. Über die dann folgende Funktion T_Diff war es dann möglich, die Zeitdifferenz zu ermitteln, womit ich eigentlich meine gesucht Zeit habe. Allerdings kommt es dabei zu einem technischen Problem. Dadurch, dass ich drei Hallsensoren habe, die kreisrund in 120° zu einander liegen, muss ich für jeden Zwischenbereich (Hall1-Hall2, Hall2-Hall3, Hall3-Hall1) die Zeit ermitteln, was mit RD_Sys_T nicht funktioniert. Funktionieren tut es zwar schon, leider wird aber in der ersten Umdrehung bereits im dritten Teilbereich (Hall3-Hall1) die Zeit für die Differenzberechnung genommen, die zu allererst aufgenommen wurde (im Teilbereich Hall1-Hall2). Damit ergibt sich spätestens dann eine negative Zeit und meine Geschwindigkeitsberechnung, die nach der eigentlichen Zeiterfassung erfolgen soll, wird nicht ordnungsgemäß funktionieren.

Daher die Frage, ob es eine simple Funktion im TIA Portal gibt, mit der ich für meine S1214c die Zeit zwischen zwei Signaleingängen messen kann? Ich möchte die Zeit erfassen, die zwischen dem Auftreten der positiven Flanke vom Hallsensor 1 und dem Auftreten der positiven Flanke vom Hallsensor 2 liegt.

Falls es keine solch simple Funktion geben sollte, wie könnte ich die Zeiterfassung stattdessen realisieren? Es wäre schön, wenn mir in FUP geholfen werden könnte.

Mit besten Dank im voraus,

Vhiz