CAN-Kommunikation mit Beckhoff EL6751

tbrtsmtr

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

im Moment bin ich dabei, mich mit diverser Beckhoff-Hardware vertraut zu machen. So weit hat alles geklappt.

Das Problem taucht jetzt bei dem EL6751 auf. Wie initialisiert man den und sendet oder empfängt CAN-Messages? Ich benutze TwinCAT 3. Hat jemand Code-Beispiele? Oder wo finde ich solche?

Gruß
Tom
 
Hallo,

ich greif mal dieses Thema wieder auf. Hab ebenfalls eine CANOpen Masterklemme (EL6751) und würde gerne mit der im CAN Standard 2.0A kommunizieren.
Arbeite im Moment mit TwinCAT 3.1 Build 4018.0 in VS2010. Die Klemme steckt auf einem CX9020.
Die Klemme hab ich unter Devices eingebunden. Wo kann ich jetzt denn Baudrate und das Format (Standard 2.0) einstellen?
Grüße
attachment.php
attachment.php
 

Anhänge

  • EL6751.png
    EL6751.png
    11 KB · Aufrufe: 596
  • EL6751_CoE.jpg
    EL6751_CoE.jpg
    83,8 KB · Aufrufe: 585
Zuviel Werbung?
-> Hier kostenlos registrieren
Bin jetzt ein paar Schritte weiter, dank dem Beckhoff-Support!
Unter Solution-Explorer Device -->Rechtsklick "Add New Item" taucht die Klemme auf. Hier hab ich dann meine CANOpen Master Klemme ausgewählt. Diese taucht dann auch im Solution-Explorer als neues Device auf.
An diesem neuen Device (Bsp. Device 4 EL6751) --> Rechtsklick "Add New Item" kann dann eine neue Box hinzugefügt werden.
attachment.php


Hier wird dann über Miscellaneous der "CAN Open Node" ausgewählt.
attachment.php


Unter CAN Node (Reiter der Box) lässt sich nun der Haken für "General CAN Node - Layer 2" setzen
attachment.php
 

Anhänge

  • EL6751device.png
    EL6751device.png
    38,9 KB · Aufrufe: 599
  • EL6751InsertBox.png
    EL6751InsertBox.png
    39,8 KB · Aufrufe: 614
  • CAN Node.jpg
    CAN Node.jpg
    88,4 KB · Aufrufe: 602
Kann jetzt über den TxPDO 1 (0x181) und der Var 1 Daten empfangen, sowie auch mit TxPDO2 (0x281) und Var 2.
Sobald ich aber unter RxPDO 1 (0x201) einen Kanal (Var 3) anlege, kann ich keine Daten mehr empfangen und die Klemme meldet folgendes:

ErrorMessageAusgangAnlegen.PNG

Hab ich die Adressen soweit richtig vergeben? Bisher ist nichts auf dem Bus außer die bisher angelegten Adressen.
Hab mir das hier angeschaut:
http://infosys.beckhoff.com/index.ph...rt.htm&id=2746
Kann es sein dass es an der Startadresse liegt? Gibt es hier was zu beachten, wo liegt denn der Adressbereich der Ausgänge?
InsertVariable.JPG

--> Es lag an der Zykluszeit des Tasks, dieser war auf 100ms eingestellt. Hab ihn nun auf 10ms eingestellt, seither läuft der Datentransfer ohne Fehler!
 
Zuletzt bearbeitet:
Hallo Andy,

diese CAN Klemme benutze ich auch zurzeit und ich habe etwas Kenntnis gesammelt.

bei CAN Master 6751 hast Du die Möglichkeiten, CAN Node für CANopen oder normalen CAN über Layer 2 zu senden und zu empfangen. Bei der Beschreibung ist aber etwas anders, bei Rx-PDOs kannst Du maximal 8 Bytes auf dem CAN Bus senden und umgekehrt bei Tx-PDOs 8 Bytes empfangen. Wenn Du normale CAN-Node ohne NMT verwendest, dann denke ich, kannst Du manuell irgend Identifier für PDOs einstellen. Es muss aber beachtet werden, dass diese Identifier mit anderen CAN-Node übereinstimmend sind. Am bestens kannst Du ein CAN-Analyzer Gerät zum Test verwenden.

Die Hex (0x181, usw.), die Du erwäht hast, sind die COB-Id. Die sind die Summe von Identifier von PDO (in Hex) und Node-ID. (in Dec). Für die Berechnung musst Du eine Zahl davon umrechnen.

Viele Grüße,

Phuong
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das COB ID Schema (CAN ID's) für die Verteilung von CAN-IDs ist recht einfach. Wenn du einem CAN-Teilnehmer, die COBID für ein CANOpen Node ID zuweisst, gibt es am wenigsten Probleme. Ansonsten heisst es, eine Doku zum Projekt zu führen
 
Hallo,
Wo kann ich anwählen, wie meine Daten gesandt werden. Bisher macht er das nur bei "Change"! Ich würde das gerne aber Zyklisch machen??
 
Hallo Andy,

bei zyklischer Sende der Daten hat Du zwei Möglichkeiten:

1. Du verwendest einen TON im dem Programm und gibst neue Daten auf deine PDO-TXs nach Ablauf des PT.
2. Du kannst auch Event-Time bei Einstellung der PDO vorgeben. Die Daten werden zyklisch auf den Bus gesendet, egal ob deine Daten geändert wurden oder nicht.

VG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

mich würde interessieren ob die Klemme EL6751 die dynamische Knoten-ID vergabe unterstüzt (LSS). falls nicht, wie kann ich über die Klemme (TwinCat) den Knoten eine ID vergeben oder ändern?
Kann die Klemme das überhaupt oder müssen die Knoten vorab konfiguriert werden mit den passenden IDs?

VG
 
Ein neuer Thread wäre hilfreich anstelle dich auf einen alten aufzusetzen.

Zur Antwort: Ja. ist möglich, du brauchst aber eine ziemlich neue Klemme/HW (Konkret FW18 oder höher). Schick mir mal per PN deine Email und ich schick dir was.
Guga
 
Hallo Zusammen,
könnte jemand von euch ein Beispielprojekt zur Verfügung stellen?

Bzw. gibt es eins von Beckhoff?

Beste Grüße
 
Hallo Zusammen

Ich meinte ein Beispielprojekt für eine CAN Kommunikation mit einer EL6751 Klemme und einem externen Teilnehmer z.B. PCAN Explorer. Also eine Möglichkeit Nachrichten von A nach B über den CAN Bus zu senden.

Ich selber entwickle mit TwinCAT3 und einer Beckhoff CX2030. Für die serielle Schnittstelle gibt es ja z.B. Beispielprojekte von Beckhoff.
Also einfach eine Idee wie man das lösen kann. Finde im Internet kein passendes Beispiel.

Vielen lieben Dank
 
@AdamMax: Die Info reicht noch nicht.

#1: Wenn du einen regulären Slave hast:
- EL6751 vorhanden.
- CanNode Master Knoten einfügen und link zur EL6751 überprüfen.
- master-Baudrate setzen und CAN - Slaves scannen. Alternativ zum Scannen den Slave per *.eds-Datei einfügen.
=> eigentlich so einfach das es dafür kein Beispiel braucht.

#2: Wenn du azyklische Kommunikation meinst (SDO)... da gibt es ein paar Infos im Infosystem, allerdings etwas verstreut.

Der Editor von CAN in TwinCAT ist nun ja, sagen wir es mal so, ergonomisch nicht brilliant. CAN-Hintergrundwissen hilft hier immens.
 
Willst Du Can2.0 Botschaften senden/empfangen? Da hätte ich ein Beckhoff Beispiel.


Hallo wollvieh,
ich habe momentan ebenfalls eine Anwendung, in der ich über eine EL6751 auf einen Can Bus 2.0 Botschaften senden und empfangen muss.
Besteht die Möglichkeit, dass ich dieses Beispiel bekommen könnte? ;)
 
Wie steuere ich nun mit der EL6751 im TwinCAT3 die BERGER LAHR CAN-Busklemme B170 an? Ich möchte die 32 Eingänge einlesen und die 24 Ausgänge schalten.
Wie gehe ich da vor?
EL6751 mit B170.jpg
 

Anhänge

  • B170_104.pdf
    316,6 KB · Aufrufe: 36
Zurück
Oben