Herunterladen Inhalt Inhalt Diese Seite drucken

Nachricht Übergeben; Nachricht Zuordnen - JÄGER ADwin-Pro I System- Und Hardware-Beschreibung

Inhaltsverzeichnis

Werbung

ADwin
Jedes Message-Objekt erhält einen Identifier, der die Zuordnung einer Nach-
richt zu einem Message-Objekt ermöglicht.
In ADbasic übergeben Sie eine Nachricht an ein Message-Objekt über das
Feld can_msg, das 8 Datenbytes plus die Anzahl der Datenbytes aufnehmen
kann (9 Elemente). Ebenso wird eine Nachricht beim Auslesen aus einem
Message Objekt in das Feld can_msg übertragen.
Das Versenden einer Nachricht läuft in folgenden Schritten ab:
– Sie konfigurieren ein Message-Objekt zum Senden und definieren den
Identifier des Objekts (Befehl En_Transmit).
– Sie speichern die Nachricht im Feld can_msg.
– Sie senden die Nachricht (Befehl Transmit). Die Nachricht im Feld
can_msg wird an das Message-Objekt übergeben. Sobald der Bus frei
ist, wird die Nachricht gesendet (mit dem Identifier des Message-
Objekts).
Das Empfangen einer Nachricht läuft in folgenden Schritten ab:
– Sie konfigurieren ein Message-Objekt für Empfang und definieren den
Identifier des Objekts (Befehl En_Receive).
– Der Controller überwacht den CAN-Bus auf eingehende Nachrichten
und speichert Nachrichten mit dem richtigen Identifier in dem Message-
Objekt.
– Sie übertragen die Nachricht aus dem Message-Objekt in das Feld
can_msg (Befehl Read_Msg) und lesen den zugehörigen Identifier aus.
Eine eingehende Nachricht überschreibt die alten Daten in dem Message-
Objekt, die dadurch unwiderruflich verloren sind. Achten Sie daher beim Pro-
grammieren darauf, dass die Daten schneller ausgelesen als empfangen wer-
den. Ein Datenverlust wird durch ein Flag angezeigt.
Bei dem Message Objekt 15 existiert ein zusätzlicher interner Zwischenspei-
cher, so dass dort 2 Nachrichten gespeichert werden können.
Die Zuordnung einer eingehenden Nachricht zu einem Message-Objekt wird
automatisch durch einen Vergleich ihrer Identifier gesteuert. Die globale
Maske (CAN-Register 6...7 bzw. 6...9) steuert diesen Vergleich:
– Der Identifier der Nachricht wird bitweise mit dem Identifier des Mes-
sage-Objekts verglichen. Wenn die relevanten Bits gleich sind, wird die
Nachricht in das Message-Objekt übernommen. Nicht relevante Bits
werden nicht verglichen, d.h. die Nachricht wird (sofern es von diesem
Bit abhängt) in das Objekt übernommen.
– Relevante Bits werden in der globalen Maske festgelegt, indem sie dort
gesetzt werden.
Durch die globale Maske kann ein Message-Objekt für den Empfang von
Nachrichten mit verschiedenen Identifiern (ID) genutzt werden. Das fol-
gende Beispiel zeigt die Zuordnung der Nachrichten-ID 1...4 zu den Message-
Objekt-ID 1...4, wenn alle Bits der globalen Maske gesetzt sind bis auf die bei-
den niederwertigsten (bei einem 11-Bit-Identifier also 11111111100b).
Nachrichten-ID
1 (...001b)
2 (...010b)
3 (...011b)
x: Nachricht wird übernommen
0: Nachricht wird nicht übernommen
ADwin-Pro Hardware, Handbuch April 2015
Pro I: Signalkonditionierungs- und Schnittstellenmodule
ID des Message-Objekts
1
2
...001b
...010b
...011b
x
x
x
x
x
x
3
4
...100b
x
0
x
0
x
0
Pro-CAN Rev. A
Nachricht übergeben
Nachricht senden
Nachricht empfangen

Nachricht zuordnen

Globale Maske
167

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis