Codesys V2.3 Trinamic PD 60-1260 PAN Driver

Julian__08

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebe Community,

ich will einen Trinamic PD 60-1260 PAN Driver über CAN ansteuern. Ich habe dazu die EDS Datei des Servo-Motors in mein Projekt eingefügt. Nun gibt es für Codesys V2.3 keine mir bekannten Libarys um den Motor so anzusteuern.

Ich will den Motor im Profil Velcoity Mode betreiben dazu muss man aber vorab nach DS402 die State Machine durchlaufen.

Kann mir jemand Start Hilfe geben wie ich das Controlword und das Statusword programmiern muss damit sich der Motor bewegt.

Vielen Dank schonmal für die Antworten.
 
Die Statemachine ist ja nur ein Case mit den einzelnen Statusen (einfach von DS402 abschreiben).. mit IF-Abfragen auf die Variable "Statusword" die einzelnen Wechsel zwischen den Caseteilen ausführen.... Das Controlword ergibt sich aus : "wo bin ich" Status und " welcher Status soll erreicht (bequem ist eine weitere getrennte Case, ist aber auch in direkter Logik realisierbar) werden auf dem Weg zu meinem endgültigen Endsollzustand (Fahrt , stillstand etc). .... das kann sogar von Bausteinen der cs3.5 eventuell abgeschrieben werden. Dementsprechend sollte es dort keine großen Probleme geben. Zugriff auf das lesen des Statuswords und des Controlwords mithilfe der EDS-file im Projekt unter Can eingebunden sollte auch kein Problem sein. So wo genau bräuchte es Hilfe ?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Idtell,

ich habe mal das Manuel angefügt.
Bei 6.2 ist zwar beschrieben wie man den Motor in PP Mode anfahren lässt, aber ich habe keine Ahnung wie ich die Objekte da beschreiben soll bzw, wohin ich die schreiben soll. Eine Beispielprogrammierung würde mir schon helfen das besser zu verstehen.
 

Anhänge

im Handbuch ist ein Beispiel für pp , aber formlos(sie schreiben nur die Kommandos und prüfen gar nicht ob er den gesuchten status erreicht)
Code:
"If you do not have any limit switches connected, first disable the limit switch inputs by writing 3 to
object 2005h.
Select pp mode by writing 1 to object 6060h.
Write 6 to object 6040h to switch to READY_TO_SWITCH_ON state.
Write 7 to object 6040h to switch to SWITCHED_ON state.
Write 15 to object 6040h to switch to OPERATION_ENABLED state.
Write the desired target position (e.g. 500000) to object 607Ah.
Mark the new target position as active by writing 31 to object 6040h. The motor starts moving now.
Reset the activation by writing 15 to object 6040h (this can be done while the motor is still moving)."
Habe dazu leider keinen Code den ich zeigen kann, da ich bei der Firma nicht mehr arbeite. Schöner als wie beim Beispiel wäre natürlich wenn du dir das status und das controlwort zuerst mal in eine Struktur reinschreibst und dann mit den einzelnen bits die Schritte umschaltest, das kann man dann beim debuggen auch lesen als irgendeine nummer zu schreiben ohne schön zu sehen welche bits gesetzt werden. auf seite 72 im Handbuch hast du die States und was du jeweils ins controlword schreiben must.

Code:
    inverterdat^.Controlword.0        := inverterdat^.Switchon;
    inverterdat^.Controlword.1        := inverterdat^.EnableVoltage;
    inverterdat^.Controlword.2        := inverterdat^.openQS;
    inverterdat^.Controlword.3        := inverterdat^.EnableOP;
    inverterdat^.Controlword.4        := inverterdat^.oms.0;
    inverterdat^.Controlword.5        := inverterdat^.oms.1;
    inverterdat^.Controlword.6        := inverterdat^.oms.2;
    inverterdat^.Controlword.7        := inverterdat^.FaultReset;
    inverterdat^.Controlword.8        := inverterdat^.Halt;
    inverterdat^.Controlword.9        := inverterdat^.oms.3;

    inverterdat^.Controlword.14        := inverterdat^.Brake;
dieses inverterdat.contolword dann beim can als variable eintragen
und targetposition und targetvelocity halt auch eine Variable rein.
status zurücklesen und damit könntest du die case machen welche dir sagt ob du im gesuchten State bist. Aber prinzipiell geht auch nur kommandos schreiben und nix prüfen .. nur nicht gerade professionell. und halt verstehen dass wenn sie von 6040h reden dass sie das controlword meinen .. egal wo du es eben reingemapped hast. Das einzige was dich da drausbringt ist das detailierte Handbuch:
 
Zuletzt bearbeitet:
Zurück
Oben