25.03.2023 23:01 | |
Beigetreten: 10.02.2023 Letzter Bes: 26.03.2023 Beiträge: 1 Bewertung: (0) |
Liebes Forum, ich sitze aktuell an meinem ersten SPS Projekt und komme leider nicht weiter. Ich habe schon einige Inspirationen aus dem Forum gewinnen können und hoffe, dass ihr mir weiterhelfen könnt. Ich möchte gerne mit meinen 2 Digitalausgängen, die ich über das Signalboard habe, (zunächst erstmal) 5 Schrittmotoren ansteuern. Zur Verfügung stehen mir die folgenden Produkte: Um die Schrittmotoren auch einzeln ansteuern zu können, steuere ich über Relais den Enabler des Schrittmotors. So kann ich die PTO Signale gleichzeitig auf alle Motoren laufen lassen und über den Enabler gezielt sagen, welche Motor aktiviert sein soll. Die Aktivierung/Deaktivierung des Schrittmotors funktioniert damit. Das ganze Programm ist als Schrittkette aufgebaut - Schritt 1: Motor 1 ausführen, Schritt 2: Motor 2 ausführen, usw. Die Schritte werden jeweils über SR Glieder gesteuert, bzw. zurückgesetzt. Für die Ansteuerung der Schrittmotoren sind die Motion Control Objekte für mich spannend. Ein PTO Ausgang kann lediglich bei einem einzigen Technologieobjekt (TO_Positioning_Axis) verwendet werden. Dadurch muss ich für alle 5 Motoren das gleiche Technologieobjekt verwenden. Meine Ansteuerung: Als ersten Schritt möchte ich gerne meine Schrittmotoren nacheinander referenzieren. Die Anweisung Motion_Control - MC Home konnte ich nicht nutzen, da ich unterschiedliche Einstellungen benötige (z.B. Referenzierungsrichtung). Also habe ich versucht eine eigene Referenzierung zu programmieren. Ich nutze den Move_Jog Befehl und aktiviere ihn solange, bis mein Rerenzschalter erreicht wird. Anschließend fahre ich mit einer definierten Relativbewegung wieder zurück. Den Ausgang Done vom Move_Relative Baustein möchte ich schließlich nutzen, um den Schritt abzuschließen, das nächste Relais zu schalten und den nächsten Motor zu referenzieren. Nun mein Problem: Zwar wird die Bewegung beim ersten Motor ausgeführt, danach geht es aber nicht wie gewollt weiter. Es ist mir aufgefallen, dass weiteren Schritt wirr übersprungen werden. Ich habe das Gefühl, dass meine Relais Ausgänge zu langsam geschaltet haben und das Programm in der Zeit bereits einen Schritt weiter gesprungen ist. Ich habe versucht, an unterschiedlichen Stellen Zeitverzögerungen einzubauen, um dies zu beheben, bin aber zu keiner Lösung gekommen. Ich habe also keine Kontrolle darüber, meine Schrittkette kontrolliert abzuarbeiten. Habt ihr eine Idee, an welchen Stellen ich noch etwas anpassen kann? Ich habe das Programm im Anhang ergänzt und habe es auf den Programmteil der Referenzierung gekürzt. Es besteht aus der Schrittkette, den Ausgangszuweisung für die Motoren und dem FB für die Referenzierung. Vielen Dank für Eure Unterstützung :) DateianhangProgramm.pdf (285 Downloads) |
Folgen Sie uns auf