Programmablaufkette Graph7 Grundlagenfrage

lovwch

Level-1
Beiträge
9
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
ich habe eine ziemliche Anfänger/Grundlagen Frage:
Ich habe mehrere Funktionen zum Bewegen von Achsen an einer Anlage (x, y, z), mein Ziel ist es jetzt damit ein Programmablauf zu schreiben.
Ein einfaches Testprogram (links rauf runter rechts rauf runter dann wiederholen) habe ich in KOP geschrieben, die schwierigkeit liegt für mich darin das die achsen nicht parallel verfahren sollen. Meine Funktionen zum Bewegen der Achsen haben einen boolschen Ausgang "done", den nutze ich bei meinem simplen Programm um mit Merkern den nächsten Schritt zu aktivieren. Dies will ich nun anders lösen da ich längere Porgramme schreiben will und nicht 50 Merker benutzen will. Eigentlich wäre hierfür ja Graph recht gut geeignet oder?
Wie kann ich es aber dort ohne Merker erreichen das der nächste Schritt aktiviert wird wenn "done" positiv wird?

Ein vereinfachtes Beispiel im Anhang, wie muss ich die leeren Felder ausfüllen um das gewünschte verhalten zu erreichen?

Vielen Dank für eure Hilfe!

P.S. Gerne nehme ich auch eine Literatur empfehlung entgegen :)

Unbenannt.PNG
 
Zuletzt bearbeitet:
Wenn du nur einen Done-Merker für alle Achsbewegungen abfragen willst, musst du als Weiterschaltbedingung die steigende Flanke abfragen und den Merker im nächsten Schritt sofort zurücksetzen. Die Achsen dürfen erst mit ihrer Bewegung beginnen, wenn Done = False.

Oder du setzt für jede Achse einen eigenen Done-Merker und nutzt diesen als Weiterschaltbedingung. Gleichzeitig lässt sich mit Hilfe dieser Merker der Fortschritt der Bewegungen leichter darstellen.

Ich gehe davon aus, dass du "Done" in den einzelnen FCs setzt, wenn Istposition = Sollposition und Geschwindigkeit = 0.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen dank für deine Antwort, deine Anahmen sind richtig, wie kann ich die Flanke abfragen? So wie im Anhang müsste es doch eigentlich funktionieren oder? (ich bin gerade nicht an der Anlage zum testen...). "nextStep" ist eine stat Variable in meinem Graph Instanz DB.

Danke!

Unbenannt.PNG
 
Mit der Umsetzung wie in deinem Bild benötigst du keine separate Flankenauswertung. Das passt so, zumindest als vereinfachtes Beispiel.
 
Zurück
Oben