Herunterladen Inhalt Inhalt Diese Seite drucken

JÄGER ADwin-Pro II System- Und Hardware-Beschreibung Seite 163

Prozessrechner-system
Vorschau ausblenden Andere Handbücher für ADwin-Pro II:
Inhaltsverzeichnis

Werbung

ADwin
Wenn das CAN-Modul das physikalische Ende eines CAN-Bus vom Typ „High
speed" bildet, muss es mit einem Abschlusswiderstand 120Ω terminiert wer-
den (also nur am ersten oder letzten CAN-Knoten). An CAN-Knoten, die sich
nicht an einem physikalischen Ende der Kette befinden, darf nicht terminiert
werden.
Wenn die Terminierung erforderlich ist, legen Sie den entsprechenden DIP-
Schalter (siehe Abb. 143) nach oben um.
Nachrichten verwalten
Der CAN-Controller unterscheidet über den Bus verschickte Nachrichten
durch „Identifier", das sind Kennzahlen mit einer definierten Bitlänge. Aus der
Bitlänge ergeben sich hier die möglichen Kennzahlen 0...2
Jede Nachricht (zu sendende oder zu empfangende) speichert der Controller
in einem von 15 „Message-Objekten". Die Message-Objekte können jeweils
entweder zum Senden oder zum Empfangen konfiguriert werden. Als Aus-
nahme kann das Message-Objekt 15 nur zum Empfangen genutzt werden.
Nach der Initialisierung des CAN-Controllers sind sämtliche Message-Objekte
nicht konfiguriert und beteiligen sich nicht am Busverkehr.
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
ADwin-Pro II Hardware, Handbuch Dez. 2018
Pro II: Zusatz- und Schnittstellenmodule
11
29
-1 bzw. 0...2
-1.
Pro II-CAN-2 Rev. E
Bus-Terminierung
(nur High speed)
Identifier
Message-Objekte
Nachricht übergeben
Nachricht senden
Nachricht empfangen
Nachricht zuordnen
159

Quicklinks ausblenden:

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis