spirit
Level-1
- Beiträge
- 961
- Reaktionspunkte
- 23
-> Hier kostenlos registrieren
Hallo liebes Forum,
in einem bestehenden Programm sind in einem FB zwei Schrittketten in SCL programmiert. Eine Achse, die von 0 bis 360 Grad dreht und eine zweite, die eine Positionierung durchführt.
Nun wurde mechanisch etwas geändert und es muss jetzt abgesichert werden, dass, wenn die rotative Achse z.B. bei einem Drehwinkel von 90° ist, die andere Achse zu diesem Zeitpunkt sicher wieder in ihrer Grundstellung steht. Die Abfrage kann ja mit größer/gleich 90° recht gut programmiert werden.
Meine Übelegung/Frage ist nun, an welcher Stelle muss ich das programmieren?
Wenn ich diese Abfrage am Anfang im SCL-Editor programmiere, dann macht das ja eigentlich keinen Sinn, weil zu einem späteren Zeitpunkt das Programm ja erst wieder darauf reagieren kann, wenn diese Stelle erneut durchlaufen wird. In der Zwischenzeit könnte ja aber der Fall eingetreten sein, dass die eine Achse ihre Positionieraufgabe noch nicht beendet hat, obwohl von der zweiten Achse schon 90° durchlaufen wurden ... und somit würde die Schrittkette nicht auf den Wert Null zurückgesetzt werden.
Sehe ich es richtig, dass diese Abfrage auf größer/gleich im Grunde in jedem Schritt der Kette programmiert werden muss - sozusagen zwei ineinander verschachtelte IF-Abfragen für jeden Schritt?
Lieben Dank!
in einem bestehenden Programm sind in einem FB zwei Schrittketten in SCL programmiert. Eine Achse, die von 0 bis 360 Grad dreht und eine zweite, die eine Positionierung durchführt.
Nun wurde mechanisch etwas geändert und es muss jetzt abgesichert werden, dass, wenn die rotative Achse z.B. bei einem Drehwinkel von 90° ist, die andere Achse zu diesem Zeitpunkt sicher wieder in ihrer Grundstellung steht. Die Abfrage kann ja mit größer/gleich 90° recht gut programmiert werden.
Meine Übelegung/Frage ist nun, an welcher Stelle muss ich das programmieren?
Wenn ich diese Abfrage am Anfang im SCL-Editor programmiere, dann macht das ja eigentlich keinen Sinn, weil zu einem späteren Zeitpunkt das Programm ja erst wieder darauf reagieren kann, wenn diese Stelle erneut durchlaufen wird. In der Zwischenzeit könnte ja aber der Fall eingetreten sein, dass die eine Achse ihre Positionieraufgabe noch nicht beendet hat, obwohl von der zweiten Achse schon 90° durchlaufen wurden ... und somit würde die Schrittkette nicht auf den Wert Null zurückgesetzt werden.
Sehe ich es richtig, dass diese Abfrage auf größer/gleich im Grunde in jedem Schritt der Kette programmiert werden muss - sozusagen zwei ineinander verschachtelte IF-Abfragen für jeden Schritt?
Lieben Dank!