CAN - Lesen und Schreiben ?

VISA, TCP/IP, CAN und ähnliche Protokolle
Ответить
Andband
assistant
assistant
Сообщения: 132
Зарегистрирован: 26 окт 2009, 23:05
Версия LabVIEW: 7.1
Контактная информация:

CAN - Lesen und Schreiben ?

Сообщение Andband »

Hallo,
ich mache gerade ein Praktikum. In der Firma verwenden die Leute Labview um Sensordaten ueber CAN einzulesen. Der Typ der die Labview-Programme geschrieben hat arbeitet aber schon laenger nicht mehr hier, deshalb werden die Programme im Prinzip nicht weiterentwickelt bzw. verbessert. Man versucht halt so durchzukommen.
Jedenfalls gibt es verschiedene Arten von Sensoren. Die einen schalten sich automatisch ein, und liefern Daten ueber CAN. Andere brauchen einmal einen Befehl um sich einzuschalten (ueber die Write Funktion von CAN - irgendein Wert muss an irgendner Adresse/Bit - ich weiss nicht, genau wie man das bezeichnet - geschrieben werden) und wieder andere brauchen kontinuierlich einen (gleichen) Befehl um aktiv zu bleiben, andernfalls schalten sie sich aus. Und jetzt verwenden die hier fuer letztere Sorte wirklich ZWEI Computer, den einen zum Lesen der CAN-Daten und den anderen zum schreiben dieses WRITE-Befehls. Mir wurde gesagt, dass niemand hier in der Abteilung weiss wie man mit CAN Lesen und Schreiben gleichzeitig kann.
Meiner Meinung nach muesste das aber doch ohne Probleme gehen. CAN ist ja eien Art modifiziertes Ethernetprotokoll und da gibt es ja auch sowas wie FullDuplex. Naja, aber das ist nur meine Meinung. Deshalb frag ich hier mal nach, ob das nicht irgendwie geht, und wenn ja: wie?
Anhand meiner Frage koennt ihr sicherlich entnehmen, dass ich auch wenig Plan von Labview habe...
Danke schonmal
Lg

And
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: CAN - Lesen und Schreiben ?

Сообщение Eugen Graf »

Du musst eine Schleife haben und in dieser Schleife zuerst eine For-Scleife die die ganzen Befehle rausschreibt und danach mit einer weiteren While-Schleife einfach alles was kommt einlesen bis die Daten von allen Sensoren angekommen sind.

Oder liefern die Sensoren die Daten mit unterschiedlichen Frequenzen?
Andband
assistant
assistant
Сообщения: 132
Зарегистрирован: 26 окт 2009, 23:05
Версия LabVIEW: 7.1
Контактная информация:

Re: CAN - Lesen und Schreiben ?

Сообщение Andband »

Hm - ich checks net so ganz -
momentan ist es so, es besteht ein Programm, dass den CAN Bus bzw. verschiedene Adressen auf dem Canbus (welche man aussuchen kann) mit 1 Hz liest und diese Daten darstellt in 10 Plots (für 10 verschiedene Sachen halt) - es soll kontinuierlich mit leidglich 1 Hz gelesen werden (die Sensoren liefern viel mehr Daten eigentlich...wie schnell weiß ich nicht und sicher nicht alle gleich schnell, aber das ist ja egal) und gleichzeitig aber auch immer wieder dasselbe "Bleib-An-Ich-Will-Daten"- Signal (je nach Sensor verschieden) geschrieben werden, damit der Sensor anbleibt. Es gibt nur einen einzigen Befehl im Prinzip, den man senden muss, damit der Sensor anbleibt.
Ich muss also irgendwie vielleicht in einer Sequenz abwechselnd Lesen und Schreiben und diese Sequenz muss dann in einer while schleife stehen. So hätt ich es vom Prinzip her gedacht. Was du meinst check ich nicht so ganz, aber vielleicht hab ich auch mein Problem nicht richtig beschrieben gehabt.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: CAN - Lesen und Schreiben ?

Сообщение Eugen Graf »

Ich denke, ich habe dich schon richtig verstanden. Versuche zu verstehen, was ich oben geschrieben habe. Im Prinzip ist alles einfach, ausser, wenn es um wirklich ganz unterschiedliche Frequenzen geht bei Sensoren, die automatisch (ohne Anrage) Daten senden.
Andband
assistant
assistant
Сообщения: 132
Зарегистрирован: 26 окт 2009, 23:05
Версия LabVIEW: 7.1
Контактная информация:

Re: CAN - Lesen und Schreiben ?

Сообщение Andband »

Ok, du sagst, eine While-Schleife, in der erstmal der "Bleib-An-Ich-Will-Daten"- Befehl geschickt wird. Warum der in einer For-Schleife sein muss weiss ich nicht. Du meinst, wenn ich mehrere verschiedene "Bleib-An-Ich-Will-Daten"-Befehle an verschiedene Sensoren schicken will, muessen die hintereinander geschickt werden? Koennte man dafuer auch einfach eine Stacked-Sequenz verwenden? Ist das hier nicht dasselbe?

Ok und dann muss ich warten, bis alle Daten angekommen sind, aber wie mach ich das? Woher weiss ich wann die einzelen Sensoren fertig sind? Die jenigen auf dem Bus die immer senden, wuerden ja einfach weitersenden und nie aufhoeren.
Ответить

Вернуться в «Kommunikation mit Geräten»