Guten Morgen,
ich habe ein Problem mit Can Open.
Ich Verwende El6751 und möchte ein SDO auf einem Slave schreiben.
Dieses Objekt ist ein Int16. Die Funktion SDO_WRITE_DATA verwendet immer den Command Code 0x23 obwohl meine zu sendende Variable nur 2 Byte hat. Und deshalb müsste die Funktion den Commandcode 0x2b verwenden.
Was mache ich falsch?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Edwin Schwellinger hat geschrieben:
Hi,
hm.. ohne "Codeschnipsel" von dir schwer zu helfen,
kann es sein das Data Size Eingang nicht auf 2 Byte wurde?
Grüße
Edwin
Hallo
rollo_command:word;SDOWrite_mein     : CIA405.SDO_WRITE;IFgvl.xmeinsdoenableTHEN
  tt:=tt+1;
  SDOWrite_mein(NETWORK:=1,ENABLE:=gvl.xmeinsdoenable,DEVICE:=6,INDEX:=16#4008,SUBINDEX:=0,DATALENGTH:=2,DATA:=ADR(GVL_Global.rollo_command));
  gvl.xmeinsdoenable :=FALSE;END_IF
Kannst du mit diesem Schnippsel was anfangen
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Guten Morgen,
ich habe ein Problem mit Can Open.
Ich Verwende El6751 und möchte ein SDO auf einem Slave schreiben.
Dieses Objekt ist ein Int16. Die Funktion SDO_WRITE_DATA verwendet immer den Command Code 0x23 obwohl meine zu sendende Variable nur 2 Byte hat. Und deshalb müsste die Funktion den Commandcode 0x2b verwenden.
Was mache ich falsch?
Kann mir bitte jemand helfen?
Danke
Lg
Peter
Hi,
hm.. ohne "Codeschnipsel" von dir schwer zu helfen,
kann es sein das Data Size Eingang nicht auf 2 Byte wurde?
Grüße
Edwin
Hallo
Kannst du mit diesem Schnippsel was anfangen
Hi,
Ich würde SDO_WRITE_DATA verwenden, Siehe Doku in dieser Bibliothek
du rufst SDO_WRITE genau1 Zyklus auf und prüfst nie den Ausgang xDone.
Grüsse
Edwin