mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mehrere CAN-Busse auslesen (evtl Multiplexer)


Autor: Florian W. (kalu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Ich hätte ein paar fragen und zwar hat jemand schonmal erfahrungen damit 
gemacht wenn man mehrere CAN-Busse mittels eines Muliplexers auszulesen.

der Hintergrund ist folgender:

Ich habe bei mir zuhause ein Solaranlage und die Wechselrichter möchte 
ich nun auslesen und über Ethernet abfragen. Was soweit kein alzugroßes 
problem darstellen sollte.

die Datenlogger gibt es zwar zu kaufen aber Preise um 1k sind mir für 
private zwecke einfach bei weitern zu teuer.

Das Problem ist das der Hersteller der Wechselrichter mir nicht das 
Datenblatt für den CAN-Bus schickt, da er ja seine eigenen Logger 
verkaufen will.
Somit kann ich weder die IDs der PDO's verändern noch kann ich hoffen 
das die Module dies selbstständig tun wenn ich sie an einem Bus 
anschließe. Testen werde ich das die Tage wenn ich mir einen Cananalyser 
ausgeliehen habe.

Vorerst gehe ich vom schlimmsten fall aus (sofern die PDO's überhaupt 
zyklisch gesendet werden) das ich pro Wechselrichter einen Eigenen Can 
Anschluss benötige.
Ich hatte auch so ein wenig gesucht ob es MC's gibt welche von haus aus 
genug anschlüsse haben aber da find ich nur den LPC-E2294 welcher 4 hat 
(brauchen tu ich 5 ).

Somit bin ich momentan am überlegen ob es vieleicht mit einem Muliplexer 
möglich ist. Machbar denk ich ist es nur sorgen mach ich mir wegen der 
Zeitverzögerung und Strombelastbarkeit des Multiplexers. Dementsprechend 
die Frage ob sich schon jemand mal mit dem Thema auseinander gesetzt hat 
und bereits sagen kann ob es geht bzw nicht geht.

MFG

Autor: Wilhelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mehrere CAN-Busse:

Wenn man da mitlesen möchte, würde ich mal vorschlagen, daß man für jede 
CAN-Line einen CAN-Controller braucht, den man da als passiven 
Teilnehmer dran hängt. Und der die Daten evtl. mit einem auf alle Busse 
synchronisierten Zeitstempel empfängt.

Möglich ist es ja, daß es auf mehreren Bussen gleiche Identifier gibt. 
Da mußt du dann auch noch Info wie Busnumerierung hinzu fügen.

Die Auswertung der Daten wird sicherlich so einfach wie das 
Reverse-Engineering eines Handys...

Ich hab selbst mal eine CAN-Bus-Anwendung entwickelt. Die Datenströme 
bzw. selbst entwickelte Übertragungsprotokolle sind selbst dann schon 
alles andere als easy, wenn man die genauen Entwicklungsvorgaben 
schriftlich auf dem Tisch liegen hat...

Da kommen dann Leute, die total im Dunkeln tappen, und glauben, man 
könne da was aufzeichnen und erkennen... Seltsam.

Der LPC2294 sollte gehen, wenn du dir sowas wirklich antun möchtest. Es 
gibt auch fertige Demo-Boards, z.B. Keil MCB2100, mit LPC2129, und 2 
kompletten CAN-Schnittstellen mit Transceiver. Demo-Code gibts dort 
auch. Was ähnliches gibts wohl auch hier im Foren-Shop, ebenfalls mit 
LPC2129, aber von Olimex, und wohl etwas preisgünstiger.

Autor: Volker Zabe (vza)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo du redest von PDos. Bist du sicher das die CANopen über den 
CAN-Bus fahren?
Es giebt noch etlich andere höhere Protokolle ausser CANopen.

Wenn es aber CANopen ist kann man die Knottenadresse jedes teilnehmer 
einstellen. Hierfür giebt es aber mehrere Möglichkeiten. Dann brauchst 
du nur ein Bus.

Kannst du nicht einfach mal den Hersteller und Typ nennen?
Oder gleich einen Link auf das Datenblatt posten?

Dann kann man dir weiterhelfen.

Autor: Florian W. (kalu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wilhelm schrieb:
>
> Die Auswertung der Daten wird sicherlich so einfach wie das
> Reverse-Engineering eines Handys...
>


Ja so im groben kann man beschreiben was ich vor hab lustig wirds mit 
sicherheit aber ich hab spass an solchen sachen :)

Aber noch hab ich die Hoffnung das es nicht so schlimm wird wie ichs 
oben beschrieben habe



Also wegen der PDO's sicher bin ich mir da noch nicht hab nur die 
hoffnung/vermutung das es sich um ein CANopen protokoll handelt, da 
einige Datenlogger CANopen verwenden.

Bei dem Wechselrichter Handelt es sich um den Conergy IPG S
das Datenblatt ist aber ziemlich ungünstig da es nur die elektrische 
Installation beschreibt aber nichts genauers bezüglich protokolle / 
Datenraten etc.

Datenblatt:

http://www.conergy.de/PortalData/1/Resources/produ...

Bedienungsanleitung:

http://www.conergy.de/PortalData/1/Resources/produ...

Autor: Volker Zabe (vza)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, die verraten wirklich nicht viel.
Aber das du nur einen Bus brauchst, steht im Kapitel 5.4.

Autor: Wilhelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Florian W. schrieb:

>Also wegen der PDO's sicher bin ich mir da noch nicht hab
>nur die hoffnung/vermutung das es sich um ein CANopen
>protokoll handelt, da einige Datenlogger CANopen verwenden.

Daß ein Protokoll wie CANopen verwendet wird, darüber kannst du nur 
spekulieren.

>Das Problem ist das der Hersteller der Wechselrichter mir nicht
>das Datenblatt für den CAN-Bus schickt,

Die werden sich über Entwicklungsdetails selbstverständlich in Schweigen 
hüllen.

In CAN-Bus-Protokollen, backen viele ihre eigenen Brötchen.

Autor: kappes kappes (heinbloed2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Obs CANOpen ist kann man ganz schnell feststellen. Die Slaves
senden alle eine sog. BootupMessage: Die ist 1 Byte lang und
die ID ist abhängig von der eingestellten MAC-ID. Wenn 6 Byte
kommen hat man ein DeviceNet Gerät. Wenn man nun die Baudrate
ermittelt hat einfach IDN <0x000>,<DLC=2>, Data = <0x01,0x00>
senden, dann müsste man schon PDO-Daten sehen. Über die MappingParameter
kann man schon einiges über die PDO-Daten rausfinden. Ich werde
vielleicht hier mal eine Doku einstellen wie man mit CANPOpen Geräten
ohne CANOpen Master kommunizieren kann.

Autor: Wilhelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie schon oben beschrieben, entwickelte ich selbst mal eine 
CAN-Anwendung. Die Protokolle, das war altes Zeug, was vorher schon mal 
auf RS485, oder Profibus, lief. Auch auf RS232. Als die CAN-Anwendung 
fertig war, machte man sich über die Verschlüsselung der Busdaten 
Gedanken. Ist kein besonders großer Aufwand. Damit bloß nicht jemand was 
brauchbares aufzeichnen und mitschneiden kann.

Autor: Klaus Ra. (klara)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Florian,
kannst Du inzwischen Deine Conergy - Wechselrichter auslesen?
Ich habe noch keine preiswerte Lösung gefunden.
Gruss Klaus

Autor: Kalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nein magels zeit hab ich an dem Projekt nur sehr wenig gemacht.

Die Module antworten zwar aber auf mehreren ID's wenn ich daran ein 
Remote Frame schicke aber ich hab mich noch nicht damit auseinander 
gesetzt ob das was ich empfangen hab auch gültige Daten sind.
Sprich auslesen wird wohl gehen aber wie weiter oben bereits geschrieben 
ist evtl noch das problem das es verschlüsselt ist.

Autor: Winfried J. (Firma: Nisch-Aufzüge) (winne)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.conergy.de/desktopdefault.aspx/tabid-91...

da ist doch einiges zum download bereitgestellt, solltre sich da nicht 
einiges ermitteln lassen

Autor: Winfried J. (Firma: Nisch-Aufzüge) (winne)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zitat aus den Pdfs welche den Firmwareupdates für die wechselrichter 
beiligen
Release Notes CAN Converter
Firmware 1.4.2
1 / 3
01.03.2011
v.0.0.0.1
• Letzter Stand Wechselrichter-Can
v.0.0.0.2
• CAN Converter Umbau auf CAN open
v.1.0.0.0
• Produktionssoftware
• Ausgabe der Priorität A, B und C auf CANopen
• Ausgabe der Invertercodes im Objekt 0x2023 Inverter Device Information
• Invertererkennung (Unknown bei einem unbekanntem Typ)
• Update über Debugschnittstelle und CAN open
v.1.0.0.1
• Bootloader Update
• EDS Korrekturen und CAN open Datentypen
v.1.0.0.2
• Produkt Code aktualisiert
v.1.0.0.3
• Statusinformationen nur zum Manufacturer specific Standart konsistent.
v.1.0.0.4
• Versionierungs informationen implementiert
• SunReader Image erstellung
• Bugfix: AC Strom und Spannung fehlerhaft
v.1.0.1
• MessageRequest Retry eingefügt (20)
• Erweiterte Fehlererkennung (Prüfung der antwort Message auf Inhalt)
• Xml Debug Output
v.1.0.2
• CAN open Stack flash operations activated
v.1.1.0
• Refactoring for Unit Tests
• Unit Test: calculator.cpp
v.1.1.1
• Energy Counter switched from kWh to Wh
v.1.1.2
• BUGFIX: Jump to bootloader (mix-hex affected)
v.1.1.3
• BUGFIX: Errorcode calculation fixed. AC Voltage & Current calculation fixed.
StatusInverter calculation fixed. Removed several Comments.
• BUGFIX: Converterstate was not set correctly if no inverter is connected. General
error & general status were not set every time they had to.
InverterErrorFlagState & InverterErrorState were never copied to CAN
• BUGFIX: ReadCommand() overwrote its own Message @ retransmission.
• CHANGE: Removed convertermatrix.cpp and convertermatrix.h cause they were
not used. Changed Padding in makefile to 0x1DFFF.
Release Notes CAN Converter
Firmware 1.4.2
2 / 3
01.03.2011
v.1.1.4
• CHANGE: SG-Low failure will not generate an Inverter Error anymore. It will just
be displayed informational in the extended Inverter Errorfiled.
v.1.1.5
• WORKAROUND: Device will make itself operational regardless of the nmt master
messages. This will workaround the problems with ghost messages.
• CHANGE: Migrated to MCOP 1.2.2
v.1.1.6
• CHANGE: Migrated to MCOP 1.2.5 phantom message workaround
• CHANGE: Workaround from 1.1.5 removed completely
• BUGFIX: Generator Symmetry is now a signed type
v.1.2.0
• CHANGE: Migrated to MCOP 1001.2.7 phantom message workaround
• CHANGE: Migrated to ECOS 070722
• FEATURE: Inserted 60, 110, 280 and 300 types in 50 and 60 HZ
• CHANGE: Inserted Workaround for serial port bug
• FEATURE: SG Symmetry calculation should now work properly
v.1.2.1
• CHANGE: Migrated to MCOP 1.2.9 phantom message workaround
• BUGFIX: Can port 2 is now working properly
v.1.2.2
• BUGFIX: avoid loosing precision of total energy (due to float casting)
v.1.2.3
• BUGFIX: last bugfix: float has 24 mantissa-bits (leading 1 is not stored, added 1
bit float precision)
v.1.2.4
• CHANGE: Migrated to MCOP 1.2.14
v.1.3.0
• FEATURE: Measured values will be deleted if the connection to inverter is lost
• CHANGE: Inverter will be reinitialized if connection was lost
• CHANGE: Massive refactoring and removed unused code
• CHANGE: Feature code ZWR 300 has changed
• CHANGE: Migrated to MCOP 1.2.15
• FEATURE: SPI Flash can now be an AT45DB642 or an AT45DB321 in any C/D
revisions
v.1.3.1
• BUGFIX: Removed logging class cause it was responsible for several crashes
Release Notes CAN Converter
Firmware 1.4.2
3 / 3
01.03.2011
v.1.3.2
• BUGFIX: Temperature permutation Bug fixed
• BUGFIX: MPP - status in MPP registers is now filled
• FEATURE: Supports reading of “Last Off Reason” of the Inverter
• FEATURE: Creates statistical data for RS485 connection accessible via CAN
• FEATURE: Supports generic register access
• CHANGE: Refactoring and commenting
• CHANGE: Migrated to MCOP 1.3.3
v.1.3.3
• FAULTY VERSION – equivalent to version 1.3.2
v.1.3.4
• FAULTY VERSION – equivalent to version 1.3.2
v.1.3.5
• CHANGE: Generic register Access default is now 0xFF and not 0x0 (cause 0x0 is a
valid register)
v.1.4.0
• FEATURE: Inverters past 27.05.2010 support a new (better) voltage measuring.
This new feature is now supported by the CanConverter.
• BUGFIX: Detection of Processor version will now work
• CHANGE: Refactoring and commenting
v.1.4.1
• BUGFIX: Unknown Inverters will now be detected as Unknown Inverters (again)
• FEATURE: Will now support all power reduced 110 types
• FEATURE: Will now support 300 Types with wrong featurecode
• FEATURE: Will now calculate the correct voltages for Transformerless 300 devices
• BUGFIX: Current now correctly available in new voltage measurement mode
v.1.4.2
• BUGFIX: 60Hz detection and Power calculation did not work.
• BUGFIX: MPP Actual and Utilisation were interchanged
• CHANGE: Power Calculation changed – power of every phase is now summed

Autor: Klaus Ra. (klara)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
das ist ja nicht sehr ermutigend.
Gruss Klaus.

Autor: Lieber nicht (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Damit ihr nicht unnötig Energie verschwendet
Das Release Notes CAN Converter ist nur für ZentralWechselrichter der 
IPG-K Serie, und wird über den CanOpen angesteuert.

Das was Ihr gerne auslesen möchtet ist ein Umgewandeltes CanProtokoll 
was nicht Kompatibel ist mit dem CanOpen.

Empfehlung Solarlog 1000

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.