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


von Florian W. (kalu)


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

von Wilhelm (Gast)


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.

von Volker Z. (vza)


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.

von Florian W. (kalu)


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/produkte/photovoltaik/string-wechselrichter/pdf/IPG_S-Serie-TD-GER-1004_Webversion.pdf

Bedienungsanleitung:

http://www.conergy.de/PortalData/1/Resources/produkte/photovoltaik/string-wechselrichter/pdf/Betriebsanleitung_Conergy_IPG_S_0902.pdf

von Volker Z. (vza)


Lesenswert?

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

von Wilhelm (Gast)


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.

von kappes k. (heinbloed2)


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.

von Wilhelm (Gast)


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.

von Klaus R. (klara)


Lesenswert?

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

von Kalu (Gast)


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.

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


Lesenswert?

http://www.conergy.de/desktopdefault.aspx/tabid-91/94_read-139/

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

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


Lesenswert?

Zitat aus den Pdfs welche den Firmwareupdates für die wechselrichter 
beiligen
1
Release Notes CAN Converter
2
Firmware 1.4.2
3
1 / 3
4
01.03.2011
5
v.0.0.0.1
6
• Letzter Stand Wechselrichter-Can
7
v.0.0.0.2
8
• CAN Converter Umbau auf CAN open
9
v.1.0.0.0
10
• Produktionssoftware
11
• Ausgabe der Priorität A, B und C auf CANopen
12
• Ausgabe der Invertercodes im Objekt 0x2023 Inverter Device Information
13
• Invertererkennung (Unknown bei einem unbekanntem Typ)
14
• Update über Debugschnittstelle und CAN open
15
v.1.0.0.1
16
• Bootloader Update
17
• EDS Korrekturen und CAN open Datentypen
18
v.1.0.0.2
19
• Produkt Code aktualisiert
20
v.1.0.0.3
21
• Statusinformationen nur zum Manufacturer specific Standart konsistent.
22
v.1.0.0.4
23
• Versionierungs informationen implementiert
24
• SunReader Image erstellung
25
• Bugfix: AC Strom und Spannung fehlerhaft
26
v.1.0.1
27
• MessageRequest Retry eingefügt (20)
28
• Erweiterte Fehlererkennung (Prüfung der antwort Message auf Inhalt)
29
• Xml Debug Output
30
v.1.0.2
31
• CAN open Stack flash operations activated
32
v.1.1.0
33
• Refactoring for Unit Tests
34
• Unit Test: calculator.cpp
35
v.1.1.1
36
• Energy Counter switched from kWh to Wh
37
v.1.1.2
38
• BUGFIX: Jump to bootloader (mix-hex affected)
39
v.1.1.3
40
• BUGFIX: Errorcode calculation fixed. AC Voltage & Current calculation fixed.
41
StatusInverter calculation fixed. Removed several Comments.
42
• BUGFIX: Converterstate was not set correctly if no inverter is connected. General
43
error & general status were not set every time they had to.
44
InverterErrorFlagState & InverterErrorState were never copied to CAN
45
• BUGFIX: ReadCommand() overwrote its own Message @ retransmission.
46
• CHANGE: Removed convertermatrix.cpp and convertermatrix.h cause they were
47
not used. Changed Padding in makefile to 0x1DFFF.
48
Release Notes CAN Converter
49
Firmware 1.4.2
50
2 / 3
51
01.03.2011
52
v.1.1.4
53
• CHANGE: SG-Low failure will not generate an Inverter Error anymore. It will just
54
be displayed informational in the extended Inverter Errorfiled.
55
v.1.1.5
56
• WORKAROUND: Device will make itself operational regardless of the nmt master
57
messages. This will workaround the problems with ghost messages.
58
• CHANGE: Migrated to MCOP 1.2.2
59
v.1.1.6
60
• CHANGE: Migrated to MCOP 1.2.5 phantom message workaround
61
• CHANGE: Workaround from 1.1.5 removed completely
62
• BUGFIX: Generator Symmetry is now a signed type
63
v.1.2.0
64
• CHANGE: Migrated to MCOP 1001.2.7 phantom message workaround
65
• CHANGE: Migrated to ECOS 070722
66
• FEATURE: Inserted 60, 110, 280 and 300 types in 50 and 60 HZ
67
• CHANGE: Inserted Workaround for serial port bug
68
• FEATURE: SG Symmetry calculation should now work properly
69
v.1.2.1
70
• CHANGE: Migrated to MCOP 1.2.9 phantom message workaround
71
• BUGFIX: Can port 2 is now working properly
72
v.1.2.2
73
• BUGFIX: avoid loosing precision of total energy (due to float casting)
74
v.1.2.3
75
• BUGFIX: last bugfix: float has 24 mantissa-bits (leading 1 is not stored, added 1
76
bit float precision)
77
v.1.2.4
78
• CHANGE: Migrated to MCOP 1.2.14
79
v.1.3.0
80
• FEATURE: Measured values will be deleted if the connection to inverter is lost
81
• CHANGE: Inverter will be reinitialized if connection was lost
82
• CHANGE: Massive refactoring and removed unused code
83
• CHANGE: Feature code ZWR 300 has changed
84
• CHANGE: Migrated to MCOP 1.2.15
85
• FEATURE: SPI Flash can now be an AT45DB642 or an AT45DB321 in any C/D
86
revisions
87
v.1.3.1
88
• BUGFIX: Removed logging class cause it was responsible for several crashes
89
Release Notes CAN Converter
90
Firmware 1.4.2
91
3 / 3
92
01.03.2011
93
v.1.3.2
94
• BUGFIX: Temperature permutation Bug fixed
95
• BUGFIX: MPP - status in MPP registers is now filled
96
• FEATURE: Supports reading of “Last Off Reason” of the Inverter
97
• FEATURE: Creates statistical data for RS485 connection accessible via CAN
98
• FEATURE: Supports generic register access
99
• CHANGE: Refactoring and commenting
100
• CHANGE: Migrated to MCOP 1.3.3
101
v.1.3.3
102
• FAULTY VERSION – equivalent to version 1.3.2
103
v.1.3.4
104
• FAULTY VERSION – equivalent to version 1.3.2
105
v.1.3.5
106
• CHANGE: Generic register Access default is now 0xFF and not 0x0 (cause 0x0 is a
107
valid register)
108
v.1.4.0
109
• FEATURE: Inverters past 27.05.2010 support a new (better) voltage measuring.
110
This new feature is now supported by the CanConverter.
111
• BUGFIX: Detection of Processor version will now work
112
• CHANGE: Refactoring and commenting
113
v.1.4.1
114
• BUGFIX: Unknown Inverters will now be detected as Unknown Inverters (again)
115
• FEATURE: Will now support all power reduced 110 types
116
• FEATURE: Will now support 300 Types with wrong featurecode
117
• FEATURE: Will now calculate the correct voltages for Transformerless 300 devices
118
• BUGFIX: Current now correctly available in new voltage measurement mode
119
v.1.4.2
120
• BUGFIX: 60Hz detection and Power calculation did not work.
121
• BUGFIX: MPP Actual and Utilisation were interchanged
122
• CHANGE: Power Calculation changed – power of every phase is now summed

von Klaus R. (klara)


Lesenswert?

Hallo,
das ist ja nicht sehr ermutigend.
Gruss Klaus.

von Lieber nicht (Gast)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.