Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Datenübertragung zwischen einer Unit und einer Station Kategorie: CAN-Bus (von Cris, http://www.crisullmann.de - 10.03.2005 8:00)
Als Antwort auf Datenübertragung zwischen einer Unit und einer Station von alexander - 9.03.2005 20:28
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, C-Control II Station, CC2-Application-Board, eigenes Board, OSOPT_V2
Hallo,

zuerst einmal ist die Initialisierung richtig. Auffällig ist nur, dass Du die Maske des Empfangsfilters auf
0 gesetzt hat. D.h. Du empfängst auf allen Kanälen alle Frames.

Sender: Ein Datenframe auf dem CAN-Bus besteht max. aus 8 Bytes. Wenn nichts anderes dagegen
spricht, solltest Du die gesamten Daten in einen Frame packen. Weiterhin habe ich mit mem.putfloat
anfänglich Schwierigkeiten gehabt (Fehler ILL OPA). Es kann sein, dass dieser Fehler mittlerweile
beseitigt ist. Ich benutze diese Funktion jedoch nicht mehr. Bei mir gibt es wenn vermeidbat keine
Gleitkommazahlen sondern nur Festkommazahlen (int und die Kommastellen berücksichtige ich per
Software). Du würdest bei dieser Methode mit 6 Datenbytes auskommen und alles passt in einen
Frame. Dann sendest Du den Puffer, als Framelänge hast Du aber nur 1 Byte angegeben. Du solltest
hier die wirkliche Länge Deines Frames angeben sonst wird auch nur 1 Byte übertragen.

Empfänger: Diesen Teil habe ich in Deinem Programm nicht gefunden. Es geht los, indem Du
einem Kanal sagst, welche CAN-ID's er empfangen soll. Da Du aber die Maske ausgemacht hast,
empfängst Du alles. Das wird in einem CAN-Netzwerk nicht funktionieren. Ich würde Folgendes
vorschlagen:
can.init(can.SPEED_50,0x7FF,0x000);
can.expect(1,0x120);

Die erste Zeile schaltet die volle Maske für die Kanäle 0..13 an, die zweite Zeile sagt dem Kanal 1
dass er die Frame-ID's 0x120 empfangen soll. Dann testest Du auf empfangene Daten:

if can.rxd(1)
{
 can.get(1,Buffer);
 //weitere Auswertung der Daten
}

GrüÃ?e  Cris

   

Meine Seite: http://www.crisullmann.de


    Antwort schreiben


Antworten:

Re: Datenübertragung zwischen einer Unit und einer Station (von alexander - 11.03.2005 18:35)