Für die Automatisierung von Maschinen, die nur zwei bis drei Achsen elektrischer Aktuatoren benötigen, sind Impulsausgänge möglicherweise die einfachste Lösung.
Die Verwendung von Impulsausgängen einer SPS ist eine kostengünstige Möglichkeit, einfache Bewegungen zu erzielen. Die meisten, wenn nicht alle SPS-Hersteller bieten eine Möglichkeit zur Steuerung von Servos und Schrittmotoren mithilfe eines Impulsfolgesignals. Wenn also eine einfache Maschine nur auf zwei oder drei Achsen mit elektrischen Aktuatoren automatisiert werden muss, können Impulsausgänge viel einfacher einzurichten, zu verkabeln und zu programmieren sein als die Verwendung analoger Signale. Es kann auch kostengünstiger sein als die Verwendung vernetzter Bewegungen wie Ethernet/IP.
Werfen wir also einen Blick auf die Steuerung eines Schrittmotors oder Servos mit einem Treiber oder Verstärker zwischen Controller und Motor, wobei der Schwerpunkt auf den vom Controller oder Indexer verwendeten Impulssignalen liegt.
Pulse Train-Grundlagen
Schrittmotoren und impulsgesteuerte Versionen von Servomotoren können in beide Richtungen drehen. Das bedeutet, dass ein Controller mindestens zwei Steuersignale an den Antrieb liefern muss. Es gibt zwei Möglichkeiten, diese Signale bereitzustellen, und verschiedene Hersteller nennen sie unterschiedlich. Es gibt zwei gängige Möglichkeiten, sich auf die beiden von Ihnen verwendeten Steuersignalschemata zu beziehen: „1P-Modus“, auch bekannt als „Schritt-/Richtungsmodus“, und „2P-Modus“, der „CW/CCW-Modus“ oder im Uhrzeigersinn/gegen den Uhrzeigersinn genannt wird Modus. Beide Modi erfordern zwei Steuersignale von der Steuerung zum Antrieb.
Im 1P-Modus ist ein Steuersignal eine Impulsfolge oder ein „Schritt“-Signal. Das andere Signal ist ein Richtungseingang. Wenn der Richtungseingang eingeschaltet ist und am Schritteingang ein Impulssignal anliegt, dreht sich der Motor im Uhrzeigersinn. Wenn umgekehrt das Richtungssignal ausgeschaltet ist und am Schritteingang ein Impulssignal anliegt, dreht sich der Motor in die andere Richtung, also gegen den Uhrzeigersinn. Die Impulsfolge liegt immer am gleichen Eingang, unabhängig von der gewünschten Richtung.
Im 2P-Modus sind beide Signale eine Impulsfolge. Es hat jeweils nur ein Eingang eine Frequenz. Wenn also die CW-Impulsfolge vorhanden ist, dreht sich der Motor im CW. Wenn die CCW-Impulsfolge vorhanden ist, dreht der Motor gegen den Uhrzeigersinn. Welcher Eingang die Impulsfolge empfängt, hängt von der gewünschten Richtung ab.
Die von der Steuerung ausgegebenen Impulse veranlassen den Motor, sich zu bewegen. Der Motor dreht sich für jeden Impuls am Impulseingang des Antriebs um eine Inkrementeinheit. Wenn beispielsweise ein Zweiphasen-Schrittmotor 200 Impulse pro Umdrehung (ppr) hat, dann bewirkt ein Impuls, dass sich der Motor um 1/200 Umdrehung oder 1,8 Grad dreht, und 200 Impulse bewirken, dass sich der Motor um eine Umdrehung dreht.
Natürlich haben verschiedene Motoren unterschiedliche Auflösungen. Schrittmotoren können mit Mikroschritten betrieben werden, wodurch sie viele tausend Impulse pro Umdrehung erzeugen. Darüber hinaus haben Servomotoren in der Regel eine Mindestauflösung von mehreren Tausend Impulsen pro Umdrehung. Unabhängig von der Motorauflösung bewirkt ein Impuls von der Steuerung oder dem Indexer, dass er sich nur um eine Inkrementeinheit dreht.
Die Geschwindigkeit, mit der sich ein Motor dreht, hängt von der Frequenz bzw. Geschwindigkeit der Impulse ab. Je schneller die Impulse sind, desto schneller dreht sich der Motor. Im obigen Beispiel würde bei einem Motor mit 200 Umdrehungen pro Minute eine Frequenz von 200 Impulsen pro Sekunde (pps) den Motor mit einer Umdrehung pro Sekunde (U/s) oder 60 Umdrehungen pro Minute (U/min) drehen. Je mehr Impulse erforderlich sind, um den Motor um eine Umdrehung (ppr) zu drehen, desto schneller müssen die Impulse gesendet werden, um die gleiche Geschwindigkeit zu erreichen. Beispielsweise müsste ein Motor mit 1.000 Umdrehungen pro Minute eine höhere Impulsfrequenz haben als ein Motor mit 200 Umdrehungen pro Minute, um die gleiche Drehzahl zu erreichen. Die Rechnung ist ziemlich einfach:
rps = pps/ppr (Umdrehungen pro Sekunde = Impulse pro Sekunde/Impulse pro Umdrehung)
U/min = U/s(60)
Kontrolle der Impulse
Die meisten Steuerungen verfügen über eine Methode zur Bestimmung, ob der Motor im Uhrzeigersinn oder gegen den Uhrzeigersinn drehen soll, und steuern die Signale entsprechend. Mit anderen Worten: Normalerweise muss der Programmierer nicht herausfinden, welche Ausgänge aktiviert werden sollen. Beispielsweise verfügen viele SPS über Funktionen zur Bewegungssteuerung mithilfe eines Impulssignals. Diese Funktion steuert die Ausgänge automatisch, um die richtige Drehrichtung zu erhalten, unabhängig davon, ob die Steuerung für den 1P- oder 2P-Modus konfiguriert ist.
Betrachten Sie zwei Züge als einfaches Beispiel. Beide Bewegungen dauern 1.000 Impulse. Einer ist in positiver Richtung, der andere in negativer Richtung. Die Steuerung schaltet die entsprechenden Ausgänge ein, unabhängig davon, ob 1P oder 2P verwendet wird, um den Motor in die positive Richtung (normalerweise im Uhrzeigersinn) drehen zu lassen, wenn die Anzahl der befohlenen Impulse 1.000 beträgt. Wenn ein Programm hingegen −1.000 Impulse befiehlt, schaltet die Steuerung die entsprechenden Ausgänge ein, um sich in die negative Richtung (normalerweise gegen den Uhrzeigersinn) zu bewegen. Daher ist es für den Programmierer nicht erforderlich, die Drehrichtung des Motors zu steuern, indem er Code im Programm verwendet, um auszuwählen, welche Ausgänge verwendet werden sollen. Das erledigt der Controller automatisch.
Controller und Treiber bieten Benutzern im Allgemeinen die Möglichkeit, den Impulstyp auszuwählen, entweder über einen Dip-Schalter oder eine Software-Auswahleinstellung. Es ist wichtig sicherzustellen, dass Controller und Treiber gleich eingerichtet sind. Andernfalls ist der Betrieb möglicherweise fehlerhaft oder funktioniert überhaupt nicht.
Absolute und inkrementelle Bewegungen
Die beiden häufigsten Bewegungsbefehle in der Motion-Control-Programmierung sind inkrementelle und absolute Bewegungsbefehle. Das Konzept absoluter und inkrementeller Bewegungen verwirrt viele Benutzer, unabhängig von der verwendeten Motorsteuerungsmethode. Diese Informationen gelten jedoch unabhängig davon, ob der Motor mit Impulsen, einem analogen Signal oder einem Netzwerk wie Ethernet/IP oder Ethercat gesteuert wird.
Erstens: Wenn ein Motor über einen Encoder verfügt, haben seine Bewegungsarten nichts mit dem Encodertyp zu tun. Zweitens können absolute und inkrementelle Bewegungen unabhängig davon durchgeführt werden, ob ein absoluter oder inkrementeller Encoder oder überhaupt kein Encoder vorhanden ist.
Wenn ein Motor zum Bewegen einer linearen Achse verwendet wird, beispielsweise ein Kugelumlaufspindelantrieb, besteht (offensichtlich) ein endlicher Abstand zwischen einem Ende des Antriebes und dem anderen. Mit anderen Worten: Befindet sich der Schlitten an einem Ende des Aktuators, kann der Motor nur so lange gedreht werden, bis der Schlitten das gegenüberliegende Ende erreicht. Dies ist die Hublänge. Beispielsweise befindet sich bei einem Stellantrieb mit 200 mm Hub normalerweise ein Ende des Stellantriebs in der „Null“- oder Ausgangsposition.
Eine absolute Bewegung transportiert den Schlitten unabhängig von seiner aktuellen Position zur befohlenen Position. Wenn die aktuelle Position beispielsweise Null ist und die befohlene Bewegung 100 mm beträgt, sendet die Steuerung genügend Impulse, um den Aktuator bis zur 100-mm-Marke vorwärts zu bewegen und anzuhalten.
Wenn die aktuelle Position des Aktuators jedoch 150 mm wäre, würde eine absolute Bewegung von 100 mm dazu führen, dass die Steuerung Impulse in die negative Richtung sendet, um den Aktuator 50 mm nach hinten zu bewegen und an der 100-mm-Position anzuhalten.
Praktische Anwendungen
Das häufigste Problem bei der Verwendung der Impulssteuerung liegt in der Verkabelung. Die Signale werden oft versehentlich falsch verdrahtet. Im 2P-Modus bedeutet dies, dass der CCW-Ausgang mit dem CW-Eingang verbunden ist und umgekehrt. Im 1P-Modus bedeutet dies, dass der Impulssignalausgang mit dem Richtungseingang verbunden ist und der Richtungssignalausgang mit dem Impulseingang verbunden ist.
Im 2P-Modus führt dieser Verkabelungsfehler dazu, dass sich der Motor im Uhrzeigersinn dreht, wenn er den Befehl erhält, gegen den Uhrzeigersinn zu fahren, und gegen den Uhrzeigersinn, wenn er den Befehl erhält, im Uhrzeigersinn zu fahren. Im 1P-Modus ist das Problem schwieriger zu diagnostizieren. Wenn die Signale vertauscht werden, sendet die Steuerung eine Impulsfolge an den Richtungseingang, die jedoch keine Auswirkung hat. Es würde auch eine Richtungsänderung (das Signal je nach Richtung ein- oder ausschalten) an den Schritteingang senden, was dazu führen kann, dass der Motor einen Impuls dreht. Ein einzelner Bewegungsimpuls ist normalerweise ziemlich schwer zu erkennen.
Die Verwendung des 2P-Modus erleichtert die Fehlerbehebung und ist in der Regel auch für Personen ohne große Erfahrung mit dieser Art der Bewegungssteuerung leichter zu verstehen.
Hier finden Sie eine Methode, um sicherzustellen, dass so wenig Zeit wie möglich für die Fehlersuche bei Impuls- und Richtungsachsen aufgewendet wird. Dadurch können sich Ingenieure jeweils auf eine Sache konzentrieren. Dies sollte verhindern, dass Sie Tage damit verbringen, herauszufinden, welcher Verdrahtungsfehler die Bewegung verhindert, nur um dann herauszufinden, dass die Impulsausgabefunktion in der SPS falsch konfiguriert ist und Sie nie Impulse ausgegeben haben.
1. Bestimmen Sie den zu verwendenden Pulsmodus und verwenden Sie für alle Achsen den gleichen Modus.
2. Stellen Sie den Controller auf den richtigen Modus ein.
3. Stellen Sie das Laufwerk auf den richtigen Modus ein.
4. Erstellen Sie das einfachste Programm in Ihrer Steuerung (normalerweise eine Jog-Funktion), damit der Motor angewiesen werden kann, sich langsam in die eine oder andere Richtung zu drehen.
5. Befehlen Sie eine Bewegung im Uhrzeigersinn und achten Sie auf Status im Controller, die anzeigen, dass Impulse ausgegeben werden.
–Dies können LEDs an den Ausgängen der Steuerung oder Statusflags wie das Busy-Flag in der SPS sein. Der Impulsausgangszähler in der Steuerung kann auch überwacht werden, um festzustellen, ob sich sein Wert ändert.
–Der Motor muss nicht an Ausgangsimpulse angeschlossen werden.
6. Wiederholen Sie den Test im Uhrzeigersinn.
7. Wenn die Impulsausgabe in beide Richtungen erfolgreich ist, fahren Sie fort. Wenn nicht, muss zuerst die Programmierung herausgefunden werden.
8. Verdrahten Sie den Controller mit dem Treiber.
9. Bewegen Sie den Motor in eine Richtung. Wenn es funktioniert, fahren Sie mit Schritt 10 fort. Wenn es nicht funktioniert, überprüfen Sie die Verkabelung.
10. Bewegen Sie den Motor in die entgegengesetzte Richtung. Wenn es funktioniert, haben Sie es geschafft. Wenn es nicht funktioniert, überprüfen Sie die Verkabelung.
In dieser ersten Phase wurden viele Stunden verschwendet, da die Impulsfrequenz niedrig genug ist, um den Motor extrem langsam drehen zu lassen, etwa 1/100 U/s. Wenn Sie nur anhand der Beobachtung der Motorwelle feststellen können, ob der Motor in Betrieb ist, sieht es möglicherweise nicht so aus, als würde er sich mit niedriger Geschwindigkeit bewegen, was zu der Annahme führt, dass er keine Impulse abgibt. Es ist am besten, eine sichere Geschwindigkeit basierend auf der Motorauflösung und den Anwendungsparametern zu berechnen, bevor die Geschwindigkeit für den Test eingestellt wird. Manche glauben, dass sie allein durch Raten eine brauchbare Geschwindigkeit einstellen können. Wenn der Motor jedoch 10.000 Impulse für eine Umdrehung benötigt und die Impulsfrequenz auf 1.000 pps eingestellt ist, benötigt der Motor 10 Sekunden. eine Revolution bewegen. Wenn der Motor umgekehrt 1.000 Impulse benötigt, um sich um eine Umdrehung zu bewegen, und die Impulsfrequenz auf 1.000 eingestellt ist, bewegt sich der Motor eine Umdrehung pro Sekunde oder 60 U/min. Das kann für den Test zu schnell sein, wenn der Motor an einer Last wie einem Kugelumlaufspindelantrieb mit begrenzter Bewegungsstrecke befestigt ist. Es ist wichtig, die Indikatoren zu beobachten, die anzeigen, dass Impulse ausgegeben werden (LEDs oder Impulszähler).
Berechnungen für die praktische Anwendung
Benutzer verfügen häufig über HMIs, die die Entfernung und Geschwindigkeit der Maschine in Impulseinheiten und nicht in technischen Einheiten wie Millimetern anzeigen. Oft muss der Programmierer es eilig haben, die Maschine zum Laufen zu bringen, und er nimmt sich nicht die Zeit, die Maschineneinheiten zu bestimmen und sie in technische Einheiten umzuwandeln. Hier sind ein paar Tipps, die Ihnen dabei helfen können.
Wenn Sie die Schrittauflösung des Motors (Impulse pro Umdrehung) und die pro Motorumdrehung ausgeführte Bewegung (mm) kennen, wird die Befehlsimpulskonstante als Auflösung/Entfernung pro Umdrehung oder Impulse pro Umdrehung/Entfernung pro Umdrehung berechnet.
Die Konstante kann dabei helfen, herauszufinden, wie viele Impulse erforderlich sind, um eine bestimmte Distanz zurückzulegen:
Aktuelle Position (bzw. Distanz) = Impulszahl/Befehlsimpulse konstant.
Um technische Einheiten in Impulse umzuwandeln, bestimmen Sie zunächst die Konstante, die die Anzahl der für eine bestimmte Bewegung erforderlichen Impulse bestimmt. Angenommen, im obigen Beispiel benötigt der Motor 500 Impulse, um eine Umdrehung zu drehen, und eine Umdrehung beträgt 10 mm. Die Berechnung der Konstante kann durch Division von 500 (ppr) durch 10 (mm p/r) erfolgen. Die Konstante beträgt also 500 Impulse/10 mm oder 50 Impulse/mm.
Diese Konstante kann dann verwendet werden, um die Anzahl der Impulse zu berechnen, die für eine Bewegung über eine bestimmte Distanz erforderlich sind. Um beispielsweise 15 mm zu bewegen, sind 15 mm × 50 ppm = 750 Impulse.
Um einen Impulszählerstand in technische Einheiten umzuwandeln, dividieren Sie einfach den Impulszählerwert durch die Befehlsimpulskonstante. Wenn der Impulszähler also 6.000 anzeigt, geteilt durch die aus dem obigen Beispiel berechnete Befehlsimpulskonstante, wäre die Aktuatorposition 6.000 Impulse/50 ppm = 120 mm.
Um eine Geschwindigkeit in mm anzugeben und die Steuerung die richtige Frequenz in Hz (Impulse pro Sekunde) berechnen zu lassen, muss zunächst die Geschwindigkeitskonstante bestimmt werden. Dies erfolgt durch Ermitteln der Befehlsimpulskonstante (wie oben gezeigt), die Einheiten werden jedoch geändert. Mit anderen Worten: Wenn der Motor 500 Impulse pro Minute ausgibt und sich der Aktuator 10 mm pro Umdrehung bewegt, bewegt sich der Aktuator 10 mm pro Sekunde, wenn 500 Impulse pro Sekunde befohlen werden. Wenn man 500 Impulse pro Sekunde durch 10 mm pro Sekunde dividiert, erhält man 50 Impulse pro Sekunde und mm. Daher ergibt die Multiplikation der Zielgeschwindigkeit mit 50 die richtige Pulsfrequenz.
Die Formeln sind die gleichen, aber die Einheiten ändern sich:
Geschwindigkeitskonstante in pps = Impulse pro Umdrehung/Strecke pro Umdrehung
Pulsgeschwindigkeit (pps) = (Geschwindigkeitskonstante) × Geschwindigkeit in mm
Die Verwendung eines Setups, das Impulsfolgesignale zur Steuerung der Bewegung verwendet, mag zunächst entmutigend erscheinen. Wenn Sie jedoch zu Beginn genau auf die Signaltypen und Einstellungen an der Steuerung und den Antrieben achten, kann dies den Zeitaufwand für die Funktionsfähigkeit reduzieren. Wenn man sich außerdem die Zeit nimmt, sofort einige grundlegende Berechnungen durchzuführen, wird die Programmierung der Geschwindigkeiten und Entfernungen einfacher und Maschinenbediener werden intuitivere Informationen auf ihren HMIs angezeigt bekommen.
Zeitpunkt der Veröffentlichung: 08.02.2021