# Twincat, EtherCAT und ein Umrichter



## Cococabana (30 September 2009)

Hallo,
ich habe einen Umrichter der Firma Baumüller zur Verfügung mit dem ich über EtherCat kommunizieren möchte. Über meinen Laptop gehe ich auf den Beckhoff Buskoppler EK1100 und direkt weiter auf eine Ethercat-Slave Optionskarte im Umrichter. Ich bin ein absoluter Neuling in Sachen Ethercat, habe bislang nur mit dem Profibus DP gearbeitet.
Zunächst würde es mir reichen wenn ich das Steuerwort setzen und das Statuswort auslesen könnte.
EDS-Datei ist eingebunden, Umrichter vom Twincat System Manager erkannt! Seitdem stocher ich etwas im dunkeln rum...

Die Optionskarte arbeitet mit dem Mailbox-Protokol SoE. Den Unterschied zwischen   [FONT=&quot]Servicedatenobjekte *[FONT=&quot](SDO) [/FONT]*[/FONT]und  *[FONT=&quot] Prozessdatenobjekte *[FONT=&quot](PDO) [/FONT]*[/FONT]ist mir mittlerweile auch bewusst. Nun habe ich im TC System Manager in den Eigenschaften meines angezeigten Ethercat Slaves ein frei konfigurierbaren Telegrammtyp ( die anderen sind für NC-Aufgaben gedacht) ausgewählt. Als nächstes unter Prozessdaten zwei PDO Listen angelegt: MDT für meine Sollwerte und AT für meine Istwerte. Darin dann meine Soll und Istwerte mit den entsprechenden Parameternummern deklariert die auch schon am Umrichzter eingestellt worden sind. 
Beim starten des Free-Run Modus erscheint mir allerdings das hier...



> Type    Server (Port)    Timestamp    Meldung
> Error     (65535)    30.09.2009 11:15:50 834 ms    'bMaxx' (1007): state change aborted (requested 'SAFEOP', back to 'PREOP').
> Error (65535) 30.09.2009 11:15:50 834 ms 'bMaxx' (1007): 'PREOP to SAFEOP' failed! Error: 'check device state for SAFEOP'. AL Status '0x0012' read and '0x0004' expected.


Das deckt sich mit meinen manuellen Versuchen ihn in den OP oder SAFE-OP zu bringen. Funktioniert einfach nicht, die Fehlermeldung sagt mir nichts. 

In den Eigenschaften unter SoE-Online kann ich schon bereits viele (sind das alle verfügbaren?) SDO's und PDO's im Umrichter mit ihren Werten mir ansehen. Für mich heisst das, das ich prinzipiell schonmal Daten abgefragt habe. Irgendwie ein gutes Gefühl . 

Wie gesagt, ich bin neuling und habe keine Ahnung ob das jetz zu sehr Baumüllerspezifisch ist. Vielleicht hat der ein oder andere von euch eine Idee. :idea:

Mfg Cococabana


----------



## Cerberus (30 September 2009)

Welchen EtherCAT-Antrieb nutzt du denn genau? Mit Hilfe des XML-Files bekomme ich eine größere Auswahl (siehe Anhang).


----------



## Cococabana (30 September 2009)

Den ersten in der Auswahl: "1 Kanal Sercos Achse"


----------



## Cerberus (30 September 2009)

Also bei mir funktioniert der Free-Run-Modus. Habe allerdings auch keinerlei Hardware dran hängen. Kannst du mal deine .tsm in nem .zip posten vllt. fällt mir ja was auf.


----------



## Cococabana (30 September 2009)

Aber im Free-Run Modus ohne Hrdware bleibt bei mir der Umrichter im Status INIT. Mehr passiert da nicht....


----------



## Cerberus (30 September 2009)

Cococabana schrieb:


> Aber im Free-Run Modus ohne Hrdware bleibt bei mir der Umrichter im Status INIT. Mehr passiert da nicht....


 
Stimmt ist bei mir genauso. Ist mir gerade gar nicht aufgefallen. Bin auch ratlos, was da passiert. Was mir aber auffällt ist, dass im Reiter Startup bei anderen EtherCAT-Geräten sehr viel mehr drin steht. Kann es daran liegen?


----------



## Cococabana (30 September 2009)

Habe nur dieses eine EtherCat-Gerät, dementsprechend keinen Vergleich. Wähle ich aber unter dem Reiter EtherCat -> erweiterete Einstellungen und dort unter Mailbox ein anderes Telegramm, also einer dieser Vorzugstelegramme aus, dann steht da auch nicht mehr drin.


----------



## Cerberus (30 September 2009)

Komisch. Kann dir da leider auch nicht weiterhelfen.


----------



## Cococabana (30 September 2009)

Trotzdem Danke für deine Hilfe, nun wird sich der Beckhoff Support mit meinen Fragen rumärgern müssen


----------



## Friedrich-Alexander (23 Oktober 2009)

Hi Cococabana,

läuft das jetzt?

Gruß FA


----------



## witkatz (23 Oktober 2009)

Hi Cococabana,

state 0x0012 bedeutet "Slave signals error", also die Kommunikation zum Slave ist da aber der Slave meldet irgendeinen Fehler und lässt sich nicht in den angeforderten State schalten. Du könntest unter dem Karteireiter SoE-Online nach der Diagnose (S-0-95) schauen, bzw. Versuchen den Antrieb zu Reseten. Muss der Antrieb vielleicht noch konfiguriert werden? Gibt es von Baumüller irgendeine Software, um den Antrieb zu konfigurieren?

Gruß,
witkatz


----------



## Cococabana (27 Oktober 2009)

@Friedrich-Alexander: Nein, dieses Projekt haben wir erstmal zurückgestellen müssen da wir gegenwärtig keine Aussicht auf Erfolg sahen. Vielleicht beleben wir das ganze mit einem Versuch in 3-4 Wochen. Mal schauen.

@witkatz: Danke! ...das haben wir so auch vermutet, schön das mein Umrichter es mir auch mitteilt . Der Umrichter und auch die Optionskarte müssen mit der Baumüller-Software WinBass II konfiguriert werden. Dies haben wir nach bestem Wissen bereits getan. Seitens Baumüller schlug man aber schon verbal die Hände übern Kopf zusammen warum wir ausgerechnet das Sercos-Interface SoE benutzen. Das soll wohl ehh nicht einfach zu händeln sein...
Stattdessen sollte das lieber über ein Canopen-Interface CoE realisiert werden. 

Wie gesagt, in 3-4 Wochen wird das vielleicht wieder in Angriff genommen. Dann entscheidet sich auch ob wir uns weiter an SoE abmühen oder eine andere Optionskarte bestellen.

Gruß


----------



## Speedo (7 Juni 2011)

Hallo Cococbana

Wie sihts aus? Hast du eine Lösung für den Fehler gefudnen?
Wen ja ich wäre Brännend interessiert daran.

Muss auch einen FU von beckhoff in betrieb nehmen und habe genau den gleichen fehler.

Gruss


----------



## fontsix (28 März 2012)

So, nun muss ich diesen Thread noch einmal auskramen, da ich momentan das selbe Problem habe. Das witzige an der Sache ist, das die Kommunikation schon mal geklappt hat.

Der CANopen Master EL6751 hängt am E-Bus einer CX9010, am CAN-Bus hab ich 2 Geräte angeschlossen. Nun gibt es beim Wechsel vom PreOP in den SafeOP Zustand Probleme ....



> Type    Server (Port)    Timestamp    Meldung
> Error     (65535)    28.03.2012 10:34:11 536 ms    'Klemme 2 (EL6751)' (1002): state change aborted (requested 'SAFEOP', back to 'PREOP').
> Error     (65535)    28.03.2012 10:34:11 536 ms    'Klemme 2 (EL6751)' (1002): 'PREOP to SAFEOP' failed! Error: 'check device state for SAFEOP'. AL Status '0x0012' read and '0x0004' expected. AL Status Code '0xf102'



Laut Beschreibung kann die EL6751 auf 3 verschiedene Arten konfiguriert werden,



Konfiguration mit StartUp-SDO's
Konfiguration mit Scannen des CAN-Busses
Konfiguration mit Backup Parameter Storage
Dieser genau Ablauf der State Machine kann hier nachgelesen werden

http://infosys.beckhoff.com/index.p...1/el6751/html/el6751_statemachine.htm&id=7539

Und ich vermute das es an der Stelle *Download CANopen Slave Parameter* (Objekt 0x8nn0, usw.) zu Problemen kommt.




Welches genaue Objekt die EL6751 an dieser Stelle beschreiben will und nur ReadOnly ist, weiß ich allerdings noch nicht.

Hier ist noch ein Beckhoff Link wo die Objekte der EL6751 beschrieben werden ...

http://infosys.beckhoff.de/index.ph.../html/bt_el6751_objectdescription.htm&id=7601


Allerdings komme ich auch damit nicht so recht weiter. 

"Für jeden in 0x8000+n*16 konfigurierten CANopen-Slave gibt es einen          Node State. Die Node States sind in TxPDO 132 (Index         0x1A83) gemappt."

Nach durcklicken sämtlicher Geräte im Gerätebaum und so ziemlich aller Karteireiter, konnte ich leider nirgends einen TxPDO 132 finden.



Ich hoffe ich konnte das Problem nun noch einmal ausführlich schildern und würde mich über zahlreiche Vorschläge zur Lösung dieses scheinbar nicht unüblichen Problems freuen.


MfG fontsix


----------



## Speedo (28 März 2012)

Hallo fontsix

Sehe ich das richtig das deine SPS nicht in den Op status kommt?
Wen ja glaub ich nicht das es etwas mit dem Readonly zu tun hat da ja ein Lese/Schreib befehl aus einem Slave erst beginnt mit der laufenden SPS.

Hast du den Master schonmal ohne Slaves betrieben also kommt er dan in den OP zustand?

Gruss


----------



## fontsix (28 März 2012)

Nein, das siehst du nicht richtig, es handelt sich lediglich um die CANopen Masterklemme (EL6751). Alle anderen Klemmen und auch die SPS landen ordnungsgemäß im OP-Status.

Bin langsam am verzweifeln, zumal gestern zumindest die Kommunikation reibungslos funktionierte. 


Sollte es Neuigkeiten geben, werde ich mich hier nochmal zu Wort melden.


----------



## fontsix (28 März 2012)

Mit diesem Screenshot möchte mich nun in den Feierabend verabschieden. Problem nicht beseitigt und planlos woran es liegen könnte.

Wahrscheinlich ist es auch besser wenn ich den Beckhoff Support frühestens morgen wegen dem Problem anrufe,  momentan bin ich ziemlich geladen. 


​


----------



## fontsix (29 März 2012)

So, Problem gelöst, allen bei denen das Problem weiterhin auftritt kann ich nur empfehlen folgendes auszuprobieren.

Ursprüngliche Fehlermeldung:

*'Klemme 2 (EL6751**)' (1002): 'PREOP to SAFEOP' failed! Error: 'check device state for* *SAFEOP'. AL Status '0x0012 read and '0x0004' expected. AL Status* *Code '0xf102'*



Mit der TwinCAT PLC Control ein kleines Programm schreiben, kompilieren und speichern.
im TwinCAT System Manager SPS Projekt anfügen
Nun vom angeschlossenen Gerät einen PDO auswählen, rechte Maustaste und auf *Verknüpfte Variable erzeugen in *mit dem gerade erstellten Programm verknüpfen.
Neuladen der E/A Geräte (F4)







Danach treten im Normalfall keine Fehler mehr bei der CANopen Masterklemme EL6751 auf.


Warum es nun allerdings zwingend erforderlich ist im System Manager eine Variable mit dem Programm zu verknüpfen, das erschließt sich mir beim besten Willen nicht. 


Freundliche Grüße
fontsix


----------

