# Lenze Servo Drive 9300 Handfahren/Positionieren mit Softwareversion 2.6



## swissm (17 Februar 2011)

Moin,

Also ich Sitze zurzeit an einer Lenze Servo 9300. Diese soll einen Servomotor ansteuern, an dem sich wiederum eine Drehscheibe für Positionieraufgaben befindet. Rückführsystem ist ein Resolver.
Angesteuert wird der Umrichter über CAN.
Ich verwendet Drive PLC Developer Studio zur Programmierung.

Vorweg Ich habe keine wirkliche Erfahrung auf dem Gebiet (bin Student).

Zunächst einmal habe ich festgestellt das der vorliegende Umrichter eine recht alte Firmware version hat (Version 2.6). Nun gibt es das Zusatzpaket Positioner welches unter anderem Bibliotheken für das Positionieren bereit stellt, allerdings brauchen diese Bibliotheken offenbar mindestens firmware Version 6.0. 

Also kann ich anscheind nicht die 
LenzeMotionControl.lib verwenden die fertige FBs für Positionieraufgaben zur verfügung stellt.

Ich habe auch ein Programmbeispiel in dem Positioniert etc wird, allerdings läuft dieses mit einer 6.0 version und dort wird eben auf die lib zurückgegriffen die Ich dank version 2.x nicht verwenden kann.

Wie Positioniert es sich also mit Version 2.x ?

Habe schon versucht bei Lenze Beispiele oder ähnliches zu finden, aber für SW version 2.x findet sich da einfach nichts.

Mit den Bibliotheken die mit 2.x verfügbar sind bekomm Ich nichtmal handfahren der scheibe :/. Allerdings weis ich auch nicht so recht wie ich anfangen soll.

Bis jetzt hab Ichs nur geschafft das die Scheibe sich dreht.


Eine weitere Sache die mich an DDS gewundert hat, ist das er den Motor bei den Codestellen nicht erkannt hat, obwohl es sich um einen Original lenze Motor handelt. Liegt das auch an der Firmware, wird dieser mit 6x erkannt?

Es handelt sich um:  MCS12L20-RS0B0-B19N-KK5S00N-R0S0
C86=1326
Im Parameter C0086 läßt sich dieser nicht wählen, ich habe also COMMON gewählt und die restlichen Parameter manuell angegeben. Finds nur ein bischen komisch da es sich ja eigentlich um ein Original Lenze Motor handelt.

PS:Hoffe mal meine Fragen waren jetzt nicht zudämlich. hab mich schon totgesucht bei Lenze zum dem Thema :/


----------



## KvT (17 Februar 2011)

Hi,

hast Du denn schonmal versucht, die Bibliothek auf dem 2.x System einzusetzen? Die meisten FB's sind Zielsystemunabhängig und müssten daher auch auf einem älteren Sytem laufen!

Bei Deinem Beispiel merk oder kopier Dir die Steuerungskonfiguration und dann setzt die Zielsystemeinstellung auf Servo PLC 2.x. Danach die Steuerungskonfiguration wieder herstellen. 

Ja, dass mit den Motoren ist leider so! Die MCS sind neu, oder zumindestens neuer als 9300 PLC 2.x. Daher sind Sie noch nicht in Codestelle C86 bekannt.


----------



## swissm (17 Februar 2011)

habe jetzt noch ein anderes problem, habe also wie gesagt die motordaten manuell eingegeben. Das verrückte ist ich gebe dem motor nichts vor aber sobald ich die reglersperre freigebe, fängt der an sich an Mmax zu drehen in negativer Richtung.

Hab den Umrichter schon urgelöscht, das Ergebnis bleibt das gleiche.
Eigentlich ist Drehzahlvorgeben eingeschaltet, und wenn dieser Wert n=0 ist wie kann sich dann der Antrieb an Mmax drehen?

Problem ist auch ich kann den Grenzstrom +Imax nicht ändern dieser steht bei 8,9A obwohl dieser laut Typenschild bei 28A liegt. geb ich 28A ein stürtzt immer der Codesys gateway server ab und die Änderung wird übernommen. Die anderen Motorwerte ließen sich eintragen.


----------



## KvT (17 Februar 2011)

Folgender Vorschlag: Du richtest den Antriebsregler erstmal mit dem neuesten GDC ein (Motordatenasisstent-> siehe Doku). Entweder bei vorhander GDC Version Update von Lenze Homepage oder aktuelle GDCeasy Version "downloaden" (darf man downloaden schreiben oder muss es runterladen heißen?)

Dann bist Du Dir sicher, das alle relevanten Daten (z.B. Stromregler) stimmen und zu dem Motor passen (dort sind die aktuellen Motordaten enthalten).

Erst wenn Du dann den selben Effekt hast, würde ich mir mal die Rückführung anschauen, ob dort irgendetwas im argen ist ...


----------



## swissm (17 Februar 2011)

jo das hat in der tat funktioniert. danke dir, wusste nicht das man übers GDC auch den Motor wählen kann.


----------



## swissm (20 Februar 2011)

Also Ich kann jetzt über die MCTRL Parameter eine Drehzahl n_soll vorgeben.

Gibt allerdings ein paar wo ich gerade etwa ratlos bin :/

Die Drehzahl wird ja in Inkrementen angegeben, nur was bedeutet ein Inkrement?

Ich habe gedacht das 360 Inkremente =  360° ist, dies scheint aber irgendwie nicht der fall zu sein.

Ich gebe dem Motor 10000 Inkremente vor, das müsste dann n = (10000/360)*60 = 1667 rpm sein.

Nun ist es so das der Motor tatsächlich 1560 rpm liefert.

Hier habe ich allerdings ein weiteres Problem die Drehzahl schwankt etwas twischen 1550-1570rpm, unregelmäßig. 

Kann  es daran liegen das eventuelle Massenträgheit der Scheibe noch  berücksichtig werden muss, wenn ja wo gibt man das Trägheitsmoment der  Scheibe an.

Hab schon versucht etwas an den Reglerparametern zu Drehen dies hat aber nicht dafür gesorgt das die Drehzahl stabiler ist.


Letzte  Sache wo ich noch am Rätseln bin. Ich kann zwar eine Drehzahlvorgeben  über die MCTRL aber Ich finde dort nichts um die Hochlaufzeit, also die  Beschleunigung bzw den Bremsvorgang auf 0 anzugeben.


----------



## KvT (22 Februar 2011)

Ist es heute nicht mehr üblich, eine Dokumentation zu lesen? Gibt man seine Frage ins Internet ein und erwartet dann eine Antwort?

Schnapp Dir also mal die Doku oder Hilfe im DDS, da wirst Du garantiert fündig ...

65536 Inkremente = 1 Umdrehung!

_a Signal sind auf C11 normiert, wobei 16384 = 100% sind

Schau Dir in der Hilfe mal die Funktionsblöcke L_NSet oder L_MPot oder ähnliche an. Die könnten Dir weiterhelfen!


----------

