CanOpen PDO

Dominus

Level-1
Beiträge
10
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin!
Bin CANopen-Anfänger und versuche gerade CANopen-Modul für dig. Eingänge mit der Wago-Steuerung über Gateway 750-658 kommunizieren zu lassen. Bis jetzt bin ich soweit:
kann über NMT den Zustand ändern:


SendNmt.JPG


und über Read-SDO die Eingänge lesen:
ReadSDO.JPG


Da SDO's nicht zyklisch sind, muss ich die Kommunikation irgendwie mit PDO's hinkriegen.
Mit dem Baustein Rx habe ich versucht die PDO's zu empfangen:
Rx.JPG

Kommt aber immer ein Bit 5 mit CAN-ID 1794 an, laut Handbuch steht es für "Fehler".
Ich glaube mir fehlen da noch einige Kenntnisse über PDO's.
Jemand ein Tipp wie ich es realisieren kann?

Vielen Dank im Voraus!
 
ein PDO kann aus 1 bis 8 Byte lang sein.
mittels der Konfig wird festgelegt welche Daten in diese Bytes "gemappt" werden. z.B. INT_IstDrehzahl, INI_IstStrom, LONG.IstPosition.
im nächsten PDO dann z.b. das Statusword.

Nun muss man noch festlegen wie der Node die PDOs senden soll: alle n ms, nach änderung oder nach "Aufforderung"
Ausserdem kann man noch einstellen unter welcher ID diese PDOs sich melden.

Steht alles in den CiA Dokumenten.
 
Hallo, Leute. Ich bin's wieder.

Ich versuche momentan ein PDO zu empfangen, im Array kommt aber nichts an.

Vllt könnt ihr mir sagen, was ich falsch mache.

Zuerst habe die default CAN ID (182=180+NodeId)
aDataWrite.JPG

in das Objekt 1804 geschrieben:
FbCanOpenSdoWrite4.JPG

Objekt 1804 aus dem Objektverzeichnis:
Objektverzeichnis.JPG

Dann versuche ich mit einem Funktionsbaustein das PDO zu empfangen:
TxPDO5.JPG

Hat jemand einen Tipp?
 

Anhänge

  • aDataWrite.JPG
    aDataWrite.JPG
    11,1 KB · Aufrufe: 20
Habe den Fehler selbst gefunden.

beim Array falsch die CAN-ID eingegeben.

[16#82, 16#1, 16#0, 16#0] so ist richtig für die CAN-ID 182.
 
Zurück
Oben