# TwinCat CANopen Kommunikation



## Sag van hagg (10 August 2011)

Hallo zusammen,

ich schreibe gerade an meiner Abschlussarbeit und soll dabei einen Linearantrieb in Betrieb nehmen. Dabei soll ich ein SPS-Programm schreiben, mit dem ich die einzelnen Parameter wie Betriebsart, Fahraufträge usw. einstellen kann und mit dem ich auch dann auch den Fahrauftrag starten lassen kann.

Verwendete Hardware/Software: Ich verwende TwinCat, eine CANopen Masterkarte FC5101 und einen AX2000 digitalen Servoverstärker der Firma Beckhoff. 

Ich habe bereits die Feldbuskarte und den Servoverstärker in TwinCat eingebunden und er zeigt mir hier auch die TxPDO und RxPDO an. Mir ist soweit auch klar wie das mit dem einzelnen SDO's und PDO's funktioniert. 

Mein Problem ist, das ich mit SPS-Programmierung noch nicht soviel Erfahrung habe und nicht weiß wie ich es in einem TwinCat-PLC  Programm schaffe SDO's zu schreiben und zu lesen. Und wie das dann auch mit den PDO's umgesetzt werden soll.

Vielleicht hat jemand ein Programm wo ich mir das mal anschauen könnte bzw. Tipps wie ich vorgehen muss. 

Danke schomal im vorraus


----------



## Controllfreak (10 August 2011)

Die SDOs brauchst Du vermutlich nicht. Schau Dir mal das Ctrl und Stat Wort an


----------



## Sag van hagg (10 August 2011)

Hallo,

dass state mein Statuswort (signal vom Motor -> Regler) und ctrl mein Steuerwort (Signal von Regler -> Motor) ist versteh ich soweit und ich das ich dann die Variblen Status- Steuerwort im meinem Programm mit state und ctrl verbinden muss auch, aber ich hab keine Ahnung wie ich das im Programm umsetzen soll.
Zum Beispiel das PDO für Fahrsatz und für starte Fahrsatz. Das PDO Fahrsatz (35) setzt sich aus Position, Geschwindigkeit und der Fahrauftragsart zusammen mit den jeweiligen Subindex

1) Subindex: 00 ; Wert: 3; Beschreibung: Anzahl der Einträge
2) Subindex: 01 ; Wert: 20220120 ; Beschreibung: Position
3) Subindex: 02 ; Wert: 20220210 ; Beschreibung: Geschwindigkeit
4) Subindex: 03 ; Wert: 20220310 ; Fahrauftragsart

Also das PDO besteht ja mehrer Nummern mit den jeweiligen Aufgaben und wird dann beschrieben durch den Mapping Ojekt Index und den Subindex und ich würde jetzt gerne einen Funktionsbaustein machen indem ich das dann alles einstellen kann. 
Dabei wäre ich so vorgeganen, dass ich einen Funktionsbaustein mit eingang Steuerwort und Ausgang Statuswort machen.
Das Steuerwort beispielsweis besteht dann wiederrum aus mehreren FB's wie z.B. Fahrsatz und dieser FB hätte dann als Eingänge einmal den Index 2022h und verschieden Subindexe da ich ja Position, Geschwindigkeit usw. auch einstellen muss. 

Ist das so richtig bzw. wie macht man das??

Danke schonmal!


----------



## mac203 (15 August 2011)

Sag van hagg schrieb:


> Hallo,
> 
> dass state mein Statuswort (signal vom Motor -> Regler) und ctrl mein Steuerwort (Signal von Regler -> Motor) ist versteh ich soweit und ich das ich dann die Variblen Status- Steuerwort im meinem Programm mit state und ctrl verbinden muss auch, aber ich hab keine Ahnung wie ich das im Programm umsetzen soll.
> Zum Beispiel das PDO für Fahrsatz und für starte Fahrsatz. Das PDO Fahrsatz (35) setzt sich aus Position, Geschwindigkeit und der Fahrauftragsart zusammen mit den jeweiligen Subindex
> ...



Hallo,

verstehe ich das richtig, dass Du die komplette Regelung aus dem PLC Control ohne Verwendung der NC und Einbindung Motion Bausteine machen willst/musst?
Die etwas einfachere Variante, die man bei so etwas üblichweise bevorzugen würde, wäre Einbindung der TcMc2.lib und Anbindung an die NC.

Gruß,
Marco


----------



## Sag van hagg (15 August 2011)

Eigentlich sollte ich die Regelung schon schon über PLC Control umsetzten, aber da das bis jetzt alles nicht so richtig läuft und mein Professor auch keinen Plan davon hat, liegt das Augenmerk momentan eher darauf, das der Antrieb läuft. 
Deshalb werde ich es diese Woche über NC versuchen, schau wir mal ob das läuft


----------



## mac203 (16 August 2011)

Sag van hagg schrieb:


> Eigentlich sollte ich die Regelung schon schon über PLC Control umsetzten, aber da das bis jetzt alles nicht so richtig läuft und mein Professor auch keinen Plan davon hat, liegt das Augenmerk momentan eher darauf, das der Antrieb läuft.
> Deshalb werde ich es diese Woche über NC versuchen, schau wir mal ob das läuft



Über die NC ist das relativ simpel. IdR passt das Antriebsprofil direkt auf die NC ohne sich groß über PDO/SDO Gedanken machen zu müssen.
An welcher Uni bist Du?
Wenn Du Unterstützung brauchst, kannst Du Dich gerne an mich (uns) wenden...ggf. per PN.

Gruß,
Marco


----------



## Voxe (16 August 2011)

Hallo,

für Motorenlösung ohne NC, also reine PLC, gibt es hier ein kostenloses Beispiel.

Ist mit CANOpen gemacht, habe es aber selbst noch nicht probiert. Denke, brauchst nur die Verstärker austauschen.
http://www.eps-automation.de/de/downloads.html

Erfahrungsbericht, wäre schön.

Gruß, Voxe


----------



## Sag van hagg (17 August 2011)

Danke für die Antworten,

ich schau wie weit ich jetzt komme und sobald ich ein Ergebnis habe gib ich gleich meine Erfahrungsberichte an euch weiter


----------

