Suche günstige Möglichkeit zum gleichzeitigen Aufzeichnen von Daten von 6 CAN-Bussen.

OP #8093051
Lesenswert?

Hallo,

ich möchte über einen Zeitraum von 5 bis 10 Minuten die Datenübertragung von 6 CAN-Bussen aufzeichnen. Es handelt sich um 6 Classic-CAN-Busse mit Übertragungsraten von 125 kBit/s bis 1 MBit/s. Es werden immer 8 Datenbytes pro CAN-Frame übertragen. Ich möchte die Reihenfolge der Daten über alle CAN-Busse hinweg sowie die 8 Bytes der CAN-Frames aufzeichnen. Habt Ihr einen Tipp für mich, wie ich die Messung günstig realisieren kann?

Mit freundlichen Grüßen Guido

: Bearbeitet durch User
#8093069
Lesenswert?

Wo (PLZ-Bereich) brauchst du das? Professionell oder für Privat? Brauchst du die 5min bis 10min einmal oder mehrmals?

Vielleicht gibt es einen User hier, der mal kurz aus der Firma entsprechendes vector-Kästchen und Lizenz (VN97xx) ausleihen kann? Da dann näheres per PN...

Edit: 6x TJA1040 Minimalbeschaltung RX an saleae oder anderen Logik-Analysator mit Protokolldecoder hängen würde vielleicht auch gehen?

mfg mf

: Bearbeitet durch User
#8093072
Lesenswert?

Guido C. schrieb:

Ich möchte die Reihenfolge der Daten über alle CAN-Busse hinweg sowie die 8 Bytes der CAN-Frames aufzeichnen. Habt Ihr einen Tipp für mich, wie ich die Messung günstig realisieren kann?

Günstig dürfte die Vectorlösung vermutlich nicht sein. Als "Bastellösung" könnte ich mir vorstellen daß ein einigermaßen fixer µC und sechs über SPI angebundene MCP2515 + MCP2551 und etwas Software den Job erledigen könnten. Problem könnte sein die Daten zügig genug zu speichern bzw. wegschaufeln zu können. Je nach dem was noch so auf den Bussen los ist und was man filtern kann.

Ein Raspberry mit Echtzeit-Patch taucht am Horizont auf...

Nur so Ideeen

Uwe

: Bearbeitet durch User
OP #8093087
Lesenswert?

Hallo,

vielen Dank für die Rückmeldungen. Alle Vectorlösungen würden mein Budget sprengen.

Die Idee mit dem Logikanalysator gefällt mir recht gut. Die Pegelanpassung sollte sich bewerkstelligen lassen. Je nach Logikanalysator kann ich gegebenenfalls auch direkt von CAN-High zu GND messen. Hat das schon jemand getestet? Fall ja, mit welchem Logikanalysator? Der Logikanalysator muss das Protokoll analysieren und an einen Rechner streamen.

Mit freundlichen Grüßen Guido

#8093098
Lesenswert?

Guido C. schrieb:

Die Idee mit dem Logikanalysator gefällt mir recht gut. Die Pegelanpassung sollte sich bewerkstelligen lassen. Je nach Logikanalysator kann ich gegebenenfalls auch direkt von CAN-High zu GND messen. Hat das schon jemand getestet?

Mach das nicht. Das ist Pfusch. Die meisten Logic Analyzer sind für Logiksignale ausgelegt. Außerdem können CAN_H und CAN_L unterschiedliche Pegel aufweisen, je nachdem, ob das 5V Transceiver oder 3.3V Transceiver sind. Die Spannungsdifferenz ist das zuverlässigere Kriterium, und dafür brauchst Du die Transceiver.

Fall ja, mit welchem Logikanalysator? Der Logikanalysator muss das Protokoll analysieren und an einen Rechner streamen.

Nein. Der Logic Analyzer analysiert erst mal gar nichts. Der zeichnet nur stumpf auf und überträgt die Daten zum Rechner. Erst nach dem Ende der Aufzeichnung werden die Daten analysiert und interpretiert.

Es gibt zwei Kategorien von Logic Analyzern. Die erste Kategorie (dazu gehören z.B. die Saleae Teile) streamen die Daten in Echtzeit zum Rechner. Die zweite Kategorie (dazu gehören z.B. Ikalogic und LogicPort) haben lokales RAM, in das sie capturen. Das wird dann nach dem Ende der Aufzeichnung an den PC übertragen. Dafür reicht USB2, und der PC muss nicht besonders schnell sein und nicht besonders viel RAM haben.

Da Du 10 Minuten aufzeichnen willst, brauchst Du unbedingt einen LA der ersten Kategorie, vorzugsweise mit USB3 und einem PC mit hinreichend Leistung und RAM für die Aufzeichnung. Bei 1MBit/s Bitrate würde ich nicht unter 5MHz Abtastrate gehen. Eine kurze Abschätzung ergibt 600s × 8Kanäle × 5MBit = 3GB an freiem RAM. Bei Windows würde ich also nicht unter 16GB RAM anfangen, eher mehr.

fchk

#8093265
Lesenswert?

Paul B. schrieb:

Ich weiß nichts obs klappt, aber einen Versuch ist es sicher Wert: https://www.peak-system.com/de/produkte/software/analysesoftware/pcan-view/ + 6 x https://de.aliexpress.com/item/1005006025062968.html

Nein, ist keinen Versuch wert. Das PCAN-View funktioniert genau nur mit den CAN-Interfaces des gleichen Herstellers. Unter Windows gibt es da keinerlei Standard, Software und Hardware müssen zusammenpassen.

#8093281
Lesenswert?

Frank K. schrieb:

https://de.aliexpress.com/item/1005006025062968.html

Nein, ist keinen Versuch wert.

Doch!

Ich habe so ein Ding mal besorgt um es bei einem Kunden zu lassen:

The CANable 2.0 is a small low-cost open source USB to CAN adapter.

https://canable.io/

Das Interface funktioniert, es gibt auch Software dazu. (Cangaroo, unter Windows und Linux) Es findet sich auch im Netz eine gepatchte Busmaster Version die mit dem Interface tut.

Interessant dürfte die zugehörige python-can library sein. Die Frage ist ob die Zeitliche Zuordnung der Nachrichten auf den verschiedenen Bussen genügend dargestellt wird.

SocketCAN für Linux sei noch erwähnt.

Es gibt den CANable auch beispielsweise im Bücherhaus wenn es eiliger ist.

Uwe

: Bearbeitet durch User
#8093312
Lesenswert?

Frank K. schrieb:

Das PCAN-View funktioniert genau nur mit den CAN-Interfaces des gleichen Herstellers.

So war sicher der Plan der Plan des Herstellers, aber der Chinese wirbt ja extra damit. Daher könnte ich mir schon vorstellen das es klappen KÖNNTE. Oder hast du es schon selbst probiert und kannst mit Sicherheit sagen das es scheitert?

Wir nutzen auf Arbeit auch Vector Interfaces mit Fremdsoftware, so sparen wir uns die Lizenzen von Vectors CANoe.

Selbst wenn PCAN View nicht mitspielt, bleibt ja immer noch die von Uwe B. vorgeschlagene Software. Auch wenn man 6 originale CANanble dafür braucht, weil die Clone nicht funktionieren, ist es immer noch äußerst günstig für ein 6-fach CAN Diagnosetool.

#8093410
Lesenswert?

Paul B. schrieb:

Frank K. schrieb:

Das PCAN-View funktioniert genau nur mit den CAN-Interfaces des gleichen Herstellers.

So war sicher der Plan der Plan des Herstellers, aber der Chinese wirbt ja extra damit.

Der Chinese an sich wirbt viel...

Daher könnte ich mir schon vorstellen das es klappen KÖNNTE. Oder hast du es schon selbst probiert und kannst mit Sicherheit sagen das es scheitert?

Ich kann dir mit Sicherheit sagen daß es scheitert. PCAN-VIEW funktioniert nur mit den Peak Interfaces, andere Interfaces werden bei der Auswahl nicht angezeigt. (Ich besitze zwangsweie 6 verschiedene CAN/USB Adapter)

Andersrum gibt es allerlei Software die mit den Peak-Dingern funktioniert. Logisch, Peak bietet das erforderliche SDK zum Download an.

Was ist denn nun bei dem Peak-Programm so begehrenswert? Cangaroo tut es doch. Busmaster erst recht. (Ist aber etwas "sperrig")

Aber:

Bei diesen Lösungen müsste der TO 6 Programme laufen lassen. Und wie dann die gesammelten Daten zusammenführen, im zeitlichen korrektrm Ablauf? Der ja, dank Multitasking ohne Echtzeit, eh nicht unbedingt korrekt gelesen wurde.

Möglicherweise kann der TO mit der python-can library etwas stricken.

Uwe

#8093533
Lesenswert?

Uwe schrieb:

Hat schon mal jemand SavvyCAN mit den Chinateilen getestet?

Ja eben grade. Interessantes Tool, Danke für den Hinweis.

SavvyCAN kann mehrere Busse gleichzeitig bedienen, das ist quasi ein Alleinstellungsmerkmal. Eben mit zwei Peak (unter Win10) getestet. (Siehe anhängenden Snapshot, Bus 0 und Bus 1, 2 Interfaces aber am gleichen Bus angeschlossen)

Wie auf dem Snapshot zu sehen ist gibt es (wie zu erwarten) so etwas wie einen "Zeitoffset" zwischen den Interfaces.

Das CANable wird leider nicht unterstützt soweit ich sehen kann. (Aber es gibt ja die Quellen...) Vorstellen kann ich mir daß man das per Socketcan unter Linux zum Laufen bekommt. Entweder gleich auf dem Linux-PC oder mit einem Raspberry o.Ä. dazwischen per Ethernet.

Uwe

Angehängte Dateien:
(Firma: O.D.I.S.) #8093554
Lesenswert?

Moin,

ich für das Problem könnte ich auch eine Lösung anbieten. Wir suchen noch Freiwillige zum Testen unseres Produktes:

https://www.kodeburg.com/de/kblogger

Das ist eine Logger & Testautomaisierungs Software für Windows und Linux.

Die kann auch mehrere und auch unterschiedliche CAN Adapter bedienen. Ich bin gerne behilflich und würde eine Gratis-Lizenz zur Verfügung stellen.

Bei Interesse einfach ein persönliche Nachricht schreiben. Das gilt auch für andere Interessierte, nicht nur der TO.

Gruß Olaf

(Firma: EleLa - www.elela.de) #8093739
Lesenswert?

Ich nutze die PEAK PCan-USB und FD Adapter. Peak hat eine sehr gut dokumentierte API mit DLL zur Einbindung in eigene Projekte.

Damit könnte man 6 Adapter gleichzeitig mit einer EXE einbinden und die Daten loggen. Man müsste sich dazu ein kleines Programm schreiben, damit alles in einem Log erscheint.

Allerdings ist man beim Kauf von 6x USB-CAN Adapter von Peak-Systems auch eine ganze Stange Geld los. Dafür sind die FD-USB Adapter galvanisch getrennt.

(Firma: O.D.I.S.) #8094260
Lesenswert?

Moin,

mit dem oben genannten kbLogger kann man beliebig viele Adapter aller unterstützten Hersteller verwenden. Dabei können die Nachrichten in der SW beliebig gefiltert werden. Signale aus der CAN Nachricht gelesen und als Plot dargestellt werden. Inklusive senden über die Adapter, UART, Ethernet...

Gruß Olaf

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren