Hallo,
ich habe hier eine rotative Achse mit einem Schrittmotor die einen Nocken als Referenzpunkt hat. Da die Achse kein Messsystem besitzt möchte ich bei bestimmten Bedingungen diesen Nocken nutzen um festzustellen, ob der Motor Schritte verloren hat. Ich wollte bei einer fallenden Flanke die aktuelle Position auslesen und kontrollieren, ob diese innerhalb einer gewissen Toleranz liegt. Ist dies nicht der Fall wird die Achse sofort angehalten und die Referenz gelöscht. Mein Problem ist jetzt, dass die Nockenerkennung natürlich nicht zu langsam erfolgen darf, sonst meldet das System immer einen Fehler, obwohl alles in Ordnung ist. Eine Möglichkeit wäre jetzt, die Prüfung ständig in einer schnellen Task zu machen und über globale Variablen zwischen der schnellen und langsamen Task die Ergebnisse auszutauschen. Das Stoppen der Achse könnte in der langsamen Task erfolgen, ich würde es allerdings gerne über einen Interrupt lösen. Daher nun meine Frage an die Experten hier, gibt es bei TC3 die Möglichkeit Eingänge zur Auslösung eines Interrupts zu konfigurieren und wie ? Im Hilfesystem habe ich zu dem Thema nur etwas in der Rubrik Roboter gefunden und Tante Google war auch nicht sehr hilfreich (oder ich zu ungeduldig). Da bei der ersten Lösung die schnelle Task aber auch jedes Mal den Status der Achse über "ReadStatus" auslesen müsste um die Position zu bekommen, habe ich die Befürchtung, dass System geht zu sehr in die Knie
ich habe hier eine rotative Achse mit einem Schrittmotor die einen Nocken als Referenzpunkt hat. Da die Achse kein Messsystem besitzt möchte ich bei bestimmten Bedingungen diesen Nocken nutzen um festzustellen, ob der Motor Schritte verloren hat. Ich wollte bei einer fallenden Flanke die aktuelle Position auslesen und kontrollieren, ob diese innerhalb einer gewissen Toleranz liegt. Ist dies nicht der Fall wird die Achse sofort angehalten und die Referenz gelöscht. Mein Problem ist jetzt, dass die Nockenerkennung natürlich nicht zu langsam erfolgen darf, sonst meldet das System immer einen Fehler, obwohl alles in Ordnung ist. Eine Möglichkeit wäre jetzt, die Prüfung ständig in einer schnellen Task zu machen und über globale Variablen zwischen der schnellen und langsamen Task die Ergebnisse auszutauschen. Das Stoppen der Achse könnte in der langsamen Task erfolgen, ich würde es allerdings gerne über einen Interrupt lösen. Daher nun meine Frage an die Experten hier, gibt es bei TC3 die Möglichkeit Eingänge zur Auslösung eines Interrupts zu konfigurieren und wie ? Im Hilfesystem habe ich zu dem Thema nur etwas in der Rubrik Roboter gefunden und Tante Google war auch nicht sehr hilfreich (oder ich zu ungeduldig). Da bei der ersten Lösung die schnelle Task aber auch jedes Mal den Status der Achse über "ReadStatus" auslesen müsste um die Position zu bekommen, habe ich die Befürchtung, dass System geht zu sehr in die Knie