Danfoss MCO 305 Programming guide [de]

MCO 305 Befehlsreferenz
Inhaltsverzeichnis
MCO 305 Befehlsreferenz lesen ................................................3
Verfügbare Literatur für FC 300, MCO 305 und MCT 10 Motion Control Tool...........4
Symbole und Konventionen ...........................................................................5
Abkürzungen...............................................................................................5
Definitionen ................................................................................................6
Befehlsreferenz ........................................................................9
Anhang................................................................................. 149
Neues in der aktuellen Version ab MCO 5.00 ................................................ 149
Technische Referenz ................................................................................. 154
Abbildungen............................................................................................ 162
Stichwortverzeichnis................................................................................. 165
Copyright ¤ Danfoss A/S, 2010
Warenzeichen VLT ist ein eingetragenes Warenzeichen von Danfoss.
Hiperface® ist ein eingetragenes Warenzeichen der Sick Stegmann GmbH, Max Stegmann GmbH
Antriebstechnik-Elektronik.
Microsoft, Windows 2000 und Windows XP sind entweder eingetragene Warenzeichen oder Warenzeichen der
Microsoft Corporation in den USA und/oder anderen Ländern.
MG.34.R1.03 – VLT® ist ein eingetragenes Warenzeichen von Danfoss. 1
MCO 305 Befehlsreferenz
MCO 305 Befehlsreferenz lesen
Befehlsreferenz lesen
Die Befehlsreferenz ergänzt das MCO 305 Projektierungshandbuch mit der detaillierten Beschreibung aller Befehle. Bitte lesen Sie auch das Produkthandbuch, um sicher und professionell mit dem System zu arbeiten und beachten Sie vor allem auch die Sicherheitshinweise und allgemeinen Warnungen.
Das Kapitel Befehlsreferenz lesen informiert über die Symbole, Abkürzungen und Definitionen, die in diesem Handbuch benutzt werden.
Seitenteiler für „Befehlsreferenz lesen”.
Das Kapitel Befehlsreferenz enthält die detaillier­te Beschreibung aller Befehle mit deren Syntax sowie Programmbeispielen.
Seitenteiler für „Befehlsreferenz”.
Das Kapitel Anhang berichtet über „Neues in der aktuellen Version”. Erfahrene Anwender finden aus­führliche Informationen in der Technischen Referenz zum Beispiel „Array Structure of CAM Profiles”. Das Handbuch schließt mit einem Stich­wortverzeichnis.
Seitenteiler für „Anhang”.
In der Online-Hilfe finden Sie im Kapitel Programmbeispiele etwa 50 kurze Beispiele, die Sie benutzen können, um sich mit dem Programm vertraut zu machen oder direkt in Ihr Programm kopieren können.
MG.34.R1.03 – VLT® ist ein eingetragenes Warenzeichen von Danfoss. 3
MCO 305 Befehlsreferenz
__ MCO 305 Befehlsreferenz lesen __
Verfügbare Literatur für FC 300, MCO 305 und MCT 10 Motion Control Tool
Das MCO 305 Produkthandbuch liefert die erforderlichen Informationen zum Einbau und für die
Inbetriebnahme des MCO 305 sowie für die Optimierung der Steuerung.
Das MCO 305 Projektierungshandbuch enthält alle technischen Informationen über die Optionskarte
sowie Informationen für die Realisierung kundenspezifischer Designs und Anwendungen.
Diese MCO 305 Befehlesreferenz ergänzt das MCO 305 Projektierungshandbuch mit der detaillierten
Beschreibung aller Befehle.
Das VLT® AutomationDrive FC 300 Produkthandbuch liefert die erforderlichen Informationen für die
Inbetriebnahme und den Betrieb des Frequenzumrichters. Das VLT® AutomationDrive FC 300 Projektierungshandbuch enthält alle technischen Informationen zum
Frequenzumrichter sowie Informationen zur kundenspezifischen Anpassung und Anwendung.
Das VLT® AutomationDrive FC 300 MCT 10 Produkthandbuch bietet Informationen für die Installation
und den Gebrauch der Software auf einem PC.
Die technische Literatur von Danfoss Drives ist auch online unter www.danfoss.com/drives verfügbar.
4 MG.34.R1.03 – VLT
®
ist ein eingetragenes Warenzeichen von Danfoss.
MCO 305 Befehlsreferenz
__ MCO 305 Befehlsreferenz lesen __
Symbole und Konventionen
In diesem Handbuch verwendete Symbole:
ACHTUNG!:
Kennzeichnet einen wichtigen Hinweis.
Kennzeichnet eine allgemeine Warnung.
Konventionen
Die Informationen in diesem Handbuch sind weitestgehend systematisiert und typografisch folgendermaßen beschrieben:
Menüs und Funktionen, Befehle und Parameter Menüs und Funktionen sind kursiv geschrieben, zum Beispiel Steuerung o Parameter. Befehle und Parameternamen sind in Großbuchstaben geschrieben, zum Beispiel: AXEND und KPROP;
Parameter sind kursiv geschrieben, zum Beispiel: Proportionalfaktor. Parameter-Einstellungen Werte, die für Parameter-Einstellungen ausgewählt werden können, stehen in eckigen Klammern, z. B. [3]. Tasten Die Namen der Tasten und Funktionstaten stehen ebenfalls in eckigen Klammern, zum Beispiel die
Steuerungstaste [Strg]-Taste oder nur [Strg], die [Esc]-Taste oder die [F1]-Taste.
Abkürzungen
Ampere, Milliampere A, mA
Benutzereinheiten BE
Digitaler Signal-Prozessor DSP
Frequenzumrichter FU
Hauptistwert HIW
Hauptsollwert HSW
LCP Bedieneinheit LCP
Bit mit dem niedrigsten Stellenwert LSB
Motion Control Option MCO
Motion Control Tool MCT
Minute Min
Maschinennullpunkt MN
Höchstwertiges Bit MSB
Master Unit MU
Nach plus schaltender digitaler Ausgang
Parameter Par.
PID Regelung PID
Nach minus schaltender digitaler Ausgang
Pulse pro Umdrehung [PPR] Pulse/U
Quadcounts qc
Sekunde, Millisekunde s, ms
Abtastzeit (Sample time) st
Steuerwort STW
Umdrehungen pro Minute U/Min
Volt V
Zustandswort ZSW
NPN
PNP
MG.34.R1.03 – VLT® ist ein eingetragenes Warenzeichen von Danfoss. 5
MCO 305 Befehlsreferenz
__ MCO 305 Befehlsreferenz lesen __
Definitionen
MLONG
Eine untere oder obere Grenze für viele Parameter ist:
-MLONG = -1.073.741.824 MLONG = 1.073.741.823
Quadcounts
Inkrementalgeber: 4 Quadcounts entsprechen einer Drehgeber-Umdrehung. Absolutgeber: 1:1 (1 qc entspricht einer Dreh­geber-Umdrehung).
Aus den beiden Spuren (A/B) der Inkrementalgeber wird durch Flankenauswertung eine Vervierfachung der Inkremente erzeugt. Dies verbessert die Auf­lösung.
Ableitung der Quadcounts.
Benutzereinheiten
Die Einheiten für den Antrieb oder den Slave und den Master können in beliebiger Weise definiert werden, so dass der Anwender mit sinnvollen Werten arbeiten kann.
Die Faktoren SYNCFACTM / SYNCFACTS, POSFACT_Z / POSFACT_N sind ab Version MCO 5.00 nicht mehr auf kleine Werte begrenzt.
Intern werden sie wie folgt behandelt: Wann immer ein Wert mit einem Getriebefaktor multipliziert werden muss (d.h. Master Inkremente per ms), wird zuerst geprüft, ob eine Multiplikation einen Überlauf erzeugt. Falls dies der Fall wäre, wird ein Faktor (64 Bit) benutzt, bestehend aus
SYNCFACTS/SYNCFACTM zum Multiplizieren von delta_master. Falls kein Überlauf entsteht, wird zuerst mit SYNCFACTS multipliziert und dann durch SYNCFACTM geteilt. Der Fehler wird wie folgt behandelt:
Normaler Fall Die Multiplikation mit SYNCFACTS erzeugt keinen Fehler, aber die Division durch SYNCFACTM besagt, dass
das Ergebnis um 1/2³² falsch sein kann. Das bedeutet, dass (im schlimmsten Fall) solch ein Fehler jede ms auftritt, d.h. dass nach 1193 Stunden (49,71 Tage) ein Fehler von 1 qc (Slave) gemacht wird.
Hohe Faktor-Werte In diesem Fall könnte der benutzte Faktor selbst (SYNCFACTS/SYNCFACTM) um 1/2³²
falsch sein. Das heißt, dass im schlimmsten Fall jede ms ein Fehler von delta_master * 1/2³² auftritt. Angenommen, es wird ein Drehgeber mit 1000 Strichen (4000 qc) pro Umdrehung eingesetzt. Weiter angenommen, dass mit 2000 U/min gefahren wird, d.h. mit einer Geschwindigkeit von 133 qc/ms. Das bedeutet, dass ein Fehler von 133 * 1/2³²
per ms gemacht wird. Daraus folgt, dass im schlimmsten Fall (maximaler Fehler jede ms
immer in der gleichen Richtung) ein Fehler von 1 qc nach 9 Stunden entstehen könnte. Das sollte in den meisten Anwendungen nicht relevant sein.
6 MG.34.R1.03 – VLT
®
ist ein eingetragenes Warenzeichen von Danfoss.
MCO 305 Befehlsreferenz
__ MCO 305 Befehlsreferenz lesen __
Benutzereinheiten [BE]
Wegangaben in Fahrbefehlen erfolgen immer in Benutzereinheiten und werden intern in Quadcounts umge­rechnet. Diese wirken sich auf alle Befehle für das Positionieren aus: z.B. APOS, POS.
Auch für die Kurvenscheibensteuerung kann der Anwender sinnvolle Einheiten wählen, um die Kurve für den Master und den Slave zu beschreiben. Zum Beispiel 1/100 mm oder bei Anwendungen, bei denen eine Um­drehung betrachtet wird 1/10 Grad.
Bei der Kurvenscheibensteuerung wird der maximale Fahrabstand des Slaves bzw. die Zykluslänge des Slaves in Benutzereinheiten BE [qc] angegeben.
Sie normieren die Einheit mit einem Faktor. Dieser ist ein Bruch, der sich aus Zähler und Nenner zusam­mensetzt:
[BE]nheitBenutzerei1
Par. 32-12 Benutzerfaktor Zähler POSFACT_Z Par. 32-11 Benutzerfaktor Nenner POSFACT_N
Die Normierung bestimmt, wie viele Quadcounts eine Benutzereinheit ergeben: Wenn der Faktor zum Beispiel 50375/1000 beträgt, entspricht eine BE genau 50,375 qc.
ACHTUNG!:
Wenn die Benutzereinheiten in qc umgerechnet werden, wird der Integer-Wert benutzt. Wenn qc in Benutzereinheiten umgerechnet werden, wird gerundet.
Master Units [MU]
Die Kurvenlänge bzw. Master-Zykluslänge und andere Angaben (zum Beispiel der Markerabstand) für die Kurvenscheibensteuerung werden in Master-Units MU angeben.
[MU]UnitMaster1
Par. 33-10 Synchronisationsfaktor Master SYNCFACTM Par. 33-11 Synchronisationsfaktor Slave SYNCFACTS
ZählerktorBenutzerfa12-32Par.
NennerktorBenutzerfa11-32Par.
MasterorationsfaktSynchronis1033Par.
SlaveorationsfaktSynchronis1133Par.
MG.34.R1.03 – VLT® ist ein eingetragenes Warenzeichen von Danfoss. 7
MCO 305 Befehlsreferenz
Befehlsreferenz
Im folgenden Abschnitt finden Sie alle Befehle in alphabetischer Reihenfolge ausführlich beschrieben mit Syntax-Beispielen sowie kurzen Programmbeispielen. Bitte lesen Sie auch den Abschnitt „Grundlagen” im Kapitel „Programmieren” im MCO 305 Projektierungshandbuch.
MG.34.R1.03 – VLT® ist ein eingetragenes Warenzeichen von Danfoss. 9
MCO 305 Befehlsreferenz
__ Befehlsreferenz __
ACC
Kurzinfo Beschleunigung für Fahrbefehle setzen
Syntax ACC a
Parameter a = Beschleunigung
Beschreibung Der Befehl ACC bestimmt die Beschleunigung für die nächsten Fahrbefehle
(Drehzahl-, Positionier- oder Synchronisationsmodus). Der Wert bleibt solange gültig, bis mit einem weiteren ACC Befehl eine neue Beschleunigung gesetzt wird.
Der Wert bezieht sich auf die Parameter 32-81 Kürzeste Rampe und 32-80 Maximalgeschwindigkeit sowie 32-83 Geschwindigkeitsteiler.
ACHTUNG!:
Wurde vor einem Fahrbefehl noch keine Beschleunigung definiert, wird mit dem Default-Wert aus Par. 32-85 Default-Beschleunigung beschleunigt.
ACHTUNG!:
Wenn die MCO 305 zum Steuern des FC 300 benutzt wird, sollten die Rampen immer über die Optionskarte eingestellt werden und nicht im FC 300. Die FC 300­Rampen müssen dabei immer auf Minimum stehen.
Befehlsgruppe REL, ABS
Querverweise DEC, VEL, POSA, POSR,
Parameter: 32-81 Kürzeste Rampe, 32-80 Maximalgeschwindigkeit, 32-83 Geschwindigkeitsteiler
Syntax-Beispiel ACC 10 /* Beschleunigung 10 */
Beispiel Minimale Beschleunigungszeit: 1000 ms
Maximale Geschwindigkeit: 1500 U/Min (25 U/s) Geschwindigkeitsteiler: 100
Programmbeispiel ACC_01.M
10 MG.34.R1.03 – VLT
®
ist ein eingetragenes Warenzeichen von Danfoss.
MCO 305 Befehlsreferenz
APOS
Kurzinfo Aktuelle Position einer Achse abfragen
Syntax erg = APOS
Rückgabewert erg = Istposition in Benutzereinheiten (BE) absolut zum aktuellen Nullpunkt
Wegangaben in Fahrbefehlen erfolgen immer in Benutzereinheiten und werden intern in Quadcounts umgerechnet. (Siehe auch Benutzerfaktor Zähler und Nenner in Parameter 32-12 und 32-11.)
Die Benutzereinheit (BE) entspricht in der Standardeinstellung der Anzahl Quad­counts:
Parameter
Beschreibung Der Befehl APOS kann die Position der Achse absolut zum aktuellen Nullpunkt
abfragen.
ACHTUNG!:
Wenn ein mit SETORIGIN gesetzter und aktiver Temporärnullpunkt existiert, bezieht sich der Positionswert auf diesen Nullpunkt.
__ Befehlsreferenz __
ZählernheitBenutzerei12-32Par.
NennernheitBenutzerei11-32Par.
1
ACHTUNG!:
Das Ergebnis muss nicht der Ziel- oder Sollposition entsprechen, wenn man mit APOS die Position abfragt. Es können sich Fehler oder Abweichungen durch die Mechanik und den abgerundeten Dezimalstellen in den Benutzereinheiten ergeben.
APOS wird von den Parametern 32-12 und 32-11 sowie den Befehlen SETORIGIN p und DEFORIGIN beeinflusst.
Beispiel: POSA 2000
Initial
PRINT "Istposition erreicht", APOS Ausgabe: Istposition erreicht 2000
(abhängig von den PID Einstellungen könnte eine kleine Abweichung auftreten)
Beispiel mit SETORIGIN SETORIGIN 2000
POSA 2000 PRINT "Istposition”, APOS
Ausführung
2000
Ausgabe: Istposition 2000
Beim Programmstart wird in diesem Beispiel die absolute Position 2000 qc als Start­position festgelegt; dann wird der Antrieb um 2000 qc entsprechend dem Positionierbefehl weiter gefahren.
Befehlsgruppe SYS
Querverweise CPOS, DEFORIGIN, SETORIGIN, POSA, POSR
Parameter: 32-12
Benutzerfaktor Zähler, 32-11 Benutzerfaktor Nenner
Syntax-Beispiel PRINT APOS /* Istposition der Achse am PC ausgeben */
Programmbeispiel APOS_01.M, GOSUB_01.M, MOTOR_01.M
0
Nach der
Nach der
Positionierung
0
Initial
0
MG.34.R1.03 – VLT® ist ein eingetragenes Warenzeichen von Danfoss. 11
MCO 305 Befehlsreferenz
g
APOSDIFF
Kurzinfo Overflow-Handling von Inkrementalgebern in Anwendungen.
Syntax erg = APOSDIFF oldpos
Parameter n = Achsnummer
oldpos = APOS zu einem früheren Zeitpunkt
Rückgabewert Liefert die Differenz zwischen APOS und oldpos (erg = APOS – oldpos) in BE.
Beschreibung Dieser Befehl vereinfacht die Behandlung des Überlaufs von Inkrementalgebern in
Anwendungen. Wenn zum Beispiel der Anwender eine aktuelle Position in seinem Pro den Überlauf der Position berücksichtigen. Statt dessen kann dieser Befehl benutzt werden; siehe unten.
Intern prüft diese Routine, ob die Differenz größer als POS_LIMIT (0x3FFFFFFF) ist. Falls ja, wird angenommen, dass ein Überlauf stattfand und es wird korrekt gehandhabt.
ACHTUNG!:
Dies löst aber nicht das Überlaufproblem wenn in der Anwendung Benutzereinheiten BE benutzt werden.
__ Befehlsreferenz __
ramm speichert und später die Differenz berechnen will, muss er normalerweise
Portabilität
Standardbefehl ab MCO 5.00
Befehlsgruppe SYS
Querverweise APOS
Syntax-Beispiel oldpos = APOS
….. diff = APOSDIFF oldpos // liefert die Differenz zwischen APOS und oldpos in BE // zur Handhabung von Overflow, falls notwendig (diff = APOS – oldpos)
AVEL
Kurzinfo Aktuelle Geschwindigkeit der Achse abfragen.
Syntax erg = AVEL
Rückgabewert erg = aktuelle Geschwindigkeit der Achse in BE/s; Wert mit Vorzeichen
Beschreibung Diese Funktion liefert die aktuelle Geschwindigkeit der Achse in Benutzereinheiten
pro Sekunde (BE/s) zurück. Die Genauigkeit der Werte hängt von der Messdauer (Mittelung) ab. Diese ist standardgemäß auf 20 ms eingestellt, kann aber vom Anwender mit dem _GETVEL Befehl verändert werden. Es genügt den Befehl einmal aufzurufen, um von da an mit einer anderen Messzeit zu arbeiten. So stellt der Befehl:
var = _GETVEL 100 die Messdauer auf 100 ms ein, so dass man bei AVEL und MAVEL eine wesentlich
bessere Auflösung der Geschwindigkeit erhält, schnelle Änderungen dagegen erst mit einer Verzögerung von maximal 100 ms.
Befehlsgruppe SYS
Querverweise MAVEL, APOS, _GETVEL
Syntax-Beispiel PRINT AVEL /* aktuelle Geschwindigkeit der Achse am PC ausgeben */
12 MG.34.R1.03 – VLT
®
ist ein eingetragenes Warenzeichen von Danfoss.
MCO 305 Befehlsreferenz
__ Befehlsreferenz __
AXEND
Kurzinfo Status der Programmausführung abfragen.
Syntax erg = AXEND
Rückgabewert erg = Achsstatus mit folgender Bedeutung:
Wert Bit
128 7 1 = Motor ist zurückgesetzt (reset), d.h. er ist startbereit und
regelt wieder, z.B. nach ERRCLR, MOTOR STOP, MOTOR ON 64 6 1 = Lageregelung ist abgeschaltet, Motor ist aus 4 - 5 nicht verwendet 8 3 1 = Motor ist im Zustand STOP 4 Bit 2 1 = Drehzahlmodus ist aktiv 2 Bit 1 1 = Positioniervorgang ist aktiv 1 Bit 0 1 = Zielposition erreicht; Motor im Stillstand
Beschreibung Der Befehl AXEND liefert den aktuellen Status der Achse bzw. den Stand der
Programmausführung. Damit können Sie zum Beispiel abfragen, wann die „Position erreicht” ist und ein
Positionierbefehl (POSA, POSR) wirklich abgeschlossen ist. Wenn Bit 1 auf [0] gesetzt ist, ist der Positioniervorgang abgeschlossen und die Position erreicht.
Wenn aber der Positionierbefehl mit MOTOR STOP unterbrochen wurde und später mit CONTINUE fortgesetzt wird, dann würden folgende Bits auf [1] gesetzt sein:
das Bit 0 für „Motor ist im Stillstand” das Bit 1 für „Positioniervorgang aktiv” das Bit 3 für „Motor ist im Zustand STOP” das Bit 6 für „Lageregelung abgeschaltet”
Der Befehl AXEND eignet sich besonders um im NOWAIT ON Zustand festzustellen, ob eine Bewegung abgeschlossen ist.
Befehlsgruppe SYS
Querverweise WAITAX, STAT, NOWAIT
Syntax-Beispiel NOWAIT ON // nicht warten bis Position erreicht ist
POSA 100000 WHILE (AXEND&2) DO // Solange Positioniervorgang aktiv, Schleife wiederholen IF IN1 THEN // wenn Eingang 1 gesetzt ist VEL 100 // Geschwindigkeit erhöhen POSA 100000 WAIT IN1 OFF // warten, bis Taste losgelassen ENDIF ENDWHILE // Position erreicht
Syntax-Beispiel IF (AXEND&64) THEN
OUT 1 1 // Ausgang 01 setzen, wenn Lageregelung abgeschaltet ELSE OUT 1 0 ENDIF
Programmbeispiel AXEND_01.M
MG.34.R1.03 – VLT® ist ein eingetragenes Warenzeichen von Danfoss. 13
MCO 305 Befehlsreferenz
j
CANDEL
Kurzinfo Löscht alle oder einzelne CAN-Objekte
Syntax CANDEL objnr
Parameter objnr = Objektnummer, die beim Definition des Objektes zurück gegeben wurde
= –1 löscht alle Objekte (außer den Standardobjekten)
Beschreibung Mit dem Befehl CANDEL können CAN-Ob
DEFCANIN oder DEFCANOUT angelegt wurden.
ACHTUNG!
Standardobjekte für die gepufferte Ein-/Ausgabe (OUTMSG oder INMSG) können damit nicht gelöscht werden. Diese können nur beim Initialisieren nicht angelegt werden.
CANIN
Portabilität
Befehlsgruppe CAN
Syntax-Beispiel CANDEL –1 /* es werden alle CAN-Objekte gelöscht */
Optionaler Befehl; Funktion „Einzelnes Objekt löschen” ab MCO 5.00.
__ Befehlsreferenz __
ekte wieder gelöscht werden, die zuvor mit
Kurzinfo Liest ein Objekt über den CAN-Bus
Syntax status = CANIN objnr timeout control varhi varlo
Parameter objnr = Objektnummer, die beim Definition des Objektes zurückgegeben
wurde.
Timeout = –1 es wird nicht auf die Daten gewartet
= 0 es wird gewartet, bis die Daten kommen > 0 es wird
timeout [ms] auf die Daten gewartet
control = 0 es wird geprüft, ob neue Daten gekommen sind.
Anschließend werden neue Daten in die Variablen kopiert
= 1 es wird ein Remote-Frame gesendet, und es wird in
Abhängigkeit von
timeout auf die Daten gewartet
varhi Byte 0 bis 3 der CAN-Objektdaten varlo Byte 4 bis 7 der CAN-Objektdaten
Rückgabewert status = –1 keine Daten angekommen
= 0 ok
Beschreibung Der Befehl CANIN kopiert die Daten (falls vorhanden) des CAN-Objektes objnr in
die Variablen
varhi und varlo. Wenn control = 1 ist, werden die Daten zuerst ange-
fordert. Es ist möglich alle Transmit-PDOs eines digitalen Eingangs-Moduls oder des CAN-
Drive-Status unter Verwendung eines einzigen CAN-Telegramms zu sammeln. Diese Funktion ist auf den Master-Bus
beschränkt. Die Funktion muss das CAN­Objekt 15 benutzen, das intern die Anzahl der verwendbaren CAN-Objekte auf dem Master-Bus um 1 reduziert.
Zum Aktivieren der Funktion muss der Befehl CANINI 999 benutzt werden Dieser Befehl aktiviert den Empfang der TxPDOs durch Interrupt und speichert
jedes erhaltene PDO in einen Puffer mit der Tiefe von 1. Dies funktioniert für alle IDs von 1 bis 127. Das heißt, wenn irgendein I/O-Modul in diesem Bereich ein TxPDO sendet, wird es erfasst und im Puffer gespeichert. Das nächste TxPDO des gleichen Moduls überschreibt natürlich das erste. Der Puffer kann mit folgendem Befehl ausgelesen werden:
erg = CANIN (id * 100) timeout 0 hi lo
14 MG.34.R1.03 – VLT
®
ist ein eingetragenes Warenzeichen von Danfoss.
MCO 305 Befehlsreferenz
__ Befehlsreferenz __
Dieser Befehl liefert -1 wenn keine neue Information im Puffer war, andernfalls liefert er 0. Timeout kann normal benutzt werden:
-1 wartet nicht, 0 wartet auf neue Information (ohne Abbruch), n wartet n ms.
Das Ergebnis wird in hi und lo geliefert, aber es wird gleich in Bytes angeordnet, so dass diese benutzt werden können, falls sie mit PDO[] gelesen werden. Das heißt, wenn lo eine 32-Bit Zahl enthält, kann es sofort benutzt werden, ohne die Bytes neu zu ordnen.
Wann immer ein neuer CANINI Befehl benutzt oder ein neues Programm gestartet wird, ist diese Funktion deaktiviert.
Natürlich beansprucht diese Funktion den Prozessor weil sie starken PDO Traffic auf dem Bus verursacht.
Es ist nicht Befehlen auf dem gleichen Bus zu verwenden. Dies kann zu unerwarteten Ergeb­nissen führen. Wenn zum Beispiel ein digitales CANopen-I/O-Modul mit ID 3 auf dem Master-Bus mit einem IN (3*256+1) oder CANINI 3 999 benutzt wird, wird dies zu einer Situation führen, in der der Befehl IN zwar arbeitet, aber es werden nicht die PDOs mit den oben beschriebenen CANIN Befehl geliefert. Der Grund hierfür ist, dass zwei CAN-Objekte mit der gleichen ID existieren. In diesem Fall bedient der Prozessor nur die erste. Wie oben erwähnt, wird Objekt 15 für den Empfang von allen PDOs benutzt, in diesem Fall also das letzte.
Portabilität Optionaler Befehl;
erweiterte Befehle CANINI und CANIN für den Einsatz eines einzigen CAN­Telegramms ab MCO 5.0.
Befehlsgruppe CAN
Querverweise CANOUT, CANDEL, DEFCANOUT, DEFCANIN
Syntax-Beispiel MSG = 0
temp = 0 /* Variablen definieren */ rx1 = DEFCANIN 42 8 /* es wird ein RX-Objekt angelegt */ STAT = CANIN rx1 1000 0 MSG temp /* 1s auf Daten warten */
Programmbeispiel CAN_sample.M, CANIN.M
empfehlenswert diese Funktion gemeinsam mit anderen CAN-IO
MG.34.R1.03 – VLT® ist ein eingetragenes Warenzeichen von Danfoss. 15
MCO 305 Befehlsreferenz
CANINI
Kurzinfo Initialisiert die notwendigen Objekte (PDOs) für den Datenaustausch mit CANopen-
Teilnehmern oder aktiviert die erweiterte CANINI, CANIN Funktion.
Syntax CANINI nr, nr, nr, …,
CANINI 999 CANINI nr, nr, 999, nr
ist auch möglich, jedoch nur im gleichen Befehl. Der nächste neue Befehle würde sonst die vorhergehenden Parameter löschen.
Parameter nr = guard * (busoffset * 1000 + id)
guard = –1, +1 (ohne / mit Guarding) busoffset = 100000 , 0 (Slave-Bus, Master-Bus) Beispiele für CANINI Werte:
Beschreibung Der Befehl CANINI nimmt Kontakt zu den CAN-Modulen auf und legt entsprechende
permanente CAN-Objekte an, um mit diesen Modulen kommunizieren zu können (PDO). Das hat den Vorteil, dass diese Eingangsmodule auch für Interrupt-Funktio­nen verwendet werden können ohne den Bus permanent zu belasten.
Wenn Sie keine Interrupts benötigen, können Sie mit CANINI die Abarbeitung der Befehle IN und INB beschleunigen, da die entsprechenden Module dann bei jeder Zustandsänderung eines Eingangs diese Information selbstständig schicken.
Es wird dringend empfohlen Eingangsmodule die mit CANINI initialisiert wurden auch mit Guarding zu überwachen (d.h. CANINI > 0), um sicherzustellen, dass das Modul noch präsent ist und an der Bus-Kommunikation teilnimmt. Falls ein Teilneh­mer nicht mehr vorhanden ist, wird durch die fehlende Rückantwort auf das GUARD­Objekt ein Fehler 188 ausgelöst. Auf diesen kann dann in der mit ON ERROR definierten Fehlerbehandlung reagiert werden.
Wenn CANINI für Antriebe ausgeführt wird, wird ein entsprechendes PDO erzeugt und – falls notwendig – auch das SYNC Objekt. Wenn die Überwachung gestartet wird, wird alle 20 ms ein Guarding-Telegramm zu einem Modul gesendet. Sind zum Beispiel 4 Module vorhanden, dauert es 80 ms, um jedes Modul zu überprüfen. Wenn innerhalb von 100 ms keine Antwort kommt, wird der Fehler 188 (guarding error) angezeigt.
Es können maximal 16 Module intern gespeichert werden. Jeder erneute CANINI Befehl initialisiert alle, früher mit CANINI angelegten Objekte,
d.h. die Überwachung (GUARD) und auch die SYNC Telegramme werden gestoppt. Allerdings nicht, wenn es permanente Objekte von einem Parameter 30 automatisch angelegten PDOs gemäß der Definition in den Parametern 32-00 und 32-30.
Der CANINI Befehl startet gleichzeitig die Module, d.h. für jedes Modul wird eine NMT0 Meldung gesendet, um das Modul auf den Status „betriebsbereit” zu setzen.
Wenn CANINI fehlschlägt kann die SYSVAR 67 [0x01220244] GuardErrorId ausge­lesen werden, um herauszufinden welche ID das Problem verursacht hat.
__ Befehlsreferenz __
0 Löscht alle zuvor mit CANINI definierten Objekte
Aktiviert den Empfang von allen TPDO1s (0x181-0x1FF) durch
999
Interrupt und speichert jeden erhaltenen PDO in einen Puffer mit der Tiefe 1.
1…127 CAN I/O mit Bus-ID 1…127 mit Guarding
–1…–127 CAN I/O mit Bus-ID 1…127 ohne Guarding
32-00 oder 32-
Inkrementalgeber Signaltyp gibt. Diese bleiben ebenso erhalten, wie die intern
16 MG.34.R1.03 – VLT
®
ist ein eingetragenes Warenzeichen von Danfoss.
MCO 305 Befehlsreferenz
__ Befehlsreferenz __
Portabilität
Befehl ab MCO 5.00 verfügbar.
ACHTUNG!
Falls der CANINI Befehl auf Steuerungen mit mehreren, getrennten CAN-Bus­Kreisen eingesetzt wird, wird die GUARD- und SYNC-Funktionalität nur auf dem so genannten Slave-Bus unterstützt.
Befehlsgruppe SYS
Querverweise IN, INAD, INB, OUT, OUTB, OUTDA,
32-00 oder 32-30
Par.
Syntax-Beispiel CANINI 1,2,3,4
/* Initialisieren der CAN-Module mit voreingestellter Teilnehmernummer */
Programmbeispiel CAN_sample.M
CANOUT
Kurzinfo Nachricht mit interner Nummer abschicken
Syntax CANOUT nr werthi wertlo
Parameter werthiByte 0 bis 3 der CAN-Objektdaten
wertlo Byte 4 bis 7 der CAN-Objektdaten
Beschreibung Mit diesem Befehl wird eine CAN-Nachricht von einem durch DEFCANOUT definierten
Sendeobjekt abgeschickt. Die Werte
Portabilität
Befehlsgruppe CAN
Querverweise CANIN, CANDEL, DEFCANIN, DEFCANOUT
Syntax-Beispiel wertlhi = 21
optionaler Befehl
wertlo = 41 tx1 = DEFCANOUT 500 8 /* ein TX-Objekt mit Id=500 und Datenlänge = 8 Bytes wird definiert */ CANOUT tx1 valhi vallo /* eine CAN-Nachricht wird gesendet */
Inkrementalgeber Signaltyp
hi und lo sind 4 Bytes lang.
MG.34.R1.03 – VLT® ist ein eingetragenes Warenzeichen von Danfoss. 17
MCO 305 Befehlsreferenz
COMOPTGET
Kurzinfo Liest ein Telegramm der Kommunikationsoption.
Syntax COMOPTGET anz array
Parameter array = der Name eines Arrays, das mindestens die Größe 'anz' haben muss
anz = Anzahl Datenworte, die gelesen werden sollen
Beschreibung COMOPTGET liest aus dem Puffer der Kommunikationsoption 'anz' Datenworte aus
und schreibt sie in das Array 'array' beim ersten Element beginnend.
Kompatibilität Mit eingebauter Kommunikationsoption.
Kommunikations-
option
Kontrolldaten Die Funktion des Steuerwortes (STW) und der Hauptsollwertes (HSW) hängt davon
Prozessdaten PCD's 1 – 4 von PPO Typ 2/ 4 und PCD's 1 – 8 von PPO Typ 5 sind nicht mit einer
Befehlsgruppe Kommunikationsoption
Querverweis COMOPTSEND
Programmbeispiel COM_OPT
Funktion der Kommunikationsoption: Parameter: Die Lese- und Schreibparameter werden von der Optionskarte nicht verändert.
ACHTUNG!:
Die Parameter 9-15 und 9-16 müssen zusätzlich mit den richtigen Werten gesetzt werden.
ab, wie der Par. 33-82 (ZSW) und der Hauptistwert (HIW) sind immer aktiv.
„MCO 305 EIN” „MCO 305 AUS” STW/HSW nicht aktiv aktiv ZSW/HIW aktiv aktiv
Parameternummer 9-15 und 9-16 festgelegt, sondern können frei in einem APOSS­Programm benutzt werden.
Der Befehl COMOPTGET kopiert die empfangenen Daten der Kommunikationsoption in ein Array, in dem jedes Array-Element ein Datenwort (16 Bit) enthält.
Der Befehl COMOPTSEND kopiert die Daten von einem Array, in dem jedes Array Element ein Datenwort (16 Bit) enthält, in einen Sendepuffer der Kommunikations­option, von dem es via Netzwerk zum Master gesendet wird.
__ Befehlsreferenz __
Statusüberwachung Antrieb gesetzt ist; das Zustandswort
Parameter 33-82 Parameter 33-82
COMOPTSEND
Kurzinfo Schreibt in den Puffer der Kommunikationsoption.
Syntax COMOPTSEND anz array
Parameter array = Name eines Arrays, das mindestens die Größe 'anz' haben muss
anz = Anzahl der Datenworte, die gesendet werden sollen
Beschreibung COMOPTSEND schreibt in den Puffer der Kommunikationsoption. Dabei werden aus
'array' die ersten 'anz' Datenworte gesendet.
Kompatibilität Mit eingebauter Kommunikationsoption.
Kommunikations-
Funktion der Kommunikationsoption: Siehe COMOPTGET Befehl
option
Befehlsgruppe Kommunikationsoption
Querverweis COMOPTGET
Programmbeispiel COM_OPT
18 MG.34.R1.03 – VLT
®
ist ein eingetragenes Warenzeichen von Danfoss.
MCO 305 Befehlsreferenz
__ Befehlsreferenz __
CONTINUE
Kurzinfo Abgebrochene Positionier- und Drehzahlbefehle fortsetzen.
Syntax CONTINUE
Beschreibung Mit dem Befehl CONTINUE können Positionier- und Drehzahlbefehle, die durch den
Befehl MOTOR STOP oder einen Fehlerzustand abgebrochen oder mit MOTOR OFF angehalten wurden, fortgesetzt werden.
CONTINUE kann besonders in einem Fehlerunterprogramm in Verbindung mit dem Befehl ERRCLR eingesetzt werden, um nach einem Fehlerabbruch den Bewegungs­ablauf korrekt weiterzuführen.
ACHTUNG!:
CONTINUE setzt aber nicht abgebrochene Synchronisationsbefehle fort.
Befehlsgruppe CON
Querverweise MOTOR STOP, ERRCLR, ON ERROR GOSUB
Syntax-Beispiel CONTINUE /* Unterbrochene Bewegungsvorgänge fortsetzen */
Programmbeispiel MSTOP_01.M
CPOS
Kurzinfo Aktuelle Sollposition einer Achse abfragen.
Syntax erg = CPOS
Rückgabewert erg = Absolute Sollposition in Benutzereinheiten (BE) bezogen auf den aktuellen
Nullpunkt
Beschreibung Mit dem Befehl CPOS kann die aktuelle Sollposition einer Achse absolut zum aktuel-
len Nullpunkt abgefragt werden. Unter der Sollposition versteht man die temporäre Sollposition, die durch die Lageregelung während eines Positioniervorgangs oder einer Bewegung im Drehzahlmodus jede ms neu berechnet wird.
Die Sollposition kann unabhängig vom Betriebszustand (Lageregelung im Stillstand, Positioniervorgang, Drehzahlregelung oder Synchronisation) abgefragt werden.
ACHTUNG!:
Wenn ein mit SETORIGIN gesetzter und aktiver Temporärnullpunkt existiert, ist der Positionswert auf diesen Nullpunkt bezogen.
Befehlsgruppe SYS
Querverweise APOS, DEFORIGIN, SETORIGIN, POSA, POSR,
Parameter: 32-12
Syntax-Beispiel PRINT CPOS /* aktuelle Sollposition der Achse */
Programmbeispiel CPOS_01.M, GOSUB_01.M
Benutzerfaktor Zähler, 32-11 Benutzerfaktor Nenner
MG.34.R1.03 – VLT® ist ein eingetragenes Warenzeichen von Danfoss. 19
MCO 305 Befehlsreferenz
CPOSDIFF
Kurzinfo Overflow-Handling von Inkrementalgebern in Anwendungen.
Syntax erg = CPOSDIFF oldpos
Parameter oldpos = CPOS zu einem früheren Zeitpunkt
Rückgabewert Liefert die Differenz zwischen CPOS und oldpos (erg = CPOS – oldpos) in BE.
Beschreibung Dieser Befehl vereinfacht die Behandlung des Überlaufs von Inkrementalgebern in
Anwendungen. Wenn zum Beispiel der Anwender eine aktuelle Position in seinem Programm speichert und später die Differenz berechnen will, muss er normalerweise den Überlauf der Position berücksichtigen. Statt dessen kann dieser Befehl benutzt werden; siehe unten.
Intern prüft diese Routine, ob die Differenz größer als POS_LIMIT (0x3FFFFFFF) ist. Falls dies der Fall ist, wird angenommen, dass ein Überlauf stattfand und korrekt behandelt.
ACHTUNG!:
Dies löst aber nicht das Problem des Überlaufs, wenn in der Anwendung Benutzer­einheit BE verwendet werden.
__ Befehlsreferenz __
Portabilität
Standardbefehl ab MCO 5.00
Befehlsgruppe SYS
Querverweise CPOS
Syntax-Beispiel oldpos = CPOS
….. diff = CPOSDIFF oldpos // liefert die Differenz zwischen CPOS und oldpos in BE // Behandlung eines Overflows falls notwendig (diff = CPOS – oldpos)
CSTART
Kurzinfo Starten des Drehzahlmodus.
Syntax CSTART
Beschreibung Mit dem Befehl CSTART wird ein drehzahlgeregelter Fahrbefehl gestartet.
Die Beschleunigungsrampe sowie die Drehzahl sollte vor dem Starten des Drehzahl­modus mit den Befehlen ACC, DEC und CVEL festgelegt werden.
CSTART enthält nicht den Befehl MOTOR ON der die Motorregelung einschaltet. Nach vorangegangenem MOTOR OFF ist bei Verwendung von CSTART also ein explizites Aufrufen von MOTOR ON notwendig.
ACHTUNG!:
Wenn zum Zeitpunkt des CSTART noch kein Drehzahlwert mit CVEL definiert wurde, wird die Default-Geschwindigkeit 0 verwendet. Der Motor dreht sich nicht, die Lage­regelung ist aber aktiv.
Alle nach dem Start des Drehzahlmodus folgenden CVEL Befehle werden sofort ausgeführt: Es wird sofort eine entsprechende Drehzahlanpassung mit der durch ACC bzw. DEC definierten Beschleunigungs- bzw. Bremsrampe vorgenommen.
Befehlsgruppe DRE
Querverweise ACC, DEC, CVEL, CSTOP
Syntax-Beispiel CSTART /* Drehzahlmodus starten */
Programmbeispiel CMODE_01.M
20 MG.34.R1.03 – VLT
®
ist ein eingetragenes Warenzeichen von Danfoss.
MCO 305 Befehlsreferenz
__ Befehlsreferenz __
CSTOP
Kurzinfo Stoppen des Antriebs im Drehzahlmodus.
Syntax CSTOP
Beschreibung Mit dem CSTOP Befehl wird der Modus Drehzahlregelung verlassen und in den
Positioniermodus geschaltet. Dabei wird eine noch drehende Achse mit der durch DEC definierten Verzögerung abgebremst und der Motor in der Stopp-Position angehalten.
ACHTUNG!:
Ein im Positioniermodus ausgeführter CSTOP Befehl führt ebenfalls zu einem abrupten Abbrechen des Positioniervorgangs.
Befehlsgruppe DRE
Querverweise ACC, DEC, CVEL, CSTART
Syntax-Beispiel CSTOP /* Drehzahlmodus stoppen */
Programmbeispiel CMODE_01.M
MG.34.R1.03 – VLT® ist ein eingetragenes Warenzeichen von Danfoss. 21
MCO 305 Befehlsreferenz
CURVEPOS
Kurzinfo Der aktuellen Master-Position entsprechende Slave-Kurvenposition abfragen.
Syntax erg = CURVEPOS
Rückgabewert erg = Slave-Position in CAM-Einheiten (BE) absolut zum aktuellen Nullpunkt.
Beschreibung Mit dem Befehl CURVEPOS kann die Slave-Kurvenposition, die der aktuellen
Master-Position entspricht, abgefragt werden. Die Position kann unabhängig vom Betriebszustand (Lageregelung im Stillstand,
Positioniervorgang, Drehzahlregelung oder Synchronisation) abgefragt werden. CMASTERCPOS (SYSVAR) und CURVEPOS werden aktualisiert, auch wenn SYNCC
nicht weiter aktiv ist. Die Aktualisierung dieser Werte beginnt nach einem SETCURVE Befehl (wenn Par. 33-23 SYNCC und den ersten Master-Marker (wenn Par. 33-23 = 2000).
Die Aktualisierung wird also auch nach dem Stoppen des SYNCC Befehls fort­geführt, wenn Par. 33-23
ACHTUNG!:
Die Position ist nur definiert, wenn zuvor ein SETCURVE gesetzt wurde.
__ Befehlsreferenz __
Startverhalten für Sync ist < 2000) oder nach
Startverhalten für Sync. < 2000.
ACHTUNG!:
Wenn ein mit SETORIGIN gesetzter und aktiver Temporärnullpunkt existiert, bezieht sich der Positionswert auf diesen Nullpunkt.
ACHTUNG!:
DEFMCPOS und DEFMORIGIN können diese Position noch verändern.
Befehlsgruppe CAM
Querverweise APOS, DEFORIGIN, SETORIGIN, POSA, POSR, DEFMCPOS,
Parameter: 33-10
Sync-Faktor Master, 33-11 Sync-Faktor Slave
Syntax-Beispiel PRINT CURVEPOS // aktuelle Slave-Position der Kurve ausgeben
Beispiel
Fixpunkte einer Kurve: Master Slave 0
500 700 1000
0 500 300 1200
Wir nehmen an, dass die aktuelle Master-Position 800 sei. Dann gibt CURVEPOS
die entsprechende Slave-Position von 450 aus. Fall 1: Istposition Master ist 800 und Istposition Slave ist 200.
CURVEPOS gibt den Wert 450 aus.
Fall 2: Istposition Master ist 800 und Istposition Slave ist 700.
CURVEPOS gibt den Wert 450 aus.
Also ist CURVEPOS unabhängig von der Slave-Position.
22 MG.34.R1.03 – VLT
®
ist ein eingetragenes Warenzeichen von Danfoss.
MCO 305 Befehlsreferenz
CVEL
Kurzinfo Geschwindigkeit für drehzahlgeregelte Motorbewegungen setzen.
Syntax CVEL v
Parameter v = Normierter Geschwindigkeitswert (negativ für andere Drehrichtung)
__ Befehlsreferenz __
*V[U/Min]indigkeitSollgeschw
Beschreibung Mit dem CVEL Befehl wird die Geschwindigkeit für die nächsten drehzahlgeregelten
itchwindigkeMaximalges80-32Par.
ergkeitsteilGeschwindi83-32Par.
Motorbewegungen gesetzt. Der Wert bleibt solange gültig bis mit einem weiteren CVEL Befehl eine neue Geschwindigkeit gesetzt wird.
Der zu übergebende Geschwindigkeitswert bezieht sich auf die Parameter 32-80
Maximalgeschwindigkeit und 32-83 Geschwindigkeitsteiler.
ACHTUNG!:
CVEL Befehle, die nach einem CSTART folgen, werden sofort ausgeführt, das heißt die Geschwindigkeit wird mit der durch ACC/DEC vorgegebenen Beschleunigung bzw. Verzögerung auf den mit CVEL übergebenen Wert angepasst.
Wurde vor dem Starten des Drehzahlmodus (CSTART) noch keine Geschwindigkeit definiert, beträgt die Standardvorgabe 0. Der Motor dreht sich nicht und erst eine Geschwindigkeitsvorgabe mit CVEL startet die Bewegung im Drehzahlmodus.
Befehlsgruppe DRE
Querverweise ACC, DEC, CSTART, CSTOP; Parameter: 32-80 Maximalgeschwindigkeit
Syntax-Beispiel CVEL 100
Programmbeispiel CMODE_01.M
MG.34.R1.03 – VLT® ist ein eingetragenes Warenzeichen von Danfoss. 23
MCO 305 Befehlsreferenz
DEC
Kurzinfo Verzögerung (negative Beschleunigung) setzen.
Syntax DEC a
Parameter a =Verzögerung
Beschreibung Mit dem Befehl DEC bestimmen Sie die Verzögerung (negative Beschleunigung) für
die nächsten Fahrbefehle im Drehzahl-, Positionier- oder Synchronisationsmodus. Der Wert bleibt solange gültig, bis mit einem weiteren Befehl DEC eine neue Ver-
zögerung gesetzt wird. Der Wert bezieht sich auf die Parameter 32-81
Rampe
ACHTUNG!:
Wurde vor einem Positionierbefehl noch keine Verzögerung definiert, wird mit dem in Parameter 32-85
ACHTUNG!:
Wenn Sie mit MCO 305 arbeiten, dann sollten Sie immer die Rampen mittels der Optionskarte setzen und nicht im FC 300. Die FC Rampen müssen dabei immer auf Minimum stehen.
Befehlsgruppe REL, ABS
Querverweise ACC; Parameter: 32-81 Kürzeste Rampe, 32-80 Maximalgeschwindigkeit, 32-83
Geschwindigkeitsteiler
Syntax-Beispiel ACC 50 /* Beschleunigung: 50, beim Bremsen 10 */
DEC 10
Beispiel Kürzeste Rampe: 1000 ms
Maximale Geschwindigkeit: 1500 U/Min Geschwindigkeitsteiler: 100
__ Befehlsreferenz __
Kürzeste
und 32-80 Maximalgeschwindigkeit sowie 32-83 Geschwindigkeitsteiler.
Default-Beschleunigung vorgegebenen Wert abgebremst.
24 MG.34.R1.03 – VLT
®
ist ein eingetragenes Warenzeichen von Danfoss.
MCO 305 Befehlsreferenz
j
__ Befehlsreferenz __
DEFCANIN
Kurzinfo Definiert ein Empfangsobjekt
Syntax objnr = DEFCANIN id dlen
Parameter id = CAN-Identifikationsnummer
dlen = Datenlänge des Objektes in Bytes (max. 8 Bytes)
Rückgabewert objnr
Ein positiver Wert bedeutet, dass ein Ob ist eine interne Nummer des Objektes und wird von anderen APOSS-CAN-Befehlen benutzt. Ein negativer Wert meldet einen Fehler.
Beschreibung Mit diesem Befehl wird im CAN-Controller ein Empfangs-Kommunikations-Objekt
definiert. Dieser Befehl kann auch mit dem Offset für den Slave-Bus genutzt werden
(Telegramm ID 100000). Diese Objekte können nun einzeln mit dem Befehl CANDEL objnr gelöscht werden,
objnr die Nummer ist, die von DEFCANIN oder DEFCANOUT zurückgegeben
wobei werden.
Portabilität
Befehlsgruppe CAN
Syntax-Beispiel var1 = 0 /* Variablen deklarieren */
Befehl ist ab MCO 5.00 verfügbar.
var2 = 0 rx1= DEFCANIN 500 8 /* es wird ein RX-Objekt mit Id=500 und Datenlänge = 8 Bytes definiert */ CANIN rx1 0 0 var1 var /* es wird eine CAN-Nachricht gelesen */
ekt erfolgreich angelegt wurde. Dieser Wert
MG.34.R1.03 – VLT® ist ein eingetragenes Warenzeichen von Danfoss. 25
MCO 305 Befehlsreferenz
j
g
DEFCANOUT
Kurzinfo Definiert ein Sendeobjekt im CAN-Controller
Syntax objnr = DEFCANOUT id dlen
Parameter id = CAN-Identifikationsnummer
dlen = Datenlänge des Objektes in Bytes (max. 8 Bytes)
Rückgabewert objnr
Ein positiver Wert bedeutet, dass ein Ob ist eine interne Nummer des Objektes und wird von anderen APOSS-CAN-Befehlen benutzt. Ein negativer Wert meldet einen Fehler.
Beschreibung Mit diesem Befehl wird im CAN-Controller ein Objekt definiert. Das Objekt ist ein
Sendeobjekt mit Länge in n-Bytes und der CAN-Identifizierung (id). Objnr ist dann eine interne Nummer des Objektes ld und wird vom Befehl CANOUT benutzt.
Dieser Befehl kann mit dem Offset für Slave-Bus auch genutzt werden (Telegramm ID 100000).
Diese Objekte können mit dem Befehl CANDEL objnr nun einzeln gelöscht werden,
objnr die Nummer ist, den von DEFCANIN oder DEFCANOUT zurückgegeben
wobei wird.
Portabilität
Befehlsgruppe CAN
Querverweise DEFCANIN, CANOUT, CANIN
Syntax-Beispiel nr = DEFCANOUT 500 8
Der Befehl ist ab MCO 5.00 verfügbar.
// wird ein Objekt mit id =500 und Länge 8 Bytes definiert, // die Funktion liefert eine 1 zurück, // eine Nachricht mit id =500 und langen 8 Bytes kann jetzt mit // dem Befehl CANOUT 1 wert1 wert2 abgeschickt werden */ nr = DEFCANOUT id len
__ Befehlsreferenz __
ekt erfolgreich angelegt wurde. Dieser Wert
DEFCORIGIN
Kurzinfo Sollposition als Nullpunkt setzen
Syntax DEFCORIGIN
Beschreibung Mit dem DEFCORIGIN Befehl wird die Sollposition als Nullpunkt gesetzt. Alle absolu-
ten Positionierbefehle (POSA etc.) beziehen sich fortan auf diesen Nullpunkt. Auf diese Weise wird CPOS auf Null
esetzt und APOS so, dass die Differenz erhalten
bleibt.
Portabilität
Der Befehl ist ab MCO 5.00 verfügbar.
Befehlsgruppe INI
Querverweise POSA, DEFORIGIN, CPOS
Syntax-Beispiel POSA 80000 /* Achse absolut positionieren */
DEFCORIGIN /* Sollposition als Nullpunkt definieren */
26 MG.34.R1.03 – VLT
®
ist ein eingetragenes Warenzeichen von Danfoss.
MCO 305 Befehlsreferenz
DEFMCPOS
Kurzinfo Anfangsposition des Masters definieren.
Syntax DEFMCPOS p
Parameter p = Position in Benutzereinheiten (MU)
Beschreibung DEFMCPOS definiert die Anfangsposition des Masters (in MU) im CAM-Modus und
somit, wo die Kurve startet, sobald die Masterpulse gezählt werden.
Befehlsgruppe CAM
Querverweise DEFMORIGIN, SETMORIGIN, SYNCC,
Parameter: 33-23
Syntax-Beispiel DEFMCPOS 1000 // internen MU-Zähler auf 1000 setzen
Beispiel DEFMCPOS positioniert die physikalische Ist-Master-Position auf die angegebene
Master-Kurvenposition ungeachtet dessen, was im MAPOS Befehl steht.
__ Befehlsreferenz __
Startverhalten für Sync.
DEFMORIGIN
Beschreibung DEFMORIGIN definiert die aktuelle Master-Position als Nullpunkt für den Master.
Wenn ein DEFMCPOS 500 begonnen ist, wird die physikalische Position des Masters als Position 500 der Kurve definiert.
Wenn ein DEFMCPOS 500 begonnen ist, wird die physikalische Position des Masters als Position 500 der Kurve definiert.
Kurzinfo Aktuelle Master-Position als Nullpunkt für den Master setzen.
Syntax DEFMORIGIN
Die Master-Position (MAPOS) bezieht sich bis zu einer erneuten Definition mit DEFMORIGIN oder SETMORIGIN auf diesen Nullpunkt.
ACHTUNG!:
Der Befehl DEFMORIGIN kann bei Einsatz von Absolutgebern (siehe Par. 32-30
Inkrementalgeber Signaltyp) nicht verwendet werden.
Befehlsgruppe INI
Querverweise MAPOS, SETMORIGIN
Syntax-Beispiel DEFMORIGIN /* Nullpunkt für Master definieren. */
MG.34.R1.03 – VLT® ist ein eingetragenes Warenzeichen von Danfoss. 27
MCO 305 Befehlsreferenz
g
__ Befehlsreferenz __
DEFORIGIN
Kurzinfo Istposition als Nullpunkt setzen.
Syntax DEFORIGIN
Beschreibung Mit dem DEFORIGIN Befehl wird die Istposition als Nullpunkt
Positionierbefehle (POSA etc.) beziehen sich fortan auf diesen Nullpunkt. Die Istposition, die in einem Positionierbefehl erreicht wird, ist die Zielposition plus
möglicher Fehler, die nicht automatisch kompensiert werden, während DEFORIGIN ausgeführt wird.
ACHTUNG!:
Der Befehl DEFORIGIN kann bei Einsatz von Absolutgebern (siehe Par. 32-00
Inkrementalgeber Signaltyp) nicht verwendet werden.
Befehlsgruppe INI
Querverweise POSA
Syntax-Beispiel POSA 80000 /* Absolut positionieren */
DEFORIGIN /* Istposition als Nullpunkt definieren */
Beispiel POSA 2000
PRINT "Position vor neuem Nullpunkt", APOS DEFORIGIN PRINT "Position nachher", APOS Output
Position vor neuem Nullpunkt 2000, Position danach 0
Programmbeispiel DORIG_01.M, ORIG_01.M
Initial
esetzt. Alle absoluten
Nach der
0
Ausführung
(nach DEFORIGIN)
0
DEFSYNCORIGIN
Kurzinfo Definiert das Verhältnis Master:Slave für den nächsten SYNCP oder SYNCM Befehl
Syntax DEFSYNCORIGIN mcpos spos
Parameter mcpos = Master Sollposition in qc, oder
Beschreibung Dieser Befehl definiert, wie viel Abstand vor oder nach dem Slave im Verhältnis zur
oder die Startwerte für Standardkurven mit SYNCC Befehl.
Master Kurvenposition in qc spos = Slave Sollposition oder spos < SlaveCurveLenght = Slave Kurvenposition spos > SlaveCurveLength = die aktuelle Kurvenposition wird als korrekte Position
innerhalb der Kurve entsprechend zur Masterposition
mcpos betrachtet
Masterposition sein soll. Damit kann das Verhältnis zwischen Master und Slave für den nächsten SYNCP oder SYNCM Befehl definiert werden. Er setzt die interne Slave-Sollposition auf den Wert des Slaves.
Der Wert des Masters wird für einen internen MOVE SYNCORIGIN benutzt. Dafür wird ein MOVESYNCORIGN durch diesen Befehl überschrieben. Beide Aktionen werden in dem Moment ausgeführt, wenn der SYNC Befehl aktiviert wird. Das garantiert, dass Master und Slave auf die o.g. Master-Slave-Position synchronisiert werden.
Mit SYNCC kann der Befehl DEFSYNCORIGIN benutzt werden um die Startwerte für Standardkurven wie folgt zu definieren:
28 MG.34.R1.03 – VLT
®
ist ein eingetragenes Warenzeichen von Danfoss.
MCO 305 Befehlsreferenz
Dabei meldet mcpos der Steuerung, dass die aktuelle Masterposition (MAPOS) einer Master-Kurvenposition von
spos hat zwei verschiedene Bedeutungen: spos < SlaveCurveLenght = definiert die aktuelle Position des Slaves als die
spos > SlaveCurveLength = die aktuelle Kurvenposition wird als die korrekte
Beispiel: Angenommen die Kurve ist eine gerade Linie, die von 0,0 nach 2000,4000 mittels (master,slave) geht.
Weiterhin sei angenommen, dass der Slave auf der Position 11000 qc ist und dass der Master eine aktuelle Position von 15000 qc hat. Um es einfach zu machen, sei angenommen, dass die Getriebefaktoren 1 : 1 sind.
Wenn nun ein SETCURVE ohne irgendwelche weiteren Befehle durchgeführt wird, passiert Folgendes: Die Steuerung versucht zu herauszufinden, wo sich der Slave innerhalb einer Kurve befindet. Daher berechnet sie den Rest von 11000 / 4000, welcher 3000 ist und den Rest von 15000 / 2000, welcher 1000 ist. Das heißt, das Ergebnis wäre eine aktuelle MCPOS (Master-Kurvenposition) von 1000. Daher sollte die entsprechende Slave-Kurvenposition 2000 sein. Tatsächlich ist der Slave aber in diesem Moment auf einer Kurvenposition von 3000. (Die csstart Position ist die Startposition der letzten Kurve, welche in unserem Fall 8000 sein würde.) Wenn diese Kurve gestartet wird, würde der Slave versuchen die Position zu korrigieren und auf 2000 fahren.
Wenn nun der Befehl DEFSYNCORIGIN 500 100000 benutzt wird, passiert Folgendes: Die aktuelle Masterposition ist als Master-Kurvenposition 500 definiert. Und da
100000 größer ist als die Slave-Kurvenlänge 4000, entspricht die aktuelle Slave­Position (von 11000 qc) der Slave-Kurvenposition 1000, die zur Master-Kurven­position 500 gehört. Daher wird csstart auf 10000 gesetzt. Wenn nun die Kurve gestartet wird, wird sie korrekt berechnet und folgt der Kurve, sobald der Master die Fahrbewegung startet.
DEFSYNCORIGIN in Verbindung mit CU_GRAD Kurven (Typ 3) Im Fall einer CU_GRAD Kurve, kann DEFSYNCORIGIN benutzt werden, um die
absolute Endposition einer Kurve in qc zu definieren. In diesem Fall wird die Kurve sofort gestartet und in so berechnet, dass die Endpositionen am Ende der Kurve ereicht werden.
ACHTUNG!
Um degenerierte Polynome zu vermeiden, muss der Abstand in einer korrekten Relation stehen. Wenn mit der Geschwindigkeit Null gestartet wird, die in einer Geschwindigkeit 1 enden soll (Slave hat die gleiche Geschwindigkeit wie der Master), dann sollte die Masterdistanz geringer sein, als die zweifache Slave­Distanz. Andernfalls wird das Polynom innerhalb des Intervalls Schwankungen aufweisen. In anderen Fällen ist dies schwieriger vorauszuberechnen (Start­geschwindigkeit nicht 0 oder Endgeschwindigkeit nicht 1). Deshalb kann man das PG_FLAG_CURVE_ERR prüfen, um zu sehen, ob die letzte SETCURVE eine Kurve mit Schwankungen produzierte (siehe STAT). Dann kann man die SYSVAR PFG_LASTERROR auslesen (siehe SDO Dictionary) um zu entscheiden, was die Ursache war.
__ Befehlsreferenz __
mcpos entspricht.
Slave-Kurvenposition
Position innerhalb der Kurve betrachtet, die der Master­position tung, sie muss nur größer als die Slave-Kurvenlänge sein).
mcpos entspricht (spos selbst hat keine Bedeu-
spos.
MG.34.R1.03 – VLT® ist ein eingetragenes Warenzeichen von Danfoss. 29
MCO 305 Befehlsreferenz
Portabilität Definition der Startwerte für Kurven ist ab MCO 5.00 möglich.
Befehlsgruppe SYN
Querverweise MOVESYNCORIGIN
Beispiel In diesem Beispiel soll der Slave auf Position 4000 qc sein, wenn der Master auf
2000 qc ist, d.h. der Slave sollte einen Vorsprung von 2000 qc auf den Master haben.
Ebenso soll der Slave auf Position 5000 qc sein, wenn der Master auf 3000 qc ist.
__ Befehlsreferenz __
30 MG.34.R1.03 – VLT
®
ist ein eingetragenes Warenzeichen von Danfoss.
Loading...
+ 137 hidden pages