Bibliothek für SAE J1939 mit TwinCAT

Hallo,
gibt's zu dieser Thematik Neuigkeiten. Wer hat das bereits umgesetzt und zum laufen bekommen?

Nutze momentan TwinCAT 3 mit der CANopen Masterklemme (EL6751) im CAN Layer 2.0A (11Bit) und würde aber gerne in Zukunft die Klemme für J1939 (29Bit) nutzen.

Kann ich meine Klemme von 2.0A auf 2.0B umstellen? Sprich von 11 Bit auf 29 Bit umstellen? :confused:
Wie setzte ich das am besten um, wenn ich nur einzelne Botschaften lesen/schreiben möchte (Bsp. Drehzahl, etc.) ?
 
Ich hab mittlerweile meine Klemme auf 29Bit umgestellt - funktioniert folgendermaßen:
wie in Beitrag http://www.sps-forum.de/codesys-und-iec61131/68171-kommunikation-mit-beckhoff-el6751.html bereits erwähnt, allerdings muss anstelle des "CANopen Node" das "CAN Interface" gewählt werden. Hier lässt sich dann direkt zwischen der 11Bit und der 29 Bit Kommunikation umschalten.
Im Code wird das allerdings anders umgesetzt wie im "CANopen Node"-Modus. Meines erachtens nicht ganz so schön, aber funktioniert!
Hier hab ich mir bei Beckhoff Rat geholt. Der Code sieht dann folgendermaßen aus:

Code:
// J1939
 // ID-#421
 CAN_Out.str_CANMessages[4].CobId :=16#8CF00421; //
 CAN_Out.str_CANMessages[4].Length  :=16#8;
  // Ist-Drehmoment ECM
 CAN_Out.str_CANMessages[4].Data[2] :=  (byMotordrehmoment); 
  // Ist-Drehzahl ECM
 CAN_Out.str_CANMessages[4].Data[3] := WORD_TO_BYTE (wMotordrehzahl);
 CAN_Out.str_CANMessages[4].Data[4] := WORD_TO_BYTE (SHR(wMotordrehzahl,8));

Eine Bibliothek wie bei Codesys gibt es aktuell bei Beckhoff noch nicht.
 
Zurück
Oben