LabVIEWForum.de - Konfigurierung eines SDO fuer CAN-Bus HW

LabVIEWForum.de

Normale Version: Konfigurierung eines SDO fuer CAN-Bus HW
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

aufgrund eines Projektes versuche ich, mittels LabVIEW und eines CAN-Busses, mehrere Aussenstationen anzusteuern und auszulesen.
Die verwendete Hardware ist der Knotenbaustein DDC711 von SELECTRON plus der analogen Erweiterungen.
Derzeit kann ich die digitalen Bausteine ansteuern und auslesen. Allerdings muessen die analogen Erweiterungen vorher mittels eines ‚Service Data Objects’ – SDO – konfiguriert werden.
Soweit ist das Problem bekannt und die analogen Erweiterungen wurden auch mittels einer anderen Software auf Funktion getestet.

Meine Frage ist aber, wie ich ein SDO in LabVIEW konfigurieren muss. Soweit ich weiss, muss ich ein 8-Byte Array senden, welches die Knoten konfiguriert.
Es soll aus folgenden Bytes bestehen:
Command (1 Byte)
Index (2 Byte)
Subindex (1 Byte)
Service Data (4 Byte)

Kann mir jemand sagen, wie ich diese Byte richtig in das Array anordnen muss, um es per LabVIEW zu senden? Ich habe bereits mehrer Moeglichkeiten erfolglos ausprobiert.
Und kann mir jemand noch weitere Tipps im Umgang mit LabVIEW und CAN-Bus und vielleicht auch mit der Hardware von SELECTRON geben.

Fuer hilfreiche Antworten bedanke ich mich im Vorraus.

UoS
Ich habe leider nicht direkt mit dem Zugriff auf den CAN-Bus mittels LabVIEW zu tun, sondern binde DLL-Funktionen des Herstellers eines externen CAN-Controllers in LabVIEW ein. Der erledigt den Rest.

Aber um auf Deine Frage nach der Anordnung der Bytes zu antworten:

0. Byte: SDO-Kopf
1. Byte: Low-Byte des Index
2. Byte: High-Byte des Index
3. Byte: SubIndex
4. Byte: Low(est)-Byte der Daten
...
7. Byte: High(est)-Byte der Daten

Der Telegrammkopf enthält Informationen zum Datenteil.
Bit 7...5 (Command Specifier) enthält die Art der Übertragung. Für das senden von bis zu 4 Datenbytes ist er 1 (Initiate Download Request).
Bit 4 ist bei der beschriebenen Konfiguration immer 0.
Bit 3 und 2 (n-Bits) gibt die Anzahl der leeren oder ungültigen der (4) Datenbytes an, wenn Bit 1 (e-Bit, expedited transfer) und Bit 0 (s-Bit, show size) auf 1 gesetzt sind. Diese beiden Bits sollten gestzt sein, bzw. muß das e-Bit bei Daten bis zu 4 Byte gesetzt sein.
Den Fall für mehr als 4 Byte will ich jetzt aus Platzgründen nicht aufführen, da wird's nämlich etwas komplizierter, auf Wunsch mach ich's aber .Smile

Zur Deiner verwendeten Hardware kann ich leider nichts sagen.
Besten Dank für die Hilfe.
Allerdings habe ich das Problem (glücklicherweise) bereits gelöst, da ich das Projekt letztes Jahr began.

Aber falls ich noch mal vor ähnlichen Problemen stehen sollte weiß ich ja, wen ich fragen kann! :-)

Besten Dank
Referenz-URLs