LabVIEWForum.de - Lesen und Anzeigen CAN-Botschaften

LabVIEWForum.de

Normale Version: Lesen und Anzeigen CAN-Botschaften
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusamen,

ich soll im Rahmen eines Praktikums eine Anlage mit Labview überwachen. Ich habe schon mal etwas ähnliches gemacht. Damals wurden die Daten über eine serielle Schnittstelle ausgegeben. Hatte das mit VISA gelöst.
Jetzt soll ich mit Labview CAN-Botschaften überwachen und auswerten. Von der Anlage kommt ein Kabel mit einem RS232-Stecker. Benötige ich da in jedem Fall zusätzliche Hardware, wie eine CANcard? Oder ist es theoretisch möglich, das über die serielle Schnittstelle zu machen und in Labview softwaretechnisch zu lösen?
Von den über CAN angeschlossenen Steuergeräten werden regelmäßig Informationen gesendet. Die müsste ich doch theoretisch dann sehen können, oder lieg ich da völlig falsch. Hab mir das ganze auch schon mal mit CANcard und CANalyzer angeschaut. Die CANcard steht mit aber nicht dauerhaft zur Verfügung, sodass ich das gerne, wenn möglich, anders lösen würde.

Für Hilfe wäre ich sehr dankbar.
Kuhli
' schrieb:Von der Anlage kommt ein Kabel mit einem RS232-Stecker.

Nö, das ist kein RS232-Stecker, sondern wahrscheinlich ein DSUB-9-Stecker.
Ja, du brauchst unbedingt zusätzliche Hardware dazu.
Hallo Kuhli,

Der DSUB-Stecker passt zwar an den COM-Port aber die Signale nicht. Es wird dir nicht gelingen CAN direkt ohne weitere HW an deiner seriellen Schnittstelle einzulesen. Damit wird auch schon die Frage beantwortet, ob du eine seprate HW benötigst. (Ja.)

Es gibt verschiedene Lösungen von NI wie z.B. das NI USB 8473 (bin jetzt zu faul die Seite von NI zu verlinken). Selbstverständlich gibt es auch Drittanbieter für solche CAN-Module; schau dich einfach mal im Netz um und vergleiche die Preise. Evtl hat deine Firma auch Verträge mit einem Hersteller und kann die HW günstig beziehen.

Eine weitere, wie ich finde spannendere Lösung möchte ich noch nennen, auch wenn diese vermutlich für dich nicht in Frage kommt:
Thema CAN-Nachrichten am seriellen Port einlesen.... um dies zu erreichen, könnte man einen kleinen PIC-Prozessor entsprechend programmieren und beschalten um die CAN-Mitteilungen einzulesen und anschliessend deren Inhalt an einem seriellen Port auszugeben.
Aber ich glaube wie bereits gesagt nicht, dass die PIC-Lösung für dich passt, da es wohl den Rahmen eines Pratikums sprengt (sofern dir kein "alter Hase" zur Seite steht und dies "mal eben nebenbei" für dich baut und programmiert).

Grüsse,
Danke für die Antworten.
Dann werde ich mal ein bisschen recherchieren.
Hallo,

ich habe mitlerweile eine Verbindung mit einem CAN-RS232-Adapter herstellen können. In einem Monitorprogramm werden jetzt auch die Daten angezeigt, die mich interessieren und die ich mit Labview aufbereiten will.
Mit VISA klappt das ganze leider noch nicht. Ich bekomme immer die Fehlermeldung -1073807339 (Timeout expired before operation completed). Ich verwende die gleichen Einstellungen wie in dem Monitor-Programm.

Hat jemand eine Idee, woran das liegen kann oder was ich verändern kann?
Hallo Kuhli,

Zitat:was ich verändern kann?
Wie sollen wir Vorschläge zu dieser Frage machen, wenn du uns nicht zeigst, was du bisher so programmiert hast?

Idee:
Einfach mal dein VI anhängen...
Hallo,
hier mein Blockdiagramm mit dem ich die seriellen Daten auslesen möchte. Als Baudrate hab ich 57.600.

[attachment=31715]

In dem Monitor-Programm hab ich folgende Einstellungen verwendet:

CAN Bit Rate: 500 Kbit
CAN232 Serial Port Baud Rate 57600
'A' Command Poll Rate 100 mSeconds
Port COM1
Baud Rate 57600
Data Bits 8
Stop Bits 1
Parity None
Flow Control None
Hallo Kuhli,

ich würde folgendes probieren:
- weniger Bytes pro Iteration lesen
- eine kurze Wartezeit in die Schleife einfügen
- einen kurzen Check mit Hyperterminal durchführen: Funktioniert Hyperterminal bei den selben Einstellungen mit deinem CAN2RS232-Umsetzer? (Natürlich nicht zeitgleich mit LabVIEW ausführen!)
@ Gerd
Danke für die Tipps. Habe die Bytezahl variiert und auch die Wartezeit in die Schleife eingebaut. Leider ohne Erfolg. Labview scheint weiterhin keine Verbindung herstellen zu können. Nach wie vor bekomme ich die Fehlermeldung -1073807339. Auch mit dem Hyperterminal klappt es nicht.

Nur das Monitorprogramm (CAN232 Monitor) vom Hersteller meines CAN-RS232-Adapter zeigt die Daten an, die mich interessieren. Also steht ja wenigstens fest, dass die Verbindung steht.
Dieses Gerät verwende ich: can232.com

Ich wäre für weitere Hinweise dankbar.
Hallo Kuhli,

wenn Hyperterminal Probleme hat, wirst du mit LabVIEW auch nicht weit kommen...
(Üblicherweise teste ich sowas erst mit Hyperterminal, um es danach in LabVIEW zu implementieren.)

Bei deiner Beschreibung würde ich den Fehler nicht in LV suchen...
Referenz-URLs