Home

POSYS 1800-B Benutzerhandbuch - POSYS® Motion Control © 1998

image

Contents

1. Das SetCommutationMode wird verwendet um die Kommutierungsmethode Enkoder oder Hallsensorbasiert auszuw hlen Welcher Wert eingestellt ist kann mit dem Kommando GetCommutationMode berpr ft werden Oft werden sowohl Enkoder als auch Hallsensoren verwendet Die Hallsensoren dienen der Phaseninitialisierung w hrend anschlie end die Enkoder verwendet werden um die korrekte Wellenform f r die Phasenausgabe zu generieren w hrend der normalen Motorbetriebes Phasenz hlungen F r die Sinuskommutierung ist es notwendig die Anzahl Enkoderstriche pro elektrischen Zyklus zu definieren Um diese zu bestimmen m ssen sowohl die Enkoderaufl sung pro Motorumdrehung als auch der Wert f r die Anzahl elektrischer Zyklen des Motors bekannt sein Wenn diese beiden Werte bekannt sind kann die Anzahl Enkoderaufl sungen pro elektrischen Zyklus mit folgender Gleichung ermittelt werden p90 POSYS Motion Control 2014 Counts per cycle Counts_per rot electrical cycles dabei ist Counts_per_rot ist die Enkoderaufl sung pro Motorumdrehung electrical cycles ist die Anzahl elektrischer Zyklen F r die Anzahl elektrischer Zyklen verweisen wir hier auf die Spezifikationen des Motorenherstellers Normalerweise ist die Anzahl elektrischer Zyklen identisch mit der H lfte der Anzahl der Pole Bitte verwechseln Sie nicht die Anzahl Pole mit der Anzahl Polpaare z B falls die Dokumentation eines Motors ausweist dass die Enkoderaufl sung 1024 ist un
2. 0 Signal Sense Mask Die Bits in dem Signal Status Register stellen den high low Zustand von verschiedenen E As auf der POSYS dar Wie diese E As von der POSYS interpretiert werden kann durch die Verwendung der Signal Sense Mask definiert werden Dies ist n tzlich um die Interpretation von Eingangsignalen zu ver ndern um sich wiederum der Interpretation der Signale der Hardware des Anwenders anzupassen Der Standardwert f r SignalSenseMask ist nicht invertiert ausser f r das Index Signal dass standardm ig invertiert ist Das SignalSenseMask Register wird in der Tabelle unten beschrieben A encoder Gesetzt 1 um A Enkodereingangssignal zu invertieren Nicht gesetzt 0 f r keine Invertierung B encoder Gesetzt 1 um B Enkodereingangssignal zu invertieren Nicht gesetzt 0 f r keine Invertierung Index encoder Gesetzt 1 um Indexenkodersignal zu invertieren Nicht gesetzt 0 f r keine Invertierung Home Capture Gesetzt 1 um Referenzsignal zu invertieren Nicht gesetzt 0 f r keine Invertierung Gesetzt 1 f r eine active high Interpretation des positiven Endschalters welches bedeutet dass der Endschalter f r die positive Fahrtrichtung angefahren wurde wenn das Signal auf active high geht Kein Endschalter 0 wenn active low Gesetzt 1 f r eine active high Interpretation des negativen Endschalters welches bedeutet dass der Endschalter f r die negative Fahrtrichtung angefahren wurde
3. Hier sind MC Systemsteuerregister MC Host Port User Register DPM Threshold Register und SPI DAC Register gemappt Der Zugriff durch den PC erfolgt wie von fr heren POSYS Versionen bekannt ber die 16 Bit Port 1O Befehle INPORT und OUTPORT Der PC l t eine Byte Adressierung zu es sind jedoch nur Word Zugriffe auf geradzahlige Adressen im bereich 0x0000 0xFFFE erlaubt Im IO Bereich ist au erdem ein Index und Datenregister gemapped mit dem der Zugriff auf die FPGA internen Subsysteme DPM DAC I F und User LED m glich ist PC104 ISA Bus Speicher Hier ist der PC seitige DPM Port als externer Arbeitsspeicher gemappt Der Zugriff erfolgt ber 16 Bit Memory Read Write Befehle Die Basisadresse ist ber SW200 zwischen 0x8 0000 und OxF 0000 in Schritten von 0x1 0000 64kByte einstellbar Die lineare Adressdarstellung 0x8 0000 entspricht dabei der Segment Offset Adresse 0x8000 0000 Der 64kByte DPM Adressraum kann mit konstantem Segment und variablem Offset vollst ndig adressiert werden Der PC l t eine Byte Adressierung zu es sind jedoch nur Word Zugriffe auf geradzahlige Adressen erlaubt Die Deaktivierung des Memory Adressraums erfolgt durch setzen einer Mem Base Addr von lt 0x8 0000 SW200 8 0 In diesem Fall kann der DPM Zugriff immer noch ber das IO gemappte FPGA Subsystem erfolgen 0 MC Bus Hier ist der MC seitige DPM Port als externer Speicher gemappt Au erdem befinden sich hier die DAC Output Re
4. ig bedeutet ein high Signal in die positive Richtung zu verfahren ein low Signal bedeutet negative Verfahrrichtung Dieses Signal kann mit dem Kommando SetSignalSense invertiert werden Bitte beachten Sie falls als R ckmeldung internal Loop back eingestellt ist muss das A Enkoder Signal ebenfalls invertiert werden um die bereinstimmung zwischen Richtung und aktuelle Motorbewegung zu erhalten Pulse Amplifier I Motor 1 Direction POSYS 182x B 185x B Pulse gt lifi Direction Amplifier 2 Motor 2 Abbildung 26 Schrittmotoranbindung Die POSYS 18xx B Motion Controller unterst tzen seperate Taktratenmodi Dies wird mit dem Kommando SetStepRange eingestellt Die nachfolgende Tabelle zeigt die m glichen Werte und daraus resultierenden Taktraten an 0 to 4 98 M steps per second Tabelle 45 W hlbare Taktraten Die Bereiche geben die minimale und maximale Taktrate an die vom Motion Controller ausgegeben werden kann wenn eingestellt auf einer der Werte z B falls die gew nschte maximale Taktrate 200K Takte pro Sekunde betr gt dann sollte die Einstellung SetStepRange 4 sein F r Voll und Halbschrittapplikationen als auch Takt amp Richtungsapplikationen bei denen die maximale Geschwindigkeit voraussichtlich 38 kSchritte Sek nicht berschreitet sollte SetStepRange 8 verwendet werden F r h here Geschwindigkeiten sollte einer der anderen Geschwindigkeitsbereiche verwendet werden F
5. p87 POSYS Motion Control 2014 CAN Ereignis Benachrichtigung Wenn die Kommunikation ber die CAN Schnittstelle erfolgt kann die POSYS optional Nachrichten senden wenn im Event Status Register entsprechende Bits als aktiv gesetzt sind Diese M glichkeit steht in direktem Zusammenhang mit der Interrupt Funktion des Motion Control Prozessors wenn die parallele Schnittstelle Board intern verwendet wird Diese Meldungen werden mit der CAN Adresse 0x180 nodelD versendet Diese Funktionalit t wird mit dem Kommando Setl nterruptMask spezifiziert und kontrolliert F r jedes Bit in der Benachrichtigungsmaske dass als ON markiert ist wird eine CAN Nachricht generiert sobald das korrespondierende Bit im Event Status Register 1 wird F r weitergehende Informationen verweisen wir auf das Kapitel Host Interrupts p88 POSYS Motion Control 2014 EC Servomotorkontrolle berblick Die POSYS unterst tzen zus tzlich zur Bahnprofilerstellung und geschlossenem Servoregelkreis auch die M glichkeit das Kommutierungssignal f r 2 und 3 phasige b rstenlose Servomotoren zu generieren Modell abh ngig Dies erlaubt die gemischte Benutzung von b rstenlosen und b rstenbehafteten Servomotoren mit ein und dem selben Controller Der Kommutierungsteil des Controllers verwendet einen Eingang des Motorausgangssignals entweder vom Servofilter oder vom Motorkommandoregister abh ngig ob die Achse im Closed Loop oder Open Loo
6. 0 wird dann der Wert f r die positive Beschleunigung verwendet In beiden Modi wird die Zielgeschwindigkeit auf Null 0 gesetzt Um eine neue Bewegung zu initiieren ist es notwendig die Geschwindigkeit mit dem Kommando SetVelocity neu zu programmieren AbruptStop muss mit Vorsicht verwendet werden Pl tzliches Abbremsen aus einer hohen Geschwindigkeit kann die Mechanik besch digen oder zu Verletzungen f hren AbruptStop funktioniert in allen Profilen SmoothStop funktioniert in allen Profilen au er Electronic Gear 0 Aktivieren und Deaktivieren von Trajectory Generator Modules Es gibt eine Reihe von Gr nden warum es sinnvoll sein kann das Trajectory Generator Module zu aktivieren oder deaktivieren Weitere Informationen sind im Kapitel Control Flow Overview nachzulesen Zus tzlich zur manuellen Deaktivierung verschiedener Kontrollmodule gibt es eine Reihe Bedingungen unter denen die automatische Deaktivierung sinnvoll sein kann wie z B Ereignis bedingte oder durch Breakpoints bestimmte Bedingungen Im Kapitel SetEventAction Processing sind weitere Informationen erh ltlich Falls der Trajectory Generator Module deaktiviert ist wird die Sollposition seinen gegenw rtigen Wert beibehalten Alle anderen Profile und Kommandos werden ignoriert Erg nzend falls der Position Loop aktiviert ist wird zu dem Zeitpunkt bei dem der Trajectory Generator Module deaktiviert wird der Schleppabstandsfehler auf Null 0 gesetzt
7. Allerdings im Gegensatz zum programmierbaren Schleppabstandsfehler falls die Achse sich au erhalb des Tracking Windows bewegt wird die Achse nicht gestoppt Das Tracking Window ist n tzlich wenn externe Prozesse von dem Motor abh ngen bestimmte Regelparameter innerhalb eines Bereiches zu ermitteln Altemativ kann das Tracking Window als eine Art Fr hwarnung f r Positionierprobleme benutzt werden die sich noch nicht als Schleppabstandsfehler qualifizieren lassen Die Gr e des Tracking Windows maximaler erlaubter Positionierfehler innerhalb des Tracking Windows wird mit dem Kommando SetTrackingWindow gesetzt Der Befehl GetTrackingWindow liefert den programmierten Wert zur ck Wenn der Positionierfehler kleiner als oder gleich dem Wert f r das Tracking Window ist ist der Bit im Activity Status Register gesetzt Falls der Positionierfehler den programmierten Wert berschreitet wird das Bit gel scht p53 POSYS Motion Control 2014 Calculated trajectory Settle window Actual trajectory Tracking window gt gt In motion I _ Motion complete FE S EEE Ko Settled A HE S S Eu Tracking _ Abbildung 19 Tracking Window Motion Complete Indikator In vielen F llen ist es n tzlich den Regler signalisieren zu lassen dass eine vorgegebene Bewegung abgeschlossen wurde Diese Funktion ist verf gbar als Motion Complete Indicator Der Motion Complete Indicator erscheint in Bit O des Ev
8. Diese Sequenz ist dem vorherigen hnlich ausser dass ein zus tzlicher Breakpoint definiert worden ist der den abrupten Stopp veranlasst Zus tzlich wurden diese Breakpoints definiert um auf Ereignisse zu reagieren die mit den Achsen 3 und 4 zusammenh ngen Beide Breakpoints wurden definiert nachdem die Bewegung begonnen wurde obwohl dies nicht unbedingt notwendig ist je danach wann man erwartet dass der Breakpoint eintritt Generell sollten Breakpoints nach der prim ren Bewegungsinitiierung eingerichtet werden weil es nur einen Satz gebufferter Register gibt und es damit unm glich ist prim re Bewegungsparameter als auch Position Geschwindigkeit etc und auch Profilparameter Parameter die effektiv werden sobald ein Breakpoint ausgel st wurde bevor die eigentliche Bewegung aktualisiert wurde p43 POSYS Motion Control 2014 p44 POSYS Motion Control 2014 Status Registers berblick Die POSYS kann fast jeden Aspekt einer Achse berwachen Es gibt zahlreiche numerische Register die abgefragt werden k nnen um die Aktualit t der Achse wie die Ist Position GetActualPosition Kommando die Soll Position GetCommandedPosition Kommando etc zu bestimmen Au er diesen numerischen Registern gibt es drei bit orientierte Zustandsregister die einen kontinuierlichen Bericht ber den Status einer spezifischen Achse zur ckmelden GetActivityStatus GetSignalStatus GetEventStatus Der Host kann diese drei Register
9. e Anmerkung Der Adressbyte ist nur dann existent im Anwortpaket wenn der Kommunikationsmodus Mult Drop ist Es wird auch f r die Checksum Kalkulation herangezogen 0 Instruktionsfehler Der Motionprozessor vollf hrt eine Anzahl berpr fungen abh ngig vom Kommando dass an die POSYS gesendet wurde Diese berpr fungen erh hen die Sicherheit des Positioniersystems indem offensichtlich inkorrekte Kommandodatenwerte eliminiert werden All jene berpr fungen die mit Host 1 0 Kommandos assoziiert sind werden als Host 1 0 Errors bezeichnet Der Status Byte im Antwortpaket kann eines der Fehlercodes enthalten wie im Kapitel Instruktionsfehler beschrieben Checksummen Beides sowohl das Kommando als auch die Antwort enthalten ein Checksummen Byte Die Checksumme wird verwendet um bertragungsfehler zu ermitteln und erlaubt die POSYS fehlerhafte Datenpakete zu identifizieren und abzulehnen Anders als beim Parallelport sind Checksummen bei seriellen Schnittstellen obligatorisch Alle Kommandopakete die zur POSYS geschickt wurden und die ung ltige Checksummenwerte beinhalten werden nicht weiter gegeben und ein Datenpaket mit einem Error Status Code wird zur ckgeschickt Die serielle Checksumme wird kalkuliert indem alle Bytes addiert werden mit Ausnahme des Checksummen Bytes anschliessend wird das 2 er Kompliment des Ergebnisses ermittelt Die acht niederwertigen Bits dieses Ergebnisses werden als Checksumme verwendet U
10. 2014 Phase Offset A a Phase A eg ras W aveform Commutation Zero Location Index __ Der i Pulse l I 90 180 270 360 Abbildung 35 Justierung des Phasenwinkels Der Phasenoffsetregister wird vor der Phaseninitialisierung den Wert ffff hex aufweisen Nach der Phaseninitialisierung und nachdem der Motor mindestens eine Umdrehung dahingehend vollf hrt hat dass ein Indextakt erfasst werden konnte wird der Phasenoffsetwert als positive Nummer mit einem Wert zwischen 0 und der Enkoderaufl sung pro elektrischen Zyklus gespeichert Anmerkung Falls eine Achse im Dual Encoder Loop Mode mit einer Auxiliary Achse verkn pft ist m ssen die Kommandos SetPhaseAngle SetPhaseOffset und SetPhaseCounts mit der Hauptachse abgeglichen werden Um den Phasenoffsetwert von einer Nummer in Grad zu konvertieren kann folgender Ausdruck verwendet werden Offsetdegrees 360 Offsetcounts counts_per_cycle wobei Offsetdegrees ist der Phasenoffset in Grad Offsetcounts ist der Phasenoffset in Enkoderstriche counts_per_cycle ist die Anzahl Enkoderstriche pro elekctrischen Zyklus die mit dem Kommando SetPhaseCounts gesetzt wurde Der Phasenoffsetwert kann w hrend der Motor in Bewegung ist beliebig oft ver ndert werden wobei nur kleine nderungen vorgenommen werden sollten um pl tzliche gro e Spr nge zu vermeiden Die Kommandos SetPhaseOffset und GetPhaseOffset k nnen nur verwendet werden wenn ein Enkoder mit Indextakt a
11. Falls die Gearsource der Master Achse auf Ist Position eingestellt wurde ist es nicht notwendig einen Motor an dieser Achse zu betreiben In der Hauptsache wird es als Enkodereingangsz hler verwendet z B im Open Loop Modus oder als manuelle Einstellm glichkeit f r andere Achsen Es ist allerdings auch m glich einen Motor zu verwenden dabei muss dieser Achse ein anderer Profil zugewiesen werden Der Effekt dieser Einstellung ist dass beide Achsen Master als auch Slave mit dem selben Profil betrieben werden k nnen auch wenn der Slave mit einem anderen bersetzungsverh ltnis zum Master betrieben wird oder in eine andere Richtung verf hrt F r die Master Achse ist es ohne Belang ob sie als solche oder als Einzelachse betrieben wird Die optionalen Komponenten in Abbildung 11 illustrieren dieses Arrangement Eine solche Konfiguration kann sinnvollerweise zur Verwendung von linear interpolierten Achsen eingesetzt werden A VORSICHT Es ist m glich das bersetzungsverh ltnis w hrend der Bewegung zu ndern aber es liegt in der Verantwortung des Anwenders bersetzungsverh ltnisse zu w hlen die einen sicheren Betrieb gew hrleisten Der Wechsel von einem kleinen zu einem gro en Verh ltnis kann eine Achse zu schnell an seine physikalische Endposition f hren und zu Besch digungen der Mechanik f hren Auch das Verletzungsrisiko kann sich aufgrund sich sehr schnell in der Geschwindigkeit ndernder Teile erh hen IS Anmerkung Im G
12. In diesem Fall werden die beiden ersten Worte der ersten Erfassung mit den 2 letzten Worten der 334 Erfassung berschrieben Wenn die Erfassung gestoppt wird zeigt der Lesezeiger auf das lteste Datenwort im Buffer Dieses Datenwort muss aber nicht das 1 Datenwort der Erfassung sein Daher wird empfohlen dass die L nge des Tracebuffers definiert wird als eine multiple gerade Nummer der Anzahl von Tracevariablen die verwendet werden Dies w rde sicher stellen dass der Leseindex auf das 1 Wort in einem kompletten Erfassungssatz zeigt egal ob der Tracemodus einmal oder kontinuierlich abl uft Die einfachste L sung w re es sicher zu stellen dass die Tracebufferl nge eine multiple Gerade des 12 fachen ergibt weil jede Anzahl von Variablen 1 2 3 oder 4 durch 12 teilbar ist p60 POSYS Motion Control 2014 0 Datenerfassung Starten Hier ist eine Zusammenfassung der Datenerfassungsm glichkeiten f r den Anfang e Spezifizieren Sie welche Daten gespeichert werden sollen Das Kommando SetTraceVariable bis zu 4 wird verwendet um zu definieren welche Daten pro Trace Period erfasst werden sollen Stellen Sie sicher dass Variablen O x 1 verwendet werden wenn X Variablen gespeichert werden sollen und Variable x gleich 0 ist Die Variablen m ssen in einem kontinuierlichen Modus verwendet werden z B wenn 2 Variablen erfasst werden sollen dann verwenden Sie die Variablen 1 und 2 Bei 3 Variablen 1 2 und 3 Die erste Vari
13. entspricht einem ClearPositionError Kommando Ein vorher deaktivierter Trajectory Generator Module kann auf verschiedene Arten wieder aktiviert werden Falls das Kommando SetOperatingMode verwendet wurde um es zu deaktivieren kann das gleiche Kommando verendet werden um es wieder zu aktivieren Falls der Trajectory Generator Module deaktiviert wurde aufgrund einer automatischen Ereignis bedingten Aktion siehe SetEventAction Processing f r weitere Informationen muss das Kommando RestoreOperatingMode ausgef hrt werden um das Trajectory Generator Module wieder zu aktivieren 0 p25 POSYS Motion Control 2014 Position Loop berblick F r die Achsen der POSYS die im Servomodus betrieben werden wird die Regelschleife als Teil der Grundmethode benutzt den Drehmomentsollwert zu bestimmen Der Grundgedanke der Regelschleife ist die Istposition so nahe wie m glich mit der Sollposition gleichzusetzen und entsprechende Angleichungen durch Anpassung des Drehmomentsollwertsignals dahingehend vorzunehmen dass entsprechend den Parametervorgaben die Soll und Istposition m glichst identisch sind Um dies zu bewerkstelligen wird der Ausgangswert mit der aktuellen Enkoderposition verglichen um den Schleppabstandsfehler zu errechnen welches wiederum durch die Regelschleife geschickt wird Das skalierte Ergebnis der Filterkalkulation ist die Drehmomentsollwertvorgabe welches als impulsbreiten moduliertes Signal mit 10 Bit Aufl sung
14. glich ist dass der Motion Complete Bit nie gesetzt wird falls der Servoregelkreis nicht genau genug regelt um innerhalb des programmierten Positionsfehlerfensters f r die spezifizierte Zeit zu verbleiben 0 In Motion Indikator Die POSYS kann feststellen ob die Achse in Bewegung ist oder nicht Dies wird durch den In Motion Indicator bewerkstelligt Der In Motion Indicator erscheint im Bit 10 im Activity Status Register Der In Motion Bit ist hnlich dem Motion Complete Bit jedoch gibt es 2 signifikante Unterschiede Der 1 Unterschied ist wie bei allen Bits im Activity Status Register der In Motion Indicator zeigt kontinuierlich den Status ohne Interaktion mit dem Host an Mit anderen Worten der In Motion Bit kann nicht durch den Host gesetzt oder zur ckgesetzt werden Der andere Unterschied ist dass dieser Bit den Soll Bewegungszustand des Trajektoriegenerators anzeigt und nicht den aktuellen Enkoderzustand Der Motion Complete Bit funktioniert nur im S Kurven Trapez und Geschwindigkeitsmodus Es funktioniert nicht im Electronic Gearing Modus IS Es ist empehlenswert den Motion Complete Bit zu verwenden um zu bestimmen ob eine Bewegungsequenz zu Ende gef hrt wurde oder nicht Settle Window Die POSYS kann auch kontinuierlich anzeigen ob oder ob nicht die Achse still steht Der Settled Indicator erscheint im Bit 7 des Activity Status Register Der Settled Indicator ist hnlich dem Motion Comp
15. 34 illustriert das Verh ltnis zwischen dem Status der drei Hallsensoreing ngen der sinus kommutierten Wicklungserregung der jeweiligen Phase und Phase zu Phase BEMF Signalformen w hrend einer Vorw rtsbewegung Der Motion Controller erwartet eine 120 Aufteilung zwischen den Hallsignal nderungen Um Hallsensoren mit 60 Abstand zu kommutieren tauschen und invertieren Sie die entsprechenden Hallsignale und Motorphasen um die zu erwartenden Zust nde der Hallsensoren zu generieren Dieses Hall zu BEMF Phasendiagramm ist der gebr uchlichste Weg die entsprechende Lage zu spezifizieren und ein hnliches Diagramm wird normalerweise vom Motorhersteller zur Verf gung gestellt Mit der Hall basierten Phaseninitialisierung sind keine weiteren Prozeduren f r die Motorenkonfiguration erforderlich Die Initialisierung erfolgt mit der Ausf hrung des Kommando s InitializePhase und greift unverz glich ohne weitere Motorbewegung p91 POSYS Motion Control 2014 A B C Phase Currents Phase to phase BEMF Voltages Hall A tt 111 11 Hall C L ITJ PE ILE 180 240 300 o 60 120 180 Abbildung 34 Hall basierte Phaseninitialisierung Um sich den verschiedenen Typen von Hallsensoren anzupassen auch jenen mit invertierter Schaltung kann die Signalinterpretation der Signallogik vom Host gesetzt werden Das Kommando SetSignalSense akzeptiert ein Bit programmiertes Wort das berpr ft ob die ankommenden Hall Signale als aktiv high oder aktiv
16. Algorithmus Konfiguration von Dual Enkoder Unterst tzung Biquad Output Filter Biquad Output Filter Biquadkoeffizienten bestimmen Bestimmung des Bi Quad Skalierungsfaktors Skalierung der Bi Quad Koeffizienten Output Limit Output Limit Motor Bias Motor Bias Deaktivieren und Aktivieren des Position Loop Moduls Deaktivieren und Aktivieren des Position Loop Modules Position Loop Werte lesen Parameter Update and Breakpoints Parameter Buffering Updates p3 POSYS Motion Control 2014 Breakpoints Einen Breakpoint definieren Breakpoint Trigger Threshold Triggered Beakpoints Level Triggered Breakpoints Breakpoint Aktionen Breakpoint Latenzen Breakpoint Beispiele Status Registers berblick Event Status Register Instruktionsfehler Activity Status Register Signal Status Register Signal Sense Mask Bewegungs berwachung und verwandte Aufgaben SetEventAction Prozess Schleppabstandsfehler Endschalter Tracking Window Motion Complete Indikator In Motion Indikator Settle Window Trace Capture Trace Buffer Architektur Der Trace Buffer Der Trace Period Trace Variablen Trace Modes Trace Start Stop Bedingungen Download von Trace Daten Datenerfassung Starten Host Interrupts Hardware Control Signals Hardware Control Signals Das AxisOut Signal Der Axisin Eingang Analoge Eing nge The Synch Pin Multiple Card Synchronization Enkoderschnittstelle Enkoderschnittstelle Inkrementaler Enkodereingang Aktuelle Positionsre
17. Allzusammen erlauben diese Parameter gro e Flexibilit t um Breakpointzust nde zu definieren Durch das Verkn pfen dieser Komponenten kann fast jedes Ereignis auf jeder Achse einen Breakpoint verursachen Der Befehl SetBreakPoint wird benutzt um die Breakpointachse den Trigger die Sourceachse und die Aktion zu definieren Um diese Werte zur ck zu lesen wird der Befehl GetBreakpoint benutzt Nach Erhalt des SetBreakpoint Kommandos wird der Breakpoint aktiv Das hei t der Motion Controller wird beginnen die Bedingungen f r den Breakpoint mit den tats chlichen Gegebenheiten zu vergleichen Dies bedeutet dass alle anderen erforderlichen Informationen f r die Breakpoint Funktion wie Vergleichswert und Breakpoint Update Mask sollten bereits geladen sein bevor dieses Kommando ausgef hrt wird Siehe Abschnitt Breakpoint Beispiele Beispiele f r die Programmierung von Breakpoints gt Der SetBreakpointMask und SetBreakpointValue Kommando sollten immer vor dem SetBreakpoint Kommando ausgef hrt werden um einen Breakpoint einzurichten 0 Breakpoint Trigger Die POSYS 1800 B unterst tzt die folgenden Breakpoint Trigger Zust nde Trigger Kondition Level oder Beschreibung Threshold gr er oder gleich positive threshold Ist gegeben wenn die gegenw rtige Sollposition gleich Sollposition ist oder gr er als der programmierte Vergleichswert kleiner oder gleich positive threshold Ist gegeben wenn die Sollposition gleich ist
18. Axis1 00 iade Beschleunigung f r Achse1 SetUpdateMask Axis1 Profile angeben dass nur eine Aktualisierung der Profile Parameter erfolgen soll Update Doppelt gepufferte Register werden in die aktiven Register kopiert und leiten damit die Bewegung ein Tabelle 17 Beispiel f r Parameter Buffering Nachdem diese Sequenz abgeschlossen wurde werden die zwischengespeicherten Register f r diese Parameter einschlie lich des Profilmodus selbst in die Register der POSYS geladen aber das Bahnprofil l uft noch nach den vorhergehenden Werten ab Nur wenn ein Update Kommando ausgef hrt wird wird der Profilmodus eigentlich zu trapezf rmig und die angegebenen Parameter in den Trajektoriegenerator geladen die die POSYS sofort veranlassen das angegebene Programm zu starten Der mit dem Kommando SetUpdateMask eingestellte Wert ist nur durch eine sp tere Ausf hrung des Kommandos SetUpdateMask erneut ver nderbart Das hei t sein Wert selbst wird nicht ver ndert durch ein Update Kommando oder durch andere Kommandos Der Standardwert des Update Maske f r POSYS 1800 B ist Profil Parameter und Regelschleifenparameter zu aktualisieren 0 Updates Es gibt drei unterschiedliche Methoden f r ein Update Sie werden nachfolgend aufgelistet 1 Update Kommando Die einfachste Art ist ein Update Kommando zu geben Dies veranlasst die Parameter f r die programmierte Achse sofort zu aktualisieren 2 MultiUpdate Kommando
19. Joysticks zu verbinden um z B eine Achse per Handbetrieb in eine bestimmte Position zu bringen oder f r Teaching Funktionen Hierbei k nnen in Verbindung mit der Trace Funktion die Positionen abgespeichert und anschliessend vom Host ausgelesen werden Damit w ren komplette aufwendige Konturen erfass und anschliessend abfahrbar 0 The Synch Pin Multiple Card Synchronization Die POSYS 182x B unterst tzen die Synchronsation der internen Zykluszeit mehrerer Controller Dies erlaubt die Synchronisation von Start Stop und die Modifizierung von Bewegungsabl ufen ber mehrere Controller hinweg wo pr zises Timing erforderlich ist Dies kann notwendig sein weil die Regler sich in gr erer Entfernung befinden oder die Applikation mehr als 4 Achsen von synchronisierter Bewegung erfordern In der blichsten Konfiguration wird ein Regler als ein Master ausgewiesen und alle anderen Regler werden in den Slave Modus gesetzt IS Multi Karten Synchronisation ist nicht m glich sobald eine Achse im Schrittmotormodus betrieben wird Schrittmotorkarten sind grunds tzlich nicht in diesem Modus zu betreiben Der Eingang Ausgangs Status von diesem IO und seiner Aufgabenstellung werden mit dem Kommando SetSynchronizationMode gesetzt Beschreibung Disabled In diesem deaktivierten Modus ist die Verbindung als Eingang konfiguriert und nicht in Verwendung Dies ist der Standardmodus nach einem Reset oder nach dem Einschalten 1 Master Im Master Modu
20. Kommandopaket geschickt wird Dieses Feld sollte im Point to Point Mode immer Null sein p82 POSYS Motion Control 2014 Feld Byte Beschreibung Checksum 2 Ein 1 Byte Wert um Paketdaten zu verifizieren F r Beschreibung siehe Checksums Instruction code 3 4 Eine 2 Byte Instruktion das obere Byte wird zuerst gesendet Achsennummer Die Kommandostruktur ist dieselbe die im Parallelkommunikationsmodus verwendet wird Null bis 6 Bytes an Daten das meist signifikante Byte MSB zuerst Die individuellen Kommandobeschreibungen sind im Detail im Programmierhandbuch beschrieben Tabelle 49 Format des gesendeten Kommandopaketes Als Antwort sendet die POSYS folgendes Datenpaket Fed Byte Beschreibung Ein Byte welches den Motion Controller identifiziert welches die Anwort schickt Nur in Multi Drop Mode Status 1 2 Null falls das Kommando erfolgreich ausgef hrt wurde ansonsten wird ein Fehlercode der den Fehler n her spezifiziert gesendet siehe Hostl O Errors 2 3 Ein 1 Byte Checksum Wert um die Paketintegrit t zu verifizieren Data 3 4 Null bis 6 Bytes an Daten Falls ein Fehler auftrat werden keine Bytes gesendet der Status Byte is nicht Null Falls kein Fehler auftrat dann wird die Anzahl Bytes davon abh ngen auf welches Kommando die POSYS antworten sollte Das meist signifikante Byte MSB wird immer zuerst gesendet Tabelle 50 Format des empfangenen Antwortpaketes
21. Motion Control 2014 Skalierung der Bi Quad Koeffizienten Nachdem der optimale K Skalierungsfaktor ermittelt wurde k nnen die quivalenten Integer der Bi Quad Koeffizienten berechnet werden Die Integer Werte BO Bl B2 Al und A2 k nnen wie im folgenden Beispiel errechnet werden bo BO K 2727 Umstellung der Gleichung Nach Umstellung BO bO 227 IK Einsetzen der Werte BO 0 020083 227 6394 Ergebnis BO 422 Bei der Verwendung dieser Formel X x a K auf alle Koeffizienten werden folgende Werte ermittelt BO 422 Bl 843 B2 422 Al 32767 A2 13463 K 6394 0 p33 POSYS Motion Control 2014 Output Limit Output Limit Die Motorausgabebegrenzung h lt die Filterausgabe davon ab eine bestimmte Spannungsvorgabe f r jede Richtung an den Verst rker auszugeben bzw zu berschreiten Wenn der Filter einen Wert gr er als die Grenze erzeugt nimmt der Motorbefehl die programmierten Grenzwerte Mit SetMotorLimit wird der Grenzwert programmiert Mit GetMotorLimit wird der programmierte Wert gelesen Der spezifizierte Wert ist eine 16 Bit vorzeichenlose Zahl von 0 bis 32767 Der spezifizierte Wert ist der gr tm gliche Wert der an den Verst rker Motor ausgegeben wird Zum Beispiel wenn die Motorgrenze auf 30000 gesetzt wurde oder 91 6 es maximalwertes werden Motorausgabewerte die gr er als 30000 w ren dann als 30000 ausgegeben und Motorausgabewerte weniger als
22. Richtung und mit welchem Verh ltnis die Slave Achse der Master Achse folgen soll Die Folgeachse wird in der Regel eine andere Achse als die Leitachse sein Die eine erlaubte Ausnahme ist bei Verwendung von Schrittmotoren In diesem Fall kann die Leitachse auch als Folgeachse definiert werden so lange als Quelle f r das Folgeverh ltnis auf Enkoder gesetzt wurde Abbildung 11 zeigt die Anordnung von Enkoder und Verst rker in einer typischen Electronic Gearing Einstellung p20 POSYS Motion Control 2014 Motor lt Y Slave encoder Amplifier Magellan Motion Processor optional Y Master encoder Amplifier gt Motor Abbildung 11 Electronic Gear Ein positives bersetzungsverh ltnis bedeutet dass wenn die aktuelle oder Soll Position der Master Achse sich in positiver Richtung erh ht sich auch die Slave Achse in positiver Richtung bewegt Ein negatives Verh ltnis hat den umgekehrten Effekt W hrend die Position der Master Achse sich erh ht verringert sich die Position der Slave Achse Z B lassen Sie uns annehmen die Slave Achse ist die Achse 0 Achsen werden von 0 bis 3 bei einer 4 Achsen Karte gez hlt und die Master Achse ist die Achse 3 Lassen Sie uns auch annehmen die Gearsource wird auf aktuelle Position mit einem Verh ltnis von 12 gesetzt Der Electronic Gearmodus erfordert dass 2 Achsen definiert werden Deswegen unterst tzen die 1 Achsen Karten den Electronic Gearmodus nicht
23. Sek haben sollte SetStepRange 8 verwendet werden F r Applikationen die eine h here Schrittrate als 38 KSchritt Sek erfordern sollten h here Einstellungen verwendet werden F r jede Achse kann eine individuelle Einstellung gew hlt werden 0 Mikroschritt Motor Kontrolle Falls mit dem Kommando SetMotorType als Motortype Mikroschritt ausgew hlt wurde werden anstatt Takt amp Richtungssignale Signale f r mehrere Phasen ausgegeben Typische Schrittmotoren verf gen ber 2 Phasen manche haben auch drei Phasen Die POSYS 182x B unterst tzt 2 und 3 Phasen Treiber Welcher Wert eingestellt wurde kann mit dem Kommando GetMotorType gelesen werden Die POSYS 185x kann f r diesen Modus nicht verwendet werden Stattdessen verwenden Sie bitte Mikroschritttreiber die Takt amp Richtungssignale in Mikroschritte umwandeln Abbildung 37 zeigt einen berblick ber das Kontrollschema f r Mikroschrittbetrieb Phase A gt xX gt command Motor command register To current SetMotorCommand gt loop or motor output module Ph B gt X uns gt command Trajectory generator Abbildung 37 Mikroschrittsignalformerstellung Der Mikroschrittteil des Reglers generiert ein sinusf rmiges Signal mit einer Anzahl charakteristischer Ausgangswerte pro Vollschritt ein Vollschritt ist ein Viertel einer elektrischen Periode Die Anzahl von Mikroschritten pro Vollschritt p102 POSYS Motion Control 2014 wird mit dem Kom
24. Z hler der R ckmeldeeinheit berl uft wird Devices s Modulus genannt und sollte mit dem Kommando SetEncoderModulus gesetzt werden gt Anmerkung das Kommando SetEncoderModulus verwendet als Parameter einen Wert der die H lfte des Modulus betr gt Z B ein Motor verwendet einen 12 Bit Resolver als R ckmeldeeinheit Der Modulus betr gt 4 096 der Wert der mit SetEncoderModulus daher gesetzt werden soll betr gt 2 048 Jedesmal wenn der Bin rwert seinen h chsten Wert erreicht und wieder auf seinen kleinsten zur ckspringt erkennt dies die POSYS und der Wert zu dem der berlauf passiert wird zur aktuellen Position hinzu gez hlt mit Werten gr er als 4 096 oder kleiner als 0 F r Systeme die einen Positionsz hler mit einem Modulus kleiner als die maximale Anzahl Striche Umdrehung verwenden Enkoderaufl sung pro Umdrehung muss der Wert f r die Anzahl Striche pro Umdrehung gleich dem Wert f r die Positionsz hlergr e sein Z B wenn ein rotierendes Laserinterferometer verwendet wird welches ein 16 Bit Wert ausgibt aber 16 777 216 Z hler pro Umdrehung ausgibt muss der Z hler pro Umdrehungswert 32 768 216 2 sein Mit den Parallelwortr ckmeldeeinheiten ist eine High Speed Positionserfassung nicht m glich Diese f r diesen Zweck gedachten Signale A B Index und Home werden in diesem Modus nicht verwendet Nichsdestotrotz ist die Erfassung ber diese Schnittstelle sehr schnell und zuverl ssig Mit unserer integrie
25. Zustand einnehmen um getriggert zu werden Die voreingestellten Werte f r das A B Index und Homezustandssignal im Signal Sense Register ist 0 was bedeutet dass diese Signale active low sind In diesem Zustand wenn Index getriggert werden soll wird eine Erkennung dann stattfinden wenn A B und Index alle low sind Jede nderung in der Zustandsmaske Signal Sense Mask wie das Signal interpretiert werden soll w rde dementsprechend eine nderung in der Erkennung des Triggerzustandes zur Folge haben Das Kommando SetCaptureSource definiert ob das Index oder das Homesignal f r die Positionserfassung getriggert werden soll Das Kommando GetCaptureSource liefert den programmierten Wert zur ck Wenn eine Erfassung getriggert wurde werden die Inhalte der aktuellen Position in das Position Capture Register transferiert und der Erfassungserkennungsindikator Bit 3 des Event Status Register wird gesetzt Mit dem Kommando GetCaptureValue kann man den Capture Register lesen Der Capture Register muss gelesen werden ehe eine neue Erfassung stattfinden kann Das Lesen des Capture Register setzt den Trigger zur ck was bedeutet dass eine weitere Erfassung stattfinden kann Wie f r alle Event Status Register Bits kann das Kommando ResetEventStatus verwendet werden um den Positionserfassungsindikator zu l schen 0 p68 POSYS Motion Control 2014 Absolutenkodereingang SSI BiSS EnDat Absolutenkodereingang SSI BiSS En
26. bestimmten Bedingung Um eine ereignis bedingte Antwort zu definieren m ssen sowohl die Bedingung als auch die Aktion spezifiziert werden Die folgende Tabelle listet die m glichen Event Status Register Bedingungen auf die verwendet werden k nnen um eine ereignis bedingte Aktion zu definieren Bedingung Beschreibung Motion error Ein Bewegungsfehler tritt ein wenn ein programmierter Schleppabstandsfehler berschritten wird Positive limit Ein positives Endschalterereignis tritt ein sobald das korrespondierende Signal aktiv wird solange der Motor eine positive Geschwindigkeit aufweist Negative limit Ein negatives Endschalterereignis tritt ein sobald das korrespondierende Signal aktiv wird solange der Motor eine negative Geschwindigkeit aufweist Tabelle 29 SetEventAction Prozess Beides Motion Error Processing und Endschalterereignisse sind in den entsprecenden Kapiteln n her beschrieben Zus tzlich zu diesen vier berwachten Bedingungen ist es m glich eine sofortige sicherheits bedingte Aktion auszuf hren Siehe POSYS 1800 B Programmier Handbuch f r weitergehende Informationen Beschreibung Keine Aktion wird ausgef hrt Smooth Stop Veranlasst einen Stopp mit programmierte Rampe Die Geschwindigkeit wird auf Null 0 gesetzt nachdem die EventAction augef hrt wurde Abrupt Stop Veranlasst einen sofortigen Stopp des Trajektoriegenerators Die Geschwindigkeit wird auf Null 0 gesetzt nachdem die EventAction ausgef hrt w
27. bis alle Daten geladen und ausgef hrt worden sind Stellen Sie sicher ein Segment anzuh ngen mit einem SegmentTime Multiplikator 0 um den External Profile Mode zu verlassen nach Beendigung der Sequenz F r weitere Details und M glichkeiten bezgl der Verwendung des On Board Speichers setzen Sie sich mit POSYS Motion Control GmbH amp Co KG in Verbindung 0 Das SetStop Kommando p24 POSYS Motion Control 2014 Normalerweise w rde jedes der vorangegangenen Bahnprofile die entsprechenden Bahnen innerhalb der gesetzten Parameter ausf hren bis die Bedingungen erf llt wurden Z B f r ein Punkt zu Punkt Profil bedeutet dies dass das Profil eine Achse solange in Richtung seiner Endposition versucht zu bewegen bis diese erreicht wurde und die Achse wieder gen 0 abbremst In manchen F llen ist es aber notwendig die Achse manuell zu einem Halt zu bringen z B aus Sicherheitsgr nden Dies kann mit zweierlei Methoden erreicht werden abrupter Stop oder Stop mit programmierter Rampe Um einen Stop auszuf hren verwendet man den Befehl SetStopMode Um die gegenw rtige Einstellung f r einen Stop abzufragen verwendet man das Kommando GetStopMode AbruptStop stoppt die entsprechende Achse ohne Rampe was einem Notfallstop gleichkommt Dabei wird die Geschwindigkeit der Achse sofort auf 0 gesetzt SmoothStop dagegen stoppt die entsprechende Achse mit dem jeweilig eingestellten Wert f r die negative Beschleunigung Ist dieser Wert
28. der Wert auch experimentell ermittelt werden Das Kommando f r den Motorbefehlswert ist SetMotorCommand Der programmierte Wert kann mit dem Kommando GetMotorCommand zur ckgelesen werden Um die Initialisierungsprozedur auszul sen verwendet man das Kommando InitializePhase Dieses Kommando wird sofort ausgef hrt ein Update Kommando ist nicht notwendig p92 POSYS Motion Control 2014 Jedoch ehe das Kommando f r die Phaseninitializierung ausgef hrt wird InitializePhase muss der Motor ausgeschaltet SetMotorMode ein Drehmomentsollwert definiert SetMotorCommand und die Zeitspanne f r die Initialisierung bestimmt sein SetPhaselnitializeTime W hrend der Phaseninitialisierung nach der Algorithmusmethode kann sich der Motor pl tzlich in die eine oder andere Richtung bewegen Es m ssen Vorsichtsma nahmen ergriffen werden um Sch den zu vermeiden Zus tzlich um akkurate Ergebnisse zu erzielen muss die Bewegung in beide Richtungen ungehindert ablaufen k nnen und darf nicht durch berm ige Anfahrreibung behindert werden 0 Direct Set Phaseninitialisierung Falls nach dem Einschalten die Phasen bekannt sind k nnen diese explizit mit dem Kommando SetPhaseAngle gesetzt werden Dies kommt typischerweise dann vor wenn Sensoren wie Resolver benutzt werden bei der zur ckgelieferten Motorpositionsinformationen absolut sind nicht inkremental und benutzt werden k nnen um ein Rechteckdatensignal zu generier
29. geschehen als das Ergebnis eines Stoppbefehles SetStopMode Befehl einer Geschwindigkeits nderung zu null oder wenn ein Endschalter angefahren wird Wenn es auf die aktuelle Enkoderposition basiert wird die Bewegung als beendet betrachtet wenn alle folgenden Bedingungen erf llt sind Die Sollposition wurde erreicht p54 POSYS Motion Control 2014 e Die Differenz zwischen der Ist Position und der Soll Position ist weniger als oder gleich dem mit SetSettleWindow definierten Wert Dieser Wert kann zur ckgelesen werden mit dem Kommando GetSettleWindow Die beiden vorhergehenden Bedingungen wurden f r eine kontinuierliche Periode von X Zyklen erf llt wobei X der programmierte Wert f r SettleTime ist Dieser Wert wird gesetzt programmiert mit dem Kommando SetSettleTime und kann mit dem Kommando GetSettleTime zur ckgelesen werden Am Ende des Bewegungsprofils wird der Periodenzeitgeber f r den Enkoder basierten Bewegungsendemechanismus gel scht Dadurch wird es mindestens X Periodenverz gerungen durch SetSettleTime definiert geben zwischen dem Profilgenerator der zu einem Ende gekommen ist und dem Zeitpunkt zu dem der Motion Complete Bit gesetzt wird Der Motion Complete Bit funktioniert nur im S Kurven Trapez und Geschwindigkeitsmodus Es funktioniert nicht im Electronic Gearing Modus Sg Beim Enkoder basierten Motion Complete Mode muss eine angemessene Programmierung gew hrleistet sein weil es durchaus m
30. in Verbindung mit diesem Verst rkerschema den Vorteil hohe Leistung zu erbringen bei einem Minimum an extemen Teilen Nachfolgend ist eine typische Verst rkerkonfiguration mit den Mikroschrittversionen der POSYS in Verbindung mit einem 3 Phasen Schrittmotor oder f r einen b rstenlosen Servomotor mit 3 Phasen Amplifiers Axis 1 phase A gt DAC 1A gt Axis 1 C A B gt Axis 1 phase B Motor 1 DAC 1B gt gt Axis 1 phase C POSYS 1822 B gt Axis 2 phase A gt DAC 2A gt Axis 2 C A B gt Axis 2 phase B w Motor 2 DAC 2B gt gt Axis 2 phase C Abbildung 31 Typische Verst rkerkonfiguration f r 3 Phasen Motor Bei der DAC Methode wird im Controller der digitale Wert mit Hilfe der DACs in einen analogen Wert konvertiert F r jede Achse sind 2 DAC Kan le erforderlich Die dritte Phase wird mit der Formel C A B extern im Verst rker generiert Dies wird mit Hilfe eines Operationsverst rkerschaltkreises On board bewerkstelligt 0 p79 POSYS Motion Control 2014 Hostkommunikation Hostkommunikation Die POSYS 1800 B kommuniziert durch einer von bis zu drei m glichen Ports mit dem Host entweder durch den bi direktionalen Parallelport ISA Bus einen asynchronen seriellen Port oder via CAN 2 0B Dies kann auch parallel geschehen CAN 2 0B network Host Serial network a v wW 8 yj 2 V 5 a g F F amp y z gt ss 2 2 2 2 2 pa
31. low interpretiert werden Um den programmierten Hall Interpretationswert zur ckzulesen wird das Kommando GetSignalSense verwendet Algorithmische Phaseninitialisierung Das Kommando SetPhaselnitializeMode mit dem Parameter algorithmic versetzt den Controller in diesen Modus F r diesen Modus ben tigt der Motor keine anderen Informationen als die die von den R ckmeldeeinheiten zur ckgeliefert werden Um die Phasen zu bestimmen stimuliert der Controller kurz die Wicklungen des Motors und setzt die Phaseninitialisierung aufgrund der Motorreaktion Aufgrund der resultierenden Bewegung kann der Controller automatisch die Phasen korrekt bestimmen Abh ngig von der Gr e und der Geschwindigkeit des Motors kann die Phaseninitialisierung unterschiedlich lange dauern Um diese Unterschiede anzupassen kann die Wartezeit bis der Motor zum Stillstand kommt mit dem Kommando SetPhaselnitializeTime programmiert werden Das Kommando GetPhaselnitializeTime liest den programmierten Wert zur ck Um die Wirkung auf die mechanischen Systemkomponenten so gering wie m glich zu halten verwendet dieses Methode einen Drehmomentsollwert der vom Host gesetzt wird um die Maximalmenge an Strom f r die Phaseninitialisierung zu bestimmen Als typische Werte sollte man von einem Wert der zwischen 5 und 25 des maximal ben tigten Ausgangstromes liegt ausgehen aber in der Regel 3 mal h her als der Anfahmiderstand ist Um bestm gliche Resultate zu erzielen kann
32. oder deaktiv ist R ckmeldeeinheiten z B Galvanometer Trajectory Module enabled Falls verwendet werden Es kann auch sinnvoll aktiviert wird der Position Loop sein f r die Verst rkerkalibrierung falls bersprungen und die Ausgabe des ben tigt Zusammen mit deaktiviertem Profile Generators direkt in das Trajectory Generator und deaktiviertem nachfolgende Modul eingegeben Position Loop Module ist dies sinnvoll f r Trajectory Module disabled Falls Verst rker und Motorkalibrierung deaktiviert kommt die Ausgabe vom Motor Command Register welches mit dem Kommando SetMotorCommand manuell eingegeben werden kann Im Kapitel Deaktivieren und Aktivieren des Position Loop Modules werden hierzu weitere Informationen bereitgestellt Motor Output Die Deaktivierung dieses Moduls hat zur Die Deaktivierung der Folge dass alle Werte f r die Motorsignalausgabe kann in Verbindung Motor spezifischen Ausgaben auf 0 Null mit sicherheits relevanten Bedingungen gesetzt werden Der aktuelle Zustand der oder f r die Verst rkerkalibrierung assoziierten Motorausgabesignale wird sinnvoll sein von der gew hlten Ausgabemethode abh ngen PWM 50 0 PWM s m DAC Tabelle 4 Control Modules Zus tzlich zur manuellen Deaktivierung verschiedener Kontrollmodule gibt es eine Reihe Bedingungen unter denen die automatische Deaktivierung sinnvoll sein kann wie z B Ereignis bedingte oder durch Breakpoints bestimmte Bedingungen GetOperatingMode liefer
33. r jede Achse kann ein seperater Geschwindigkeitsbereich eingestellt werden Welcher Geschwindigkeitsbereich eingestellt wurde kann mit dem Kommando GetStepRange berpr ft werden IS Der Taktgenerator ist standardm ig so eingestellt dass ein Taktsignal als gegeben erscheint wenn das Rechtecksignal von low auf high wechselt Manche Schrittmotorsysteme interpretieren ein Taktsignal erst als gegeben an wenn das Rechtecksignal von high auf low wechselt In diesem Fall muss das Kommando SetSignalSense ausgef hrt werden um die Interpretation des Taktsignales zu invertieren Das Kommando SetSignalSense kann auch verwendet werden das Richtungssignal zu invertieren F r weitere Informationen verweisen wir auf das Programmierhandbuch f r die POSYS 1800 B und die Beschreibung des Kommandos SetSignalSense p76 POSYS Motion Control 2014 F r weitere Informationen in Bezug auf Schrittmotorsteuerung verweisen wir auf das Kapitel Schrittmotorkontrolle 0 Mikroschrittmotorsignalausgabe Die POSYS 182x B unterst tzt f r Mikroschritttreiber die Ausgabe von DAC und PWM Signalen Die Ausgabeart ist f r jede Achse individuell einstellbar Das Kommando um die gew nschte Ausgabeart zu selektieren ist SetOutputMode mit dem dazugeh rigen Parameter welches die Ausgabemethode definiert die ausgegeben werden soll 0 Motorausgangssignal Interpretation Abbildung 27 zeigt die typische Wellenform f r eine einzelne Phas
34. ssig wichtige Informationen zur Verf gung zu stellen die evtl den Betrieb der POSYS 1800 B sicherer gestalten Fehler beheben oder Erweiterungen beschreiben die hinzukommen Datum Betreff Beschreibung Ab Handbuch 21 05 2014 SSI Aufl sung Die Beschreibung der Aufl sung f r die SSI Schnittstelle Enkoderschnittstelle wurde von 11 Bit auf 12 Bit korrigiert Tabelle 2 Anpassungen Erg nzungen Fehlerbereinigungen 0 p8 POSYS Motion Control 2014 Blockschaltung Blockschaltbild Das Blockschaltbild der Baugruppe POSYS 1800 B ist im Folgenden dargestellt Der Motion Controller MC wird ber die PC 104 ISA Busschnittstelle 16 Bit breit gesteuert Die Kommunikation zwischen ISA Bus und MC wird ber ein FPGA erledigt Dem FPGA kommt dabei eine zentrale Bedeutung zu Es bildet die Schnittstelle zwischen einer Vielzahl von Subsystemkomponenten und mehreren Bus Domains Im Einzelnen sind folgende Funktionen realisiert PC 104 ISA Bus lt gt MC Host Port PC 104 ISA Bus lt gt FPGA User Register PC 104 ISA Bus lt gt DPRAM PC 104 ISA Bus gt SPI DAC MC CP lt gt MC User Space MC CP lt gt DPRAM MC CP gt SPI DAC MC CP lt gt SSI Absolutdrehgeber Die Stromversorgung erfolgt ber den ISA Anschlu des PC 104 Systems Die Idle Leistungsaufnahme der betriebsbereiten Baugruppe mit 4 Achs Motion Controller betr gt weniger als 2 5W Erin 4 me au COn cc c Seurt LETTR
35. t gt U t x System clock Motion Controller Processor 40 MHz Abbildung 32 Host Motion Controller Kommunikation Die POSYS akzeptiert Kommandos vom Host in einem Paketformat Durch das Senden von Kommandos durch den Host kann das Verhalten der Positioniersteuerung entsprechend kontrolliert und der Status der POSYS und der Motoren berwacht werden Host I O Commands Anmerkung Einige Anwender ziehen es vor ihre eigenen Bibliotheken zu erstellen um mit der POSYS 1800 B zu kommunizieren POSYS Motion Control s DLLs und Beispielprogramme f r Delphi C C und VB bieten aber auch dem Entwickler Softwaretools die ihm schnell zum Ziel f hren eine anspruchsvolle und anwenderorientierte Arbeitsumgebung f r die gew nschte Applikation zu erstellen 0 Paralleler Kommunikationsport I SA Bus Bitte kontaktieren Sie POSYS Motion Control GmbH amp Co KG f r Details 0 p80 POSYS Motion Control 2014 Instruktionsfehler Die POSYS berpr ft die Kommandos die sie erh lt auf Korrektheit Dies soll die Sicherheit der ausgef hrten Bewegung erh hen indem ung ltige Kommandowerte verworfen werden Alle diese berpr fungen die mit Host I O Kommandos zu tun haben werden als Instruktionsfehler bezeichnet Um den Grund des Fehlers zu bestimmen k nnen Sie das Kommando GetHostl OError GetlnstructionError verwenden Die Ausf hrung des Kommando s hat auch zur Folge dass sowohl der Errorcode und der Errorbit im 1 0 Status Re
36. und 20 kHz 8 Bit Aufl sung mit 80 Khz oder als 16 Bit Wert an einen D A Konverter geschickt wird um ein 10V analoges Ausgangssignal zu generieren Die bergeordnete Regelschleife ist in zwei Hauptteile gesplittet Die PID Regelschleife und die Biquadfilterung Die Regelschleife generiert die initiale Sollwertvorgabe w hrend der duale Biquadfilter verwendet werden kann verschiedene Frequenzfilterungen wie z B Notch Lowpass und Bandpass auszuf hren Nachdem die Ausgabe der Regelschleife und der Biquadfilterung abgeschlossen wurde kann es weiteren Begrenzungen unterzogen werden um innerhalb eines bestimmten Bereiches zu verbleiben um Treibern Verst rkern Motoren oder physikalischen Gegebenheiten gerecht zu werden wie in der n chsten Abbildung dargestellt Commanded Acceleration Commanded Velocity Commanded Position y Motor Position Error p Command 1D pls a Biquad gt Biquad En ii Filter 1 2 Motor Limit Motor Bias Position Encoder Abbildung 12 Regelschleife und Biquadfilterung Um eine gute Lageregelung zu erm glichen erfordern alle Servo Anwendungen dass sichere und stabile PID Parameter angegeben werden Die Nutzung der Dual Biquad Filter auf der anderen Seite ist optional und h ngt von der Art und Komplexit t der Steuerungsaufgabe ab Je anspruchsvoller die Anwendung desto wahrscheinlicher ist dass die Biquads n tzlich sein werden PID Loop Der mit der POSYS benutzte Servofilter ist ein
37. vom Endschalter herunterf hrt Sollte aber die Achse den Versuch unternehmen weiter in die Richtung auf den Endschalter zu fahren wird ein neues Endschalterereignis und ein Kommando Fehler ausgel st Siehe Kapitel Instruktionsfehler f r weiterf hrende Informationen bzgl fehlerhafter Anweisungen Anzumerken gilt noch der Hinweis dass als Teil des EventActions ein Abrupt Stop assoziiert ist und dadurch das Velocity Register auf Null 0 gesetzt wird Daher muss das Kommando SetVelocity ausgef hrt werden um eine neue Geschwindigkeit zu laden mit der aschliessend vom Endschalter heruntergefahren werden kann 4 Falls EventAction dahingehend ge ndert wurde im Vergleich zum Standard dass ein Modul deaktiviert wird muss anschliessend das Kommando RestoreOperatingMode ausgef hrt werden um normale Operationsbedingungen wieder herzustellen Dann erst kann eine Bewegung in entgesetzter Richtung ausgef hrt werden Wenn ein EventAction No Action f r Endschalter definiert wurde dann ist nur Schritt 1 erforderlich p52 POSYS Motion Control 2014 F r Achsen im Electronic Gearing Mode m ssen obige Schritte leicht modifiziert werden Nach einem ResetEventStatus muss noch das Kommando SetGearRatio gefolgt von einem Update Kommando ausgef hrt werden Dies ist erforderlich weil nach einem Endschalterereignis das GearRatio auf Null 0 gesetzt wurde Falls ein Endschalter sowohl mit dem positiven als auch negativen Eingang der POSYS verkabel
38. weiterl uft und wieder frei zu machen f r die Erfassung neuer Daten Der Trace Period Das Erfassungssystem unterst tzt ein konfigurierbares Periodenregister Dieser Periodenregister definiert die Frequenz innerhalb derer Daten im Trace Buffer gespeichert werden Die Frequenz wird in Zykluseinheiten definiert wobei ein Zyklus die minimale Periode darstellt um eine Erfassung f r alle Achsen durchzuf hren Das Kommando SetTracePeriod definiert die L nge der Periode das Kommando GetTracePeriod liefert den programmierten Wert zur ck 0 Trace Variablen p57 POSYS Motion Control 2014 Wenn eine Erfassung l uft ist es m glich zwischen 1 und 4 Parameter im Speicher pro Zyklus abzulegen Die 4 Trace Variable Registers werden verwendet um zu definieren welche Parameter gespeichert werden Verwenden Sie die folgenden Kommandos f r die Konfiguration Das Kommando SetTraceVariable definiert welche Parameter gespeichert werden sollen Das Kommando GetTraceVariable liefert die programmierten Werte zur ck Der Wert des Traceparameters der gesetzt und zur ckgelesen wird durch die beiden vorangegangen Kommandos definiert die Achse und die Art der Daten die gespeichert werden sollen Das Format des Datenwortes ist wie folgt Selektiert die Quellachse f r die Parametererfassung Tabelle 33 Trace Variablen und Achsenauswahl Die unterst tzten Parameter ID Werte sind 1D nme Beschreibung Bahngenerator Commanded
39. 00000h die negativste Stellung oder umgekehrt Breakpoint 1 Wird gesetzt wenn Breakpoint 1 getriggert wird Positionsangabe erh lt differiert als der Schleppabstandswert erlaubt Breakpoint 2 Wird gesetzt wenn Breakpoint 2 getriggert wird Kann 1 oder 0 sein Tabelle 24 Event Status Register Bits Das Kommando GetEventStatus liefert die Inhalte des Ereignis Zustandsregisters f r die angegebene Achse Bits im Ereignis Zustandsregister werden gelatcht Sobald gesetzt bleiben sie gesetzt bis sie vom einem Hostkommando oder einem Systemreset gel scht werden Ereignis Zustandsregisterbits k nnen vom Kommando ResetEventStatus auf 0 zur ckgesetzt werden indem eine 16 Bit Maske benutzt wird Register Bits die O in der Maske entsprechen werden resetted alle anderen Bits bleiben unbeeinflusst p45 POSYS Motion Control 2014 Das Ereigniszustandsregister kann auch benutzt werden einen Interrupt zu generieren Das Kommando Set nterruptMask kann hierf r verwendet werden 0 Instruktionsfehler Bit 7 des Ereigniszustandsregisters zeigt einen Anweisungsfehler an Solch ein Fehler kommt vor wenn eine sonst zul ssige Anweisung oder Anweisungsfolge gesandt wird wenn der gegenw rtige operative Zustand der POSYS die Anweisung ung ltig macht Anweisungsfehler kommen immer nur zum Zeitpunt eines Updates vor Sollte ein Anweisungsfehler auftreten werden die ung ltigen Parameter ignoriert und der Anweisungs Fehler Indikato
40. 2 75 mit 65 535 multipliziert werden und das Resultat als 32 Bit Integer an die POSYS geschickt werden 180 224 dez oder 2c000h Verwendet 1 23 Skalierung Die POSYS erwartet eine 32 Bit Nummer welches mit einem Faktor von p14 POSYS Motion Control 2014 Format wortgr e Bereich Beschreibung 4 294 967 296 232 skaliert wurde z B um einen Wert von 0 0075 zu bergeben muss 0 0075 mit 4 294 967 296 2 multipliziert werden und das Resultat als 32 Bit Integer an die POSYS geschickt werden 32 212 256 dez oder 1eb8520h Tabelle 6 Bahnparameterdefinition Die Umwandlung der Daten in die ben tigten Formate wird bereits durch die mitgelieferte DLL erledigt 0 Trapezf miger Punkt zu Punkt Profil Die folgende Tabelle umfasst die spezifischen Profilparameter f r den trapezf rmigen Punkt zu Punkt Modus Profilparameter Format Wortgr te Position 32 bits 2 147 483 648 to 2 147 483 647 Starting Velocity 16 16 32 bits 0 to 32 767 65 535 65 536 counts cycle 16 16 32 bits 0 to 32 767 65 535 65 536 counts cycle Acceleration Les a 0 to 32 767 65 535 65 536 counts cycle Deceeration 16 16 ls 0 to 32 767 65 535 65 536 counts cycle Tabelle 7 Trapez f rmige Punkt zu Punkt Profilparameter lt ER Ga lt Die Kommandos SetPosition SetVelocity SetAcceleration und SetDeceleration laden diese Werte Die Befehle GetPosition GetVelocity GetAcceleration und GetDeceler
41. 30000 werden als 30000 ausgegeben Ein Output Limit kann nur im Closed Loop Mode programmiert werde da im Open Loop Mode die Register direkt beschrieben werden Der Standardwert der nach einem Reset bzw PowerOn aktiv ist ist 100 bzw 32767 0 p34 POSYS Motion Control 2014 Motor Bias Motor Bias Wenn eine Achse abh ngig ist von einer netto bedingten von aussen wirkenden Kraft die in einer Richtung zieht dr ckt wie eine senkrechte abw rts von der Schwerkraft gezogenen Achse kann der Servofilter eine Kompensation vornehmen indem er eine st ndige Vorgabespannung an den Filter schickt die beitr gt der Kraft entgegen zu wirken Das Kommando hierf r heisst SetMotorBias Der programmierte Wert kann mit GetMotorBias gelesen werden Solange der Regelkreis geschlossen ist wirkt der MotorBias zu allen Zeiten Falls der Position Loop deaktiviert ist aber der Bahngenerator weiterhin aktiv ist wirkt auch in diesem Fall der MotorBias Wenn die Regelschleife und der Bahngenerator deaktiviert werden wird der MotorBias dann nur nach einem bergang auf diesen Status angewandt und eine nachfolgende nderung des Motor Befehls Registers wird ohne MotorBias angewandt F r weitere Informationen sehen Sie bitte auch im Kapitel Aktivieren und Deaktivieren von Kontrollmodulen nach Zum Beispiel falls ein MotorBias mit einem Wert von 1000 3 gesetzt wurde in dem Moment in dem das Kommando SetOperatingMode ausgef hrt wird u
42. 4 Das SetStop Kommando 25 Das Zeitregister 12 Datenerfassung Starten 61 Deaktivieren und Aktivieren des Position Loop Modules 36 Definition der Bahnparameter 14 Der Axisin Eingang 64 Der Trace Buffer 57 Der Trace Period 57 Derivative Sampling Time 28 Digital 1 0 Kontrollregister 1 0 space address 0 108 Digitale Filterung 67 Direct Set Initialisierungssequenz 94 Direct Set Phaseninitialisierung 93 Download von Trace Daten 60 Dual Encoder PID Loop Algorithmus 29 Dual Encoder Support 29 Eee Einen Breakpoint definieren 39 Einstellung der PWM Frequenz 73 Electronic Gear Profil 20 Encoder Prescaler 96 Endschalter 51 Enkoderr ckmeldung 100 Enkoderschnittstelle 66 Event Status Register 45 External Profile Mode 21 Externe Speicherpuffer 106 ner Geschwindigkeitsmodus 19 GetVersion Kommando 13 Gew hrleistung 7 H Haftungsausschlu 7 Hallsensor basierte Initializierungssequenz 93 Hallsensor basierte Phaseninitialisierung 91 Haltemoment Funktionen 104 Hardware Control Signals 64 High Speed Position Capture 68 Host I O Commands 80 Host Interrupts 61 Hostkommunikation 80 p112 POSYS Motion Control 2014 Idle line Mode 85 Impuls Breiten Modulierte PWM Motorsignalausgabe 77 In Motion Indikator 55 Index Taktreferenzierung 94 Inkrementaler Enkodereingang 66 Instruktionsfehler 46 81 83 Integration Limit 28 Justierung der Phasenwinkel 95 K Kommandointerpretation 82 Kommando
43. B sind ausgelegt nur Takt amp Richtungssignale auszugeben und daher sollte die Wahl der Treiber entsprechend ausfallen Bahngeneratorkontrolleinheiten F r die POSYS Schrittmotorprodukte gelten folgende Unterschiede die POSYS in Schrittmotormodus gibt Takt amp Richtungssignale aus die POSYS in Mikroschrittmodus gibt Mikroschritte aus dagegen sind in den Servopmdukten alle Einheiten Enkodereinheiten Die nachfolgende Tabelle zeigt die Kommandos und die entsprechenden Einheiten steps Set GetStartvelocity ____Imicrosteps eye _Isteps cycle Tabelle 60 Kontrolleinheiten Enkoderr ckmeldung p99 POSYS Motion Control 2014 Die POSYS 185x B oder 182x B mit Achsen im Schrittmotormodus unterst tzen Enkoderr ckmeldung in jeweils einem von zwei m glichen Wegen entweder durch Verwendung von Inkrementalenkodern oder Absolutwertgebern mit SSI Schnittstelle optional EnDat oder BiSS Das Kommando SetEncoderSource definiert die Art der R ckmeldung Falls keine R ckmeldung verwendet wird nicht ungew hnlich bei der Verwendung von Schrittmotoren dann sollte als R ckmeldung None mit dem Kommando SetEncoderSource gesetzt werden Eine so konfigurierte Achse ignoriert die R ckmeldefunktion dabei wird auch die Funktion Stall Detectiondeaktiviert eine sp ter noch detaillierter besprochene Funktion Egal welche R ckmeldemethode verwendet wird die meisten Enkoderkommandos sind auch f r Schrittmotoren glei
44. Benutzerhandbuch POSYS 1800 B PC104 1 4 Achsen Positioniersteuerkarte f r DC EC Servo Mikroschritt und Schrittmotoren gt POSYS onyono POSYS Motion Control GmbH amp Co KG 2014 POSYS Motion Control 2014 Allgemeines ber dieses Handbuch Die POSYS Serie ist ein hoch entwickeltes Positioniersystem f r DC EC Servo Mikroschritt Schritt und Piezomotoren als auch f r Hydrauliksysteme Die POSYS 1800 B Serie ist eine PC104 kompatible Karte Jede Karte ist in Konfigurationen f r 2 oder 4 Achsen 1 oder 3 Achsen auf Anfrage f r Servo b rstenbehaftete oder b rstenlose und Schrittmotoren Standard oder Mikroschritt erh ltlich jede Achse frei konfigurierbar oder in speziellen abgespeckten Versionen mit eingeschr nkten M glichkeiten Die Verwendung eines DSP zusammen mit einem ASIC sorgt zusammen mit dem 16 bit DAC 10 bit PWM oder Takt amp Richtungsausgangssignal f r ausgezeichnete Positioniersteuerungsqualit ten Zusammen mit den 16 frei programmierbaren E As gibt es au erdem noch dedizierte Eing nge richtungsabh ngige Endschalter mit einem digitalen Filter und High Speed Latch Eing nge f r jede Achse Des weiteren stehen 2 achsen spezifische E As und f r jede Achse ein Ausgang f r die Verst rkerfreigabe zur Verf gung Diese E As k nnen auch f r eigene Zwecke verwendet werden Programmierbare Zeitnehmer k nnten auch als Z hler eingesetzt werden Ein digitaler PID oder
45. Controller jedwede Werte f r die Basisadresse und L nge solange die Werte physikalisch korrekt sind und existieren Korrekte Speicheradressen reichen von O bis 3FFF FFFFh entsprechende physikalische Adresse 7FFF FFFEH Sofern die vollen zwei gigawords physikalischer Speicher vorhanden sind ist es m glich den Speicherpuffer der Karte in einen Speicherbereich zu mappen der k einen physikalischen Speicher enth lt Zus tzlich zur Basis Adresse und L nge verw altet jeder Speicherblock einen Lese Index und einen Schreib Index Der Lese Index kann einen Wert zw ischen 0 und L 1 zugeordnet w erden wobei L die L nge des Puffers ist Es definiert den Ort von dem der n chste Wert abgelesen w erden kann Ebenso schreibt der Index von O bis L 1 und definiert den Ort an dem der n chste Wert geschrieben w erden kann Wenn ein Wert aus dem Speicherpuffer gelesen wird wird der Lese Index automatisch erh ht dabei den n chsten Wert f r das Lesen definierend Der Schreib Index wird jedesmal erh ht wenn ein Wert in den Puffer geschrieben w ird Sobald eines der Index e das Ende des Puffers erreicht wird es automatisch auf 0 zur ckgesetzt f r die n chste Lese Schreib Operation p106 POSYS Motion Control 2014 0 On Board Speicherkommandos Dieser Abschnitt beschreibt die Kommandos um auf den Speicherbereich zuzugreifen und Schreib und Lesevorg nge zu vollziehen SetBufferStart bufferlD address Setzt die Basisadresse des Zwisch
46. Dat Systeme die keine inkrementalen R ckmeldungen bieten aber stattdessen ein digitales Bin rwort f r die bietet die POSYS 1800 B nun standardm ig auch die M glichkeit SSI Absolutwertgeber anzuschlie en Optional und nach R cksprache mit POSYS Motion Control ist es auch m glich bi direktionale Absolutwertgeber mit BiSS oder EnDat Schnittstelle anzuschlie en F r den Anschlu von SSI Absolutwertgebern bitte sehen Sie im Hardware Handbuch unter Kapitel SSI Absolut Enkoder Schnittstelle CON804 bzgl Details nach 0 Multi Turn Systeme Zus tzlich zur Unterst tzung von Positionserfassungen ber einen vollen numerischen Bereich unterst tzt die POSYS auch sogenannte Multi turn Systeme Die Parallelenkoderwerte die eingelesen werden werden kontinuierlich berpr ft und ein berlauf automatisch erkannt sowohl in positiver als auch in negativer Richtung Die Werte werden hinzu addiert Bei Verwendung dieses virtuellen Multi Turn Z hlers speichert die POSYS kontinuierlich die Position in einem 32 Bit Wert Nat rlich wenn die R ckmeldeeinheit keinen berlauf produziert non Multi Turn System wird ein 16 Bit Wert zur ckgeliefert Wenn der Motor sich in positiver Richtung bewegt erh ht sich der Wert bis zu einem Maximum An diesem Punkt des berlaufes wird von 0 aus weitergez hlt und wieder kontinuierlich hochgez hlt Das Gleiche geschieht wenn sich der Motor in negativer Richtung bewegt Der Wert bei dem der
47. Der multiple Achsenupdate dass bei der Verwendung des MultiUpdate Befehles p38 POSYS Motion Control 2014 angegeben wird veranlasst dass mehrere Achsen gleichzeitig aktualisiert werden Dies kann n tzlich sein wenn interpolierende Achsen synchronisiert werden sollen Dieses Kommando nimmt ein 1 Wort Argument aus einer Bitmaske welches aus einem Bit besteht und jeder Achse zugewiesen ist Dieser Befehl hat bei Ausf hrung die gleiche Wirkung wie das Update Kommando welches an jede Achse einzeln geschickt wird 3 Breakpoints Es gibt eine sehr n tzliche Funktion die von der POSYS unterst tzt wird die programmiert werden kann ein Update Befehl automatisch zu generieren wenn ein vorprogrammierter Zustand wahr wird Diese M glichkeit wird Unterbrechungspunkt genannt und es ist n tzlich f r Operationen wie z B automatisch die Geschwindigkeit ver ndern wenn eine besondere Position erreicht wird oder die Achse abrupt stoppen wenn ein bestimmtes externes Signal aktiv wird Jedoch Im Gegensatz zum Standard Update Kommando kontrolliert das Kommando SetBreakpointUpdateMask den Transfer der zwischengespeicherten Kommandos zu den aktiven Registern Gleich welche Update Methode benutzt wird zu dem Zeitpunkt zu dem der Update passiert werden alle zwischengespeicherten Register zu den aktiven Registern kopiert Umgekehrt bevor das Update passiert haben zwischengespeicherte Register oder die Ausf hrung zwischengespeicherter Befehl
48. Die POSYS schreibt dieses Signal nacheinander auf jede aktivierte Achse im Rythmus der Servoloop Updaterate Z B bei einer 4 Achsen POSYS 1824 B Karte bei der alle 4 Achsen aktiviert sind und die konfiguriert sind ein analoges Signal auszugeben wird die DAC Ausgabe f r jede Achse einmal alle 100 us neu ausgegeben und zwar in Paaren zu je 50 ps F r 1 bzw 2 phasige Motoren wird ein DAC Ausgang f r jede Phase benutzt F r 3 phasige Motoren werden nur 2 DAC Ausg nge verwendet Die dritte Phase wird immer ein analoges Signal sein gleich 1 P1 P2 wobei P1 das Ausgabesignal f r Phase 1 ist und P2 das Ausgabesignal f r Phase 2 Im Bedarfsfall kann dieses dritte Phasensignal bei der Benutzung eines invertierenden und kummulierenden Verst rkers in der externen Schaltungsanordnung realisiert werden Im allgemeinen ist dies nicht notwendig da die Mehrzahl von 3 Phasen Standardverst rkern zwei Phasen akzeptiert und intern das dritte konstruieren Die Aufl sung des Analogsignals ist 16 Bit Dieser Wert wird um 8000h versetzt ausgegeben so wird ein Wert von 0 dem negativsten Wert entsprechen Ein Wert von 8000h entspricht einem Ausgabewert von Null und ein Wert von OFFFFh entspricht dem positivsten Ausgabewert 0 Einstellung der PWM Frequenz Falls die impuls breiten modulierte Signalausgabe verwendet wird kann es unter Umst nden sinnvoll sein die Ausgabefrequenz anzupassen Mit dem Kommando SetPWMFrequency wird dies bewerkstelligt Welc
49. Differential Line Drivers Receivers oder analoge Filterung Ob diese zus tzlichen Filterungen notwendig sind h ngt vom System ab und ob und wie viele St rsignale auftreten m gen Neben der normalen Filterung durch den Motion Controller verf gt die neue POSYS 1800 B auch ber einen zus tzlichen Baustein mit dem die Signale f r die frei programmierbaren digitalen Eing nge und f r die Endschalter mit einem zus tzlichen zeit basierten Filter gefiltert werden k nnen Dieser Filter verf gt ber einen Dipschalter SW600 mit dem man die Zeitkonstante einstellen kann Bitte lesen Sie im Kapitel 1800 B Hardware Handbuch die Details hierzu durch 0 p67 POSYS Motion Control 2014 High Speed Position Capture High Speed Position Capture Jede Achse der POSYS 1800 B unterst tzt einen High Speed Positionserfassungsregister um die aktuelle Achsenposition zu erfassen getriggert durch ein externes Signal Eines von zwei Signalen kann als Eingangstrigger verwendet werden um entweder das Indexsignal oder die Home Position zu triggern Diese beiden Eing nge differieren in der Art wie die Erfassung erkannt wird Falls das Indexsignal getriggert wird wird das Signal gesetzt wenn das A B und Indexsignal eine bestimmte Position einnehmen definiert im Signal Sense Register der mit dem Kommando SignalSenseRegister verwendet wird Falls die Home Position gew hlt wurde die es zu erfassen gilt dann muss nur dieses Signal einen bestimmten
50. E Last Usei t Sza dure Rorato rai Era FE As PWN rn man one Umir sie has SON 22234 Se como D gt NE aeta pas lt es sein ou all rous av cona u anta cona t 10 Abbildung 1 Blockschaltung POSYS 1800 B p9 POSYS Motion Control 2014 Control Modules Control Flow berblick Die folgende Grafik gibt einen berblick ber die Control Flow Funktionen der POSYS Positioniersteuerkarten der 1800 B Serie Es zeigt wie ein Motorkommandosignal generiert wird beginnend mit der Profilauswahl und endend mit der eigentlichen Ausgabe des Motorausgabemoduls welches Verst rker kompatible Sollwertvorgaben ausgibt Abh ngig vom Produkt und verwendetem Motortyp sind manche Module nicht verwendbar z B ist im Schrittmotormodus die Auswahl des Position PID Loops nicht m glich Hall Sensors Y Commanded nme PWM Position Commutation or DAC Velocity Motor i Phasing Phase output to Trajactory ACCeleration Lt Command 1 Command Mator amplifier Ganerator Loop f Output i Current i Loop Posrion Encoder Abbildung 2 Control Flow berblick Jedes der Hauptbl cke im Control Flow berblick ist assoziiert mit einem Modul Die folgende Tabelle gibt einen kurzen berblick der einzelnen Module und ihrer Bedeutung Modulename Funktion Trajectory Generator Dieses Modul akzeptiert benutzer definierte Eingaben und generiert daraus das Bahnprofil Pos
51. Gleichung bestimmt 2 Ex Bo x An t B XXn j B x Xn 21t x l x z X s 2 wobei Ausgabe des Filters zum Zeitpunkt n Eingabe zum Filter zum Zeitpunkt n K positiver Skalierungswert zur Vermeidung von Rundungsfehlern Bo programmierbarer Biquad Koeffizient Tabelle 14 Biquad Koeffizientenparameter Die folgende Tabelle zeigt Filterkoeffizienten welche ber das Kommando SetPositionLoop gesetzt wurden Die gesetzten Einstellungen k nnen mit dem Kommando GetPositionLoop ermittelt werden Die folgende Tabelle fasst die Darstellung und den Bereich der einstellbaren Biquad Parameter zusammen Term Name 0 Jart amp Bereich Biquad scalar unsigned 16 bits 0 to 32 767 Al Koeffizient A1 signed 16 bits 32 768 to 32 767 a Koeffizient A2 signed 16 bits 32 768 to 32 767 Koeffizient BO signed 16 bits 32 768 to 32 767 p3l POSYS Motion Control 2014 Term Nm Art amp Bereich Koeffizient B1 signed 16 bits 32 768 to 32 767 Koeffizient B2 signed 16 bits 32 768 to 32 767 Tabelle 15 Parameterwerte f r Biquadkoeffizienten Biquadkoeffizienten bestimmen Typischerweise sind Koeffizienten die in Bi Quad Filtergleichungen verwendet werden kleine Flie kommazahlen Um daher Rundungsfehler zu vermeiden wenn diese Zahlen als 16 Bit Werte gespeichert werden wird der K Koeffizient mit 227 skaliert um die Eingabe der anderen Koeffizienten als Integer zu erlauben Z B in Octave sind die
52. Koeffizienten f r einen zweit rangigen Butterworth Filter folgenderma en b a butter 2 0 1 Die Ergebnisse in den Koeffizienten b0 0 020083 b1 0 040167 b2 0 020083 al 1 56102 a2 0 64135 Wenn nun die Filtergleichung der POSYS mit der Filtergleichung von Octave verglichen wird bemerkt man einen kleinen Unterschied dahingehend dass die ax Komponenten in Octave subtrahiert werden wohingegen sie in der POSYS addiert werden Das f hrt dazu dass die al und a2 Koeffizienten von Octave oder Matlab mit 1 multipliziert werden m ssen ehe sie an die POSYS gesendet werden k nnen Das Ergebnis sieht dann folgenderma en aus b0 0 020083 b1 0 040167 b2 0 020083 al 1 56102 a2 0 64135 Diese Werte werden skaliert und als Ausgangsfilterkoeffizienten gesetzt sobald der Ausgangsskalierungsfaktor K bestimmt wurde Bestimmung des Bi Quad Skalierungsfaktors Um h chste Ausgabegenauigkeit zu erlangen sollte der programmierbare Skalierungsfaktor K so gew hlt werden dass er mit dem gr ten absoluten Wert der dem Wert 32767 gr te positive Wert f r ein 16 Bit Integer mit Vorzeichen am n chsten ist aus dem Satz von Koeffizienten in diesem Fall al skaliert werden kann Dann kann K folgenderma en bestimmt werden al K 32767 2 Umstellung der Gleichung Nach Umstellung K al 227 1 32767 Einsetzen der Werte K 1 56102 227 1 32767 Ergebnis K 6394 0 p32 POSYS
53. Kommando ResetEventStatus zur ckgesetzt werden Falls dies nicht geschieht w rde augenblicklich der selbe Interrupt ausgel st nachdem die Interrupts wieder aktiviert sind Sobald der Host die Bearbeitung des Interrupts abgeschlossen hat sollte ein Clearl nterrupt Kommando gesendet werden um den Interruptanschluss zu l schen und wieder frei zu machen Anmerkung falls ein weiterer Interrupt zur Bearbeitung ansteht wird die Interruptleitung nur f r den momentanen Interrupt wieder frei gemacht und erneut belegt S Falls der Controller mit dem Host via CAN kommuniziert werden Motion Controller Interrupts die ber den Parallelbus ISA Bus gesendet werden als CAN Benachrichtigungen versendet Weitere Informationen hierzu finden Sie im Kapitel Controller Area Network CAN Im Folgenden ist eine typische Sequenz von Interrupts und Hostreaktionen In diesem Beispiel hat eine Achse einen Endschalter in der positiven Richtung angefahren die ein Endschalterereignis und einen abrupten Stopp verursachte Der abrupte Stopp verursacht einen Schleppabstandsfehler Nehmen wir an dass diese Ereignisse alle mehr oder weniger gleichzeitig eintreten In diesem Beispiel ist die Unterbrechungsmaske interrupt mask f r diese Achse gesetzt worden so dass entweder Schleppabstandsfehler oder Endschalterereignisse einen Interrupt verursachen Ereignis 0 Hostaktion Schleppabstandsfehler und Sendet Get nterruptAxis Kommando Endschalterereignis generieren
54. Mask 48 Signal Status Register 47 Sinuskommutierung 98 Skalierung der Bi Quad Koeffizienten 33 Speicherkonfiguration 105 Stall Detection 101 Takt amp Richtungssignalgenerierung 101 Takt amp Richtungssignalausgabe 76 The Synch Pin Multiple Card Synchronization 65 Threshold Triggered Beakpoints 41 Trace Buffer Architektur 56 Trace Capture 56 Trace Mode 23 Trace Modes 59 Trace Start Stop Bedingungen 59 Trace Variablen 58 p114 POSYS Motion Control 2014 Tracking Window 53 Trapezf miger Punkt zu Punkt Profil 15 U Updates 38 User I O 108 V Verf gbarer Speicher RAM zu klein f r Programmausf hrung Was tun 24 Verst rker amp DAC Freigabekontrollregister 1 O space address 1 108 Verwendete Symbole 8 Verwendung von On Board RAM f r External Profile Mode 23 W Was bedacht werden mu 24 Watchdog Kontrollregister 1O space address 4 110 Zykluszeit setzen 12 nderungen zu vorhergehenden Handb chern 8 berblick 26 45 86 89 99 Ubertragungsprotokolle 84 p115 POSYS Motion Control 2014 www halbeck com
55. Null zur ckgesetzt User I p107 POSYS Motion Control 2014 Zugriff auf Karten spezifische Funktionalit ten erh lt man durch das f r allgemeine Zwecke gedachte 1 0 Adressierungsschema Die Kommandos ReadI O und WritelO erlauben den Zugriff auf diese spezifischen Funktionen die von der POSYS unterst tzt werden F r weitere Informationen bzgl der Readi O Writel O Kommandos verweisen wir auf die Zusatzbeschreibung in der Sektion FAQs Programmer s Info und auf die Beschreibung der beiden Kommandos im Programmierhandbuch ReadI O Writel O 0 Kommando bersicht Readl O Writel O Dieses Kapitel beschreibt die Details um die Host 1 0 Kommandos die die POSYS 1800 B veranlassen auf die periph ren Ger teadressen zu zugreifen ReadlO address liest ein 16 Bit Datenwort vom Ger t dessen Adresse kalkuliert wird indem zur Adresse 1000H addiert wird address ist ein Offset der base address 1000h der POSYS memory mapped I O space Writel O address data schreibt ein 16 Bit Datenwort in ein Ger t dessen Adresse sich daraus errechnet indem 1000h der Adresse hin zu addiert wird address ist ein Offest der Basisadresse 1000h vom memory mapped 1 0 Bereich der POSYS Die folgende Tabelle listet die verschiedenen Adressierungen und dadurch erh ltlichen Funktionen auf I O space Register Beschreibung address offset Digital I O Dieses Register erlaubt das Schreiben und Lesen dieser 8 f r allgemeine Zwecke gedachte
56. O i 1 i i 2 J jerk gt N J J Time Abbildung 8 S Kurve welches nicht die maximale Beschleunigung erreicht hnlicherweise falls eine Position derart angegeben wird dass die Endgeschwindigkeit nicht erreicht werden kann wird es kein Segment IV wie in Abbildung 9 gezeigt geben Es ist auch m glich dass es auch kein Segment II oder Segment VI gibt je nachdem wo das Profil gek rzt wird p18 POSYS Motion Control 2014 Segments ill i V i vu gt ii oa l J jerk H i i J J Time Abbildung 9 S Kurve ohne maximalem Geschwindigkeitssegment ET Gegensatz zum trapezf rmigen Profilmodus erlaubt der S Kurven Profilmodus keine nderungen an einem der Profilparameter w hrend die Achse in Bewegung ist Ebenfalls darf die Achse nicht in den S Kurven Modus geschaltet werden w hrend die Achse in Bewegung ist Es ist allerdings erlaubt vom S Kurven Modus zu einem anderen Profilmodus w hrend der Bewegung zu wechseln Falls der S Kurven Modus f r die Art der auszuf hrenden Bewegung notwendig ist und die Notwendigkeit besteht PID Filter Geschwindigkeit und oder Beschleunigungswerte w hrend der Bewegung zu ndern dann ist es empfehlenswert in den Trapezmodus zu wechseln 0 Geschwindigkeitsmodus Die folgende Tabelle fasst die host spezifischen Profilparameter zusammen f r den Geschwindigkeitsmodus e Tabelle 9 Profilparameter f r den Geschwindigkeitsmodus D
57. PI Filter mit KP KL KD Kvff und IL und der weite programmierbare 16 Bit Bereich sind zus tzliche Gr nde f r das berlegene Verhalten dieses Reglers Ein weiteres Plus sind die hohe 8 MHz Inkremental oder 160 MHz Absolutenkodereingangsfrequenz und je nach Modell die 50 bis 75 usec Servo Loop Updaterate pro Achse Die POSYS 18xx B Serie wurde entwickelt um h chste Flexibilit t zu einem erschwinglichen Preis zu gew hrleisten und um Antworten f r komplexe Steuerungsprobleme zu bieten sowie die Peripheriekomponenten wie die digitalen und analogen Eing nge und die programmierbaren Ausg nge auf einfache Art zu handhaben Die dedizierten Ausg nge f r In Position Schleppabstandsfehlererkennung und Verst rkerfreigabe signalisieren den eigentlichen Status jeder Achse Software Kompatibilit t wird durch alle Versionen garantiert au er anders notiert z B bei motorspezifischen Unterschieden Der POSYS Regler wurde f r komplexe Positioniersteuerungsanwendungen wie u a Jogging Punkt zu Punkt Positionierung Vektorpositionierung Electronic Gearing und f r multiple Bewegungssequenzen lineare und zirkulare Option Interpolation entworfen S Kurven Profile eliminieren ruckartige positive und negative Beschleunigung dies ist besonders n tzlich wenn schwere Tr gheitslasten bewegt werden Optionale Software Pakete f r die Ausf hrung zirkularer und linearer Interpolation f r kontinuierliche Bewegungen erh hen weiter die Einsatzm glich
58. PID Algorithmus mit velocity und acceleration feedforward Termini und einem Ausgangsma stabsfaktor Ein Integrationslimit sichert nach oben ab gegen einen akkumulierten Fehler Ein optionaler bias kann zur Filterkalkulation addiert werden um die letzte Motorausgabeanweisung zu erzeugen Ein Grenzwert f r den Filterausgang sorgt f r eine zus tzliche Beschr nkung Abbildung 13 gibt einen berblick ber den PID loop p26 POSYS Motion Control 2014 commanded velocity Y Z 4 Y y x Ku em X niegration 4 imit i 256 commanded 4 gt biquad gt e x gt gt x gt gt output position i 4 gt fers der Y K derivative tja 65 536 time K e gt gt x n x Ka mm z x 8 commanded acceleration Abbildung 13 Struktur des digitalen Filters Die PID Vff Aff Formel zusammen mit dem Skalierungsfaktor und den BIAS termini ist wie folgt u 16 Las E CmdVel K ou Output K E KE Ex 1 2 E x si KT Kag CmdAccel x 8 x a wobei n modulus n derivative time position loop error at the derivative sampling interval Commanded Position Actual Position position loop error at the derivative sampling interval integral Gain Ki Ka Derivatie Gain o O Ke Proportional Gain N Tabelle 11 PID Loop Parameter Alle Filterparameter die Drehmomentsignalbegrenzung und der Motor Bias sind programmierbar so dass der Filter durch das An
59. POSYS 18xx B unterst tzt 2 verschiedene Arten der Positionsr ckmeldung inkrementale Enkoderr ckmeldung und SSI Absolutwertgeber mit 10 12 13 und 25 Bit Aufl sung Single und Multiturn Die Art der R ckmeldung ist programmierbar Des weiteren kann die Enkoderschnittstelle auf Wunsch f r den Betrieb mit EnDat oder BiSS f higen Enkodern im bi direktionalen Modus konfiguriert werden Um die Art der Enkoderr ckmeldung zu w hlen wird das Kommando SetEncoderSource verwendet Um die gew hlte Einstellung abrufen zu k nnen verwenden Sie das Kommando GetEncoderSource 0 Inkrementaler Enkodereingang Die inkrementale R ckmeldung liefert 2 Rechtecksignale zur ck A und B und einen optionalen Index der normalerweise anzeigt wann der Motor eine volle Umdrehung zur ckgelegt hat Das Offset der beiden Signale A und B betr gt 90 Abbildung 21 Quad B CR LT L Index 1 gt Index QuadA QuadB Index Abbildung 21 4 fach Auswertung des inkrementalen Enkodereinganges Damit die Enkoderposition von der POSYS korrekt interpretiert werden kann sollte das A Signal dem B Signal vorangehen wenn der Motor sich in positiver Richtung bewegt Abbildung 21 Wenn der Motor sich in negativer Richtung dreht soll das B Signal dem A Signal vorausgehen Wegen des 90 Offsets erh lt die POSYS 4 Takte f r eine voll erfasste Phase f r beide Signale A und B Die POSYS unterst tzt auch die Verwendung invertierter Signa
60. Position Die augenblickliche Sollpositionsvorgabe durch den Regelkreis 3 Commanded Velocity Die augenblickliche Sollgeschwindigkeitsvorgabe durch den Regelkreis Commanded Die augenblickliche Sollbeschleunigungsvorgabe durch den Acceleration Regelkreis Enkoder 5 JActual Position Die Istposition des Motors Actual Velocity Eine gesch tzte Istgeschwindigkeit kalkuliert durch einen simplen Low Pass Filter Eu Capture Register Die augenblicklichen Inhalte des High Speed Capture Registers Phase Angle Der gegen rtige Phasenwinkel nur b rstenlose Servomotoren Phase Offset Position Loop Differenz zwischen Ist und Sollposition f r die spezifizierte Achse Position Loop Integral Der momentane Integralwert Position Loop Der derivative Wert der vom Regelkreis verwendet wird Derivative Position Loop Integral Dieses Register enth lt den Anteil des integralen Teils der Contribution PID Schleife Der Eingabewert f r den Biquad 1 Filter Der Eingabewert f r den Biquad 2 Filter Status Register Die augenblicklichen Inhalte des Event Status Registers Die augenblicklichen Werte des Activity Status Registers Die augenblicklichen Werte des Signal Status Registers Kommutierung Der gegenw rtige Phasenversatzwert nur b rstenlose Servomotoren Active Motor Command Drehmomentsollwert Ausgabe durch den Servofilter Regelkreis Phase A Command Phase B Command Der Wert der gegenw rtig ausgegeben wird an die Motorw
61. Wenn das Lagereglermodul als Teil einer automatischen Ereignis bezogenen Aktion siehe SetEventAction Processing f r Details deaktiviert wurde verwendet man dann das Kommando RestoreOperatingMode um das Modul wieder zu aktivieren Ungeachtet wie das Modul wieder freigegeben wird zu dem Zeitpunkt zu dem die Reaktivierung initiiert wird werden bestimmte Vorg nge ausgef hrt um unerwartetes Verhalten der Achse zu vermeiden Im besonderen werden alle Lagereglerzustandsgr en auf Null 0 gesetzt 0 p36 POSYS Motion Control 2014 Position Loop Werte lesen Es gibt eine Reihe Kommandos die verwendet werden k nnen verschiedene Werte f r das Position Loop auszulesen Unter anderem sind dies GetCommandedPosition um die Sollposition zu lesen GetActualPosition um die tats chliche aktuelle Position zu lesen die vom Enkoder zur ckgeliefert wird GetPositionError um den Schleppabstandsfehler die Differenz der beiden vorausgegangenen Werte zu erfahren und GetActiveMotorCommand um die aktuelle Motorausgabe des Position Loop Modules zu lesen Diese Werte sind nicht nur lesbar sondern auch f r das Tracing ausw hlbar Neben diesen Registern um die Abstimmung weiter zu erleichtern exisitieren eine Anzahl weiterer Lagereglerwerte die zur ckgelesen als auch nachverfolgt werden k nnen Das Kommando zum zur cklesen lautet GetPositionLoopValue Die Variablen innerhalb des Position Loops sind in der nachfolgenden Tabelle gelistet und zusa
62. abfragen oder die Inhalte dieser Register k nnen in Breakpointoperationen benutzt werden um ein Triggerereignis wie trigger wenn Bit 8 im Zustandsregister auf low geht zu definieren Diese Register liefern auch die Quelldaten f r den AxisOut Mechanismus der einem Bit innerhalb dieser drei Register erm glicht als ein Hardwaresignal ausgegeben zu werden Der Host kann diese 3 Register abfragen oder der Inhalt dieser Register kann verwendet werden Breakpointaktionen zu definieren wie z B Trigger Bit 8 sobald es im Signal Status Register von high auf low geht Diese Register dienen auch als Quelle f r den AxisOut Mechanismus siehe SetEventAction welches erlaubt eine oder mehrere dieser Bits innerhalb dieser drei Register als Hardwaresignal ausgegeben zu werden 0 Event Status Register Das Ereignis Zustandsregister Event Status Register ist konstruiert um Ereignisse zu registrieren die sich nicht kontinuierlich ndern aber dazu neigen bei einem spezifischen Ereignis vorzukommen Als solcher wird jedes der Bits im Register von der POSYS gesetzt und vom Host gel scht Das Ereignis Zustandsregister wird in der Tabelle unten beschrieben Wird gesetzt wenn ein Profil abgeschlossen wurde Die Bewegung die f r vollendet erachtet wird kann auf der Soll Position oder Ist Position basieren Wird gesetzt wenn die Ist Position 7FFFFFFFh berschritten die positivste Stellung wird und konvertiert zu 800
63. abh ngig davon ob auch der Bahngenerator aktiv oder deaktiv ist Bahngenerator deaktiviert Falls der Bahngenerator deaktiviert ist wenn die Regelschleife deaktiviert wird wird die Ausgabe des Lagereglermodules ein 16 Bit Wort sein der von einem programmierbaren Motorbefehlsregister abgeleitet mit dem Kommando SetMotorCommand programmiert wurde und mit dem Kommando GetMotorCommand gelesen werden kann Bahngenerator aktiviert Falls der Bahngenerator aktiviert ist wenn die Regelschleife deaktiviert wird wird das Lagereglermodul dann umgangen und der Ausgangswert des Bahngenerators wird der Motorbefehlswert sein Egal ob das Lagereglermodul aktiviert oder deaktiviert ist der eigentliche wirksame Motorbefehlswert kann mit dem Kommando GetActiveMotorCommand abgefragt werden Dies ist der in dem Moment tats chlich an die nachfolgenden Module und den Verst rker bergebene Wert f r die Motorausgabe Motor command register Trajectory amp z position loop disabled To commutation T Current loop or motor output module Trajectory or position loop T enabled Trajectory generator gt Position Loop Actual position from encoder Abbildung 17 Motor Control Pfade Bahngenerator aktiviert deaktiviert Ein vorher deaktiviertes Lagereglermodul kann auf verschiedene Arten wieder freigegeben werden Falls das Modul mit dem Kommando SetOperatingMode daktiviert wurde kann ein neuerlicher SetOperatingMode Kommando es wieder aktivieren
64. able welche als none definiert wurde siehe Kommandobeschreibung SetTraceVariable wird als die zuletzt zu erfassende Variable yngenommen Falls die Variable 1 als none definiert wurde und Variable 2 wurde als actual position definiert dann werden keine Variablen erfasst da die erste Variable mit none definiert wurde und somit das Ende der Variablenliste angibt Falls vier Variablen erfasst werden muss none nicht noch gesondert angegeben werden Trace Buffer definieren Mit den Kommandos SetBufferStart und SetBufferLength werden die Position im On Board RAM und die Menge des RAM die f r die Erfassung der Daten bereitgestellt werden soll definiert Die Trace Daten werden in einem Bufferbereich gespeichert mit ID 0 Seien Sie auch vorsichtig nicht mehr als den tats chlich zur Verf gung stehenden physikalischen Speicher zu definieren Bedenken Sie auch dass SetBufferStart und SetBufferLength mit Werten definiert werden von 32 Bit Wortgr e Trace Period definieren Das Kommando SetTracePeriod erlaubt die Intervalle zu definieren in denen Daten erfasst und gesammelt werden sollen Definieren Sie den Trace Mode Falls die Erfassung aufgrund eines Ereignisses stattfinden soll dann sollte die einmal Erfassung Verwendung finden Dies w rde es erlauben den kompletten Buffer mit Daten zu f llen und kann mit dem Eintreten des Ereignisses beginnen Kommando SetTraceStart Als Alternative falls die Erfassung aufgrund eines Ereignisses s
65. ad Word gel scht werden Die m glichen 1 0 Fehlercodes die der Motion Controller zur ckliefern kann sind in der folgenden Tabelle gelistet 2 val marion _junounges Kommen _ _____________ Invalid axis Die Achsennummer in den oberen Bits des Anweisungswortes werden von DT e Controller nicht unterst tzt a Invalid parameter Ung ltiger Parameter Parameter Trace running Ein Kommando wurde ausgegeben welches ein gerade ablaufendes Tracing in seinem Ablauf ndern w rde w hrend es l uft Kommandos die einen solchen Fehler verursachen k nnen sind SetTraceVariable SetTraceMode amp SetTracePeriod Block bound Der mit dem Kommando SetBufferLength oder SetBufferStart exceeded gesendete Wert w rde die physikalisch tats chlich zur Verf gung stehenden Grenzen des Produktes berschreiten Entweder SetBufferReadindex oder SetBufferWritelndex haben einen Indexwert geschickt der gr er oder gleich der Blockl nge war Trace zero SetTraceStart Immediate wurde ausgef hrt aber die L nge des Tracebuffers ist noch auf 0 eingestellt Bad checksum gilt nur f r die serielle Schnittstelle Die Checksum die von der POSYS empfangen wurde entspricht nicht der Checksum die vom Host geschickt wurde Negative velocity Es wurde der Versuch gemacht eine negative Geschwindigkeit zu setzen ohne dass sich die entsprechende Achse im Geschwindigkeitsmodus befindet S curve change Bei einer Achse die gerade ein S Kurvenprofil ausf hrt wu
66. al word p77 POSYS Motion Control 2014 PWM magnitude low pass filtered max PWM sign Abbildung 28 gefiltertes PWM sign magnitude Signal In diesem Diagramm wurde das PWM Magnitudensignal gefiltert um es von einem variablen digitalen Rechtecksignal in ein analoges Signal umzuwandeln Vor der Filterung entspricht das PWM Signal einem entsprechenden impuls breiten moduliertem digitalem Signal der gew nschten analogen Spannung Der PWM Zyklus hat eine Frequenz von 78 124 kHz Die Aufl sung ist 8 Bit bzw entspricht 1 256 0 Motortreiber Konfigurationen Abbildung 29 illustriert eine typische Treiberkonfiguration eines 2 Phasen Schrittmotors das entweder PWM oder DAC Signaleausgabemodi verwendet Amplifiers gt Axis 1 phase A Motor 1 gt Axis 1 phase B POSYS 182x B gt Axis 2 phase A Motor 2 gt Axis 2 phase B Abbildung 29 Typische Treiberkonfiguration f r 2 Phasen Schrittmotor Bei Verwendung eines DACs wird der digitale Motorausgabepegel f r jede Phase gew hnlich konvertiert in ein Analogsignal mit einem Wert zwischen 10V und 10V Dieses Signal kann dann auf einen handels blichen DC Servoverst rker ausgegeben werden ein Verst rker f r jede Phase oder in irgendeinen linearen oder schaltenden Verst rker welches Drehmomentkontrolle aus bt und bipolare Ausgabe unterst tzt In diesem Schema treibt ein Verst rker eine Phase des Schrittmotors an und der Controller generiert die erfo
67. arameter zu verwenden Es gibt drei verschiedene Arten von gebufferten Registern von denen jeder unabh ngig aktualisiert und aktiv gemacht werden kann Es sind die Profilparameter die Position Loop Parameter und die Regelschleifenparameter Das Kommando SetUpdateMask steuert welche dieser drei Arten nach Erhalt eines Update Kommandos in die aktiven Register kopiert werden Der Befehl GetUpdateMask dient zum Lesen des spezifizierten Maskenwertes Getrennt aktualisierbare Parameter sind sinnvoll weil sie es erm glichen zum Beispiel Profilparameter On the fly zu ndern ohne die Position Loop Parameter oder die Regelschleifenparameter zu modifizieren oder die Regelschleifenparameter zu ndern ohne Position Loop Parameter oder Profilparameter zu ndern Viele Anwendungen werden diese Vielfalt nicht unbedingt ben tigen jedoch ist es nicht ungew hnlich diese Maske einmal zu setzen so dass s mtliche gebufferten Register immer aktualisiert werden Die folgende Kommandosequenz zeigt das Laden und Aktualisieren einer Reihe von Parametern In diesem Fall sind es ein neuer Profil Modus Position Geschwindigkeit und Beschleunigung alle Kommandos sind gebuffert die geladen werden gefolgt von einem Update Befehl um sie zu aktivieren SetProfileMode Awis1 trapezoidal setze Profilmodus trapezf rmig f r Achse1 SetPosition Axis1 12345 lade Endposition f r Achse 1 SetVelocity Axis1 223344 lade Geschwindigkeit f r Achse SetAcceleration
68. ation liefern die programmierten Werte zur ck F r dieses Profil errechnet der Host eine anf ngliche positive und negative Beschleunigung eine Geschwindigkeit und eine Endposition Das Profil bekommt seinen Namen aufgrund der Kurvenform Abbildung 3 die Achse beschleunigt linear anhand des programmierten Beschleunigungswertes bis es die programmierte Geschwindigkeit erreicht Die Geschwindigkeit bleibt erhalten bremst dann linear ab den negativen Beschleunigungswert benutzend falls eine programmiert wurde bis es an der angegebenen Position stehen bleibt Falls die negative Beschleunigung einsetzen muss ehe die Achse die programmierte Geschwindigkeit erreicht wird das Profil kein konstantes Geschwindigkeitsteil ausweisen und das Trapez wird ein Dreieck siehe Abbildung 5 A acceleration D deceleration V velocity Velocity Time Abbildung 3 Einfaches trapez f rmiges Punkt zu Punkt Profil Abbildung 4 illustriert ein trapez f rmiges Profil mit vorbestimmte Startgeschwindigkeit Null 0 Bei Schrittmotoren mit Einstellung Vollschritt ist es gelegentlich w nschenswert eine Startgeschwindigkeit zu definieren von der aus p15 POSYS Motion Control 2014 der Motor unverz glich seine Bewegung startet Dies ist n tzlich um den resonanz gef hrdeten Bereich von 70 120 Schritte pro Sekunde zu berspringen vermeiden In der Phase der negativen Beschleunigung des Profils wird anstelle einer kontinuierlichen Abbrem
69. ationen zu laden IBit parameter Indications rate selector Parity selector 1 200 bits per second 2 400 bits per second 9 600 bits per second 19 200 bits per second 57 600 bits per second 115 200 bits per second 230 400 bits per second 460 800 bits per second None Odd parity Even parity Reserved do not use 1 stop bit 2 stop bits Point to point Multi drop idle line mode Reserved do not use Reserved do not use er TH Number of stop bits Eu 11 15 Multi drop address selector Address 0 Should be zero in point to Address 1 point mode er Le Address 31 Tabelle 47 Konfiguration der seriellen Schnittstelle Kommunikations Modi Standardwerte RS 232 Standardeinstellung auf 57 6K 1 Stopp Bit no parity Verwenden Sie SetSerialPortMode um den Wert zu ndern Ww rer Anf nglich gesetzt auf 57 6K 1 Stopp Bit no parity point to point mode Danach gesetzt mit Kommando SetDefault Tabelle 48 Kommunikationsmodi Kommandointerpretation Die Kommandointerpretation die f r die Kommunikation zwischen Host und Motion Controller verwendet wird besteht aus einem Kommandopaket welches vom Host gesendet wird gefolgt von einem Antwortpaket welches vom Motion Controller zur ck gesendet wird Der Host muss auf das Antwortpaket warten es empfangen und dekodieren Kommandopakete vom Host enhalten folgende Felder Fed Byte Beschreibung 1 Ein Byte um zu identifizieren an welche POSYS das
70. ausgef hrt wurde Abrupter Stopp mit L schung des L st einen abrupten Stopp ohne Rampe aus als auch L schung des Wertes f r den Schleppabstandsfehler Wertes f r einen eventuell aufgelaufenen Schleppabstandsfehler entspricht dem Kommando ClearPositionError Der Geschwindigkeitswert wird auf Null 0 gesetzt nach dem der Breakpoint ausgef hrt wurde Deaktiviere Position Loop amp Higher Deaktiviert den Bahngenerator und Position Loop Module Modules Deaktiviere Current Loop amp Higher Deaktiviert den Bahngenerator Position Loop und Modules Regelschleifenmodule Deaktiviere Motorsignalausgabe amp Deaktiviert den Gahngenerator Position Loop Regelschleifen und Higher Modules Motorausgabemodule Tabelle 21 Breakpoint Aktionen Die SetBreakpointUpdateMask bestimmt welche der doppelt gebufferten Register aktualisiert werden beim Eintreten eines Breakpointereignisses Der Wert f r SetBreakpointUpdateMask wird durch die Ausl sung des Breakpointereignisses nicht ge ndert jedoch sollte einmal gesetzt und bei dem Wert belassen werden oder kann auch ge ndert werden werden nach belieben bzw entsprechend den Anforderungen der Appplikation angepasst werden F r die POSYS 1800 B ist der standardm ig eingestellte Wert f r SetBreakpointUpdateMask den Bahngenerator und die Position Loop Parameter zu aktualisieren F r spezifizierte Aktionen die den OperatingMode ndern muss erneut RestoreOperatingMode ausgef hrt werden u
71. bersicht ReadlO WritelO 108 Konfiguration 82 Konfiguration der CAN Schnittstelle 87 Konfiguration von Dual Enkoder Unterst tzung 30 L Level Triggered Breakpoints 41 M MC Bus 106 Message Format 86 Mikroschritt Motor Kontrolle 102 Mikroschrittmotorsignalausgabe 77 Mikroschrittsignalformen 103 Modellversionen berblick Motion Complete Indikator 54 Motor Bias 35 Motor Output Module deaktivieren 70 Motorausgabeformat 71 Motorausgabesignale 70 Motorausgangssignal Interpretation 77 Motortreiber Konfigurationen 78 Motortyp 70 Multi drop ldle line Mode 84 Multi Phasen Motoranbindung 74 Multi Phasen Motorkommandointerpretation 75 Multi Turn Systeme 69 On Board Speicherkommandos 107 p113 POSYS Motion Control 2014 Output Limit 34 Output Scaling 28 P Paralleler Kommunikationsport ISA Bus 80 Parameter Buffering 38 PC104 ISA Bus 10 106 PC104 ISA Bus Speicher 106 Phasenanzahl 89 Phasenfehlererkennung 95 Phaseninitialisierung 91 Phasenkontrollmodule 90 Phasenz hlungen 90 PID Loop 26 Point to Point Mode 84 Position Loop Werte lesen 37 Profile Mode 22 Programmierung der Phaseninitialisierung 93 D Relevante On Board RAM Funktionen 22 Reset Kommando 11 Reset berwachungskontrollregister 1 0 space address 2 109 ne S Kurven Punkt zu Punkt Profil 17 Schleppabstandsfehler 51 SetEventAction Prozess 50 Settle Window 55 Sicherheitshinweis 7 Sign Magnitude PWM 72 Signal Sense
72. c Gearing Folge Leitbetrieb External Profile Mode Die Verwendung dieser Profilmodi wird ausf hrlich in nachfolgenden Abschnitten erkl rt Der verwendete Befehl den Profilmodus zu selektieren ist SetProfileMode Der Befehl GetProfileMode liefert den programmierten Profilmodus zur ck Der Profilmodus kann unabh ngig f r jede Achse programmiert werden Zum Beispiel Achse 1 kann im trapezf rmigem Modus sein w hrend Achse 2 f r den S Kurvenmodus programmiert wurde Mit einer Ausnahme kann die POSYS von einem Profil in das andere schalten w hrend eine Achse in Bewegung ist Die Ausnahme um in den S Kurven Punkt zu Punkt Modus zu schalten mu die Achse stillstehen Es ist auch nicht m glich w hrend eine Bewegung noch abl uft vom S Kurvenmodus in einen anderen Modus zu schalten 0 Definition der Bahnparameter Die POSYS sendet und empf ngt Bahnprofildaten und verwendet dabei eine Parameter bergabe nach Fixpunktdarstellung In anderen Worten es werden eine feste Anzahl Bits verwendet um den Integerwert einer Realzahl darzustellen Folgende 3 Formate verwendet die POSYS Format wortgr e Bereich Beschreibung 32 0 32 bits 2 147 483 648 to Unity Scaling Dieses Format verwendet nur 2 147 483 647 Integerzahlen ale 32 bits a Verwendet 1 216 Skalierung Die POSYS erwartet eine 32 Bit Nummer welches mit einem Faktor von 65 535 skaliert wurde z B um eine Geschwindigkeit von 2 75 zu definieren muss
73. ch anzuwenden z B die aktuelle Position kann mit dem Kommando GetActualPosition abgefragt werden der Inhalt des Position Capture Registers kann mit GetCaptureValue gelesen und mit AdjustActualPosition und SetActualPosition kann die aktuelle Positionsangabe angepasst werden Die Standardeinheiten f r das Kommando sind Enkoderz hlwerte Mit dem Kommando SetActualPositionUnits kann das auf Schritte Mikroschritte umgestellt werden Die nachfolgende Tabelle zeigt die betroffenen Kommandos steps microsteps Tabelle 61 Enkoderr ckmeldung Das Kommando SetActualPositionUnits ver ndert auch die Einheiten der Tracevariablen Actual Position SetEncoderToStepRatio setzt das Verh ltnis von Encodersignalen zur Anzahl Schritte pro Motorumdrehung um die Anzahl erfasste Enkodersignale in Schritte zu konvertieren Counts ist die Enkoderaufl sung pro Motorumdrehung Steps ist die Anzahl Schritte pro Motorumdrehung Da dieses Kommando ein Verh ltnis definiert m ssen die Eingaben nicht eine volle Umdrehung repr sentieren um korrekte Werte zur ckzuliefern sofern das Verh ltnis stimmt GetEncoderToStepRatio liest den programmierten Wert zur ck 0 p100 POSYS Motion Control 2014 Stall Detection Zus tzlich zur passiven Positionserfassung durch den Host mit dem Kommando GetActualPosition kann die POSYS auch aktiv das Ziel und die aktuelle Position berwachen und einen Bewegungsfehler entdecken der einen Stillstand zum Erg
74. chalten bzw einem Reset aufgelaufen sind Dieser st ndig wechselnder Wert kann mit dem Kommando GetTime gelesen werden Das Register hat zwei prim re Zwecke Es kann als Vergleichswert f r zeit basierte Haltepunkte verwendet werden siehe Abschnitt Breakpoints f r Details Dar ber hinaus k nnen sie ein n tzliches Instrument zur Verfolgung der tats chlich ben tigten Zeit f r bestimmte Aufgaben eingesetzt werden Das Zeit Register erh ht sich um einen Wert von 1 f r jeden Zyklus den der Motion Controller bis zu ihrem p12 POSYS Motion Control 2014 gr tm glichen Wert von FFFF FFFFh oder 4294967295 dec an welcher es auf Null 0 zur ck springt Der Punkt an dem der Zeitr cksprung auftreten wird h ngt von der eingestellten Zykluszeit f r den Motion Controller ab Zum Beispiel f r einen 4 Achsen POSYS 1824 B mit eingestellter Standard Zykluszeit von 256 uSec erfolgt der R cksprung nach 256 4294967295 uSec 12 7 Tagen Alle Motion Controller Operationen werden in der Regel weiter arbeiten aber wenn ein Zeit definierter Breakpoint gesetzt wurde sollte darauf geachtet werden dass der Vergleichswert korrekt errechnet wurde inkl m glicher berspr nge 0 GetVersion Kommando Dieses Kommando und die zur ckgelieferte Nummer liefern keine Information dar ber ob eine PCI ISA oder PC 104 oder andersformatige z B Kundenspezifische Karte eingesetzt wird zur ck sondern nur die inteme Funktionsinformation
75. chwindigkeit erreicht Die gleiche Sequenz wird ausgef hrt um die Endposition zu erreichen p17 POSYS Motion Control 2014 Segments u in i vi vu V i A acceleration J j J i D deceleration 5 i i K Ony 2 i m gt A i D J J Time Abbildung 7 Typisches S Kurven Punkt zu Punkt Profil Abbildung 7 zeigt ein typisches S Kurven Profil In Segment erh ht sich der Beschleunigungswert um den mit dem Befehl Jerk gesetzten Wert bis die maximale Beschleunigung erreicht wurde Die Achse f hrt fort sich linear jerk 0 durch Segment II zu beschleunigen Das Profil wendet dann im Segment 111 den negativen Wert des Jerks an um die Beschleunigung zu reduzieren Im Segment IV verf hrt die Achse jetzt mit maximaler programmierter Geschwindigkeit V Das Profil wird dann in einer dem Beschleunigungswert hnlichen Weise abbremsen indem in umgekehrter Richtung der negative Jerk verwendet wird um zuerst die maximale Verlangsamung zu erreichen A und dann die Achse zu einem Halt an der Endposition zu bringen Eine S Kurve mag vielleicht nicht alle Hemente der Abbildung 7 gezeigten Segmente enthalten Zum Beispiel falls nicht die maximale Beschleunigung vor dem Halbweg in Richtung Endgeschwindigkeit oder Endposition erreicht werden kann w rde das Profil nicht die Segmente II und VI enthalten Solch ein Profil wird in Abbildung 8 gezeigt Segments l H in i IV V VII s V i i gt i i i i J i i J V velocity o
76. d 4 Pole besitzt dann sieht die Berechnung wie folgt aus Counts per cycle Counts per cycle 1 024 Z hlungen_pro_Umdr 2 elektrische Zyklen pro Umdrehung 512 Das Kommando um die Anzahl Enkoderaufl sung pro elektrischen Zyklus zu setzen ist SetPhaseCounts Das Kommando GetPhaseCounts liest den programmierten Wert zur ck 0 Phaseninitialisierung Nach dem Einschalten des Systems muss der Controller den korrekten Kommutierungswinkel relativ zur Enkoderposition bestimmen Diese Information wird durch eine Prozedur genannt Phaseninitialisierung bestimmt und ermittelt Der Controller unterst tzt 3 Methoden der Phaseninitialisierung algorithmisch Hall Sensor basiert und Direct set 0 Hallsensor basierte Phaseninitialisierung Um den Controller f r die Hallsensor basierte Initialisierung zu verwenden wird das Kommando SetPhaselnitializeMode und der Parameter Hall basiert verwendet In diesem Modus werden 3 Hallsensorsignale verwendet um die Phasen des Motors zu bestimmen und die Sinuskommutierung beginnt automatisch nachdem der Motor eine volle Umdrehung absolviert hat Die Anschl sse f r die Hallsensoren werden ber den optionalen Stecker mit den Kennzeichnungen Hall1A C Achse 1 und Hall2A C Achse 2 usw zur ckgef hrt Es sollte Sorgfalt angewandt werden beim Anschliessen der Hallsensoren Um den gegenw rtigen Status der Hallsensoren zu erfahren kann das Kommando GetSignalStatus verwendet werden Abbildung
77. des eingesetzten Motion Control Chipsatzes F r Informationen bzgl der eingesetzten Karte verwenden Sie das Kommando ReadPLD 0 p13 POSYS Motion Control 2014 Bahnprofilerstellung Bahnen Profile und Parameter Der Bahngenerator kalkuliert die aktuelle Position Geschwindigkeit und Beschleunigung zu einer gegebenen Zeit Diese Werte werden die Sollwerte genannt W hrend einer Bewegungssequenz werden sich einige oder alle dieser Parameter kontinuierlich ndern Sobald die Bewegungssequenz vollst ndig abgearbeitet ist werden diese Parameter aktuell bleiben bis eine neue Bewegung begonnen wird und mit ihr eventuell auch neue Parameter bergeben werden Um die aktuellen Sollprofilwerte abzufragen werden die Befehle GetCommandedPosition GetCommandedVelocity und GetCommandedAcceleration benutzt Durch das ganze Handbuch hindurch werden verschiedene mnemotechnische Kommandos gezeigt um die Verwendung der POSYS zu erkl ren oder spezifische Beispiele zu liefern Der Programmierabschnitt liefert mehr Informationen ber Befehle Nomenklatur und Syntax Das spezifische Profil dass die POSYS einrichtet h ngt von einigen Faktoren einschlie lich des aktuellen Profilmodus der aktuellen Profilparameter und anderer Systemzust nde ab wie z B ob ein Bewegungsstopp ausgel st worden ist F nf Bahnprofilmodi werden unterst tzt S Kurve Punkt zu Punkt Trapezf rmig linear Punkt zu Punkt Geschwindigkeitsregelung Electroni
78. die f r den Servofilter Anwendung findet in Verbindung mit dem Dual Enkoder Algorithmus weicht von der Formel f r die normale Verwendung des Servofilters in folgender Weise ab n K CmdVel gt g p gt i p f mcc p gt out Outputn K E1 KAP P _ 2 E lx sas KA Ke AC mdAccel x 8 x 2 wobei Ein Kaff Kvff Tabelle 13 Dual Encoder PID Loop Algorithmus p29 POSYS Motion Control 2014 commanded velocity L Y Z a 4 Y x Kr Y e xXx gt integration limit 256 gt commanded pl PS gt x p gt x gt biquad gt output position filters 4 encoder feedback 65 536 Kos awdliary encoder gt o sf Di x Ku x Kur gt z x 8 commanded acceleration Abbildung 15 Motion Control Dual Loop Digital Filter 0 Konfiguration von Dual Enkoder Unterst tzung Das Kommando SetAuxiliaryEncoderSource wird verwendet um die Dual Enkoder Unterst tzung zu aktivieren Der auxiliaryAxis Parameter bestimmt welcher Achsenenkodereingang verwendet wird um die prim re Achse zu unterst tzen Der mode Parameter aktiviert bzw deaktiviert den Dual Enkoder Modus Solange der Dual Enkoder Modus deaktiviert ist funktioniert der Servofilter wie unter PID Schleifenalgorithmus beschrieben Falls die Anwendung die aktuelle Position des Auxiliary Enkoders bestimmen muss dann verwenden Sie das Kommando GetActualPosition mit Achsenspezifizierung des Auxiliary Enkoders IS Der A
79. dnete Motion Controller Sample Time welches mit dem Kommando SetSampleTime eingestellt wird Der Standardwert f r Derivative Sampling Time nach dem Einschalten oder einem Reset ist 1 0 p28 POSYS Motion Control 2014 Dual Encoder Support Dual Encoder Support Die Multi Achsen Versionen der POSYS 18xx B unterst tzen Dual Enkoder R ckmeldung Dies ist besonders dann von Nutzen wenn die tats chliche Position z B aufgrund von Backlash von der gemeldeten Position abweicht In dieser Konfiguration ist die Enkoderr ckmeldung einer 2 Achse verkn pft mit der zu kontrollierenden Achse als Derivative Term Wenn der Enkodereingang der 2 Achse in dieser Weise verwendet wird steht sie f r einen 2 Motor als R ckmeldeeingang nicht mehr zur Verf gung Dieses Funktion ist auch nicht verf gbar f r Karten mit erweiterten PID Regelparameters tzen POSYS 1800 B Piezo Der Auxiliary Encoder wird f r die Sinuskommutierung verwendet bei den Achsen mit EC Servomotoren und aktiviertem Dual Enkoder Modus Die folgende Abbildung gibt einen berblick ber die Funktionsweise des Dual Enkoder Modus Commanded Acceleration Commanded Velocity Commanded y Motor Position J c s ad ad ommand gt gt Pi gt gt gt nigua pl gt gt gt 4 Motor Limit Motor D Bias Motor Encoder Load Encoder Abbildung 14 Motion Control Dual Loop Flow 0 Dual Encoder PID Loop Algorithmus Die Formel
80. e Format CAN Knoten kommunizieren mit Hilfe von Botschaften und verwendet ein Standardformatidentifikatorl nge von 11 Bit Alle Netzwerk Botschaften die das erweiterte Format mit 29 Bit verwenden werden ignoriert Jede Botschaft kann bis zu 8 Bytes an Daten beinhalten Der CAN Protokoll ist in der Lage automatisch bertragungsfehler zu korrigieren daher ist die Verwendung einer Checksumme nicht notwendig wie bei der seriellen Daten bertragung Die Datenformate der Meldungstypen werden in Termini von Bytesequenzen f r die parallele Schnittstelle ausgedr ckt Kommandos haben unterschiedliche L ngen das POSYS Programmierhandbuch zeigt dies auf Bytes die immer vorhanden sind wenn ein Kommando ausgef hrt wird sind in der Spalte Notwendig entsprechend markiert Die korrespondierenden Bytesequenzen f r die 3 Meldungstypen sind wie folgt Command Received Message data byte Corresponding parallel byte Required 2nd data word low byte 3rd data word high byte 3rd data word low byte BO UO a CE 5 NN enddatawora highbyte O CES K C he NT Tabelle 52 CAN Kommando empfangen p86 POSYS Motion Control 2014 Command Response Message data byte Corresponding parallel byte Required Tabelle 53 CAN Kommando Antwort Das erste Wort in der Antwort enth lt den Wert Null 0 im oberen Byte und das untere Byte wird auch den Wert Null 0 enthalten falls kein Fehler vorliegt wird aber lt gt Null 0 fall
81. e der POSYS 182x B Jede Phase hat eine hnliche Wellenform aber die Phase des B Kanals ist um 90 bzw 120 h ngt ab von der gew hlten Wellenform versetzt im Vergleich zur Phase des A Kanals motor command motor command Abbildung 27 Typische Motorwellenform Die Wellenform ist bzgl des Ausgabewertes um die OV zentriert Der Maximalwert der ausgegegebenen Wellenform wird ber das Motor Command Register kontrolliert SetMotorCommand Z B falls der Motion Controller ber den DAC mit 10V Ausgabebereich verbunden ist und am Motion Controller sind sowohl der Bahngenerator und das Position Loop Module deaktiviert und der Motor Command Register ist programmiert mit dem Wert 32767 maximaler Ausgabewert SetMotorCommand dann w hrend der Motor eine Umdrehung durch einen vollen elektrischen Zyklus ausf hrt wird eine um die OV zentrierte sinusf rmige Signalform ausgegeben dessen maximale und minimale Spannung einmal 10V und dann einmal 10V betr gt 0 Impuls Breiten Modulierte PWM Motorsignalausgabe Das folgende Diagramm zeigt die typische Signalform eines Signals einer einzelnen Phase f r die Mikroschrittversionen in PWM Modus sign magnitude Jede Phase gibt ein hnliches wellenf rmiges Signal aus wobei die Signale um 90 bzw 120 verschoben sind je nachdem ob f r 2 Phasen oder f r 3 Phasen Schrittmotoren Die Methode mit der diese Signale generiert werden unterscheidet sich vom DAC digit
82. e operativen Sicherheitsma nahmen durch den Kunden sichergestellt sein um Gefahren abzuwehren 0 Haftungsausschlu POSYS Motion Control GmbH amp Co KG bernimmt keine Haftung f r Anwendungshilfe oder Kundenproduktdesign POSYS Motion Control GmbH amp Co KG bernimmt auch keine Haftung f r Produktionsausfall Sch den oder sonstige Kosten ausser f r Kosten die f r die notwendige Reparatur oder Ersatz f r Produkte der Firma POSYS Motion Control GmbH amp Co KG anfallen Weitere Ersatzanspr che k nnen nicht geltend gemacht werden 0 Verwendete Symbole Symbol Bedeutung AG EFAH R Weist auf eine gef hrliche Situation hin die wenn sie nicht vermieden wird zum Tode oder zu schweren irreversiblen Verletzungen f hren wird Weist auf eine gef hrliche Situation hin die wenn sie nicht vermieden wird zum Tode oder zu schweren irreversiblen Verletzungen f hren kann Weist auf eine gef hrliche Situation hin die wenn sie nicht vermieden wird zu leichten Verletzungen f hren kann Weist auf eine Situation hin die wenn sie nicht vermieden wird zu Besch digung von Sachen f hren kann p7 POSYS Motion Control 2014 Symbol Bedeutung Dies ist kein Sicherheits Symbol Dieses Symbol weist auf wichtige Informationen hin Tabelle 1 Verwendete Symbole nderungen zu vorhergehenden Handb chern In diesem Bereich werden alle nderungen bzgl Hardware oder Software dokumentiert um schnell und zuverl
83. e so lange keinen Effekt auf das laufende System bis das Update Kommando tats chlich ausgef hrt wurde Im Gegensatz zur Profilerstellung sind die meisten Parameterkommandos nicht gebuffert und einige sind gebuffert Die folgende Liste zeigt alle gebufferten Kommandos Doppelt gebufferte Kommandos Trajectory Position Loop Current Loop SetProfileMode SetPositionLoop SetCurrentLoop ClearPositionError SetMotorCommand SetFOCLoop SetStopMode SetCurrentControlMode SetPosition SetVelocity SetAcceleration SetDeceleration Set erk SetGearMaster SetGearRatio Tabelle 18 Doppelt gebufferte Kommandos Anmerkung Das Kommando SetStartVelocity ist nicht doppelt gebuffert 0 Breakpoints Breakpoints sind eine g nstige Methode Ereignisse auf einige spezifische Zust nde hin zu programmieren Je nach den Argumenten der Breakpointanweisung kann ein Breakpoint ein Update ausl sen ein abrupter Stopp nach einem Update ein SmoothStop nach einem Update ein Motor OFF gefolgt von einem Update mehr zu dieser Funktion in einem sp teren Abschnitt oder keine Aktion was auch immer Jede Achse kann f r die Verwendung von 2 Breakpoints programmiert werden So k nnen zwei vollkommen gesonderte Zust nde berwacht und daraufhin auf Ereignisse ausgel st werden Diese zwei Breakpoints werden Breakpoint 1 und Breakpoint 2 genannt Zus tzlich k nnen jene Register welche in die aktiven kopiert werden sollen unabh ngig von einander f r den ei
84. e werden mit dem Kommando GetMotorType gelesen Abh ngig von der Signalform und des gew nschten Motorausgangssignals PWM oder DAC werden entweder 2 oder 3 kommutierte Ausgabesignale vom Controller pro Achse ausgegeben Die folgende Tabelle listet die verschiedenen Kombinationen auf Signalform __ Motorausgabemodus ____ Anzahl Ausgabesignale amp Name 3 Phasen PWM5050 3 A B C 3 Phasen PwMSign Mag hun 3 Phasen DAC han 2 Phasen 2 Phasen 2 Phasen Tabelle 56 Signale je nach Motorausgabemodus Das nachfolgende Diagramm zeigt die Phasen A B und C f r einen 3 Phasen b rstenlosen Motor und die A und B Phasen f r einen 2 Phasen b rstenlosen Motor p89 POSYS Motion Control 2014 3 Phase Brushless Phase A Phase B Phase C 2 Phase Brushless Phase A Phase B Abbildung 33 Signalformen f r b rstenlose DC Servomotoren Phasenkontrollmodule Um einen b rstenlosen DC Servomotor direkt anzusteuern ist es notwendig den Winkel des Rotor s des Motor s zu kennen da es sich st ndig ndert Dies kann auf zweierlei Arten geschehen Die erste Methode ist durch Verwendung der Hallsensoren die zweite durch Verwendung der Positionsr ckmeldung durch einen Enkoder In beiden F llen ist es notwendig dass die Sensoren direkt mit der Welle verbunden sind Vorteilhafter ist die Verwendung von Enkodern da diese eine weichere Bewegung und all bergreifend bessere Leistung erzielen als Hallsensoren
85. ebnis hat Die automatische Stillstandserfassung erlaubt den Controller festzustellen wann der Schrittmotor w hrend der Bewegung Schritte verloren hat Gew hnlich passiert dies wenn der Motor auf ein Hindernis trifft oder wenn auf andere Art und Weise sein Nennmoment berschritten wird Die automatische Stillstandserfassung arbeitet nach der Initialisierung kontinuierlich Die Sollposition wird mit der Istposition Enkoder verglichen und falls der Unterschied dieser beiden Werte einen vorher definierten Wert berschreitet wird ein sogenannter Stall erkannt Im anwenderprogrammierten Register SetPositionErrorLimit wird der Schwellenwert bestimmt f r den Bewegungsfehler Stall Um die automatische Bewegungsfehlererkennung zu initiieren muss vom Host aus die Anzahl Inkremente pro Schritt Mikroschritt spezifiziert werden Dies wird mit dem Kommando SetEncoderToStepRatio erf llt Dieses Kommando akzeptiert 2 Parameter Der 1 Parameter ist die Anzahl Inkremente pro Motorumdrehung und der 2 Parameter ist die Anzahl Schritte Mikroschritte pro Motorumdrehung Parameter Encoder counts per rev 16 bit 0 to 32 767 Steps microsteps per rev 16 bit 0 to 32 767 Tabelle 62 SetEncoderToStepRatio Parameter Z B falls ein Schrittmotor mit 1 8 pro Vollschritt verwendet wird mit einem Enkoder mit 4000 Inkremente pro Umdrehung m ssten die Parameter wie folgt aussehen SetEncoderToStepRatio 4000 200 wobei die Anzahl Schritte pro Umdrehung sich wie f
86. edeutet dies dann tats chlich dass jener Breakpoint inaktiv ist Nur einer der obigen Trigger kann zur gleichen Zeit selektiert werden 0 Threshold Triggered Beakpoints Threshold triggered Breakpoints verwenden den mit dem Kommando SetBreakpointValue ermittelten 32 bit Schwellwert als Vergleichswert Wenn der Vergleich wahr ist wird der Breakpoint getriggert Zum Beispiel wenn es gew nscht wird dass getriggert wird wenn die Sollposition gleich oder gr er 1000000 ist dann ist der Vergleichswert der mit dem Kommando SetComparisonValue geladen wird 1000000 und der ausgew hlte Trigger w re GreaterorEqualCommandedPosition Level Triggered Breakpoints Der Host liefert zwei 16 Bit Daten W rter einen level getriggerten Breakpoint zu setzen eine Triggermaske und eine Zustandsmaske high oder low Diese Werte werden gesetzt mit dem Kommando SetBreakpointValue Die oberen Bits des Datenwortes sind der Wert f r die Triggermaske und die unteren Bits des Datenwortes sind der Wert f r die Zustandsmaske Die Triggermaske bestimmt welche Bits des ausgew hlten Zustandsregisters f r den Breakpoint freigegeben werden Eine 1 in jeder beliebigen Position der Triggermaske gibt das entsprechende Zustandsregisterbit frei einen Breakpoint zu triggern eine 0 in der Triggermaske sperrt das entsprechende Zustandsregisterbit Wenn mehr als ein Bit selektiert wird wird der Breakpoint getriggert dessen spezifizierter Status erreicht wird Die Zus
87. egensatz zu den trapez f rmigen S Kurven und Geschwindigkeits Profilmodi verf gt das Electronic Gearing Profil ber keine explizite Erkennung ob eine Bewegung abgeschlossen wurde oder nicht Daher wird das motion complete Bit des Event Status Registers sowie das in motion Bit des Status Aktivity Registers in diesem Profil nicht funktionieren External Profile Mode Die POSYS 1800 B verf gt ber 64KB Dual Port RAM welches nun auf 2 Arten zugegriffen werden kann 1 Entweder als Memory Mapped Dual Port RAM mit fest eingestellte Adresse oder p21 POSYS Motion Control 2014 2 mit E A Zugriff welches aber etwa halb so schnell ausgef hrt wird im Vergleich zum Memory Mapped DPRAM Dieser Speicher dient prim r zwei Zwecken einmal kann es als Trace Buffer verwendet werden der andere Zweck ist es f r die Speicherung und Ausf hrung komplexer Bewegungsprofile zu verwenden Die Verwendung des Speichers f r den Trace Buffer erlaubt die real time Erfassung bestimmter Daten durch den Motion Prozessor und die automatische Speicherung im On Board RAM 4 verschiedene Variablen k nnen aus einer Gesamtzahl von 28 ausgew hlt werden die gleichzeitig erfasst werden sollen Die Daten k nnen zu jeder Update Periode ermittelt werden L ngere Zeitspannen lassen sich einstellen z B nur jede 10 Update Periode Die L nge des Trace Buffers ist variabel und programmierbar Entweder kann der gesamte Speicher verwendet werden oder ein definiert
88. eine 1 in der Maske gespeichert wird wird eine 1 in dem entsprechenden Bit des Event Status Register einen Interrupt ausl sen Jede Achse unterst tzt seine eigene Interruptmaske Dies erlaubt f r jede Achse eine unterschiedliche Interruptbedingung zu setzen Die POSYS fragt immer wieder das Event Register und die Interruptmaske ab um festzustellen ob ein Interrupt ausgel st wurde oder nicht Wenn ein Interrupt ausgel st wurde wird das Hostinterrupt Signal aktiv An diesem Punkt kann der Host auf das Interrupt reagieren obwohl die Ausf hrung der momentanen Hostanweisung inklusive des Transfers aller damit verbundenen Datenpakete abgeschlossen sein sollte aber es ist nicht unbedingt erforderlich Da es f r mehr als eine Achse m glich ist konfiguriert zu werden Interrupts gleichzeitig zu generieren stellt die POSYS das Kommando GetlnterruptAxis zur Verf gung Dieses Kommando liefert einen bitmaskierten Wert mit einem gesetzten Bit f r jede gegenw rtig eine Unterbrechung generierende Achse zur ck Bit 0 wird gesetzt wenn Achse 1 unterbricht Bit 1 wird f r Achse 2 gesetzt etc Wenn kein Interrupt ausgel st wurde dann sind keine Bits gesetzt Um ein Interrupt zu bearbeiten k nnen normale POSYS Kommandos verwendet werden Die Kommandos die vom Host gesendet werden um den Interrupt zu behandeln h ngen von der unterbrechenden Bedingung ab jedoch muss als Mindestes das unterbrechende Bit im Event Status Register mit dem
89. einen Interrupt Eine Bitmaske die alle Sendet GetEventStatus Kommando und ermittelt da die Flags f r unterbrechenden Achsen identifiziert schleppabstandsfehler und Endschalterereignis gesetzt sind Sendet wird von der POSYS zur ckgeliefert daraufhin ein ResetEventStatus Kommando um beide Bits Dieser Wert identifiziert eine Achse zur ckzusetzen Setzt mit dem Kommando SetMotorMode ON p62 POSYS Motion Control 2014 Hostaktion als die Interupt verursachende Achse wieder die Achse in den Closed Loop Mode zur ck Ein Clearl nterrupt Kommando setzt die Interruptleitung zur ck POSYS setzt Generiert eine negative Bewegung um vom Endschalter herunter zu Schleppabstandsfehlerbit zur ck und fahren deaktiviert Hostinterruptleitung Motor bewegt sich vom Endschsalter Activity Status Endschalter Bit ist gel scht Tabelle 39 Ereignis und Hostaktion bei einem Hostinterrupt Am Ende dieser Sequenz werden alle Zustandsbits gel scht die Interruptleitung ist inaktiv und es stehen keine weiteren Interrupts unbearbeitet an p63 POSYS Motion Control 2014 Hardware Control Signals Hardware Control Signals Es gibt eine Anzahl Signale f r jede Achse der POSYS die verwendet werden k nnen um die Aktivit t der POSYS mit Ereignissen von au erhalb zu koordinieren In diesem Abschnitt werden wir diese Signale beschreiben Dies sind die bi direktionalen Endschalter der Axisin Eingang und der AxisOut Ausgan
90. en Phase gilt dass das PWM oder analoge Signal eine einzelne Motomicklung bestromt F r Multi Phasen Motoren unterscheidet sich das Anbindungsschema leicht abh ngig davon ob PWM oder analoge Ausgangssignale verwendet werden Amplifiers gt Axis 1 phase A gt Axis 1 phase B gt Motor 1 gt Axis 1 phase C POSYS 182x B gt Axis 2 phase A gt Axis 2 phase B gt Motor 2 gt Axis 2 phase C Abbildung 23 EC Servomotoren PWM Mode Anschlu schema Abbildung 23 illustriert eine typische Verst rkerkonfiguration f r ein 3 Phasen EC Servomotor in PWM Modus In dieser Konfiguration gibt der Motion Controller auf 3 Phasen PWM magnitude Signale pro Achse aus Diese Signale gehen direkt auf drei half bridge artige Verst rker Abbildung 24 zeigt eine typische Verst rkerkonfiguration f r ein 3 Phasen EC Servomotor welches ber die analoge Signalausgabe des Motion Controllers geregelt wird p74 POSYS Motion Control 2014 Amplifiers gt Axis 1 phase A gt DAC 1A gt Axis 1 C A B gt Axis 1 phase B gt gt Motor 1 gt DAC 1B gt Axis 1 phase C POSYS 182x B gt Axis 2 phase A gt DAC2A gt Axis 2 _ C A B gt Axis 2 phase B Motor 2 gt DAC 2B Ca gt Axis 2 phase C Abbildung 24 EC Servomotor DAC Mode Anschlu schema Bei der analogen Signalausgabe muss das digitale Wort vom Motion Controller erst in eine Spannung umgewandelt werden Das wird erreicht d
91. en als auch vom Hostrechner direkt gelesen werden k nnen 0 Programmierung der Phaseninitialisierung Die folgenden Beispiele zeigen typische Kommandofolgen eines b rstenlosen Motors f r alle vier Initialisierungsmethoden um die Kommutierung zu initialisieren 0 Hallsensor basierte Initializierungssequenz Motorausgabemodus setzen Tabelle 57 Hall basierte Initialisierungssequenz Diese Sequenz setzt den Controller in den Modus die Hallsensor basierte Initialisierung anzuwenden und die Phaseninitialisierung sofort zu beginnen Der Motor wird sich nicht bewegen aufgrund dieser Sequenz und es gibt keine Verz gerung bei der Ausf hrung weiterer Operationen 0 Algorithmische Initialisierungssequenz p93 POSYS Motion Control 2014 SetMotorCommand yyyy Einstellen des Initialisierungsmotorausgabesignals InitializePhase Initialisierung starten Tabelle 58 Algorithmische Initialisierungssequenz Diese Sequenz veranlasst den Motor sofort mit der Initialisierung zu beginnen die www Anzahl von Servoloops andauert Um zu bestimmen ob die Prozedur komplettiert wurde kann man mit dem Kommando GetActivityStatus berpr ft werden Der Phase Initialization Bit wird anzeigen ob die Prozedur beendet wurde Nach dem der Initialisierungsprozess beendet wurde sollte der Motor mit dem Kommando SetOperatingMode eingeschaltet werden falls der Motor im Closed Loop Mode betrieben werden soll 0 Direct Se
92. ength mit SetBufferlength gesetzt die momentane Bufferl nge definiert Falls index nicht innerhalb dieses Bereiches liegt wird es nicht gesetzt und ein Instruction Error Bit wird gesetzt GetBufferReadindex bufferlD Liefert den Wert des Schreibindexes bufferlD f r den angegebenen Zwischenspeicher SetBufferWritel ndex bufferlD index Setzt den Leseindex f r den spezifizierten Buffer bufferlD index ist ein 32 Bit Integerwert von 0 bis length 1 wobei length die momentane Bufferl nge definiert Falls index nicht innerhalb dieses Bereiches liegt wird es nicht gesetzt und ein Instruction Error Bit wird gesetzt GetBufferWritelndex bufferlD Liefert den Wert des Schreibindexes f r den angegebenen Zwischenspeicher ReadBuffer bufferl D Liefert einen 32 Bit Wert vom spezifizierten Zwischenspeicher zur ck Die Position von dem dieser Wert gelesen wird wird bestimmt indem zum Leseindex die Basisadresse hinzuaddiert wird Nachdem der Wert gelesen wurde wird der Leseindex inkrementiert Falls das Ergebnis gleich der gegenw rtigen Bufferl nge entspricht wird der Leseindex auf Null zur ckgesetzt WriteBuffer bufferlD value Schreibt einen 32 Bit Wert in den spezifizierten Zwischenspeicher Die Position wird bestimmt indem zum Schreibindex die Basisadresse hinzuaddiert wird Nach dem der Wert geschrieben wurde wird der Schreibindex inkrementiert Falls das Ergebnis gleich der gegenw rtigen Bufferl nge entspricht wird der Schreibindex auf
93. enspeichers bufferlD ist ein 16 Bit Integerwert im Bereich von 0 15 welches an gibt welchen Zwischenspeicher es modifizieren soll address ist ein 32 Bit Integerwert welches die neue Basisadresse des Zwischenspeichers definiert Der Controller addiert address zur gegenw rtigen Zwischenspeicherl nge wie in SetBufferLength definiert um sicher zu stellen dass der Zwischenspeicher den maximal adressierbaren Speicherbereich nicht berschreitet Falls die Grenze berschritten wird wird das Kommando ignoriert und ein Instruction Error Bit gesetzt GetBufferStart buffer D Liefert die Basisadresse des abgefragten Zwischenspeichers SetBufferLength bufferlD length Definiert die L nge des Zwischenspeichers bufferlD ist ein Integerwert im Bereich von 0 31 length ist ein 32 Bit Integer im Bereich von 1 bis 3FFFFFFFh Der C ontroller addiert length zur gegenw rtigen Zweischenspeicherbasisadresse wie in SetBufferStart gesetzt um sicher zu stellen dass der maximal zur Verf gung stehende Speicherbereich nicht berschritten wird Falls doch wird das Kommando ignoriert und das Instruction Error Bit wird gesetzt HINWEIS SetBufferStart und SetBufferLength setzen die Bufferindexe wieder auf Null 0 zur ck GetBufferLength bufferlD Liefert die L nge des spezifizierten Buffers SetBufferReadindex bufferlD index Setzt den Schreibindex f r den spezifizierten bufferlD Buffer Index ist ein 32 Bit Integerwert von 0 bis length 1 vobei l
94. ent Status Register Wie alle Bits im Event Status Register wird der Motion Complete Bit gesetzt durch den Controller und vom Host wieder zur ckgesetzt Wenn eine Bewegung abgeschlossen worden ist setzt der Controller das Motion Complete Bit Der Host kann dieses Bit durch das Abfragen des Event Status Register pr fen oder der Host kann einige automatische Folgeaufgaben programmieren die einen Breakpoint einen Interrupt oder ein AxisOut Signal benutzen In jedem Fall sollte der Host sobald der Host erkannt hat dass die Bewegung abgeschlossen worden ist das Motion Complete Bit l schen welches das Ende der Bewegung signalisiert Diese Aktion erlaubt das Bit das Ende einer Bewegung zu signalisieren f r ein neue Bewegung Motion Complete kann das Ende der Bewegung in einer von zwei Arten anzeigen Die 1 M glichkeit ist Kommando basiert der Motion Complete Indicator wird alleine auf Basis des Trajektoriegenerators gesetzt Die andere Methode basiert auf die aktuelle Situation welches bedeutet dass der Motion Complete Indicator auf die aktuelle Enkoderposition bezogen wird Das Kommando SetMotionCompleteMode bestimmt die Art der Bedingung die den Indikator aktiviert Wenn es auf den Sollwert basiert wird die Bewegung f r beendet angesehen wenn die Sollgeschwindigkeit und beschleunigungswerte beide Null 0 ergeben Dies geschieht normalerweise am Ende einer Bewegung wenn die Sollposition erreicht worden ist Aber es kann auch
95. er Bereich Es k nnen bis zu 32 Bereiche eingestellt werden die verschiedenen Zwecken dienen Au erdem l t sich der Speicher verwenden um komplexe Bahnprofile abzuspeichern die vom Motion Control Prozessor abgearbeitet werden Relevante On Board RAM Funktionen Funktionen die relevant f r die Verwendung vom On Board RAM sind 0 Profile Mode GetBufferFunction GetBufferLength GetBufferReadindex GetBufferStart GetBufferWritel ndex GetStopMode ReadBuffer e SetBufferFunction e SetBufferLength SetBufferReadindex SetBufferStart SetBufferWritelndex SetStopMode WriteBuffer Die Funktion SetProfileMode axis mode wurde um den Modus On Board RAM Mode 4 erweitert Alle die obigen Funktionen und die ben tigten Parameter werden ausf hrlich im Programmier Handbuch beschrieben 0 Trace Mode p22 POSYS Motion Control 2014 GetTraceCount _GetTraceMode GetTracePeriod GetTraceStart GetTraceStatus GetTraceStop GetTraceVariable SetTraceMode SetTracePeriod SetTraceStart SetTraceStop SetTraceVariable Diese Funktionen gelten nur f r Trace Funktionen Setup und Ausf hrung Eine detaillierte Beschreibung kann im Programmierhandbuch gefunden werden 0 Verwendung von On Board RAM f r External Profile Mode Der On Board RAM kann f r die Speicherung komplexer Bewegungssequenzen verwendet werden Die Bewe
96. erst tzt 3 Phasen Schrittmotoren mit 120 Versatz zwischen den Phasen Um einen der beiden Motortypen zu spezifizieren verweden Sie das Kommando SetMotorType Welche Einstellung vorliegt kann mit dem Kommando GetMotorType berpr ft werden Zus tzlich sind f r die verschiedenen Motortypen auch verschiedene Signalausgabemethoden verf gbar Die folgende Tabelle listet diese auf Tabelle 64 Mikroschrittausgangssignale Die folgende Grafik zeigt die Phasen A und B f r ein 2 Phasen Schrittmotor und die Phasen A B und C Signale f r ein 3 Phasen Schrittmotor p103 POSYS Motion Control 2014 Phase A Phase B 2 Phase Microstepping Phase A Phase B Phase C mm 120 3 Phase Microstepping o 64 128 192 256 320 Microsteps Abbildung 38 2 und 3 Phasen Mikroschrittausgangssignale 0 Haltemoment Funktionen Zus tzlich zu den Takt amp Richtungssignalen unterst tzt die POSYS f r Schrittmotoren einen weiteren Ausgang f r jede Achse bekannt als das AtRest Signal welches anzeigt ob ein Profil gerade abgearbeitet wird oder nicht Dieses Signal kann hilfreich sein in Verbindung mit Treibern die ein anderes Moment im Stillstand aufweisen als w hrend der Bewegung F r Achsen die im Mikroschrittmotormodus verwendet werden existiert eine hnliche Funktion die es erlaubt einen spezifischen Haltemoment zu definieren Der Strom der w hrend des Mikroschrittbetriebes benutzt wird wird definiert mit dem Komma
97. erwendet werden Die Gr e des RAM s ist fix Es kann sowohl als Memory Mapped RAM schneller aber Adress abh ngig konfiguriert werden als auch als IO Mapped Memory etwas langsamer daf r immer verf gbar p56 POSYS Motion Control 2014 Um einen Trace zu starten m ssen eine bestimmte Anzahl Parameter definiert werden Diese sind nachfolgend gelistet Beschreibung Trace buffer Der Host muss den Bufferspeicher f r die Erfassung initialisieren Die POSYS stellt verschiedene Instruktionen zur Verf gung um den On Board Speicher als Buffer zu initialisieren und erlaubt dadurch Start und Endpunkte des On Board Speichers f r die Speicherung zu definieren Trace variables Es gibt 28 verschiedene Variablen die gespeichert werden k nnen als da w ren Istposition Event Status Register Schleppabstandsfehler usw Der Anwender muss ausw hlen welche Variablen und von welcher Achse diese erfasst werden sollen Trace period Die POSYS kann in frei programmierbaren Zyklen einzelner Zyklus in unregelm igen Abst nden oder mit einer bestimmten Frequenz Daten erfassen Diese Variable muss angegeben werden Trace mode 2 verschiedene Trace Modi stehen zur Verf gung einmal oder kontinuierlich Diese spezifiziert auf welche Art die Daten gespeichert werden und ob der Trace Modus automatisch stoppt oder vom Host unterbrochen werden muss Trace start stop Damit die Datenerfassung pr zise und synchronisiert abl uft ist es m
98. et aufgrund einer Unterspannungserkennung ausgel st wurde External signal eine 1 in diesem Bit zeigt an dass ein Reset aufgrund eines externen Signals ausgef hrt wurde Ein solches Reset kann z B ber das GP Con herr hren dass mit dem externen Resetknopf des 10700 800 verbunden ist Wenn dieses Signal auf low geht wird ein Reset ausgel st Watchdog timeout eine 1 in diesem Bit zeigt an dass ein Reset aufgrund eines Watchdog Timeouts erfolgte Tabelle 68 Reset berwachungskontrollregister Card ID Kontrollregister 1 O space address 0xff Die folgende Tabelle beschreibt die Details f r das 0xff address card ID Register I O Address Oxff Major PLD Revision bin r kodiertes 4 Bit Wort welches die Major PLD Revision angibt Dieser Wert reicht von 0 15 Minor PLD Revision bin r kodiertes 4 Bit Wort welches die Minor PLD Revision angibt Dieser Wert reicht von 0 15 Board revision bin r kodiertes 4 Bit Wort welches die Board Revision angibt Dieser Wert reicht von 0 15 Boardtyp bin r kodiertes 4 Bit Wort welches die Boardtype angibt Dieser Wert kann eine der folgenden Werte haben 0 ISA Bus basierte Kartenfamilie 1 PCI Bus basierte Kartenfamilie 2 unbenutzt 3 PC 104 basierte Kartenfamilie 4 15 unbenutzt Tabelle 69 Card ID Kontrollregister 0 p109 POSYS Motion Control 2014 Watchdog Kontrollregister 10 space address 4 Die folgende Tabelle beschreibt die D
99. etails f r das 4 address Watchdog Timeout Register Ein Scheibkommando mit WritelO aktiviert den Watchdog Timer Anschliessend muss alle 104 millisec in dieses Register geschrieben werden um ein Reset des Controllers zu vermeiden Einmal aktiviert kann es nicht mehr daktiviert werden ausser durch ein PowerOff PowerOn Vorgang I O Address 4 015 0x5562 Tabelle 70 Watchdog Kontrollregister p110 POSYS Motion Control 2014 Index 16 Bit DAC Signalausgabe 73 5 50 50 PWM 72 _ A Absolutenkodereingang SSI BiSS EnDat 69 Activity Status Register 46 Address Bit Protocol 85 Aktivieren des Motor Output Modules 70 Aktivieren und Deaktivieren von Control Modules 10 Aktivieren und Deaktivieren von Trajectory Generator Modules 25 Aktuelle Positionsregister 66 Algorithmische Initialisierungssequenz 94 Algorithmische Phaseninitialisierung 92 Analoge Eing nge 64 B Bahnen Profile und Parameter 14 Bahngeneratorkontrolleinheiten 99 Bestimmung des Bi Quad Skalierungsfaktors 32 Biquad Output Filter 31 Biquadkoeffizienten bestimmen 32 Blockschaltbild 9 Breakpoint Aktionen 41 Breakpoint Beispiele 42 Breakpoint Latenzen 42 Breakpoint Trigger 40 Breakpoints 39 C CAN Ereignis Benachrichtigung 88 Card ID Kontrollregister 1 0 space address 0xff 109 Checksummen 83 Control Flow berblick 10 Controller Area Network CAN 86 p111 POSYS Motion Control 2014 D Das AxisOut Signal 6
100. eut die Synchronisation herzustellen Die beiden Multi drop Protokolle differieren in der Methode wie sie die Synchronisation kontrollieren Bitte beachten Sie dass die Multi drop Protokolle auch in einer Punkt zu Punkt Konfiguration verwendet werden k nnen solange der Host immer das Addressbyte f r jedes Kommandopaket mit vorne wegschickt und auch allen anderen Gesetzm igkeiten f r das selektierte Protokoll folgt Diese Methode der Handhabung erlaubt dem Host mit Sicherheit in einem synchronisierten Zustand zu verbleiben ohne die Notwendigkeit irgendwelche Zeitspannen und p84 POSYS Motion Control 2014 Resynchronisationsmethoden zu implementieren 0 ldle line Mode Bei der Verwendung dieses Protokolls werden von der POSYS strenge deterministische Auflagen an die Daten die Teil eines Kommandos sind gestellt In diesem Modus interpretiert die POSYS das 1 empfangene Byte nach einer Periode der Unt tigkeit als den Beginn eines neuen Pakets Alle bis dahin empfangenen Daten werden verworfen Die Timeout Periode ist gleich der Zeit die erforderlich ist 10 Bits an seriellen Daten mit der konfigurierten Baudrate zu senden grob 1 Millisekunde bei 9600 Baud Falls eine Verz gerung zwischen empfangenen Bytes eines Datenpakets in dieser L nge auftritt werden die bereits empfangenen Bytes verworfen und das 1 Zeichen nach der Verz gerung als Addressbyte eines neuen Paketes gewertet 0 Address Bit Protocol Bei diesem P
101. f Werte von 32768 bis 32767 um den PWM Ausgabebereich abzudecken Z B wenn das Ausgabesignal f r eine Achse der POSYS 12345 sein soll dann wird das Richtungssignal high sein und das impuls breiten modulierte Signal wird mit folgendem Zyklus arbeiten 2048 12345 32768 771 56 772 Dies bedeutet dass das impuls breiten modulierte Signal f r 772 Zyklen high sein wird und f r die restlichen 1276 Zyklen low F r die negative Richtung 12345 w rde das impuls breiten modulierte Signal das Gleiche bleiben aber das Richtungssignal w re stattdessen low 50 50 PWM In diesem Modus wird nur ein Ausgang verwendet pro Motorausgang oder Motorphase Dieser Ausgang tr gt das von einem variablen Arbeitszyklus abh ngigen impuls breiten modulierte Signal dass dem vorhergehenden beschriebenen Signal sehr hnelt Im Gegensatz bedeutet aber ein Zyklus von 50 einen Drehmomentsollwert von 0 darstellt und den Motor in der Position halten soll Negative Fahrtrichtungen werden damit bewerkstelligt dass der Zyklus weniger als 50 betr gt und positive Richtungen werden gefahren wenn der Zyklus einen Wert h her als 50 hat In diesem Modus bedeutet 100 Ausgabewert volle positive Richtungsbewegung und 0 volle negative Richtungsbewegung Z B wenn das Ausgabesignal welches der Controller ausgibt f r eine bestimmte Phase 12345 ist dann sieht die Ausgabeformel so aus 1024 1024 12345 32768 1409 78 1410 F r 1410 Zyklen ist das impuls breiten m
102. g Diese Signale existieren f r jede Achse der POSYS Das AxisOut Signal Jede Achse verf gt ber einen generellen achsen spezifischen Ausgang welches programmiert werden kann auf jeden Zustand der zugewiesenen Bits im Event Status Register Activity Status Register oder Signal Status Register zu agieren Eine oder mehrere Bits k nnen ausgegeben werden basierend auf den SelectionMask und die Signale k nnen mit der SenseMask programmiert werden high oder low aktiv zu sein Hierf r wird das Kommando SetAxisOutMask verwendet und das Kommando GetAxisOutMask liefert den programmierten Zustand zur ck Die berwachten Bit s in einem dieser Register k nnen der gleichen oder einer anderen Achsen als der Achse dessen AxisOut Signal berwacht wird sein Diese Funktion ist n tzlich f r die Ansteuerung externer Peripherie durch Ausgabe von Hardwaresignalen Zum Beispiel erlaubt es das AxisOut Signal zu steuern wenn Bedingungen wie Schalte AxisOut wenn Motion Complete Bit ist low oder wenn Kommutierungsfehlerbit high ist auftreten Ob das AxisOut Signal active high oder active low schaltet kann mit dem Kommando SetSignalSense bestimmt werden Es ist m glich den AxisOut Ausgang als ein direktes unter Hostkontrolle laufendes Software programmiertes Ausgangsbit zu benutzen Dies kann bewerkstelligt werden indem man null selektiert als Register ID mit dem Kommando SetAxisOutSource und indem man den inaktive
103. gister Digitale Filterung High Speed Position Capture High Speed Position Capture Absolutenkodereingang SSI BiSS EnDat Absolutenkodereingang SSI BiSS EnDat Multi Turn Systeme Motorausgabesignale Motorausgabesignale Motor Output Module deaktivieren Aktivieren des Motor Output Modules Motortyp Motorausgabeformat Sign Magnitude PWM 50 50 PWM 16 Bit DAC Signalausgabe Einstellung der PWM Frequenz Multi Phasen Motoranbindung p4 POSYS Motion Control 2014 Multi Phasen Motorkommandointerpretation Takt amp Richtungssignalausgabe Mikroschrittmotorsignalausgabe Motorausgangssignal Interpretation Impuls Breiten Modulierte PWM Motorsignalausgabe Motortreiber Konfigurationen Hostkommunikation Hostkommunikation Host 1 0 Commands Paralleler Kommunikationsport ISA Bus Instruktionsfehler Serielle Schnittstelle Konfiguration Kommandointerpretation Instruktionsfehler Checksummen bertragungsprotokolle Point to Point Mode Multi drop ldle line Mode Idle line Mode Address Bit Protocol Controller Area Network CAN Controller Area Network CAN berblick Message Format Konfiguration der CAN Schnittstelle CAN Ereignis Benachrichtigung EC Servomotorkontrolle berblick Phasenanzahl Phasenkontrollmodule Phasenz hlungen Phaseninitialisierung Hallsensor basierte Phaseninitialisierung Algorithmische Phaseninitialisierung Direct Set Phaseninitialisierung Programmierung der Phaseninitialisierung Hallsensor basierte I
104. gister und der MC User Space der ber den MC Host Port mit den Subadressen 0x00 OxFF angesprochen werden kann Der MC unterst tzt keine Byte Adressierung Alle Adressen sind Word Adressen und k nnen auch ungeradzahlig sein Die Umrechnung zwischen MC seitigen und PC seitigen DPM Adressen erfolgt somit ber den Faktor 2 Der MC seitige DPM Adressraum erstreckt sich von 0x0000 Ox7FFF 0 Externe Speicherpuffer Die POSYS 1800 B Motion Controller bietet eine Reihe von Komm andos die verwendet werden um auf den ex ternen Speicher zu zugreifen Dieser Raum ist in einzelne Puffer eingeteilt um einen besseren flexibleren Zugang zu bieten Es erlaubt bis zu 32 Speicherpuffer zu definieren In diesem Multi Puffer Schema stellt ein Puffer einen zusamm enh ngenden Block im Speicher dar und wird durch die Definition einer Basis Adresse f r den Block und einer Blockl nge beschrieben Sobald ein Pufferbasisadresse und L nge definiert w urden k nnen Datenwerte in und aus dem Puffer geschrieben und gelesen w erden Bei der Definition der Speicherpuffer w ird der externe Speicher als eine Folge von 32 Bit Speicherpl tzen behandelt Jede 32 Bit Wert nimmt bis zu zwei 16 Bit Speicherpl tze im physikalischen Speicher ein Beides die Pufferbasisadressen und L ngen arbeiten m it 32 Bit Werten und m ssen deshalb verdoppelt werden um die entsprechenden physikalischen Adressen zu erhalten Bei der Definition von Speicherpuffer erlaubt der Motion
105. gisters Z B falls der Motion Controller ber den DAC mit 10V Ausgabebereich verbunden ist und am Motion Controller sind sowohl der Bahngenerator und das Position Loop Module deaktiviert und der Motor Command Register ist programmiert mit dem Wert 32767 maximaler Ausgabewert SetMotorCommand dann w hrend der Motor eine Umdrehung durch einen vollen elektrischen Zyklus ausf hrt wird eine um die OV zentrierte sinusf rmige Wellenform ausgegeben dessen maximaler und minimale Spannung einmal 10V und dann einmal 10V betr gt p75 POSYS Motion Control 2014 0 Takt amp Richtungssignalausgabe F r Schrittmotoren werden diese Art Signale ausgegeben um Treiber f r Schrittmotoren oder digitale Verst rker f r Servomotoren die dieses Format unterst tzen anzutreiben Jedes Taktsignal das der Motion Controller ausgibt entspricht einem Inkrement f r die zu initiierende Bewegung Dieses Signal ist immer ein Rechtecksignal Standardm ig wird ein Taktsignal als ausgef hrt angesehen sobald das Signal von low auf high wechselt Das Signal entspricht nicht notwendigerweise einem 50 igen Zyklus jedoch sind die ansteigenden und fallenden Flanken des Rechtecksignals pr zise abgestimmt Um die Erkennung des Taktsignales umzukehren verwenden Sie bitte das Kommando SetSignalSense Weitere Informationen erhalten Sie auch im Kapitel Signal Sense Mask Das Richtungssignal ist mit dem Taktsignal synchronisiert Standardm
106. glich Start conditions und Stopp Bedingungen zu definieren Die POSYS erlaubt die berwachung der spezifizierten Konditionen und startet und stoppt die Erfassung automatisch ohne Hostintervention Tabelle 32 Trace Buffer Parameter Der Trace Buffer Die POSYS kann On Board Speicher in Datenbuffer organisieren Jeder Buffer erh lt eine numerische ID Adresse Der Trace Buffer muss immer ID 0 sein Ehe die Parametererfassung verwendet werden kann muss der Speicherbuffer O mit einer g ltigen Adresse und L nge programmiert werden Die Gr e des Datenbuffers definiert die maximale Anzahl m glicher zu erfassende Datenpunkte Die maximale Gr e des Datenbuffers ist wiederum nur durch die maximal zur Verf gung stehende physikalische Speicherkapazit t des Systems begrenzt Der adressierbare Speicherbereich erlaubt 32x16 K Dual Port RAM zu adressieren die komplett f r die Speicherung von Daten verwendet werden k nnen W hrend die Datenerfassung l uft ist es nicht m glich die Konfiguration f r die Datenerfassung zu ndern Falls ein Versuch unternommen wird die Basisadresse l nge oder den Write Pointer die mit Buffer 0 assoziiert sind w hrend der Erfassung zu ndern wird dieser Versuch ignoriert und ein Error Flag gesetzt Jedoch ist es m glich den Read Pointer und Read Data des Trace Buffers zu ndern w hrend die Erfassung l uft Dies erlaubt den Buffer kontinuierlich leeren zu k nnen w hrend die Erfassung
107. gmente und senden Sie zus tzliche Segmente zum On Board RAM sobald der Speicher zur Verf gung steht Der RAM wird in Bereiche aufgeteilt die einmal die aktuelle Sequenz ausf hrt und einmal die nachfolgenden Daten f r die darauffolgende Ausf hrung bereith lt Die Funktionen GetBufferReadindex und GetBufferWritelndex sind Mechanismen um die momentane Leseposition und die neue Schreibposition f r neue Daten zu bestimmen Sobald die Abarbeitung der Anfangsdaten beendet ist springt der Lesezeiger automatisch zur Startposition und f hrt fort mit der Ausf hrung des Programmes Angenommen die folgenden Bedingungen liegen vor die Gesamtanzahl Programmpositionen die im RAM ben tigt werden betragen 26 350 aber nur 10 000 stehen zur Verf gung Dann fahren Sie folgenderma en fort e Laden Sie die Daten in die Position O bis 10 000 e Starten Sie den External Profile Mode e Setzen Sie einen Unterbrechungspunkt dass zu einem Ereignis passt sobald der BufferReadindex die Position 5 000 im RAM passiert oder pr fen Sie BufferReadindex gt 5 000 Beginnen Sie damit neue Daten in den RAM zu laden und beginnen Sie mit der Position BufferWritelndex 0 bis zu RAM Position 4 999 Pr fen Sie den BufferReadindex bis er lt 10 000 ist Beginnen Sie damit neue Daten in den Speicher zu laden und beginnen Sie damit an der Position BufferWritelndex 5 000 und fahren Sie damit fort bis RAM Position 10 000 Fahren Sie mit dieser Methode fort
108. gungsdaten die vom Host kalkuliert wurden k nnen in den Speicher geladen und dann vom Motion Prozessor ohne weitere Hostintervention ausgef hrt werden Bis zu 4 Achsen gleichzeitig k nnen kontinuierlich in einem hoch komplexen Pfad bewegt werden e Position e Velocity e Acceleration e Jerk S curve SegmentTime Alle Daten sind im 32 Bit Format e Positionsdaten sind immer absolut und repr sentieren die Zielposition am Ende des Segments Geschwindigkeit ist in Quadraturz hlungen Update Periode Servozyklus Beschleunigung negativ und positiv ist in Quadraturz hlungen Update Periode e Jerk istin Quadraturz hlungen Update Periode e SegmentTime ist ein Vielfaches der Update Periode Servozyklus Wenn alle 4 Achsen aktiviert sind und die Update Periode ist auf den Standardwert von 256 uSek eingestellt dann ist die schnellste verf gbare Update Zeit f r die Daten im Buffer die durch SegmentTime dargestellt werden ein Multiplikator von 1 Wenn ein SegmentTime Multiplikator von O festgestellt wird wird der External Profile Mode f r diese Achse beendet Die anderen Achsen werden fortfahren mit der Ausf hrung ihrer Bewegungsprofile Bewegungsfehler Schleppabstandsfehler und ein abrupter Stopp k nnen ebenso ein Ende der Ausf hrung von Programmen im On Board RAM herbeif hren p23 POSYS Motion Control 2014 Die L nge des SegmentTimes h ngt vom Profiltyp und von der Applikation ab Je k rzer die Zeit desto meh
109. h alle Motoren wie die POSYS 182x B falls sie mit digitalen Treibern verwendet wird die Unterst tzung bietet f r Takt amp Richtungssignaleingang f r den Motorsollwert F r die POSYS 182x B gilt dass f r jede Achse die Motortype ausgew hlt werden muss und dieser Wert daf r hergenommen wird um eine Reihe von Standardeinstellungen zur Verf gung zu stellen und zu bestimmen welche Control Modules aktiviert werden und welche Art von Signalausgabe zum Verst rker bereitgestellt wird W hrend des Einschaltens liest der Motion Controller das Motorkonfigurationswort an einer bestimmten Adresse auf seinem externen Bus um die Standardmotortypeinstellungen jeder Achse zu bestimmen Bei der POSYS 182x B antwortet die Logik auf diese Leseoperation aufgrund der Steckbr ckenkonfiguration CON805 amp CON806 Diese Steckbr ckenkonfiguration definiert bestimmte Ausg nge f r entweder um die erste Gruppe von Motoren oder Schrittmotoren ansteuern zu k nnen siehe vorangehende Tabelle Die Auswahl des direkten Motortyps in der ersten Gruppe wird durch ein weiteres Kommando SetMotorType durchgef hrt Welcher Wert gesetzt wurde kann mit dem Kommando GetMotorType abgefragt werden Das Kommando SetMotorType sollte als eines der ersten Kommandos ausgef hrt werden nach dem Einschalten falls eine Serie von weiteren Kommandos die Motor spezifisch sind ausgef hrt werden sollen und die Art der Verst rkeranbindung definieren Dies ist auch deswegen n
110. he Frequenz eingestellt ist kann mit dem Kommando GetPWMFrequency abgefragt werden gt Anmerkung Dieses Kommando steht f r Karten mit erweiterter PID Funktionalit t Piezo Funktionalit t nicht zur Verf gung Produkt PWM Frequenzauswahlm glichkeiten POSYS 182x B 20kHz 10 Bit 1 1 024 Ausgabeaufl sung 80kHz 8 Bit 1 256 Ausgabeaufl sung POSYS 182x B Piezo 20kHz 10 Bit 1 1 024 Ausgabeaufl sung fester Wert Tabelle 43 Setzen der PWM Frequenz Die Wahl einer dieser Frequenzen h ngt von Motortyp und Anwendung ab F r die POSYS 1824 B und POSYS p73 POSYS Motion Control 2014 1824 B Piezo sollte 20kHz f r alle Motortypen und PWM Modi ausgew hlt werden au er wenn ein Low Pass Filter verwendet wird um aus den PWM Signalen analoge Signale zu erzeugen In diesem Fall sollten 80KHz ausgew hlt werden au er POSYS 1824 B Piezo Multi Phasen Motoranbindung Die allgemeinen Konzepte der PWM oder analogen Ausgangssignale gelten sowohl f r DC Servomotoren als auch Multi Phasen Motoren b rstenlose Gleichstrommotoren Schrittmotoren Abh ngig von der Wellenfomm und der gew hlten Motorleistung PWM DAC werden entweder zwei oder drei Ausgangssignale pro Achse vom Motion Controller zur Verf gung gestellt Dies ist in der folgenden Tabelle aufgef hrt Motortyp 3 phase 3 phase 3 phase 2 phase 2 phase 2 phase Tabelle 44 Multi Phasen Motoranbindung F r DC Servomotoren mit einer einzig
111. her zu adressieren um Tracedaten zu speichern Zus tzlich kann es verwendet werden um andere Daten zu hinterlegen wie z B Profilsequenzen SetProfileMode ExternalProfileMode Der MC ist in der Lage gro e Mengen an Bewegungsdaten in externem RAM zu verwalten Aufgrund schnelleren Datenaustauschs wird in der Regel ein Dual Port Memory eingesetzt welches von beiden Seiten MC und PC konkurrierend bedient wird Auf der Baugruppe POSYS 1800 B wurde dieses DPM innerhalb des FPGAs realisiert Die Gr e betr gt 32768 Words zu 16 Bit Innerhalb dieses Speicherbereichs k nnen vom MC Datenpuffer angelegt werden die vom PC zu geeigneten Zeitpunkten geleert oder gef llt werden m ssen Zur Erleichterung dieser Aufgabe wurden f r den Lese und den Schreibzugriff je ein Adressregister eingef hrt welches eine PC seitige Interruptanforderung ausl sen kann sobald ein entsprechender MC seitiger Zugriff erfolgt Die Schreib und Leseadressen m ssen durch die Datentransferroutinen im PC verwaltet werden Da f r DPM Schreib und Lesehits sowie f r MC Host Interrupts nur ein PC Interrupt verwendet wird mu die Identifizierung der Interruptquelle innerhalb der POSYS 1800 B m glich sein Dazu steht das Interrupt Statusregister 0x0234 im FPGA Subsystem zur Verf gung DPM LS Addr MCA 15 D MC Ota 15 CR MCORL DPM WR Addr Reg O02204 Cx020S Low HON Abbildung 39 DPRAM p105 POSYS Motion Control 2014 PC104 ISA Bus 10
112. hler k nnen durch eine Vielzahl Umst nde verursacht werden Die H ufigsten sind im Folgenden gelistet elektrische St rungen auf den A und B Enkoderleitungen elektrische St rungen auf der Leitung f r den Indextakt e falsches Setzen der Enkoderaufl sung pro elektrischen Zyklus F r jede Instanz in der ein Kommutierungsfehler auftritt wird die Phasenreferenzierung f r den Indextakt ausgesetzt Abh ngig vom Grund des Kommutierungsfehlers k nnte es ein einmaliges Ereignis sein oder kontinuierlich auftreten Sobald ein Kommutierungsfehler auftritt wird Bit 11 im Event Status Register high gesetzt 1 Diese Bedingung kann auch als Quelle f r die Verwendung von Hostinterrupts verwendet werden um den Host automatisch ber den aufgetretenen Kommutierungsfehler zu unterrichten Dieses Bit muss vom Host zur ckgesetzt werden jedoch muss bedacht werden dass je nach der Art des Fehlers der Kommutierungsfehler kontinuierlich auftreten kann HINWEIS Ein Kommutierungsfehler kann anzeigen dass mit der Konfiguration des Positioniersystems ein ernsthaftes Problem besteht welches sich in unsicheren Bewegungsbl ufen u ert Es liegt in der Verantwortung des Hosts Bedieners den Fehler zu bestimmen und zu korrigieren um sichere Bewegungsabl ufe zu gew hrleisten Justierung der Phasenwinkel Die POSYS f r b rstenlose Servomotoren verf gen ber die F higkeit den Kommutierungswinkel des Motor s direkt zu ndern im Still
113. icklung 1 Der Wert der gegenw rtig ausgegben wird an die Motorwicklung 2 Nur g ltig f r 2 bzw 3 Phasenmotoren Phase C Command Der Wert der gegenw rtig ausgegben wird an die Motorwicklung 3 Nur g ltig f r 3 Phasenmotoren Phase Angle Scaled Der Phasenwinkel von 0 360 anstatt in Encoderz hlwerten Analoge Eing nge 20 Analog input 1 Der zuletzt gelesene Wert am Analogeingang 0 21 Analog input 2 Der zuletzt gelesene Wert am Analogeingang 1 22 Analog input 3 Der zuletzt gelesene Wert am Analogeingang 2 Analog input 4 Der zuletzt gelesene Wert am Analogeingang 3 Analog input 5 Der zuletzt gelesene Wert am Analogeingang 4 Analog input 6 Der zuletzt gelesene Wert am Analogeingang 5 p58 POSYS Motion Control 2014 ID name JBeschrebung Der zuletzt gelesene Wert am Analogeingang 6 0 None Zeigt an dass keine Daten f r die Tracevariable selektiert wurden 8 Motion Controller Time Die Zykluszeit Einheiten in Servoloop Updateraten Tabelle 34 Unterst tzte Variablen IDs Wird der Parameter einer Variablen auf Null eingestellt werden auch automatisch alle nachfolgenden Parameter deaktiviert Deswegen wenn x Parameter w hrend jeder Traceperiode gespeichert werden sollen muss die Tracevariable 0 X 1 verwendet werden um zu identifizieren welche Parameter gespeichert werden sollen und die Tracevariable X muss gleich 0 sein Zum Beispiel angenommen die Ist und die Sollpositi
114. ie Kommandos SetVelocity SetAcceleration und SetDeceleration laden die jeweiligen Werte Die Befehle GetVelocity GetAcceleration und GetDeceleration liefern die programmierten Werte zur ck Im Gegensatz zu den trapezf rmigen und S Kurven Profilmodi welche die Endposition bestimmt welche Richtung positiv oder negativ wird bestimmt das Vorzeichen im Geschwindigkeitsmodus die positive oder negative Richtung Deswegen kann der Geschwindigkeitswert der zur POSYS gesandt wird positive Werte f r eine positive Richtungsbewegung oder negative Werte haben f r eine entgegengesetzte Richtungsbewegung In diesem Profil wird keine Endposition angegeben Die Bewegung wird g nzlich kontrolliert indem man die positive negative Geschwindigkeit und Beschleunigung ver ndert w hrend das Profil ausgef hrt wird I Geschwindigkeitsmodus ist die Achsenbewegung nicht an eine Endposition gebunden Es liegt in der Verantwortung des Anwenders Geschwindigkeits und Beschleunigungswerte zu verwenden die einen sicheren Bewegungsablauf garantieren Die Bahn wird ausgef hrt indem man kontinuierlich die Achse mit dem angegebenen Wert beschleunigt bis die Geschwindigkeit erreicht wird Die Achse f ngt an abzubremsen wenn eine neue Geschwindigkeit angegeben wird der einen kleineren Wert hat als die aktuelle Geschwindigkeit oder ein anderes Vorzeichen hat als die aktuelle p19 POSYS Motion Control 2014 Richtung vorgibt Ein einfaches Geschwindig
115. ie von einem Verst rker angetrieben werden welches Takt amp Richtungssignale akzeptiert Mikroschrittmotoren hingegen sind Motoren die mit einem Verst rker verbunden werden welcher die einzelnen Phasen direkt ansteuert hnlich wie bei b rstenlosen Servomotoren Im Gro en und Ganzen sind die Funktionen der POSYS wenn sie mit Schrittmotoren verwendet wird hnlich oder gleich denen wie bei der Verwendung mit Servomotoren Die Bahngenerierung Breakpoints Tracefunktionen und eine Anzahl weiterer Funktionen sind absolut identisch und Motor unabh ngig Der Hauptunterschied zwischen Servo und Schrittmotoren jedoch besteht darin dass das Position Loop Modul f r Schrittmotoren nicht verwendet werden kann und die Art der Motorausgabesignalerstellung in einigen Aspekten differiert im Vergleich zu denen f r Servomotoren Es gibt auch eine Anzahl Funktionen die vom Prinzip hnlich sind aber von der Implementierung abweichen Der Schleppabstandsfehler wie f r Servomotoren verwendet ist das quivalent zur Stall Detection f r Schrittmotoren Die Unterschiede werden in den n chsten Kapiteln beschrieben Die Anwender der POSYS 182x B k nnen zwischen diesen Funktionalt ten w hlen u a auch zwischen der Verwendung von Takt amp Richtungssignalen oder Signalen f r die Ansteuerung von Mikroschrittmotoren Diese Wahl beeinflu t auch die Wahl der Verst rker und der Anbindung an die Peripherie und eine Anzahl weiterer Funktionen Die POSYS 185x
116. ird besteht aus einer kontrollierten Serie individueller Takte die jedes f r sich einen gew nschten Schritt repr sentieren Dieses Signal wird immer als Rechtecksignal ausgegeben Als Standard gilt ein Taktsignal als gegeben wenn das Signal von low auf high wechselt Eine Invertierung dieser Signale wird sp ter in diesem Kapitel beschrieben Das Richtungssignal wird mit dem Taktsignal synchronisiert ausgegeben Das Richtungssignal ist dahingehend kodiert dass ein high f r die positive und ein low f r die negative Richtung gilt Die ausgegebene Taktrate wird bestimmt durch die entsprechenden Bahnprofilparameter Jedoch unterst tzt die p101 POSYS Motion Control 2014 POSYS 1800 B unterschiedliche Bereiche der Taktgenerierung um die Ausgabe zu pr zisieren f r Geschwindigkeitsbereiche Der zu verwendende Geschwindigkeitsbereich kann mit dem Kommando SetStepRange eingestellt werden GetStepRange liest den eingestellten Wert Die folgende Tabelle listet die verschiedenen M glichkeiten auf 0 to 4 98 M steps per second Tabelle 63 W hlbare Taktbereiche Die Bereiche oben zeigen die minimalen und die maximalen Bereiche die auf dem Controller eingestellt werden k nnen Z B falls die gew nschte maximale Schrittrate 200K pro Sekunde ist dann ist die korrekte Einstellung SetStepRange 4 F r Voll und Halbschrittapplikationen sowohl auch Takt und Richtungsapplikationen die eine maximale Schrittrate von 38KSchritt
117. ition Loop Dieses Modul wird nur in Verbindung mit Servomotoren eingesetzt Die Sollposition momentane absolute gew nschte Position und die Istposition momentane tats chliche Position werden eingegeben und miteinander verglichen woraus sich der Schleppabstandsfehler errechnet und dann durch den PID Filter evtl zusammen mit aktivierten Biquad Filtern geschickt und generiert daraus eine Sollwertvorgabe f r die Motorsignalausgabe Commutation Phasing Dieses Modul wird in Verbindung mit mehrphasigen Motoren verwendet b rstenlose Servomotoren Mikroschrittmotoren und generiert f r jede Phase die ben tigte Sollwertvorgabe Motor Output Dieses Modul bergibt das gew nschte Motorphasenkommando und erzeugt die entsprechenden Signale f r das ausgew hlte Ausgabeformat Tabelle 3 Modulname und Funktion Jedes dieser Module ist in den nachfolgenden Kapiteln beschrieben Dar berhinaus bieten die POSYS 1800 B Positioniersteuerungen zus tzliche Funktionalit ten wie z B Breakpoints Tracing SPS hnliche Signalkontrolle usw Diese Funktionen sind f r alle Modelle gleicherma en verf gbar und werden ebenso in sp teren Kapiteln n her beschrieben Aktivieren und Deaktivieren von Control Modules Beim Setup und im Betrieb kann es durchaus dem Wunsch entsprechen bestimmte Control Module zu aktivieren oder zu deaktivieren Dies erfolgt mit dem Kommando SetOperatingMode Um den mit diesem Kommando gesetzten Status zur ckzulesen wird da
118. keiten dieser Positioniersteuerung Beispielsoftware z B PMD s Pro Motion mit einer Vielzahl unterschiedlicher textalischer und graphischer Ausgabem glichkeiten als auch der M glichkeit Hardcopies f r Vergleichszwecke in der Performance zu erstellen helfen dem Anwender die optimalen Filterparameter f r jede m gliche Ladung und jeden Systemzustand zu ermitteln p2 POSYS Motion Control 2014 Inhaltsverzeichnis Sicherheits amp Gew hrleistungshinweis Gew hrleistung Sicherheitshinweis Haftungsausschlu Verwendete Symbole nderungen zu vorhergehenden Handb chern Blockschaltung Blockschaltbild Control Modules Control Flow berblick Aktivieren und Deaktivieren von Control Modules Reset Kommando Zykluszeit setzen Das Zeitregister GetVersion Kommando Bahnprofilerstellung Bahnen Profile und Parameter Definition der Bahnparameter Trapezf miger Punkt zu Punkt Profil S Kurven Punkt zu Punkt Profil Geschwindigkeitsmodus Electronic Gear Profil External Profile Mode Relevante On Board RAM Funktionen Profile Mode Trace Mode Verwendung von On Board RAM f r External Profile Mode Was bedacht werden mu Verf gbarer Speicher RAM zu klein f r Programmausf hrung Was tun Das SetStop Kommando Aktivieren und Deaktivieren von Trajectory Generator Modules Position Loop berblick PID Loop Integration Limit Output Scaling Derivative Sampling Time Dual Encoder Support Dual Encoder Support Dual Encoder PID Loop
119. keitsprofil sieht aus wie ein einfaches trapezf rmiges Punkt zu Punkt Profil wie in Abbildung 3 dargestellt Abbildung 10 zeigt ein komplizierteres Profil in dem beides die Geschwindigkeit als auch die Bewegungsrichtung zweimal wechseln increase velocity decrease velocity decrease velocity A1 A2 acceleration D1 deceleration V1 V2 V3 V4 V5 velocity v T Velocity Time change velocity acceleration Abbildung 10 Geschwindigkeitsprofil 0 Electronic Gear Profil Die folgende Tabelle fasst die host spezifischen Profilparameter zusammen f r den Electronic Gear Modus Maseras few je Master Source toi 2 werte aktuelle oder Sollpastion siehe unten f r Details Tabelle 10 Profilparameter f r Electronic Gearing f r 2 Achsen Versionen 0 1 1 Achsen Karten unterst tzen kein Electronic Gear Modus Die Kommandos SetGearRatio und SetGearMaster laden die jeweiligen Werte Die Befehle GetGearRatio und GetGearMaster liefern die programmierten Werte zur ck In diesem Profil gibt der Host drei Parameter an Der erste Parameter ist die Master Achse die die Achse ist die die Quellinformationen liefert um die Slave Achse zu f hren die die Achse in Getriebemodus ist Der Zweite ist die Gearsource die den Wert liefert nach der die Slave Achse folgen soll Es k nnen entweder die Ist oder Soll Position sein Der Dritte ist das bersetzungsverh ltnis das angibt in welcher
120. l 2 Der Host m chte dass Achse 1 einen Notstopp ausf hrt wann auch immer das Axisin Signal f r Achse 3 auf high geht Au erdem die Beschleunigung der Achse 1 soll ver ndert werden wann immer eine besondere Istposition auf Achse 4 erreicht wird Die folgende Kommandosequenz erreicht dies SetDeceleration Axis1 1000 Update Axis1 Starte Bewegung Profil und Position Loop Parameter werden aktualisiert von denen aber nur die Profilparameter ge ndert wurden SetBreakpointValue Axis1 0 Ox400040 Lade Maske und Zustandswort von 0x40 0x40 Bit 6 muss high sein f r Breakpointl SetBreakPointUpdateMask Axis 1 O Profile Update nur der Profilparameter SetBreakpoint Axisl 0 Axis3 AbruptStop Lade Maske und Zustandswort von 0x40 0x40 Bit 6 muss SignalStatus high sein f r Breakpointl SetAcceleration Axis1 111111 Lade neue Geschwindigkeit von 111111 aber f hre noch kein Update aus SetPositionLoop Axisl Kd 1250 Lade neuen Wert f r Kd SetBreakpointValue Axisl 1 100000 Lade den Wert 100000 in das Vergleichsregister f r Breakpoint2 SetBreakPointUpdateMask Axisl 1 Profile 1 Aktualisiere Profilparameter amp Position Loop f r Breakpoint2 Position Loop SetBreakpoint Axisl 1 Axis4 Update Spezifiziere einen Breakpoint f r die positive Sollposition auf PositivecommandedPosition Achse 4 welches in einem Update resultiert wenn Zustand gegeben f r Breakpoint2 Tabelle 23 Breakpoint Beispiel 2
121. le was eine wesentlich h here Signalsicherheit gew hrleistet Hierzu m ssen f r beste Signalqualit t die Netzwerkwiderst nde RS604 RS608 und RS613 gesteckt sein Aktuelle Positionsregister Die POSYS berwacht kontinuierlich die R ckmeldung und akkumuliert einen 32 Bit Positionswert genannt Actual Position Nach dem Einschalten ist die aktuelle Position gleich null Die akuelle Position kann allerdings mit dem Kommando SetActualPosition und AdjustActualPosition neu definiert werden und mit dem Kommando GetActualPosition kann die aktuelle Position abgefragt werden Im Allgemeinen bei Verwendung von Inkrementalgebern wird die aktuelle Position kurz nach dem Einschalten gesetzt indem eine Prozedur aufgerufen wird mit deren Hilfe eine physikalisch definierte Hardwareposition als Referenz angefahren wird p66 POSYS Motion Control 2014 Digitale Filterung Alle Enkoder als auch der Index und die Homeinputs sind digital gefiltert um die Verl sslichkeit zu erh hen Der Filter erfordert dass ein g ltiger bergang nur dann akzeptiert wird wenn es den neuen Status low oder high f r 175 ns beibeh lt Dies soll sicherstellen dass kurze St rsignale nicht als Enkodersignale fehlinterpretiert werden Obwohl dieses digitale Filterungsschema die allgemeine Verl sslichkeit erh ht kann es trotzdem notwendig sein zus tzliche Techniken einzusetzen um die h chstm gliche Verl sslichkeit zu erreichen wie z B der Einsatz von
122. lete Bit wenn dieser im Actual Modus l uft Die Differenzen sind dass der Settled Indicator kontinuerlich seinen Zustand anzeigt kann nicht gesetzt oder gel scht werden und auch anzeigt ungeachtet ob oder ob nicht der Motion Complete Mode auf aktuell gesetzt wurde Die Achse wird f r als In Position gehalten wenn die Achse steht z B eine Bewegungssequenz f r die Achse wird nicht ausgef hrt und wenn die aktuelle Position des Motors sich in der Soll Position f r die programmierte SettleTime befindet SettleWindow und SettleTime zusammen mit dem Settled Indicator sind das selbe wie Motion Complete Bit Entsprechend werden die gleichen Kommandos verwendet um die Werte zu setzen oder zur ck zu lesen SetSettleWindow GetSettleWindow SetSettleTime GetSettleTime p55 POSYS Motion Control 2014 Actual Calculated trajectory trajectory Settle window Tracking window In motion o aa Motion complete E A 1 Settled RS nn A Trajectory finished Axisoutof Axisback Axis settled settle timer started window settle inside window timer stopped settle timer and reset restarted Abbildung 20 Settle Window 0 Trace Capture Data Trace ist eine m chtige Funktion diverse Parameter und Register der POSYS kontinuierlich zu berwachen und im On Board Speicher der POSYS zu speichern Die ermittelten Daten k nnen anschliessend vom Host heruntergeladen werden in dem man die Komma
123. lparameter p42 POSYS Motion Control 2014 ge ndert wurden SetVelocity Axis1 111111 Lade neue Geschwindigkeit von 111 111 aber noch nicht das Update schicken SetBreakpointValue Axis1 0 100000 Lade 100000 in das Vergleichsregister f r Breakpointregister 1 SetBreakPointUpdateMask Axis 1 O Profile Update nur der Profilparameter SetBreakpoint Axisl 0 Axisl Update spezifiziere einen positiven aktuellen Positionsbreakpoint auf GreaterOrEqualActualPosition Achse 1 welches in einem Update endet wenn Breakpointl eintritt Beachten Sie dass dies das letzte Kommando in der Breakpointdefinitionssequenz ist da dies der Befehl ist der den Breakpointvergleich einleiten wird Tabelle 22 Breakpoint Beispiel 1 Diese Sequenz startet eine Bewegung und l dt einen Breakpoint nachdem die erste Bewegung gestartet wurde Der Breakpoint der definiert wurde wird die Geschwindigkeit updaten zu 111111 wenn die Istposition einen Wert von 100000 erreicht Deswegen wird sich die Achse an Position 100000 von einer Geschwindigkeit von 55555 bis 111111 mit dem Beschleunigungswert von 500 beschleunigen Anmerkung zwischengespeicherte Register die nicht nochmals gesandt werden verbleiben in den zwischengespeicherten Registern Zum Beispiel wenn der Breakpoint ein Update ausf hrt sind die Werte f r Position Beschleunigung und Verlangsamung unver ndert und werden deswegen zu den aktiven Registern ohne Modifikation kopiert Beispie
124. ltipliziert Der Kommutierungswinkel in der Sin Cos Tabelle wird sowohl von der Enkoderposition als auch von Parametern die vom Hostprozessor stammen bestimmt die den spezifischen Enkoder ins Verh ltnis zu den magnetischen Polen des Motors setzen Zwei Wellenformen f r die Kommutierung werden unterst tzt eine f r 3 phasige Motoren mit 120 Grad Winkel zwischen den Phasen z B b rstenlose Servomotoren und eine f r 2 phasige Motoren mit 90 Grad zwischen den Phasen z B Schrittmotoren Sobald die Kommutierung abgeschlossen wurde werden die einzelnen Motorausgangssignale f r die einzinen Phasen A B C wie bei einem 3 Phasen b rstenlosen Servomotor direkt auf den Verst rker oder auf das Current Control Modul ausgegeben Falls direkt zum Motor werden die Signale in eine der m glichen Ausgabeformate PWM oder DAC konvertiert Um die indivuellen Phasenkommandos zu lesen verwenden Sie das Kommando GetPhaseCommand 0 p98 POSYS Motion Control 2014 Schrittmotorkontrolle berblick Die POSYS 1800 B Motion Controller unterst tzen eine Anzahl spezieller Funktionen f r Schrittmotoren Dies sind Generierung von Takt amp Richtungssignale Unterst tzung f r direkte Ansteuerung von Mikroschrittmotoren und eine Funktion f r das Haltemoment Generell gesagt werden zwie Arten von Schrittmotoren unterst tzt Takt amp Richtungssignalmotoren und Mikroschrittmotoren Takt amp Richtungssignalmotoren sind Schrittmotoren d
125. ltipliziert wird Der Effekt ist dass der Bereich f r Kp erweitert wird welches typischerweise innerhalb eines Bereiches von 1 bis 150 liegt wenn keine Ausgangsskalierung vorgenommen wird Der Kout Wert wird mit dem Kommando SetPositionLoop gesetzt Mit GetPositionLoop und dem entsprechenden Parameter wird der programmierte Wert gelesen Anders als bei den meisten anderen PID Parametern deren Standardwert Null 0 ist ist der Standardwert f r Kout nach einem Reset oder nach dem Einschalten 65535 bzw 100 0 Derivative Sampling Time Unter normalen Umst nden wird der Derivative Term der PID Regelschleife zu jedem Zyklus neu berechnet Unter bestimmten Voraussetzungen kann es aber w nschenswert sein die Kalkulation nur jede 5 oder 10 Schleife neu kalkulieren zu lassen um Systemstabilit t zu erh hen oder das Tuning des Systems zu erleichtern Das Kommando SetPositionLoop setzt diesen Wert Das Kommando GetPositionLoop liest den programmierten Wert zur ck Der spezifizierte Wert ist die Anzahl Servozyklen pro Motion Controller Servoloop Updaterate z B falls die Servoloop Updaterate auf 200 usec gesetzt wurde mit dem Kommando SetSampleTime effektiv 204 8 usec dann wird ein Wert von 1 programmiert im Derivative Time Register Ein Wert von 10 bedeutet dass alle 10 Servozyklen effektiv 2048 usec oder 2 048 msec eine Neukalkulation stattfindet Eine nderung des Derivativ Sample Time hat keinen Effekt auf die bergeor
126. m den Bahngenerator und die Regelschleife zu deaktivieren oder zu dem Zeitpunkt bei dem eine sicherheitsrelevante Aktion ausgef hrt wird wie die Erkennung eines Schleppabstandsfehlers und diese Module sind automatisch deaktiviert wird die Vorgabespannung von 1000 erhalten bleiben Falls der Anwender bei dem Versuch diesen Prozess zu bereinigen einen neuen Vorgabewert von 2000 vorgibt wird dieser Wert unabh ngig vom MotorBiaswert ausgegeben Der Standardwert ist null 0 E Falls der spezifizierte Wert f r eine Motorvorgabespannung nicht korrekt gesetzt wurde um eine externe Kraft zu kompensieren kann es sein dass die Achse in die eine oder andere Richtung pl tzlich davonl uft nachdem das Kommando SetOperatingMode ausgef hrt wurde Es liegt in der Verantwortung des Anwenders einen MotorBiaswert zu w hlen der eine sichere Operation gew hrleistet 0 p35 POSYS Motion Control 2014 Deaktivieren und Aktivieren des Position Loop Moduls Deaktivieren und Aktivieren des Position Loop Moduls Es gibt verschiedene Gr nde warum es w nschenswert sein kann das Position Loop Modul zu deaktivieren siehe Aktivieren und Deaktivieren von Kontrollmodulen Zus tzlich exisiteren Ereignis bedingte Aktionen die als Ergebnis die Deaktivierung des Position Loop Modules zur Folge haben siehe SetEventAction Processing Falls das Position Loop Modul deaktiviert wurde kann das auf den allgemeinen Kontrollfluss zweierlei Auswirkungen haben
127. m eine korrekte Checksumme zu pr fen sollten alle Bytes eines Pakets summiert werden inkl des Checksummen Bytes und falls das Ergebnis der niederwertigen acht Bits 0 ist dann ist die Checksumme g ltig p83 POSYS Motion Control 2014 bertragungsprotokolle Die POSYS unterst tzt die M glichkeit zus tzliche Karten am seriellen Bus anzuh ngen hnlich einer Kette oder einem Netzwerk von POSYS s die mit den gleichen seriellen Hardwaresignalen kommunizieren Drei M glichkeiten bestehen mit der seriellen Schnittstelle Zeitprobleme bertragungsfehler und andere Vorg nge die w hrend der seriellen bertragung auftreten k nnen zu l sen Da gibt es die Punkt zu Punkt bertragung falls nur eine Einheit verwendet wird Multi Drop Address Bit Mode und Multi Drop Idle Line Mode falls mehrere Karten an der seriellen Schnittstelle h ngen Die n chsten Sektionen beschreiben diese bertragungsprotokolle 0 Point to Point Mode Dieser Modus ist f r die direkte serielle Kommunikation zwischen POSYS und Host vorgesehen wenn eine direkte serielle Verbindung besteht zu einer Karte In diesem Modus wird der Addressbyte nicht von der POSYS verwendet ausser zur Kalkulation der Checksumme und die POSYS antwortet auf alle Kommandos die vom Host kommen Wenn in diesem Modus gibt es keine zeitkritischen Anforderungen an die Daten die bermittelt werden innerhalb eines Paketes Die Menge an Daten die ein Kommandopaket bei
128. m wieder in den normalen OperatingMode herzustellen Sobald ein Breakpointbedingung erf llt wurde wird das entspechende Bit im EventStatusRegister gesetzt und der Breakpoint selbst deaktiviert Breakpoint Latenzen Die Latenzzeit nachdem ein Breakpoint ausgel st wurde h ngt von der Bedingung ab die ausgew hlt wurde Breakpoints die abh ngig von internen Motion Control Register sind haben eine Latenzzeit entsprechend einer Servoloopupdaterate Breakpoints die abh ngig sind von externen Motion Controller Signalen haben eine Latenzzeit entsprechend einer doppelten Servoloopupdaterate Breakpoint Beispiele Hier sind ein paar Beispiele die veranschaulichen sollen wie Breakpoints benutzt werden k nnen Beispiel 1 Der Host m chte dass Achse 1 die Geschwindigkeit ver ndert wenn die Enkoderposition einen besonderen Wert erreicht Breakpoint 1 soll benutzt werden Die folgende Kommandosequenz erreicht dies This is accomplished using the following command sequence Beachten Sie dass diese Sequenz davon ausgeht dass der UpdateMask auf seinem Standardwert f r Bahngenerierung und Position Loop Update belassen wurde SetPosition Axisl 123456 Lade Endposition SetVelocity Axis1 55555 Lade Geschwindigkeit SetAcceleration Axisl 500 Lade Beschleunigung SetDeceleration Axisl 1000 Lade negative Beschleunigung Update Axisl Starte Bewegungssequenz Profil und Position Loop Parameter werden aktualisiert von denen aber nur die Profi
129. mando SetPhaseCounts definiert Die Parameter f r dieses Kommando repr sentieren die Anzahl Mikroschritte pro elektrischer Periode 4 Mal die erw nschte Anzahl von Mikroschritten So sollen z B 64 Mikroschritte pro Vollschritt eingestellt werden dann muss der Befehl SetPhaseCounts 256 benutzt werden Die maximale Anzahl von Mikroschritten die pro Vollschritt generiert werden k nnen ist 256 Der entsprechende Parameter lautet dann 1024 Der Motorausgangspegel wird vom Motorbefehlsregister kontrolliert Dieses Register kann mit dem Kommando SetMotorCommand gesetzt werden Ein Wert zwischen 0 und 32767 repr sentiert eine Verst rkung zwischen 0 und 100 Das Kommando SetMotorCommand ist doppelt gebuffert und ben tigt daher zus tzlich ein Update Kommando oder einen Breakpoint Dieses Merkmal kann vorteilhaft sein wenn es gew nscht wird dass der Motorstrom sich ndert dass man mit anderen Profil nderungen synchronisiert wie am Anfang oder dem Ende einer Bewegung Eine spezielle Begrenzung f r das Halte Kommando kann ebenso definiert werden um unterschiedliche Ausgabepegel f r aktive und nicht aktive Betriebsarten des Motors Dies kann sinnvoll sein um die Hitzeentwicklung des Motors zu reduzieren wenn es sich nicht bewegt 0 Mikroschrittsignalformen Die POSYS 182x B unterst tzt zwei Mikroschrittmotortypen mit den ihnen eigenen Signalformen Die eine Signalform ist die f r 2 Phasen Schrittmotoren mit 90 Versatz die andere unt
130. mmengefa t Integrator Sum Dieses Register liefert die Summe des Integrator s f r den Position Loop Integral Contribution Dieses Register h lt den umfassenden Beitrag vom Integrator zum Position PID Loop Derivative Dieses Register h lt den Lagefehlerableitungswert Das hei t der Unterschied zwischen dem gegenw rtigen Lagefehler und dem vorhergehenden Lagefehler BiQuad1 Input Dieses Register beinhaltet den Eingabewert f r das BiQuadfilter 1 BiQuad2 Input Dieses Register beinhaltet den Eingabewert f r das BiQuadfilter 2 Tabelle 16 Position Loop Werte p37 POSYS Motion Control 2014 Parameter Update and Breakpoints Parameter Buffering Verschiedene Parameter m ssen f r die POSYS angegeben werden damit eine Achse richtig kontrolliert wird In einigen F llen kann es w nschenswert sein dass einige Parameter zur exakt gleichen Zeit aktiv aktuell werden um exakt synchronisierte Bewegungsabl ufe zu gew hrleisten Um diese Arten von Profilparametern und einige andere Arten von Parametern wie Servoparameter zu unterst tzen POSYS Achsen in Servomodus werden sie in Buffer geladen Diese zwischengespeicherten Befehle werden in einen Bereich der POSYS geladen der die eigentliche POSYS Verhaltensweise nicht beeinflusst bis ein besonderes Ereignis bekannt als ein Update eintritt Ein Update veranlasst die zwischengespeicherten Register in die aktiven Register zu laden die POSYS dazu veranlassend die neuen P
131. n 32 bits 2 147 483 648 to 2 147 483 647 counts 32 bits 0 to 2 147 483 647 4 294 967 296 counts cycle Velocity 16 16 32 bits 0 to 32 767 65 535 65 536 counts cycle 16 16 32 bits J0 to 32 767 65 535 65 536 counts cycle gt 32 bits loto 32 767 65 535 65 536 counts cycle Tabelle 8 S Kurve Punkt zu Punkt Profilparameter Die Kommandos SetPosition SetVelocity SetAcceleration SetDeceleration und Set erk laden die jeweiligen Werte Die Befehle GetPosition GetVelocity GetAcceleration GetDeceleration und Get erk liefern die programmierten Werte zur ck Das S Kurven Punkt zu Punkt Profil f gt eine Begrenzung zum Verh ltnis der nderung der Beschleunigung hinzu verglichen mit der Basis des Trapezprofils Ein neuer Parameter J erk spezifiziert die maximale nderung der Beschleunigung innerhalb eines Updatezyklus IS Im S Kurven Profilmodus muss der gleiche Wert sowohl f r Beschleunigungs als auch f r die Abbremsrampe benutzt werden Asymmetrische Profile sind nicht erlaubt Das S Kurven Punkt zu Punkt Profil f gt einen weiteren Parameter hinzu der den Faktor der nderung der Beschleunigung definiert Der Parameter Jerk spezifiziert die maximale Anderung der Beschleunigung pro Servoloop Updaterate In diesem Profilmodus w chst die Beschleunigung allm hlich von O zu dem programmierten Beschleunigungswert an dann vermindert sich die Beschleunigung im gleichen Verh ltnis bis es 0 mit der programmierten Ges
132. n Ausgangsstatus mit dem Kommando SetSignalSense als active high oder active low je nach Bedarf einstellt 0 Der Axisin Eingang Jede Achse hat einen f r allgemeine Zwecke verwendbaren achsenspezifischen Eingang welches mit dem Kommando GetSignalStatus gelesen werden kann und um auch automatisch Ereignisse zu erfassen wie z B durch einen Signal bergang erzeugte Bewegungs nderung Stop Start Geschwindigkeits nderung usw aufgrund der Verwendung von Breakpoints Es sind keine weiteren speziellen Kommandos notwendig um Axisin zu aktivieren oder deaktivieren 0 Analoge Eing nge Die POSYS verf gt ber 8 f r allgemeine Zwecke verwendbare analoge Eing nge Diese 8 Eing nge sind mit einer internen Schaltung verbunden die die analogen Signale in digitale Signale mit 10 Bit Aufl sung umwandelt Die Konvertierung geschieht kontinuierlich und passiert auf allen 8 Kan len Die Konvertierung ben tigt gerade mal 21 6 uSek basierend auf der normalen Motion Controller Clock Frequenz Mit dem Kommando ReadAnalog wird der zuletzt konvertierte Wert gelesen Der Wert der mit diesem Kommando zur ckgeliefert wird resultiert daraus indem der konvertierte 10 Bit Wert 6 Bit nach rechts versetzt wird Die Analogdaten sind f r allgemeine Zwecke gedacht und werden nicht vom Motionprozessor f r irgendwelche Kalkulationen verwendet p64 POSYS Motion Control 2014 Diese analogen Eing nge sind geeignet die POSYS mit
133. n das Kommando RestoreOperatingMode ausgef hrt werden Egal wie das Modul wieder aktiviert wird zu dem Zeitpunkt ab dem die Aktion ausgef hrt AE werden die Motorsollwertvorgaben f r jede Phase unverz glich an den Verst rker ausgegeben Man muss Vorsicht walten lassen beim aktivieren dieses Moduls und darauf achten dass der Unterschied zwischen Soll und Istpositionen so gering wie m glich ist um abrupte Motorbewegungen zu vermeiden Des weiteren ist es empfehlenswert falls weitere Module Current Loop Position Loop und Bahngenerator aktiviert werden sollen diese alle zur gleichen Zeit zu aktivieren dabei sicherstellend dass interne Current Loop oder Position Loop Werte z B Integralwerte zum Zeitpunkt der Aktivierung Nullwerte aufweisen 0 Motortyp Die POSYS 1800 B Positioniersteuerungen unterst tzen eine Reihe von Motoren Das sind z B b rstenbehaftete und b rstenlose Servomotoren Mikroschritt und Schrittmotoren Im Falle von b rstenlosen Servomotoren und Mikroschrittmotoren werden zudem je nach Motorausgabesignal 2 als auch 3 Phasenmotoren unterst tzt Die folgende Tabelle gibt hier ber Aufschlu p70 POSYS Motion Control 2014 Produkt Unterst tzte Motorversionen POSYS 182x B DC b rstenbehaftet b rstenlose DC 2 Phasen b rstenlose DC 3 Phasen Mikroschritt 2 Phasen Mikroschritt 3 Phasen Schritt POSYS 185x B Schritt Tabelle 41 Unterst tzte Motortypen Anmerkung POSYS 185x B unterst tzt auc
134. n digitalen Ein und Ausg nge 1 Amplifier amp DAC Dieses Register erlaubt das Schreiben und verifizieren der enable Ausgangssignale f r die Verst rkerfreigaben 1 4 Diese Ausg nge k nnen auch f r allgemeine Zwecke verwendet werden Ebenso werden mit diesem Register die DACEnable Ausg nge beschrieben und verifiziert unbenutzt Tabelle 65 1 0 Space Address Offset Digital I O Kontrollregister 1 O space address 0 Die folgende Tabelle beschreibt Details f r das 0 Digital IO Kontrollregister DigitalOuto 7 Tabelle 66 Digitales E A Kontrollregister I O Address 0 Verst rker amp DAC Freigabekontrollregister I O space address 1 Die folgende Tabelle beschreibt die Details f r das 1 Verst rker amp DAC Freigabe Kontrollregister p108 POSYS Motion Control 2014 1 Verst rkerfreigabeausg nge 0 3 nicht benutzt DAC Freigabestatus 1 aktiviert 0 deaktiviert Maske ndern f r Bits 0 3 Verst rkerfreigabeausg nge 1 ndern 0 nicht ndern Tabelle 67 Verst rker amp DAC Freigaberegister Reset berwachungskontrollregister 1 O space address 2 Die folgende Tabelle beschreibt die Details f r das 2 address Reset berwachungskontrollregister 2 reserviert Softwarekommando eine 1 in diesem Bit zeigt an dass ein Reset durch ein Anwendersoftwarekommando ausgel st wurde Under voltage detection eine 1 in diesem Bit zeigt an dass ein Res
135. nals setzt nicht voraus dass der Wert f r die Enkoderaufl sung pro elektrischen Zyklus ein Integer ist F r den Fall es ist kein Integer sollte auf oder abgerundet werden Umgekehrt wenn kein Indextakt verwendet wird dann muss die Enkoderaufl sung pro elektrischen Zyklus exakt ein Integer ohne Rest sein z B bei Verwendung eines b rstenlosen Motors mit 6 Polen w re ein Enkoder ohne Indextakt und 1200 Inkremente pro Umdrehung eine gute Wahl aber ein Enkoder mit 1024 Inkremente w re dies nicht da 1024 nicht teilbar durch 3 ist ohne Rest Mit dem Kommando Set GetPhaseCorrectionMode kann die Indextaktphasenkorrektur aktiviert bzw deaktiviert werden IS Die Indextaktreferenzierung wird automatisch vom Controller ausgef hrt egal welcher Initializationsschema gew hlt wurde algorithmic Hall based microstepping oder Direct Set 0 p94 POSYS Motion Control 2014 Phasenfehlererkennung Mit einem korrekt installierten Indextakt wird der Controller automatisch jedweden Verlust an Enkoderz hlungen ausgleichen und korrigieren Jedoch sollte der Verlust gr er werden oder der Indextakt kommt nicht an innerhalb der erwarteten Position w hrend des Kommutierungszyklusses dann spricht man von einem Kommutierungsfehler Der Bit 11 im Event Status Register f r Kommutierungsfehler wird gesetzt Dieses Bit wird immer dann gesetzt falls die erforderliche Korrektur gr er als PhaseCounts 128 4 ist Kommutierungsfe
136. nd angeglichen werden Jedoch bestimmt es nicht die Kommutierungsrate f r b rstenlose Servomotoren Jede aktivierte Achse erh lt sein Zeitfenster egal ob es in Bewegung ist oder nicht egal ob mit dem Kommando SetMotorMode im EIN oder AUS Zustand ist Falls die Zykluszeit kritisch ist ist es m glich die Zykluszeit zu verk rzen in dem unbenutzte Achsen deaktiviert werden SetAxisMode und in dem die Servo Loop Updaterate mit dem Kommando SetSampleTime neu gesetzt wird z B bei Verwendung der POSYS ist es m glich mit 4 Achsen zu operieren aber falls in einer spezifischen Anwendung nur 3 Achsen ben tigt werden kann die vierte Achse mit dem Kommando SetAxisMode oder dem neuen Kommando SetOperatingMode deaktiviert und eine neue Zykluszeit von 204 8 us gesetzt werden Dies verbessert die Frequenz von 3 9 kHz auf 4 88 kHz SetSampleTime kann auch verwendet werden um die Zykluszeit zu verl ngern falls dies notwendig sein sollte IS Es liegt in der Verantwortung des Anwenders daf r Sorge zu tragen dass die Zykluszeit gleich oder gr er als die spezifizierten Minimalwerte wie in der Tabelle voraus beschrieben sind Werte die kleiner als die kleinstm glichen Einstellungen sind werden automatisch auf die Minimalwerte zur ckgesetzt 0 Das Zeitregister Die POSYS Controller verf gen ber einen 32 Bit Register welches die aktuelle Motion Controller Zeit h lt in Form von der Anzahl Zyklen die ausgef hrt wurden seit dem Eins
137. nd zu entdecken der die pers nliche und Anlagensicherheit zu erh hen helfen soll verf gt die POSYS ber einen programmierbaren maximalen Schleppabstandsfehler Das Kommando SetPositionErrorLimit wird verwendet um den maximalen Schleppabstandsfehler zu programmieren und der programmierte Wert wird mit dem Kommando GetPositionErrorLimit ausgelesen Um zu bestimmen ob ein Schleppabstandsfehler vorliegt wird kontinuierlich die Istposition mit der Sollposition verglichen Wenn der Schleppabstandsfehlergrenzwert berschritten wird spricht man von einem Schleppabstandsfehler In dem Augenblick in dem ein Schleppabstandsfehler passiert werden weitere Aktionen gleichzeitig gestartet Die folgende Liste beschreibt welche Ereignisse stattfinden Der Motion Bit Error des Event Status Word wird gesetzt e Falls die Standardeinstellung f r Event Action bei Motorfehler nicht ver ndert wurde werden der Bahngenerator und die Position Loop Module deaktiviert Bei Achsen im Servomodus bedeutet dies dass die manuell gesetzte Motorvorgabespannung ausgegeben wird Open Loop Mode F r Schrittmotoren bedeutet es dass sie zu einem sofortigen Stopp gebracht werden Falls ein neuer Event Action programmiert wurde wird dann dieses ausgef hrt Um einen Schleppabstandsfehler zu l sen der zum Ergebnis hat dass der Motor ausgeschaltet wird sollte der Grund f r den Schleppabstandsfehler erkundet werden Falls das Ereignis dazu f hrte Kontrollmodule
138. ndigkeits oder S Kurvenmodus Es funktioniert nicht im Electronic Gearmodus Position tracking Gesetzt 1 wenn der Servo die Achse innerhalb des Tracking Windows beh lt Gel scht 0 wenn es nicht der Fall ist Current profile mode Diese Bits zeigen den gegenw rtigen Profilmodus an der anders sein k nnte als der Wert der benutzt wurde mit dem Kommando SetProfileMode nach dem ein Update Befehl noch nicht erfolgte Profile Mode trapezoidal velocity contouring S curve p46 POSYS Motion Control 2014 Beschreibung ho fr Jetectronic gear 6 Reserved arf 1 oder 0 sein 7 Axis settled Gesetzt 1 wenn sich die Achse innerhalb des SettleWindows f r eine vorher spezifizierte Zeitspanne aufhielt Gel scht 0 wenn dies nicht der Fall ist Position Loop Enabled Gesetzt 1 wenn entweder das Position Loop Module oder der Bahngenerator aktiviert sind Cleared 0 wenn beides deaktiviert ist Das Kommando SetOperatingMode wird blicherweise verwendet welche aktiviert oder deaktiviert sind jedoch k nnen Module automatisch deaktiviert werden durch Event Actions SetEventAction Kommando oder Breakpoints Position capture Gesetzt 1 wenn ein neuer Positionswert verf gbar ist der von der high speed Latch Input Hardware gelesen werden kann Gel scht 0 wenn ein neuer Wert noch nicht erfasst wurde W hrend dieses Bit gesetzt ist werden keine neuen Werte erfasst Der Befehl GetCaptureValue erfasst den Wert und l
139. ndo SetMotorCommand Falls gew nscht ist es m glich im Haltezustand die Signalausgabe zu begrenzen Dieser Grenzwert wird mit dem Kommando SetHoldingCurrent gesetzt Welcher Wert gesetzt ist kann mit dem Kommando GetHoldingCurrent gelesen werden Bitte beachten Sie dass der Wert den Ausgabestrom begrenzt sobald der Motor sich in der Ruhephase befindet z B falls der Ausgabewert f r den Treiber der durch das Kommando SetMotorCommand definiert wurde bereits niedriger ist als der Wert der mit dem Kommando SetHoldingCurrent wird der niedrigere Wert verwendet Egal ob durch das AtRest Signal oder durch das Kommando SetHoldingCurrent definiert die Haltemomentbedingung wird aktiviert sobald der Bahngenerator einen Geschwindigkeitswert von Null 0 aufweist f r einen vom Anwender programmierten Zeitrahmen Falls dieser Parameter einen anderen Wert als Null 0 aufweist erlaubt es eine Verz gerung einzustellen zwischen dem Zeitpunkt zu dem der Bahngenerator seine Aufgabe erledigt hat und das externe Signal aktiviert wird Dies wird in der Regel eine Einstellung aufweisen die es dem Motor erlaubt zu einem kompletten Stillstand zu kommen Mit dem Kommando SetHoldingCurrent kann diese Verz gerung eingestellt werden Der eingestellte Wert kann mit dem Kommando GetHoldingCurrent zur ckgelesen werden p104 POSYS Motion Control 2014 On Board Speicher Definition und Zugriff Speicherkonfiguration Die POSYS 1800 B ist in der Lage On Board Speic
140. ndos f r den Zugriff auf den On Board Speicher verwendet Data Trace ist eine Funktion um die Regelparameter zu optimieren indem Vergleichswerte und Sensordaten ermittelt und mit Sollwerten verglichen werden Bei der Datenerfassung oder Abarbeitung von Bewegungsprofilen aus dem On Board Speicher wird der POSYS zus tzliche erhebliche Arbeit abverlangt In Applikationen in denen hoch performante Szenarien vorkommen z B Einzel Achsenanwendung mit sich pro Updaterate ver ndernden Parametern kann es unter Umst nden sinnvoll sein die Updaterate zu erh hen Es gibt generell 2 verschiedene M glichkeiten der Data Trace Erfassung Die eine M glichkeit wird durch die POSYS bewerkstelligt die andere durch den Host Der Host spezifiziert welche Parameter erfasst werden sollen und auf welche Art die Erfassung vor sich gehen soll Die POSYS vollzieht den Trace und der Host kann die Daten zur Auswertung abrufen einmal Erfassung Es ist aber auch m glich eine kontinuierliche Erfassung vom Host laufen zu lassen w hrend die POSYS selber weiter Daten erfasst kontinuierliche Erfassung 0 Trace Buffer Architektur Diese m chtige Funktion der Datenerfassung beruht auf die zur Verf gungstellung eines externen Speicherbereiches auf welches sowohl vom Host als auch vom Motion Controller zugegriffen werden kann Es ist als Dual Port RAM ausgelegt gleichzeitige Schreib und Lesezugriffe und kann auch als Single Port RAM konfiguriert und v
141. nen oder anderen Breakpoint spezifiziert werden Das Kommando hierf r lautet SetBreakpointUpdateMask Zum Lesen der eingestellten Werte verwendet man das Kommando GetBreakpointUpdateMask Einen Breakpoint definieren Jeder Breakpoint hat f nf Komponenten die Breakpointachse die Sourceachse f r das Triggerereignis das Ereignis selbst die auszuf hrende Aktion und den Vergleichswert Diese Komponenten sind in der folgenden Tabelle n her beschrieben Breakpoint Komponent Beschreibung Breakpoint axis Ist die Achse auf der die angegebene Aktion ausgef hrt werden soll p39 POSYS Motion Control 2014 Breakpoint Komponent Beschreibung Source axis Ist die Achse auf der das Triggerereignis stattfindet Es kann die Gleiche oder eine andere als die Breakpointachse sein Irgendeine Anzahl von Breakpoints kann die gleiche Achse wie die Sourceachse benutzen Ist das Ereignis der den Breakpoint ausl st ist der Aufgaben Ablauf der von der POSYS ausgef hrt wird wenn der Breakpoint getriggert wird Nachdem ein Breakpoint getriggert wird wird die Aktion auf der Breakpointachse ausgef hrt Breakpoint update mask Entweder Profil und oder Position Loop und oder Current Loop Werte werden aktualisiert aufgrund eines eventuell auftretenden Breakpointtrigger Ereignisses Comparison value Der Vergleichswert wird benutzt zusammen mit der Aktion um das Breakpointereignis zu definieren Tabelle 19 Einen Breakpoint definieren
142. ng Das eigentliche Signal welches generiert wird um eine Interruptbedingung anzuzeigen h ngt vom Kommunikationsmodus ab F r die Kommunikation via ISA Bus wird ein physisches Signal auf der Karte erzeugt Bei der Kommunikation via CANBus erzeugen Hostinterrupts eine CAN Nachricht Bei der seriellen Kommunikation werden keine Hostinterrupts versendet Die Ereignisse die einen Hostinterrupt ausl sen sind die selben die den Bits im Event Status Register zugewiesen wurden hier noch einmal zur Erl uterung aufgelistet p61 POSYS Motion Control 2014 Motion complete Das Profil erreicht seinen Endpunkt oder die Bewegung wurde anderweitig zu einem Stop veranlasst Position wraparound Positionsz hler berlauf mit Addierung Breakpoint 1 Breakpoint 1 Bedingung eingetreten Capture received Enkoder bzw Homeschalterindex erfasst Motion error Der maximale Schleppfehlerabstand wurde f r eine bestimmte Achse berschritten Positive limit Positiver Endschalter angefahren 6 Negative limit Negativer Endschalter angefahren CN EE aza me y Tabelle 38 Host Interrupts Bei der Benutzung einer 16 Bit Maske kann der Host ein oder alle dieser Bits bedingen um eine Unterbrechung zu verursachen Diese Maske wird gesetzt mit dem Kommando Setl nterruptMask Der Wert der Maske kann zur ckgelesen werden mit dem Kommando Getl nterruptMask Die Bitpositionen der Maske entsprechen den Bitpositionen des Event Status Register Wenn
143. ngeschlossen ist Wenn der Indextakt nicht angeschlossen oder verwendet wird kann der Phasenoffsetwinkel nicht justiert bzw zur ckgelesen werden Die relative Phasenpositionierung von B und C zu A werden durch das Setzen von Phasenoffsetwerten nicht ver ndert Diese Phasen bleiben bei 90 bzw 120 Offset zu Phase A abh ngig von der gew hlten Signalform 0 Encoder Prescaler Besonders in Verbindung mit Linearmotoren kann die Enkoderaufl sung pro elektrischen Zyklus stark variieren Typischerweise haben Motoren Enkoderz hlwerte zwischen 1 und 32767 Lineare b rstenlose Motoren dagegen k nnen Werte von 1 000 000 pro Zyklus und h her haben wegen der fteren Verwendung von laser basierten Enkoder mit h chster Genauigkeit Um diesen gro en Bereich abzudecken verf gen die POSYS 182x B f r b rstenlose Servomotoren ber eine Preskalarfunktion welches f r den Zweck der Kommutierungskalkulationen die eingehenden Inkremente durch 64 128 oder 256 teilt Mit der aktivierten Preskalarfunktion kann der maximale Bereich von Inkrementen pro elektrischer Zyklus dann 8 388 352 betragen Das Kommando SetPhasePrescale On aktiviert den Modus Das Kommando SetPhasePrescale Off deaktiviert ihn Die Preskalarfunktion hat nur auf die Kommutierung des Controller s Einfluss Es beeinflusst nicht die Position durch die Servoregelung oder abgefragt durch das Kommando GetActualPosition HINWEIS Die Preskalarfunktion sollte weder aktiviert
144. nhaltet werden vom Kommando bestimmt im Datenpaket Mit jedem Kommandopaket ist eine spezifische Menge an Daten verbunden assoziiert Wenn die POSYS ein Kommandokode erh lt wartet sie bis alle Daten empfangen wurden ehe das Kommando ausgef hrt wird Auch die zur ckgelieferte Menge an Daten die von einem Kommando angefordert wurde ist bestimmt vom Kommandokode Nach Ausf hrung eines Kommandos wird die POSYS ein Datenpaket in der erforderlichen Gr e und L nge zur ckliefern Wenn im Punkt zu Punkt Modus gibt es f r die POSYS keine direkte M glichkeit den Anfang eines neuen Datenpaketes zu unterscheiden au er im Zusammenhang Daher ist es f r den Host wichtig in einem synchronisierten Zustand mit der POSYS zu verbleiben wenn Daten gesendet und empfangen werden Um sicher zu stellen die POSYS verbleibt synchronisiert wird empfohlen im Host eine Zeitspanne zu definieren auf die sie warten soll wenn Datenpakete von der POSYS erwartet werden Die empfohlene minimale Zeitspanne ist die Zeit die ben tigt wird ein Byte bei der gew hlten Baudrate plus 1 Millisekunde zu senden z B bei einer Baudrate von 9600 Baud sek ben tigt jedes Bit 1 9600 Sek f r die bertragung Ein typischer Byte besteht aus 8 Datenbits plus 1 Startbit und einem Stoppbit Daher ben tigt ein Byte gerade etwas mehr als 1 Millisekunde und die empfohlene Zeitspanne ist 2 Millisekunden Falls es zu einer zeitlichen berschneidung von zu empfangenden Datenbytes k
145. nitializierungssequenz Algorithmische Initialisierungssequenz Direct Set Initialisierungssequenz Index Taktreferenzierung Phasenfehlererkennung Justierung der Phasenwinkel Encoder Prescaler Sinuskommutierung Schrittmotorkontrolle berblick Bahngeneratorkontrolleinheiten Enkoderr ckmeldung Stall Detection Takt amp Richtungssignalgenerierung Mikroschritt Motor Kontrolle Mikroschrittsignalformen Haltemoment Funktionen On Board Speicher Definition und Zugriff Speicherkonfiguration PC104 ISA Bus 10 PC104 ISA Bus Speicher MC Bus Externe Speicherpuffer p5 POSYS Motion Control 2014 On Board Speicherkommandos User I O Kommando bersicht Readl O Writel O Digital I O Kontrollregister 1 0 space address 0 Verst rker amp DAC Freigabekontrollregister 1 0 space address 1 Reset berwachungskontrollregister 1 0 space address 2 Card ID Kontrollregister 1 0 space address 0xff Watchdog Kontrollregister 10 space address 4 p6 107 108 108 108 108 109 109 110 POSYS Motion Control 2014 Sicherheits amp Gew hrleistungshinweis Gew hrleistung POSYS Motion Control GmbH amp Co KG garantiert die Leistung seiner Produkte entsprechend den zur Verf gung stehenden Spezifikationen zum Zeitpunkt des Verkaufs f r einen Zeitraum von 2 Jahren Ebenso garantiert POSYS Motion Control GmbH amp Co KG f r einen Zeitraum von 2 Jahren ab Verkaufsdatum die einwandfreie Materialbeschaffenheit unter der Vorausse
146. noch deaktiviert werden wenn der Motor sich in Bewegung befindet p96 POSYS Motion Control 2014 p97 POSYS Motion Control 2014 Sinuskommutierung Abbildung 36 bietet einen berblick ber die Flusskontrolle der Sinuskommutierung einer Achse der POSYS 182x B wenn sie im b rstenlosen Modus betrieben wird Um die Sinuskommutierung auszuw hlen sollte mit dem Kommando SetCommutationMode Enkoder basiertes Phasing ausgew hlt werden Im Vergleich zur Hallsensor basierten Kommutierung bietet die Enkoder basierte Sinuskommutierung verbessertes vor allem weicheres Laufverhalten der Motoren und bessere Positioniergenauigkeit aufgrund fehlender kommutierungs bedingter Drehmomentunterbrechungen Motor output PWM or DAC Motor command register SetMotorCommand PhaseA u command s Trajectory amp Position Y A nr Loop disabled PhaseB or gt gt gt gt e Trajectory or Position command mowr Loop enabled i LE PhaseC Commanded Position gt gt command positon Loop i Actual position Actual position from encoder Abbildung 36 Sinuskommutierung Die Logik der Sinuskommutierung des Motion Controller s verwendet als Referenz das Motor Command Signal entweder vom Position Servo Loop oder vom Motor Command Register abh ngig davon ob das Position Loop Modul aktiviert ist oder nicht Dieses vorkommutierte Kommandosignal wird mit Kommutierungswerten hergeleitet von einer internen Sin Cos Tabelle mu
147. oder Sollposition kleiner als der programmierte Vergleichswert gr er oder gleich aktueller threshold Ist gegeben wenn die Istposition gleich ist oder gr er positiver Position als der programmierte Vergleichswert kleiner oder gleich aktueller threshold Ist gegeben wenn die Istposition gleich ist oder kleienr negativer position als der programmierte Vergleichswert Sollposition berschritten threshold Ist gegeben wenn die Istposition sich kreuzt ist gleich zu mit dem programmierten Vergleichswert Aktuelle Position berschritten threshold Ist gegeben wenn die Istposition sich kreuzt ist gleich der programmierte Vergleichswert Zeit threshold Ist gegeben wenn die gegenw rtige POSYS Zeit in Zyklenzahl seit Einschalten ist gleich dem programmierten Vergleichswert Event status level Ist gegeben wenn der EventStatusRegister der Bitmaske und dem high low Pattern im programmierten Vergleichswert gleicht Activity status level Ist gegeben wenn der ActivityStatusRegister der Bitmaske und dem high low Pattern im programmierten Vergleichswert gleicht Signal status level Ist gegeben wenn der SignalStatusRegister der Bitmaske und dem high low Pattern im programmierten Vergleichswert gleicht p40 POSYS Motion Control 2014 Trigger Kondition Level oder Beschreibung Threshold Deaktiviert einen fr her gesetzten Breakpoint Tabelle 20 Breakpoint Triggers Wenn Keine f r den Breakpointtrigger selektiert wird b
148. odulierte Signal high und f r die verbleibenden 638 Zyklen low Wenn der gew nschte Wert aber 12345 ist 1024 24 12345 32768 638 2 638 dann ist das impuls breiten modulierte Signal f r 638 Zyklen high und low f r die verbleibenden 1410 Zyklen 50 50 PWM Signale werden mit 2 verschiedenen Verst rkerversionen verwendet Wenn ein b rstenloser Permanentmagnetmotor angetrieben werden soll ist das impuls breiten modulierte Signal mit Half Bridge Treiber angeschlossen Wenn ein DC b rstenbehafteter Motor verwendet wird wird ein Half Bridge Verst rker benutzt allerdings ist das Magnitudensignal von der Half Bridge immer eingeschaltet und der Magnitudenausgang der POSYS wird mit dem Vorzeicheneingang von der Half Bridge verbunden Diese alternative Methode eine Half Bridge anzusteuern ist ab und zu n tzlich in Situationen in denen man w hrend der Abbremsrampe mit R ck EMF rechnen muss das die standardm igen Vorzeichenmagnitudensysteme benutzt Abbildung 22 zeigt ein typisches 50 50 PWM Ausgabeformat p72 POSYS Motion Control 2014 0 1024 off 1 1024 minimum duty cycle 512 1024 50 duty cycle 1023 1024 maximum duty cycle 1024 1024 full on 0 Abbildung 22 50 50 PWM encoding 16 Bit DAC Signalausgabe In diesem Modus wird das Ausgabesignal direkt auf den Peripheriebus der POSYS ausgegeben Das digitale Signal wird mit Hilfe eines seriellen DAC in ein analoges Signal umgewandelt
149. olgt errechnet 360 1 8 Falls der gleiche Motor mit den Mikroschrittversionen der POSYS verwendet wird und die Anzahl Mikroschritte pro Vollschritt ist auf 64 gesetzt dann sehen die Parameter wie folgt aus SetEncoderToStepRatio 4000 12800 wobei die Anzahl Schritte pro Umdrehung wie folgt errechnet wird 360 1 8 64 In jenen F llen in denen die Anzahl Schritte Mikroschritte oder Inkremente pro Umdrehung das Maximum von 32767 berschreitet k nnen die Parameter als Bruchteile einer Umdrehung spezifiziert werden solange das Verh ltnis genau bewahrt wird Von dem vorhergehenden Beispiel ausgehend kann das Verh ltnis auch nachfolgend dargestellt werden SetEncoderToStepRatio 2000 6400 dabei das Verh ltnis f r eine halbe Umdrehung anzeigend Das Verh ltnis f r einen Bruchteil einer Umdrehung anzugeben ist genau so pr zise wie man es f r eine volle Umdrehung angibt 0 Takt amp Richtungssignalgenerierung Falls bei der POSYS 182x B eine Achse f r Schrittmotorbetrieb eingestellt bzw eine POSYS 185x B verwendet wird dann wird der Mechanismus f r die Ausgabe von Takten aktiviert die auf den Treiber ausgegeben werden Das Kommando f r die POSYS 182x B lautet hierf r SetMotorType Bei der POSYS 185x B ist nur diese Art der Signalausgabe m glich das Kommando daher deaktiviert Um f r die POSYS 182x B den eingestellten Modus zu lesen verwenden Sie das Kommando GetMotorType Das Taktsignal dass vom Controller ausgegeben w
150. ommt w hrend der Host auf Datenpakete wartet dann sollte der Host davon ausgehen sich au erhalb der Synchronisation zu befinden Um die Synchronisation wieder herzustellen sollte der Host ein Byte ohne Daten schicken und auf die Antwort warten Dieser Prozess sollte solange wiederholt werden bis ein Datenpaket von der POSYS empfangen wurde An diesem Punkt werden Host und POSYS wieder synchronisiert 0 Multi drop Idle line Mode Von der POSYS werden 2 verschiedene Multi drop Protokolle unterst tzt Diese Modi werden vornehmlich dann auf einer seriellen Schnittstelle verwendet wenn ein einzelner Host mit mehreren POSYS oder anderen untergeordneten Ger ten kommunizieren soll In diesem Modus wird zuerst ein Addressbyte benutzt welches definiert f r welches Ger t oder welche Einheit POSYS das Datenpaket gedacht ist Nur die adressierte Einheit wird auf das Ger t antworten bzw reagieren Daher ist es wichtig die Adressen der POSYS sorgf ltig auszuw hlen serielles Konfigurationswort wie oben beschrieben und das Addressbyte f r jedes Kommandopaket einzubinden dass f r die POSYS gedacht ist Da die Adresse die einem Kommandopaket vorangeht gedacht ist die Antwort einer POSYS im Multi drop Mode zu aktivieren bzw zu deaktivieren muss das Multi drop Protokoll eine Methode beinhalten die Synchronisation zw dem Host und den verschiedenen POSYS aufrecht zu erhalten da es in einer solchen Umgebung schwierig ist ern
151. on der Achse 3 sollen w hrend eines jeden Zyklus gespeichert werden Die folgenden Kommandos finden Anwendung um die Tracevariablen zu konfigurieren SetTraceVariable 0 0202h setzt die Tracevariable 0 Parameter 2 Sollposition f r die 3 Achse zu speichern SetTraceVariable 1 0502h setzt die Tracevariable 1 Parameter 5 Istposition f r die 3 Achse zu speichern SetTraceVariable 2 0002h deaktiviere die Tracevariable 2 und dar ber Tabelle 35 Trace Beispiele Trace Modes W hrend der Erfassung der Daten werden diese sequentiell im Tracebuffer gespeichert Wenn das Ende des Tracebuffers erreicht worden ist wird die Erfassung auf zweierlei Arten reagieren je nachdem welcher Modus selektiert wurde Falls einmal selektiert wurde wird die Erfassung stoppen wenn der Buffer voll ist Falls der kontinuierliche Modus selektiert wurde wird die Erfassung wieder am Anfang des Buffers Daten speichern wrap around In diesem Modus wird die diagnostische Erfassung nicht enden ehe die Bedingungen wie mit Kommando SetTraceStop gesetzt erf llt werden Verwenden Sie das Kommando SetTraceMode um den Modus auszuw hlen Das Kommando GetTraceMode liefert den programmierten Modus zur ck Trace Start Stop Bedingungen Das Kommando SetTraceStart wird verwendet um die Bedingungen zu setzen die den Erfassungsmechanismus in Gang setzen Ein hnliches Kommando SetTraceStop wird verwendet um die Bedingungen zu setzen welche den E
152. osition des Endschalters bewegt Falls sich die Achse nicht bewegt in Open Loop Mode befindet oder sich in die entgegengesetzte Richtung bewegt wird kein Endschalterereignis eintreten Z B wird ein Endschalterereignis dann eintreten wenn die Sollposition sich in positiver Richtung befindet und der Endschalter f r die positive Richtung auf high schaltet Jedoch wird dies nicht eintreten wenn die Sollposition sich in negativer Richtung befindet oder die Achse sich nicht bewegt Der Zustand der Endschaltereing nge active high oder active low kann mit dem Kommando SetSignalSense definiert werden Nachdem ein Endschalterereignis eingetreten ist sollten folgende Schritte unternommen werden um das Ereignis zu kl ren 1 Au er wenn Endschalterereignisse w hrend normaler Maschinenoperation vorkommen k nnen sollte die Ursache des Ereignisses untersucht werden und entsprechende Sicherheitskorrekturen gemacht werden 2 Der die Endschalterbit s im Event Status Register sollte n durch das Kommando ResetEventStatus gel scht werden Falls als EventAction No Action programmiert wurde ist keine weitere Bewegung mehr m glich w hrend ein Endschalterbit im Event Status Register gesetzt ist 3 Falls der standardm ige EventAction Abrupt Stop with Position Error Clear nicht ge ndert wurde sollte eine Bewegung in die entgegengesetzte Richtung initiiert werden welche das Endschaltereignis ausgel st hat Dieses kann jede Profilbewegung sein die
153. otor wieder in Betrieb genommen werden kann Falls als EventAction No Action Abrupt Stop oder Smooth Stop programmiert wurde wird das Kommando RestoreOperatingMode keinen Einfluss auf die Wiederherstellung des Betriebes haben Es hat nur Einfluss auf die Wiederherstelluing der Module allein Wenn erst programmiert bleibt ein EventAction aktiv bis es reprogrammiert wurde Das Auftreten einer Ereignisbedingung setzt die definierte EventAction nicht zur ck sie bleibt aktiv p50 POSYS Motion Control 2014 Die POSYS 1800 B Karten stellen Standardwerte f r die ereignis bedingte Verarbeitung zur Verf gung Diese Standardwerte sind gedacht einen sicheren Betrieb f r viele typische Motion Control Anwendungen bereit zu stellen Ob diese Standardwerte der Anwendung gen gen muss der Anwender bestimmen Die Standardwerte lauten wie folgt Bedingung Standardaktion Deaktiviere Position Loop und Trajektoriegenerator Positive amp Negative Limit Abrupter Stopp mit L schung des Schleppabstandfehlerwertes Tabelle 31 Standard Event Actions 0 Schleppabstandsfehler Unter gewissen Umst nden kann sich die Istposition Enkoderstellung von der Sollposition aktuelle Sollpositionsvorgabe des Trajektoriegenerators in erheblichem Umfang unterscheiden Solch ein berm iger Positionsfehler zeigt oft einen potenziell gef hrlichen Zustand wie Motor oder Enkoderausfall oder berm ige mechanische Reibung an Um diesen Zusta
154. otwendig da eine Reihe von Werten und Einstellungen erst vorgenommen werden k nnen wenn der Motortyp definiert wurde F r weitere Informationen verweisen wir hier auf das POSYS 1800 B Programmierhandbuch Motorausgabeformat Verschiedene Methoden stehen bei der POSYS zur Verf gung mit entsprechenden Treibern und Verst rkern verbunden und verwendet zu werden jedoch variieren die Methoden bei den verschiedenen Motorversionen und Modellen POSYS 18xx B Motortyp Phasen pro Achse Verf gbare Ausgabeformate POSYS 182x B DC b rstenbehaftete 1 Sign magnitude PWM oder DC b rstenlos 50 50 PWM Servomotoren mit Parallel DAC externe Kommutierung DC b rstenlose 2 oder 3 Sign magnitude PWM 50 50 PWM interne Kommutierung Parallel DAC Mikroschrittmotor 2 oder 3 Sign magnitude PWM 50 50 PWM Parallel DAC POSYS 182x B Schrittmotor 1 Pulse amp Direction 185x B Tabelle 42 Motorsollwertformatausgabe Servomotoren mit nur wenn 2 Phasen selektiert sind Dieses Format ist nicht f r 3 Phasen Motoren verf gbar Sign magnitude PWM 50 50 PWM und DAC Ausgangssignale verwenden einen Vorzeichen definierten numerischen Sollwert allerdings in verschiedenen Formaten Alle dieser Formate kodieren das Signal dahingehend dass der numerische Wert einem Drehmoment bzw Geschwindigkeitssollwert entspricht welche die POSYS an den Verst rker ausgibt Takt amp Richtung arbeitet auf eine fundamental andere Art als die beiden vo
155. p Mode betrieben wird Dieses vorkommutierte Kommandosignal wird mit Kommutierungswerten hergeleitet von einer internen Sin Cos Tabelle multipliziert Der Kommutierungswinkel in der Sin Cos Tabelle wird sowohl von der Enkoderposition als auch von Parametern die vom Hostprozessor stammen bestimmt die den spezifischen Enkoder ins Verh ltnis zu den magnetischen Polen des Motors setzen Zwei Wellenformen f r die Kommutierung werden unterst tzt eine f r 3 phasige Motoren mit 120 Grad Winkel zwischen den Phasen z B b rstenlose Servomotoren und eine f r 2 phasige Motoren mit 90 Grad zwischen den Phasen z B Schrittmotoren Andere Besonderheiten der POSYS sind die F higkeit Hallsensoreing nge f r die Phaseninitialisierung zu verwenden einen Indextakt um die Kommutierungssynchronisation zu erhalten den Enkodereingang vor zu skalieren um eine gr ere Anzahl verschiedene Arten von R ckmeldeeinheiten zu unterst tzen und die Unterst tzung von geschwindigkeits basierter Phasenvorschau f r weichere und effizientere Hochgeschwindigkeitsoperation 0 Phasenanzahl Die POSYS unterst tzt 2 verschiedene Signalformen f r die Kommutierung Die Eine ist eine um 120 versetzte Signalform geeignet f r 3 Phasen b rstenlose Servomotoren die andere eine um 90 versetzte Signalform geeignet f r 2 Phasen b rstenlose Motoren Um die eine oder andere Signalform zu aktivieren wird das Kommando SetMotorType verwendet Eingestellte Wert
156. r Instruction Error Indicator des Ereignis Zustandsregisters wird gesetzt W hrend ung ltige Parameter w hrend des Updates berpr ft und ignoriert werden werden zul ssige Parameter weiterhin geschickt und akzeptiert Dies kann unabsichtliche Nebenwirkungen je nach Art der Bewegung nach sich ziehen sodass alle Anweisungsfehlerereignisse sehr ernst genommen werden sollten Im folgenden Beispiel wird die negative Geschwindigkeitsvorgabe im neuen Profil nicht akzeptiert Tabelle 25 Instruktionsfehler Der Update wird ausgef hrt aber das Instruction Error Bit wird gesetzt Legitime Parameter wie die neue Position werden aktualisiert und der Bahngenerator arbeitet weiter 0 Activity Status Register Wie das Ereignis Zustandsregister berwacht das Aktivit ts Zustandsregister verschiedene Prozesse der POSYS 1800 B Aktivit ts Zustandsregisterbits werden allerdings nicht gelatcht sie werden kontinuierlich von der POSYS gesetzt und zur ckgesetzt um den gegenw rtigen Status anzuzeigen Das Activity Status Register wird in der Tabelle unten beschrieben Beschreibung Phasing initialized Gesetzt 1 sobald die Hardware der Motorkommutierung initialisiert wurde Gel scht 0 falls noch nicht initialisiert At maximum velocity Gesetzt 1 wenn die Sollgeschwindigkeit gleich der Istgeschwindigkeit ist wie vom Host angegeben Gel scht 0 wenn es nicht der Fall ist Dieses Bit funktioniert nur im Trapez Geschwi
157. r Speicher wird ben tigt Lineare Bewegungsprofile k nnen wesentlich l ngere SegmentTimes verwenden als zikulare Bewegungsprofile SegmentTimes f r zirkulare Bewegungsprofile ben tigen aber in der Regel nie weniger als 2 Millisekunden f r die pr zise Ausf hrung von zirkularen Bewegungsprofilen 0 Was bedacht werden mu Wenn ein Bewegungsprofil im External Profile Mode ausgef hrt wird wird es normalerweise an das Ende des Buffers gelangen dass zugeteilte Daten enth lt Falls es kein SegmentTimewert mit 0 findet wird es an die Startposition zur ckspringen und mit der Ausf hrung fortfahren Dies kann eine potenziell gef hrliche Situation darstellen Falls die Endposition erheblich von der Startposition abweicht k nnte dies dazu f hren dass die Achse einen sofortigen Sprung zu dieser Position durchf hrt Um den External Profile Mode zu verlassen muss das letzte Segment einen SegmentTime Multiplikator von O f r jede involvierte Achse enthalten Die Achsen werden dann in ihrer Position verharren Der ausgew hlte Profilmodus SetProfileMode axis mode ist dann immer noch aktiv profil 4 und muss in den gew nschten Modus gesetzt werden f r weitere Bewegungsausf hrungen 0 Verf gbarer Speicher RAM zu klein f r Programmausf hrung Was tun Die Programml nge berschreitet den zur Verf gung stehenden Speicher dies stellt kein Problem dar Teilen Sie die Bewegungssequenz in kleinere Sequenzen auf Laden Sie diese Se
158. r POSYS 1800 B verwendbar Darf 0 oder 1 sein Tabelle 27 Signal Status Register Das Kommando GetSignalStatus liefert den Inhalt des Signal Status Registers der spezifizierten Achse Alle Signal Status Register Bits sind Eing nge mit Ausnahme von Bit 10 AxisOut Die Bits in den Signal Status Register stellen immer das eigentliche Hardwareniveau auf den entsprechenden Eing ngen dar Eine 1 in diesem Register stellt einen elektrisch hohen Wert auf dem Eingang dar eine 0 zeigt ein elektrisch niedriges Niveau an Der Zustand der Signal Sense Mask beeinflusst den Wert der gelesen wurde mit dem Kommando GetSignalStatus lesen Sie bitte im n chsten Abschnitt mehr ber die Signal Sense Mask Die eigentliche Interpretation des Signals ist abh ngig von seiner Funktion Zum Beispiel sind Index Home Negative Limit und Positive Limit als aktiv low ausgelegt d h wenn eine 0 gelesen wird mit dem Kommando GetSignalStatus bedeutet dies dass das Signal aktiv ist Wenn man das Beispiel mit dem Signal f r Negative Limit anwendet wenn GetSignalStatus einen Wert von 0 aufweist interpretiert der Motion Controller dies so dass die entsprechende Achse den negativen Endschalter aktiviert hat Andere Signale wie HallA HallB HallC Axisin und AxisOut verf gen nicht ber ein Active high oder active low Status als solches In den entsprechenden Abschnitten des Handbuchs erfahren Sie mehr wie diese Signale vom Motion Controller verwendet werden
159. rd wenn die Erfassung endet und weil der Lesezeiger automatisch hochz hlt und umbricht w hrend Daten gelesen werden ist das Lesen des kompletten Inhaltes des Tracebuffer s so einfach wie das zuweisen von x ReadBuffer Kommandos wobei x der Wert der zur ckgeliefert wird vom Kommando GetTraceCount W hrend jeder Trace Period wird jede Trace Variable benutzt einen 32 Bit Wert im Tracebuffer zu speichern Daher wenn Daten aus dem Buffer gelesen werden wird der 1 Wert der gelesen wird der Variablen 1 zugeordnet der 2 Wert der Variablen 2 USW Zu jeder Zeit kann das Kommando GetTraceCount verwendet werden um die 32 bit Datenw rter die im Speicher gespeichert wurden zu lesen Beides die L nge des Tracebuffers und die Anzahl der Trace Variables hat direkten Einfluss auf die Anzahl der zu erfassenden Anzahl Daten die gespeichert werden k nnen z B wenn der Tracebuffer auf 1000 Datenw rter 32 Bit begrenzt wurde und 2 Variablen initialisiert sind Variable O und 1 dann k nnen bis zu 500 Datens tze gespeichert werden Jedoch wenn 3 Variablen 0 1 und 2 erfasst werden k nnen nur 333 Datens tze gespeichert werden In diesem Fall wird das brige Datenwort die erste Variable von der 334 Erfassung speichern Wenn der Tracemodus kontinuierlich abl uft dann wird die 334 Erfassung das 1 Datenwort im letzten verf gbaren Speicher des Tracebuffer s speichern das 2 und 3 Datenwort werden entsprechend an den Pl tzen 0 und 1 abgelegt
160. rd kontinuierlich berwacht Wenn der Bit den definierten Zustand einnimmt 0 oder 1 startet stoppt die Erfassung Bitnummer und Bitstatus nicht verwendet Activity Status Der spezifizierte Bit im Activity Status Register wird kontinuierlich berwacht Wenn der Bit den definierten Zustand einnimmt 0 oder 1 startet stoppt die Erfassung Signal Status Der spezifizierte Bit im Signal Status Register wird kontinuierlich berwacht Wenn der Bit den definierten Zustand einnimmt 0 oder 1 startet stoppt die Erfassung Tabelle 37 Trigger Typen Download von Trace Daten Wenn die Erfassung einmal gelaufen ist und der Tracebuffer voll oder teilvoll mit Daten ist k nnen diese Daten durch Verwendung der Standardkommandos um den Buffer zu lesen durch den Host heruntergeladen werden Wenn eine Erfassung stoppt entweder durch Setzen des entsprechenden SetTraceStop Kommandos oder weil das Ende des Tracebuffers erreicht wurde wird der Lesezeiger des Tracebuffer s auf den ltesten Wert gesetzt Falls kein Wrap around stattfand dann wird dies die Adresse 0 sein Falls ein Wrap around stattfand wird der Lesezeiger auf den Speicherbereich gesetzt der von der n chsten Erfassung mit Daten berschrieben wurde Dieser Wert kann verwendet werden um die Anzahl der ReadBuffer Kommandos zu bestimmen um den kompletten Inhalt des Tracebuffer s herunter zu laden Weil der Lesezeiger automatisch auf das lteste Datenwort gesetzt wi
161. rde der Versuch unternommen Profilparameter zu ndern Dies ist nicht erlaubt Invalid move after Nach einem Event Action das mit dem Kommando SetEventAction definiert event wurde wurde eine Bewegung versucht zu initiieren ohne das vorher das action entsprechende Bit im Event Status Register gel scht wurde Move into limit Es wurde versucht eine Bewegung zu machen ohne das vorher die entsprechenden Endschalter Bit s im Event Status Register zur ckgesetzt wurden Invalid operating Es wurde der Versuch unternommen mit dem Kommando mode change after RestoreOperatingMode bzw SetOperatingMode den Operating Mode des event action Controller s wieder herzustellen ohne vorher im Event Status Register die Endschalterbits zu l schen 17 Invalid instruction Kommando im gegenw rtigen Operating Mode Systemstatus oder Kontext context nicht erlaubt Tabelle 46 Instruktionsfehler p81 POSYS Motion Control 2014 Serielle Schnittstelle Konfiguration Nach einem Reset liest die POSYS einen 16 Bit Wert vom Peripheriebus Adresse 200h welches verwendet wird um die Standardkonfiguration des seriellen Ports zu setzen Die serielle Schnittstelle kann auch mit dem Kommando SetSerialPortMode konfiguriert werden Das POSYS 1800 B Programmier Handbuch beschreibt das Kommando n her GetSerialPortMode liest die gegenw rtige Einstellung Das Konfigurationswort ist folgenderma en aufgeschl sselt um andere Konfigur
162. rderlichen sinusf rmigen Signale f r jede Phase um eine saubere und akkurate Bewegung zu gew hrleisten Falls der PWM Ausgabemodus verwendet wird werden das Takt und Richtungssignal f r gew hnlich mit einem H Bridge typischen Ger t verbunden F r maximale Leistung sollte der Verst rker auf Drehmomentsollwert eingestellt sein Dies minimiert die Stromverzerrung der Spule aufgrund von Induktivit t und EMF Obwohl es einige Methoden gibt die benutzt werden k nnen um Drehmomentsollwertskontrolle mit PWM zu erreichen ist es eine bliche Methode das PWM Signal durch einen Low Pass Filter zu schicken dabei ein analoges Referenzsignal erstellend welches direkt mit dem Strom durch die Spule verglichen werden kann p78 POSYS Motion Control 2014 Diverse Verst rker sind verf gbar die kompatibel sind mit diesen Eingangssignalen Diese Verst rker ben tigen einen analogen Referenzeingang low passed PWMMag Signal vom Controller als auch ein Bit mit Vorzeichen PWMSign vom Controller Der Verst rker generiert intern einen Drehmomentsollwert anhand eines PWM Drive Schemas Das nachfolgende Diagramm zeigt ein solches Drive Schema Amplifier PWM Mag Low pass filter gt Current control H bridge PWM Sign A POSYS 182x B K z PWM Magg Low pass filter gt Current control gt H bridge PWM Sign B Abbildung 30 Typische Verst rker Strom kontrollierte Konfiguration Im Vergleich zur DAC Methode hat die PWM Variante
163. rfassungsmechanismus stoppen Beide SetTraceStart und SetTraceStop sind ein 16 bit Datenwort welches 4 codierte Parameter enth lt Beschreibung 0 3 Trigger Axis F r Triggertypen anders als unmittelbar bestimmt dieses Feld welche Achse als die Quelle f r den Trigger benutzt werden soll Verwenden Sie 0 f r Achse 1 1 f r Achse 2 usw ee Definiert die Art von Trigger die benutzt werden soll Sehen Sie in der Tabelle unten f r eine vollst ndige Auflistung von Triggertypen nach nn bit F r Triggertypen die auf den Statusregister basieren bestimmt dieses Feld welches Bit 0 15 des Statusregisters berwacht werden soll nn 15 Trigger State F r Triggertypen die auf den Statusregister basieren bestimmt dieses Feld welcher Status 0 oder 1 des spezifizierten Bits einen Trigger veranlassen p59 POSYS Motion Control 2014 Beschreibung ra Tabelle 36 Trace Start Stop Bedingungen Das Feld f r den Triggertyp muss eines der folgenden Werte beinhalten Beschreibung Immediate Dieser Triggertyp zeigt an dass die Erfassung sofort startet stoppt wenn als Typ das Kommando SetTraceStart SetTraceStop verwendet wurde Wenn Update Die Erfassung startet stoppt beim n chsten Update der spezifizierten Quellachse Dieser Triggertyp verwendet nicht die Bitnummer oder Statuswerte u dieser Trippertyp spezifiziert wurde dann werden die Werte f r Quellachse 2 Event Status Der spezifizierte Bit im Event Status Register wi
164. rhergenannten Methoden weil bei dieser Methode keine M glichkeit besteht eine PID Regelung zu verwenden Stattdessen unterst tzt Takt amp Richtung Schrittmotortreiber die entweder einen Takt f r die positive Richtung oder einen Takt f r die negative Richtung erhalten Der Verst rker selbst ist voreingestellt auf die Motorverst rkung f r die es meistens verschiedene Einstellm glichkeiten gibt An dieser Stelle noch mal der Hinweis dass Takt amp Richtungssignale im Allgemeinen p71 POSYS Motion Control 2014 daf r verwendet werden Schrittmotoren zu steuern aber auch verwendet werden kann mit Schrittmotor hnlichen Servosystemen die dieses Signal unterst tzen Das Kommando SetOutputMode definiert welches der zur Verf gung stehenden Ausgabemethoden verwendet wird Das Kommando GetOutputMode liefert den programmierten Wert zur ck 0 Sign Magnitude PWM In diesem Modus werden 2 Ausg nge verwendet um den Motor anzutreiben Ein Ausgang liefert das impuls breiten modulierte Signal welches von 0 bis 100 sein kann Dieses Signal steht f r die maximale Magnitude f r den gew nschten Drehmomentsollwert Ein Signal auf diesem Ausgang bedeutet dass auf die Motorwicklung eine Spannung anliegen soll Ein zweiter Ausgang definiert ob das Motorausgangsignal f r eine positive oder f r eine negative Drehrichtung sorgen soll In diesem Modus ist der Ausgang ein Teil von 2048 Die Aufl sung des Motorbefehlsregisters ist skaliert au
165. rotokoll wird jedes bertragene Byte dass von der POSYS empfangen oder versendet wird ein zus tzliches Bit enthalten nach dem letzten Datenbit Dieses Bit wird f r die Identifikation des Addressbytes eines Paketes verwendet Jedes Byte dass von der POSYS empfangen wird und bei dem dieses Bit gesetzt ist wird als den Beginn eines neuen Kommandopakets interpretiert Falls die POSYS dabei war Daten eines fr heren Kommandopakets zu empfangen werden jene Daten verworfen 0 p85 POSYS Motion Control 2014 Controller Area Network CAN Controller Area Network CAN CAN ist ein serielles Bus System speziell um in Netzwerkumgebungen mit intelligenten Ger tschaften als auch Sensoren und Aktoren innerhalb eines Systems oder Sub Systems zu interagieren 0 berblick Die POSYS 1800 B k nnen in ein CAN 2 0B Netzwerk integriert werden und mit anderen CAN Knoten koexisitieren aber nicht kommunizieren Die POSYS verwendet CAN um Kommandos zu empfangen Antworten und optional auch asynchron Ereignisbenachrichtigungen zu senden Jede Meldung hat folgende Adresse 0x600 nodelD Tabelle 51 CAN Message Types CAN Knoten kommunizieren mit Hilfe von Botschaften Jede Botschaft kann bis zu 8 Bytes an Daten beinhalten Der CAN Protokoll ist in der Lage automatisch bertragungsfehler zu korrigieren daher ist die Verwendung einer Checksumme nicht notwendig wie bei der seriellen Daten bertragung 0 Messag
166. rten SSI Schnittstelle wird jede Achse bis zu 20 000x pro Sekunde gelesen Trotzdem k nnen f r nichtposition re Erfassungsfunktionen die den Signal Status Register verwenden diese Signale normal verwendet werden Z B k nnen diese Bits gelesen Kommando GetSignalStatus oder zum Triggern von Unterbrechungspunkten verwendet werden etc eg Die High speed Positionserfassung steht bei Achsen die mit Absolutwertgebern verwendet werden nicht zu Verf gung Die Eing nge f r Index Home und f r die inkrementalen Enkodereing nge k nnen nicht verwendet werden p69 POSYS Motion Control 2014 Motorausgabesignale Motorausgabesignale Die POSYS 1800 B Motion Controller verf gen ber ein Motor Output Module welches kontrolliert welche Art Motorausgabesignale generiert und an den Verst rker ausgegeben werden In diesem Kapitel wird erl utert wie Sie den Motor Output Module aktivieren und deaktivieren wie man die Motorart ausw hlt und wie man ausw hlt und die Schnittstelle konfiguriert zu anderen Verst rkern mit unterschiedlichen Schnittstellentechniken 0 Motor Output Module deaktivieren Es gibt eine Reihe von Gr nden warum es gelegentlich w nschenswert sein kann das Motor Output Module zu deaktivieren F r weitere Informationen siehe bitte Aktivieren und Deaktivieren von Control Modules f r einen allgemeinen berblick ber das Deaktivieren Aktivieren von Control Modules Die Hauptgr nde ein Motor Output Module
167. s Kommando GetOperatingMode verwendet Generell gesagt der Motion Controller berspringt s mtliche mit dem Modul assoziierten Kalkulationen und die Eingabe vom vorhergehenden Modul wird p10 POSYS Motion Control 2014 direkt weitergeleitet zum nachfolgenden Modul ohne nderungen Die folgende Tabelle erl utert welche Module deaktiviert und aktiviert werden k nnen und beschreibt typische Umst nde unter denen dies sinnvoll erscheint Zus tzlich zu der Funktionalit t einzelne Module zu aktivieren deaktivieren k nnen ganze Achsen v llig stillgelegt werden Bitte beachten Sie dass das Kommutierungs und Phasenmodul durch den Anwender nicht aktiviert oder deaktiviert werden kann Falls ein b rstenloser Servomotor oder Mikroschrittmotor ausgew hlt wurde ist dieses Modul immer aktiviert Modul Beschreibung Typische Anwendung Trajectory Generator Falls deaktiviert verbleibt die Sollposition Dieses Modul wird f r gew hnlich nicht bei seinem gegenw rtigen Wert manuell deaktiviert F r die Bahnkontrolle welches einen sofortigen Stopp erfordert w rde das Kommando SetStopMode mit dem Argument Abrupt Stop stattdessen verwendet Position Loop Wird nur in Verbindung mit Das Deaktivieren dieses Modules Servomotoren verwendet Falls w hrend der Trajectory Generator deaktiviert gibt das Modul Ausgaben aus aktiviert ist ist sinnvoll falls spannungs zwei Quellen abh ngig davon ob das oder stromporpotional agierende Modul aktiv
168. s ein Fehler auftrat w hrend der Kommandoausf hrung siehe Instruktionsfehler f r weitere Informationen Das Byte das dem Statusbyte folgt ist das obere Byte des ersten Datenbwortes gefolgt vom unteren Byte des ersten Datenwortes usw wie in der nachfolgenden Tabelle dargestellt Die eigentliche Anzahl zur ckgelieferte Bytes wird bestimmt durch das ausgef hrte Kommando Im Programmierhandbuch sind die Kommandos mit den zur ckgelieferten Werten gelistet Event Notification Message data byte Data Interpretation a 0 Event Status Register Wert unteres Byte Tabelle 54 Event Benachrichtigung Das erste Byte in einer Benachrichtigung enth lt den Wert Null 0 das zweite Byte enth lt den Wert f r die Achse von dem die Nachricht stammt Das dritte und vierte Byte sind das ober und untere Byte des Event Status Register s der benachrichtigenden Achse Konfiguration der CAN Schnittstelle Nach einem Reset liest der Motion Controller einen 16 Bit Wert von seinem Peripheriebus welches dient die Standardkonfiguration f r die CAN Schnittstelle zu setzen Die CAN schnittstelle des Motion Controller s kann mit dem Kommando SetCANMode an die eigenen Bed rfnisse angepasst werden Diese Kommando wird benutzt um die CAN nodelD 0 127 als auch die Ubertragungsrate eines speziellen Motion Controller s zu setzen Die unterst tzten Ubertragungsraten sind wie folgt 1 000 000 125 000 Tabelle 55 Konfiguration der CAN Schnittstelle
169. s gibt der Controller einen Synchronisationstakt aus der von den Slave Controllern oder anderen Ger ten verwendet werden kann um den internen Arbeitszyklus mit dem Master zu synchronizieren 2 Slave Im Slave Modus ist der Controller derart konfiguriert dass das eingehende Synchronisationssignal den internen Arbeitszyklus synchronisiert mit dem Eingangssignal Tabelle 40 Encoding f r den Synchronizationsmodus Wenn man mehrere Regler synchronisiert m ssen die folgenden Regeln beachtet werden Die Servoloopupdaterate aller Regler muss gleich sein Z B wenn eine 4 Achsen POSYS und eine 2 Achsen POSYS miteinander synchronisiert werden sollen muss mindestens der Gr ere der beiden m glichen niedrigsten Werte eingestellt sein Nur eine Karte im Verbund kann als Master fungieren Z B wenn 3 Controller zu einem Verbund zusammen geschaltet wurden kann nur eine Karte als Master die anderen beiden Karten m ssen als Slaves konfiguriert sein e Im Verbund m ssen zuerst die Slaves definiert werden und dann die letzte Karte als Master Dies stellt sicher dass die Zykluszeiten der Slaves pr zise auf die Zykluszeit des Master eingestellt werden Der Master sendet alle 50 us ein Taktsignal an die Slaves Die Applikationen des Anwenders k nnen dieses Signal auch zur Synchronisation weiterer externer Peripherieger te verwenden 0 p65 POSYS Motion Control 2014 Enkoderschnittstelle Enkoderschnittstelle Die
170. schaltereingang zu entdecken negative positive limit switch limit switch Legal travel region negative positive over travel region over travel region Abbildung 18 Richtungsabh ngiger Endschalter berwachung Weitere Informationen ber die Anbindung dieser Signale finden Sie im Installationshandbuch f r die POSYS 1800 B Im dem Moment in dem ein positives oder negatives Endschalterereignis auftritt werden mehrere Ereignisse gleichzeitig ausgel st Das entsprechende Endschalter Bit des Event Status Register wird zusammen mit dem entsprechendem Bit im Activity Status Register gesetzt Falls f r positive und negative Endschalterereignisse EventAction nicht modifiziert wurden dann wird der Bahngenerator einen abrupten Stopp ausf hren und der aufgelaufene Schleppabstandsfehler wird gel scht Falls ein neues EventAction programmiert wurde dann wird dieses ausgef hrt Falls als EventAction No Action programmiert wurde wird nur das Endschalterbit gesetzt In diesem Fall wird keine Wiederherstellungssequenz ben tigt um den Motion Controller weiter arbeiten zu lassen Jedoch sollte der Anwender den Grund f r das Ereignis ermitteln und die Bewegung manuell beenden Falls die Endschalter berwachung der POSYS eingeschaltet wurde werden die Eing nge kontinuierlich auf ein Endschalterereignis hin berwacht Ein Endschaltererereignis entsteht dann wenn ein Endschaltereingang aktiv wird wenn sich die Achse in Richtung der Sollp
171. scht das Bit Damit ist die n chste Erfassung m glich In motion indicator Gesetzt 1 wenn die Soll Position des Trajektorieprofils sich ndert Gel scht 0 wenn die Soll Position sich nicht ndert Der Wert dieses Bits kann oder darf nicht dem Wert des Motion Complete Bits des Ereigniszustandsregisters entsprechen unabh ngig davon ob der Motion Complete Mode auf Soll oder Ist Wert gesetzt wurde In positive limit Gesetzt 1 wenn der Motor den positiven Endschalter erreicht hat Gel scht 0 wenn dem nicht so ist In negative limit Gesetzt 1 wenn der Motor den negativen Endschalter erreicht hat Gel scht 0 wenn dem nicht so ist Profile segment Zeigt die Nummer der einzelnen Segmente der S Kurve mit den Werten 1 7 an wie gezeigt in der S Kurvenbeschreibung dieses Handbuches Ein Wert von 0 in diesem Feld zeigt dass die Bahn nicht in Bewegung ist Dieses Feld ist undefiniert f r andere Profilmodi als der S Kurve und kann O s oder 1 s enthalten Tabelle 26 Activity Status Register Das Kommando GetActivityStatus liefert die Werte des Aktivit ts Zustandsregisters f r die angegebene Achse 0 Signal Status Register Das Signal Status Register bietet Real Time Signalerfassung f r verschiedene Eing nge Das Signal Status Register wird in der Tabelle unten beschrieben Negative limit Hali 11 12 Reserved Darf 0 oder 1 sein p47 POSYS Motion Control 2014 Beschreibung 13 14 Nicht f
172. srampe bis Null 0 der Motor unverz glich bei Erreichen der Startgeschwindigkeit die Geschwindigkeit auf Null 0 reduzieren ohne einer weiteren Abbremsrampe Abbildung 4 zeigt ein solch typisches Profil mit eingestellte Startgeschwindigkeit acceleration deceleration velocity lt o gt Velocity Starting Velocity Time Starting Velocity Abbildung 4 Trapez f rmiges Profil mit eingestellte Startgeschwindigkeit lt gt Null 0 Anmerkung Eine Startgeschwindigkeit kann nur im Trapezmodus trapezoidal profile mode und Geschwindigkeitsmodus velocity contouring profile mode eingestellt werden Es ist nicht verf gbar f r die Modi S Kurve oder Electronic Gearing Profile Mode Falls die negative Beschleunigung einsetzen muss ehe die Achse die programmierte Geschwindigkeit erreicht wird das Profil kein konstantes Geschwindigkeitsteil ausweisen und das Trapez wird zum Dreieck Abbildung 5 A acceleration D deceleration Velocity Time Abbildung 5 Einfaches trapez f rmiges Punkt zu Punkt Profil ohne konstanten Geschwindigkeitsanteil Die Rampen k nnen je nachdem ob und wenn ja auch die negative Beschleunigung programmiert wurde entweder symmetrisch oder asymetrisch sein Der Beschleunigungsparameter wird immer am Anfang der Bewegungssequenz benutzt Danach wird der Wert f r die positive Beschleunigung in jene Richtung verwendet und der Wert f r die negative Beschleunigung wird f r die en
173. stand als auch w hrend der Bewegung Obwohl dies nicht unbedingt notwendig ist kann es zum Testen ganz n tzlich sein oder w hrend der Kommutierungsinitialisierung im Mikroschritt bzw Direkt Set Modus Um den Kommutierungswinkel zu ndern wenn der Motor stillsteht wird das Kommando SetPhaseAngle verwendet Um den Kommutierungswinkel zu ndern w hrend sich der Motor bewegt ist auch der Indextakt notwendig und das Kommando SetPhaseOffset wird verwendet welches nur dann ausgef hrt wird wenn ein Indextakt erfasst wird Die folgende Beschreibung liefert einiges Hintergrundwissen zu dieser Funktion Nach der Phaseninitialisierung wird der korrekte Kommutierungswinkel vom Controller als Relativwert vom Index in Inkrementen zum maximalen Ausgabewert der Phase A gespeichert commutation zero location Dieser 16 Bit Registerwert kann mit dem Kommando GetP haseOffset gelesen werden Die folgende Grafik zeigt die Abh ngigkeit zwischen der Kommutierungsnullposition der Phase A der Indexposition und dem Offsetwert der Phase Der gezeigte Indextakt f r einen gegebenen Motor in dieser Grafik k nnte irgendwo innerhalb eines Phasenzyklusses lokalisiert worden sein da es von Motor zu Motor variieren kann Nur bei Motoren die dahingehend montiert wurden dass die Indexposition immer im gleichen Bezug zu den Motorwicklungen stehen werden eine konsistente Indexposition relativ zur Kommutierungsnullposition aufweisen p95 POSYS Motion Control
174. t Initialisierungssequenz SetMotorType xx Motortyp setzen SetOutputMode m Motorausgabemodus setzen SetPhaseCounts xxxx Anzahl der Encoderstriche pro elektrischen Zyklus setzen SetPhaseAngle yyyy Setzen des Phasenwinkels basierend auf Informationen vom externen Sensor Tabelle 59 Direct Set Initialisierungssequenz Diese Sequenz wird den Phasenwinkel direkt setzen der von einem externen Sensor bestimmt wurde Der Wert muss zwischen 0 und der maximalen Enkoderaufl sung pro elektrischer Zyklus sein 0 Index Taktreferenzierung Um die Langzeitverl sslichkeit der Kommutierung zu verbessern unterst tzt die POSYS die M glichkeit einen Indextakt des Enkoders als Referenzpunkt w hrend der Kommutierung zu verwenden Durch Verwendung des Indextaktes w hrend der Phasenkalkulation wird jedweder Langzeitverlust an Enkoderz hlungen welche die Genauigkeit der Kommutierung beeinflussen k nnen eliminiert Um die Referenzierung des Indextaktes verwenden zu k nnen muss dieses Signal vom gew hlten Enkodertyp zur Verf gung gestellt werden und zwar einmal pro Umdrehung Die Referenzierung des Indextaktes wird f r alle b rstenlosen Motoren mit Inkrementalenkoder empfohlen F r b rstenlose Linearmotoren wird er normalerweise nicht ben tigt obwohl er verwendet werden kann solange der Indextakt so angelegt ist dass jeder Takt im gleichen Phasenwinkel innerhalb des Kommutierungszyklus auftritt Die Verwendung des Indextaktsig
175. t den programmierten Status zur ck der mit dem Kommando SetOperatingMode den gew nschten Operationsmodus f r normale Bedingungen setzt Jedoch kann dies vom aktuellen Operationsmodus aufgrund oben angef hrter Gr nde abweichen Um den aktuellen Status abzufragen wird das Kommando GetActiveOperatingMode verwendet 0 Reset Kommando Zus tzlich zur Aktivierung und Deaktivierung des Control Modules ist es m glich den Motion Controller v llig zu resetten und zwar mit Hilfe des Reset Kommandos Dieses Kommando setzt alle Register auf ihre Standardwerte zur ck und reinitialisiert alle Motion Control Funktionen Siehe POSYS 1800 B Programmerierhandbuch f r Details welche Register auf welche Standardwerte zur ckgesetzt werden Ein Reset Kommando hat die gleiche Wirkung wie das Bet tigen des Hardwareschalters zur Aktivierung eines Hardware Resets Neben dem manuellen Resetten oder dem signalbasierten Resetten erfolgt auch ein Reset w hrend des Einschaltens Aufgrund der gro en Anzahl von erforderlichen Operationen dauert ein Reset Vorgang wesentlich l nger als das normale Abarbeiten von Standard Kommandos Beachten Sie dass im normalen Betrieb die Ausf hrung eines Resets nicht erforderlich ist Im Allgemeinen wird es p11 POSYS Motion Control 2014 nur w hrend der Entwicklung oder zur Fehlersuche ben tigt um das System wieder in einen bekannten Ausgangszustand zu bringen nn Das Ausf hren eines Reset Kommandos f hrt da
176. t sind ist es nicht mehr m glich weder in die eine noch in die andere Richtung herunter zu fahren Jedoch falls diese Anordnung gew nscht wird vermutlich aufgrund einer besonderen Verdrahtungsanordnung werden dann beide Endschalterbits im Activity Status Register gesetzt welches zur Folge hat da eine Bewegung weder in die eine noch in die andere Richtung m glich ist In diesem Fall sollte das Kommando SetEventAction No Acton oder das Kommando SetLimitSwitchMode verwendet werden um die Endschalter berwachung zu deaktivieren w hrend der Motor vom Endschalter heruntergefahren wird Im Regelfall werden Endschalterereignisse verwendet w hrend das Bahngeneratormodul aktiviert ist Falls das Bahngeneratormodul deaktiviert ist z B w hrend der Verst rkerkalibrierung ist zwar die Endschaltererkennung aktiviert aber bei einer m glichen Erkennung sind EventActions limitiert auf das Deaktivieren anderer Module Der Bahngenerator muss aktiviert sein f r Smooth Stop Abrupt Stop oder Abrupt Stop with Position Error Clear um automatisch ausgel st zu werden Tracking Window Die POSYS stellt programmierbare Tracking Windows zur Verf gung die verwendet werden k nnen das Servoverhalten au erhalb des Zusammenhanges eines Schleppabstandsfehlers zu berwachen Das Tracking Window funktioniert hnlich wie beim Schleppabstandsfehler dadurch dass es eine programmierbare Positionierfehlergrenze gibt innerhalb derer die Achse verweilen muss
177. tandsmaske bestimmt welcher Status des entsprechenden Statusbits einen Breakpoint erzeugt Jeder Statusbit das in dem gleichen Zustand z B 1 oder 0 wie das entsprechende Zustandsbit ist ist geeignet einen Breakpoint auszul sen vorausgesetzt dass es von der Triggermaske selektiert worden ist Zum Beispiel wenn der Statusregisterbreakpoint selektiert worden ist und die Triggermaske den Wert 0402h und die Zustandsmaske den Wert 0002h enth lt wird der Breakpoint dann getriggert wenn Bit 1 der at max velocity Indikator den Wert 1 annimmt oder Bit 10 der in Bewegung Indikator den Wert bernimmt 0 Breakpoint Aktionen Sobald ein Breakpoint getriggert worden ist kann die POSYS programmiert werden eine der Folgeanweisungen auszuf hren Beschreibung None Keine Kommandos werden ausgef hrt jedoch das Breakpoint Bit wird im Event Status Register gesetzt Update Kopiert die doppelt gebufferten Register in die aktiven Register wie vorher mit dem SetBreakpointUpdateMask Kommando gesetzt Smooth Stopp L st einen Stopp mit Rampe aus entsprechend dem mit den Kommandos SetAcceleration und oder SetDeceleration gesetzten Werten aus Der Geschwindigkeitswert wird auf Null 0 gesetzt nach dem der Breakpoint ausgef hrt wurde Abrupter Stopp L st einen abrupten Stopp ohne Rampe aus Der p41 POSYS Motion Control 2014 Aktion Beschreibung Geschwindigkeitswert wird auf Null 0 gesetzt nach dem der Breakpoint
178. tgegengesetzte Richtung eingesetzt Falls keine Bewegungsparameter w hrend der Bewegungssequenz ver ndert werden dann wird der positive Beschleunigungswert verwendet bis die maximale Geschwindigkeit erreicht wurde und der negative Beschleunigungswert f r die Abbremsrampe bis Null 0 erreicht wurde p16 POSYS Motion Control 2014 A acceleration D deceleration V1 V2 velocity change velocity vi Velocity change target position Time reverse direction V2 Abbildung 6 Komplexes trapez f rmiges Punkt zu Punkt Profil mit sich ver ndernden Parametern Es ist m glich einen der Profilparameter zu ver ndern w hrend die Achse sich in diesem Profilmodus befindet Der Profilgenerator wird immer versuchen die Bewegung innerhalb der durch die Parameter vorgegebenen Bedingungen auszuf hren Wird w hrend der Bewegung die Endposition in solch einer Weise ver ndert dass der Schleppabstand berschritten wird wird die POSYS mit Rampe bis zum Stopp abbremsen und dann in entgegengesetzte Richtung beschleunigen um sich zu der neuen angegebenen Position zu bewegen Dies wird in Abbildung 6 dargestellt Falls keine negative Beschleunigung programmiert wurde oder 0 ist dann wird der Wert verwendet der f r die positive Beschleunigung programmiert wurde S Kurven Punkt zu Punkt Profil Die folgende Tabelle fasst die host spezifischen Profilparameter zusammen f r den S Kurven Punkt zu Punkt Modus Positio
179. toppen soll Kommando SetTraceStop dann sollte die kontinuierliche Erfassung eingestellt sein Dies w rde das System dazu veranlassen kontinuierlich die Daten zu erfassen bis die Stop Bedingung erf llt wurde Bis zu diesem Punkt w rden die Daten die bis zu dem Stop Ereignis erfasst wurden im Buffer gespeichert Vorher erfasste Daten k nnen wieder berschrieben worden sein falls die Stop Bedingung nach einem Wrap around eintritt und der zur Verf gung gestellte Speicherbereich bereits mit neuen Daten beschrieben wurde _Stoppmethode definieren falls gew nscht Falls ein spezielles Ereignis die Erfassung beenden soll dann sollten sie mit dem Kommando SetTraceStop programmiert werden Jedoch wenn die Erfassung angehalten werden soll wenn der Buffer voll ist einmal Erfassung dann ist es nicht notwendig eine Stop Bedingung zu programmieren Es ist auch erlaubt mit dem Kommando SetTraceStop eine laufende Erfassung sofort zu stoppen e Erfassung starten Das Kommando SetTraceStart kann verwendet werden eine Erfassung sofort beginnen zu lassen Triggertyp sofort Als Alternative kann ein Ereignis spezifiziert werden welches die Erfassung starten lassen soll Host Interrupts Mit Interrupts ist es m glich den Host auf spezielle Ereignisse aufmerksam zu machen ohne die Notwendigkeit kontinuierlich oder durch Polling die Ereignisregister zu berwachen Die POSYS stellt diese M glichkeit als eine Form des Hostinterrupt zur Verf gu
180. tzung dass die Produkte innerhalb der gesetzten Spezifikationen betrieben werden und ein normaler t glicher Gebrauch unterstellt wird d h Produkte die l nger als 8 Stunden t glich Verwendung finden k nnen einer k rzeren Garantieperiode unterliegen F r Details setzen Sie sich mit POSYS Motion Control GmbH amp Co KG in Verbindung POSYS Motion Control GmbH amp Co KG erlaubt sich nderungen an seinen Produkten vornehmen zu k nnen oder Produkte oder Dienstleistungen einzustellen ohne vorhergehende Information und bittet Kunden und Interessenten die m glichst neuesten Informationen zu verifizieren ehe Bestellungen plaziert werden um sicher zu stellen dass alle Informationen aktuell und komplett sind Alle verkauften Produkte unterliegen den erweiterten Verkaufsbedingungen der ZVEI von 2002 0 Sicherheitshinweis Bestimmte Applikationen in denen elektronische Komponenten verwendet werden k nnen ein potenzielles Risiko f r Leben und Material darstellen Unsere Produkte sind nicht entwickelt worden bzw wir authorisieren nicht die Verwendung unserer Produkte in Ger tschaften die der Lebenserhaltung dienen oder anderen kritischen Applikationen Die Verwendung der Produkte der Firma POSYS Motion Control GmbH amp Co KG in solchen Ger tschaften bzw in solch kritischen Applikationen geschieht ausser Garantie und auf volles Risiko des Kunden Um Risiken in Verbindung mit Applikationen des Kunden zu minimieren m ssen das Design und di
181. urch ein externen seriellen DAC Zwei DAC Kan le A und B Phasen werden pro Achse ben tigt Um die dritte Phase C Phase f r einen EC Servomotor zu generieren wird die Summe aus den A und B Signalen gegen C negiert C A B Dies wird mit einer op amp Schaltung bewerkstelligt Zus tzlich falls Drehmomentkontrolle erw nscht ist werden die drei Ausgabesignale so ausgegeben dass der Strom der letztendlich durch die Motorwicklungen flie t in der Summe Null 0 ergibt 0 Multi Phasen Motorkommandointerpretation Wie f r DC B rstenmotoren stellen die Befehle f r die Multi Phasen Motorphasen eine gew nschte Spannung oder Drehmomentsollwertvorgabe durch die Spule und dieses Kommando kann positiv oder negativ sein Im Gegensatz zu 1 phasigen B rstenmotoren sind die Wellenformen f r Multi Phasen Motoren sinusf rmig wobei das Ausma der Sinuskurve das gesamte gew nschte Motordrehmoment widerspiegelt und der Winkel der Sinuskurve die Phasenanforderungen reflektiert um die Motorwicklungen korrekt zu erregen Abbildung 25 zeigt die gew nschte Wellenform der Ausgangsspannung f r eine einzelne Phase eines Multi Phasen Motors motor command r motor command Pr Abbildung 25 Sinus f rmige Motorsollwertausgabe Die Wellenform ist um die OV herum zentriert Abhh ngig davon welche Module aktiviert sind ist das Ausma der Wellenform proportional zur Ausgabe des Position Loops des Current Loops oder des Motor Command Re
182. urde Abrupt Stop with Position Error Veranlasst einen sofortigen Stopp des Trajektoriegenerators als auch die Clear L schung des Schleppabstandsfehlers ClearPositionError Die Geschwindigkeit wird auf Null 0 gesetzt nachdem die EventAction augef hrt wurde Disable Position Loop amp Higher Deaktiviert den Trajektoriegenerator und Position Loop Module Modules Disable Current Loop amp Higher Deaktiviert den Trajektoriegenerator Position Loop und Current Loop Modules Module Disable Motor Output amp Higher Deaktiviert den Trajektoriegenerator Position Loop Current Loop und Modules Motorausgabemodule Tabelle 30 SetEventAction Aktion Nachdem der Eventaction programmiert wurde wird der Motion Prozessor die spezifizierten Konditionen permanent berwachen und die programmierte Aktion ausf hren sobald das Ereignis eintritt Des weiteren werden verwandte Aktionen ausgef hrt wie z B das Setzen des entsprechenden Bits im Event Status Register Um eine EventAction aufzuheben wird das Kommando RestoreOperatingMode verwendet Dieses Kommando setzt den Motion Prozessor in den Operating Mode zur ck der vorher mit dem Kommando SetOperatingMode definiert wurde Bitte beachten Sie dass falls die EventAction immer noch aktuell ist wird sie sofort wieder ausgef hrt E Es liegt in der Verantwortung des Anwenders die Bedingung des ereignis bedingten Events zu eruieren und aufzul sen ehe wieder mit RestoreOperatingMode der M
183. uxiliary Enkoder sollte eine Aufl sung aufweisen die mindestens genauso fein oder feiner ist als die des Hauptenkoders Dies wird helfen potenziell instabile Systemkonditionen zu vemeiden F r POSYS 1800 B Karten gilt folgendes Die Anzahl Enkodereing nge ist gleich der Anzahl unterst tzter Achsen In anderen Worten eine 4 Achsen Karte hat 4 Anschl sse f r Enkoder Wird ein Enkodereingang f r Dualloop verwendet reduziert sich die Gesamtzahl unterst tzter Achsen auch um eins 0 p30 POSYS Motion Control 2014 Biquad Output Filter Biquad Output Filter Ein Biquad ist ein digital strukturierter Filter Mit den richtigen Koeffizienten kann es wie ein Low Pass Filter High Pass Filter BandPass Filter Notch Filter oder benutzerdefinierter Filter programmiert werden Programme wie Octave www octave org k nnen verwendet werden um die Koeffizienten zu ermitteln Die POSYS 1800 B unterst tzt zwei programmierbare Biquad Ausgangsfilter f r jede Achse Diese Filter sind verkettet Wenn beide aktiviert sind speist die Ausgabe von Filter1 die Eingabe von Filter2 Wenn Filterl deaktiviert ist Vorgabe wird der gesamte Filter umgangen und die Motorsollwertvorgabe geht ungefiltert auf den Treiber Motor BO KScalar Input Y Y Output gt e gt xX gt gt e X LS Ahhh Y Y z B1 A1 1 Y Y gt X x z B2 A2 Z 1 y Y x xXx Abbildung 16 Biquad Algorithm Flow Der Ausgang des Filters zum Zeitpunkt n ist mit der folgenden
184. wenderprogramm fein abgestimmt werden kann Die einstellbaren Bereiche f r die Parameter Formate und Interpretationen werden in der folgenden Tabelle gezeigt Unsigned 32 bits 0 to 2 147 483 647 jo meme E aazon kd perivative Gain unsigned 16 bits 0 to 32 767 p27 POSYS Motion Control 2014 Output scale factor Unsigned 16 bits 0 to 32 767 Derivative Sampling Time Unsigned 16 bits 0 to 32 767 Tabelle 12 PID Loop Parameter Values Um PID Regelparameter zu setzen verwenden Sie das Kommando SetPositionLoop Um diese zur ckzulesen verwenden Sie das Kommando GetPositionLoop Integration Limit Der Integralbegrenzer wird verwendet um eine Grenze f r den absoluten Wert zu setzen welches beitr gt zur PID Ausgabe durch den Integralfilter Sein Standardwert nach einem Reset ist Null 0 welches dazu beitr gt dass auch der Integralwert der PID Filterausgabe gleich Null 0 ist Um Ki zu verwenden muss dieser gt Null 0 sein F r weitere Informationen bzgl der Skalierung des Integralwertes verweisen wir auf das Programmierhandbuch Das Kommando zum setzen des Integralwertes lautet SetPositionLoop zum lesen des eingestellten Wertes verwenden Sie das Kommando GetPositionLoop Output Scaling Der Kout Parameter kann dazu verwendet werden die PID Regelparamter in Situationen in denen dies notwendig erscheint herunter zu skalieren Dies wird dadurch bewerkstelligt indem das Filterergebnis mit Kout 65536 mu
185. wenn das Signal auf active high geht Kein Endschalter 0 angefahren wenn active low Gesetzt 1 um das Axisin Signal zu invertieren Nicht gesetzt 0 f r keine Invertierung Gesetzt 1 um das HallA Signal zu invertieren Nicht gesetzt 0 f r keine Invertierung Gesetzt 1 um das HallB Signal zu invertieren Nicht gesetzt 0 f r keine Invertierung Gesetzt 1 um das HallC Signal zu invertieren Nicht gesetzt 0 f r keine Invertierung Gesetzt 1 um das AxisOut Signal zu invertieren Nicht gesetzt 0 f r keine Invertierung Gesetzt 1 um die aktive nderung als low to high zu definieren Nicht gesetzt 0 um die aktive nderung als high to low zu definieren 12 Motor Direction Gesetzt 1 um die Motorrichtung zu invertieren p48 POSYS Motion Control 2014 Beschreibung Nicht gesetzt 0 f r keine Invertierung 13 15 Reserved Tabelle 28 Signal Sense Mask IS Falls mit dem Kommando SetCaptureSource das Index Signal als Capture Source gesetzt wurde um das Index Signal zu erfassenis sollte Bit 2 Index Signal Sense verwendet werden um die Polarit t des Index zu steuern p49 POSYS Motion Control 2014 Bewegungs berwachung und verwandte Aufgaben SetEventAction Prozess Die POSYS 1800 1900 unterst tzen einen programmierbaren Mechanismus um auf sicherheits oder leistungsbezogene Bedingungen zu reagieren Das Kommando SetEventAction definiert die auszuf hrende Aktion bei einer
186. zu deaktivieren dann sollte der Host mit der Ausf hrung des Kommando s RestoreOperatingMode den vorhergehenden Zustand wieder herzustellen Falls als EventAction No Action programmiert wurde wird nur der Motion Error Status Bit gesetzt In diesem Fall wird keine Wiederherstellungssequenz ben tigt um den Motion Controller weiter arbeiten zu lassen Jedoch sollte der Anwender den Grund f r das Ereignis ermitteln und die Bewegung manuell beenden Nach einem Schleppabstandsfehler wird das entsprechende Bit im EventStatusRegister gel scht mit der Ausf hrung des Kommando s ResetEventStatus F r EventActions wie SmoothStop AbruptStop und AbruptStop with Position Error Clearing ist es notwendig dieses Bit zur ckzusetzen ehe weitere Bewegungen ausgef hrt werden k nnen Obwohl empfohlen f r EventActions die Module deaktivieren ist es nicht notwendig dieses Bit zur ckzusetzen um weitere Bewegungen auszuf hren auch ist es nicht ben tigt falls No Action definiert wurde als EventAction 0 Endschalter Die POSYS unterst tzt Endschalterereignisse die verwendet werden k nnen um automatisch eine Bewegungsende Bedingung zu erkennen Dies ist ein wichtiges Sicherheitsmerkmal f r Positioniersysteme die eine definierte Reichweite haben p51 POSYS Motion Control 2014 Die positiven und negativen Endschalter werden mit POSYS Eing ngen Poslim1 4 beziehungsweise Neglim1 4 verbunden um das Anschlagen am positiven bzw negativen End
187. zu deaktivieren ist entweder um bei Bedarf Sicherheit zu gew hrleisten oder f r die Systemkalibrierung Um das Motor Output Module zu deaktivieren wird das Kommando SetOperatingMode verwendet Welcher Wert gesetzt wurde kann mit dem Kommando GetOperatingMode verifziert werden Falls das Motor Output Module deaktiviert ist wird ein Null Kommando an den Motor oder an jede Phase des Motors falls es ein b rstenloser Servomotor oder Mikroschrittmotor mit mehreren Phasen ist ausgegeben Je nachdem welches Ausgabeformat gew hlt wurde wird dieses Null Kommando auf unterschiedliche Arten ausgegeben Die folgenden Kapitel geben hier ber weitere Informationen ber die Motorausgabesignalart Die Deaktivierung des Motor Output Modules kann oder kann auch nicht einen Motor sofort stoppen Die Deaktivierung hat eigentlich den Effekt den Motor in einen Freilauf zu versetzen Der Motor kann stoppen weiter driften oder sogar beschleunigen falls eine externe Kraft auf den Motor wirkt Die standardm ige Einstellung f r das Motor Output Module ist aktiviert Aktivieren des Motor Output Modules Ein vorher deaktiviertes Motor Output Module kann auf verschiedene Arten wieder aktiviert werden Falls es deaktiviert wurde mit dem Kommando SetOperatingMode dann kann das gleiche Kommando verwendet werden es wieder zu aktivieren Falls das Modul deaktiviert wurde aufgrund eines automatisch ausgef hrten sicherheits bedingten Ereignisses muss dan
188. zu die Motorsollwertvorgabe f r alle Achsen sofort auf Null 0 zu setzen und alle Motion Controller Aktivit ten werden eingestellt Der Controller ist wieder in den Zustand zur ckversetzt in dem er sich befindet wie nach einem Neustart des Systems Es liegt in der Verantwortung des Anwenders zu ermitteln ob die Ausf hrung eines Reset Kommandos sicher ist f r einen bestimmten Betriebszustand in dem sich das Komplettsystem gerade befindet 0 Zykluszeit setzen Die POSYS kalkuliert jede Bahn und Servoinformation in einem festen Zeitabstand Dieser Abstand wird die Zykluszeit cycle time genannt F r jede aktivierte Achse der POSYS gibt es eine minimale Zykluszeit damit die POSYS alle anfallenden Kalkulationen erledigen kann Die minimale Zykluszeit f r eine POSYS 18xx B ist 102 4 usec abh ngig von der Anzahl Achsen und Motorvarianten die m glicherweise angeschlossen sind Mit dieser Einstellung ist die bestm gliche Frequenz 9 76 kHz Diese Frequenz kann in 64 68 3 76 8 102 4 usec Schritten erh ht werden Die folgende Tabelle zeigt die Unterschiede aktivierte Achsen Minimale Zykluszeit Zykluszeit Zykluszeit pro Minimale m aktivierter Achse Zyklusfrequenz Tracingfunktion 102 4 us 9 76 kHz 76 8 us 6 51 kHz 68 3 us 4 88 kHz 3 91 kHz Tabelle 5 Zykluszeit Servo Loop Updaterate mit aktivierten Achsen Die Zykluszeit bestimmt die Servo Loop Updaterate anhand der die Parameter pro aktivierte Achse neu kalkuliert u

Download Pdf Manuals

image

Related Search

Related Contents

Westinghouse 42-Inch Specification Sheet  Instructions Mode d`emploi Anleitung Instrucctiones  Manuale Utente Per Levigatrici Da Banco Valex Cod. 1410153  Note d`information sur la protection des - unesdoc  

Copyright © All rights reserved.
Failed to retrieve file