-> Hier kostenlos registrieren
Ich habe einen Messtaster an eine Inkrementalencoder-Klemme angeschlossen, und als Steuerung Beckhoff TwinCAT 3.
Der Wert vom Messtaster stellt sich mir in TwinCAT als Integer dar, z.B. 32767 entspricht 10mm.
Nun möchte ich beim Überschreiten einer Schwelle möglichst zeitlich sofort eine Aktion ausführen.
Wie programmiere ich das am besten?
Schreibe ich z.B. IF (Messtaster value = 200) THEN ...
klappt das i.d.R. nicht, da je nach Zykluszeit und Abtastung des Werts dieser nie exakt auf dem Schwellwert steht.
Beholfen habe ich mir mit: IF (Value > Schwelle) AND (Value < Schwelle+x) THEN ...
das tut erstmal (im Rahmen der Genauigkeit), gefällt mir aber nicht so..
Noch schwieriger wird es wenn ich nur auf die steigende Flanke reagieren will, der Wert also zunächst unter die Schwelle kommen muss.
Der Wert vom Messtaster stellt sich mir in TwinCAT als Integer dar, z.B. 32767 entspricht 10mm.
Nun möchte ich beim Überschreiten einer Schwelle möglichst zeitlich sofort eine Aktion ausführen.
Wie programmiere ich das am besten?
Schreibe ich z.B. IF (Messtaster value = 200) THEN ...
klappt das i.d.R. nicht, da je nach Zykluszeit und Abtastung des Werts dieser nie exakt auf dem Schwellwert steht.
Beholfen habe ich mir mit: IF (Value > Schwelle) AND (Value < Schwelle+x) THEN ...
das tut erstmal (im Rahmen der Genauigkeit), gefällt mir aber nicht so..
Noch schwieriger wird es wenn ich nur auf die steigende Flanke reagieren will, der Wert also zunächst unter die Schwelle kommen muss.