Hallo zusammen, ich habe eine Projekt bekommen, an dem ich und meine Kollegen an die Grenzen stoßen, da das nicht unser täglich Brot ist. Wir wollen einen Generator, welcher derzeit über I/O mit einem Steuergerät kommuniziert, nun per CAN BUS kommunizieren lassen. Vorab, die Verbindung funktioniert und auf dem Steuergerät werden schon Daten vom Generator angezeigt (2 Werte die schon voreingestellt waren) Nun hat uns der Hersteller vom Steuergerät gesagt, dass sie das nicht mehr unterstützen und wir weitere Werte selbst einbauen müssen und das über J1939 Parameter auch einfach geht. Leider haben die keinen mehr in der Firma der uns das erklären kann. Wir wollen den PGN Wert "65281" beispielhaft haben. Allerdings wissen wir nicht was wir bei "Frame number"."Postition" und "lenght" eintragen sollen. Ehrlich - wir haben keine Ahnung und sind am Ende, da uns weder Steuergerät Hersteller oder Generatoren Hersteller helfen können/wollen. Für jemanden der sich auskennt, der lacht da wohl drüber ;) Bilder sind im Anhang... bei Fragen bitte einfach melden! Vielen dank schon mal
Zeig bitte mal die Spaltenüberschriften der Tabelle Generator.jpg Das Steuergerät kann von sich aus kein J1939 oder? Das nutzt nur nackte CAN-Frames?
:
Bearbeitet durch User
Hallo, danke für den Hinweis. (Siehe Anhang) Die Frage kann ich dir leider nicht beantworten. Vielleicht hilft dir das Zitat aus der Anleitung? "Note: Since InteliConfig 2.53.0, the way to configure user J1939 parameters has changed a bit. In particular, the frames and the own datapoints are defined. Each datapoint must have a defined frame to which it belongs. First, you need to define the Frame and only then the individual data points that belong to the given frame"
Thomas B. schrieb: > Note: Since InteliConfig 2.53.0, the way to configure user J1939 > parameters has changed a bit Na dann unterstützt es offensichtlich J1939. Aber bist du sicher dass der Screenshot von Version 2.53.0 oder höher ist? Sieht eher so aus als wäre das da nicht so implementiert wie beschrieben
Hi Die Informationen reichen nicht. Um die "Frame Number" zu ermitteln wird mindestens noch die S(ource)A(ddress) und die Prio der PGN benötigt. Am einfachsten ist wenn ihr mal einen CAN-Trace vom Generator zieht. Position sollte dann 1.1 und Length vermutlich 2 bzw. 16 sein je nachdem was in dem Tool eingestellt wird (Bits bzw. Bytes) Das hier https://www.csselectronics.com/pages/j1939-pgn-conversion-tool kann auch ganz nützlich sein. Auch https://www.csselectronics.com/pages/j1939-explained-simple-intro-tutorial ist als Tutorial nicht schlecht. Gruß Matthias
Beitrag #7811677 wurde vom Autor gelöscht.
Niklas G. schrieb: > Thomas B. schrieb: >> Note: Since InteliConfig 2.53.0, the way to configure user J1939 >> parameters has changed a bit > > Na dann unterstützt es offensichtlich J1939. Aber bist du sicher dass > der Screenshot von Version 2.53.0 oder höher ist? Sieht eher so aus als > wäre das da nicht so implementiert wie beschrieben Der Screenshot ist vom Generator. das "2.53.0 oder höher" bezieht sich auf die Steuerung und und die ist Version 2.53.0.82 von daher müsste es passen
Thomas B. schrieb: > Der Screenshot ist vom Generator. Warum heißt er dann "Steuerung" 😁 Dann zeig doch mal einen Screenshot von der Steuerung!
Μαtthias W. schrieb: > Hi > > Die Informationen reichen nicht. Um die "Frame Number" zu ermitteln wird > mindestens noch die S(ource)A(ddress) und die Prio der PGN benötigt. Am > einfachsten ist wenn ihr mal einen CAN-Trace vom Generator zieht. > > Position sollte dann 1.1 und Length vermutlich 2 bzw. 16 sein je nachdem > was in dem Tool eingestellt wird (Bits bzw. Bytes) > > Das hier https://www.csselectronics.com/pages/j1939-pgn-conversion-tool > kann auch ganz nützlich sein. Auch > https://www.csselectronics.com/pages/j1939-explained-simple-intro-tutorial > ist als Tutorial nicht schlecht. > > > Gruß > > Matthias Hallo, Danke für die Links. Die kenn ich schon. Helfen mir aber nur bedingt. Im Anhang noch eine Tabelle. Vielleicht steht da was brauchbares drin? Mit dem Konverter kommen ja SA und P raus. Hilft das nicht? (siehe Anhang)
Thomas B. schrieb: > Mit dem Konverter kommen ja SA und P raus. Hilft das nicht? (siehe > Anhang) Wenn du die exakte CAN-ID auf der Leitung hast, ja. z.B. aus einem DBC-File oder aus einem Mittschnitt...
Niklas G. schrieb: > Thomas B. schrieb: >> Mit dem Konverter kommen ja SA und P raus. Hilft das nicht? (siehe >> Anhang) > > Wenn du die exakte CAN-ID auf der Leitung hast, ja. z.B. aus einem > DBC-File oder aus einem Mittschnitt... So schauts aus. Oder aus anderen Nachrichten die in der "Steuerung" bereits konfiguriert sind. Oder aus der Doku vom Generator.
Niklas G. schrieb: > Thomas B. schrieb: >> Der Screenshot ist vom Generator. > > Warum heißt er dann "Steuerung" 😁 Dann zeig doch mal einen Screenshot > von der Steuerung! Jetzt hast mich verwirrt :D Generator schickt die CAN Signale Steuerung empfängt die Can Signale. Die Steuerung muss auf 2.53.0 sein und das ist sie. Das Zitat ist von der Steuerung
Thomas B. schrieb: > Steuerung empfängt die Can Signale. Die Steuerung muss auf 2.53.0 sein > und das ist sie. Dann zeig doch DAVON mal einen Screenshot. Von den Einstellungen für den J1939-Empfang in der Steuerung.
Vielleicht kann man sich ja die bereits definierte Konfiguration ansehen, dann sollte klar sein was gemeint ist.
Μαtthias W. schrieb: > Niklas G. schrieb: >> Thomas B. schrieb: >>> Mit dem Konverter kommen ja SA und P raus. Hilft das nicht? (siehe >>> Anhang) >> >> Wenn du die exakte CAN-ID auf der Leitung hast, ja. z.B. aus einem >> DBC-File oder aus einem Mittschnitt... > > So schauts aus. Oder aus anderen Nachrichten die in der "Steuerung" > bereits konfiguriert sind. Oder aus der Doku vom Generator. Ich hab im Anhang die Doku. vielleicht hilft dir die ja was? Ich hätte jetzt nichts gefunden...
Dieter S. schrieb: > Vielleicht kann man sich ja die bereits definierte Konfiguration > ansehen, dann sollte klar sein was gemeint ist. Das hatte ich auch gedacht, aber die sind in der Steuerung "Softwareintern" abgespeichert. Da komm ich nicht ran
Niklas G. schrieb: > Thomas B. schrieb: >> Steuerung empfängt die Can Signale. Die Steuerung muss auf 2.53.0 sein >> und das ist sie. > > Dann zeig doch DAVON mal einen Screenshot. Von den Einstellungen für den > J1939-Empfang in der Steuerung. Mehr gibts leider nicht
Da steht doch die Device Address. 144. Also sollte deine gesuchte Frame Number eine dieser acht CAN-IDs sein (alle Prioritäten): 0x00FF0190 0x04FF0190 0x08FF0190 0x0CFF0190 0x10FF0190 0x14FF0190 0x18FF0190 0x1CFF0190
Μαtthias W. schrieb: > Da steht doch die Device Address. 144. Also sollte deine gesuchte Frame > Number eine dieser acht CAN-IDs sein (alle Prioritäten): > > 0x00FF0190 > 0x04FF0190 > 0x08FF0190 > 0x0CFF0190 > 0x10FF0190 > 0x14FF0190 > 0x18FF0190 > 0x1CFF0190 Haha :D Man merkt dass du dich auskennst und ich halt keine Ahnung hab :D Drei Fragen 1) Wie kommst du auf die frame number? (ich will ja was lernen) 2) kannst mir nochmal "einfach" erklären was die Prioritäten bewirken? Aussagen? 3) Muss ich bei den restlichen Werten nichts mehr ändern? Danke
:
Bearbeitet durch User
Du könntest mit den Einstellungen experimentieren. Falls sie mit "Frame number" die PGN meinen und "Position" bzw. "Length" in Bits gezählt wird wäre ein Versuch (falls das MSB mit "1.1" bezeichnet wird):
1 | Frame number: 0xFF01 |
2 | Position: 1.1 |
3 | Length: 16 |
Es könnte aber auch die Position "1.0", "1.8" oder "1.7" für das MSB sein. Die "Frame number" könnte auch die CAN ID sein, das wird also schnell recht umfangreich. Idealerweise kann man bei solchen Experimenten beobachten was auf dem CAN-Bus genau passiert.
Μαtthias W. schrieb: > Da steht doch die Device Address. 144. Also sollte deine gesuchte Frame > Number eine dieser acht CAN-IDs sein (alle Prioritäten): Das Steuergerät kennt ja anscheinend den spezifischen Generator (D500). Die PGNs und CAN-IDs sind im PDF ja sogar wunderbar dokumentiert (0CFDA600 - 64934). Ich würde davon ausgehen dass man da gar nichts mehr detailliert konfigurieren muss. Nur die Device ID muss stimmen. Das ist ja eigentlich auch der Sinn von J1939.
Μαtthias W. schrieb: > Da steht doch die Device Address. 144. Also sollte deine gesuchte Frame > Number eine dieser acht CAN-IDs sein (alle Prioritäten): > > 0x00FF0190 > 0x04FF0190 > 0x08FF0190 > 0x0CFF0190 > 0x10FF0190 > 0x14FF0190 > 0x18FF0190 > 0x1CFF0190 MAtthias W. bekommt 100 Punkte von mir. ;) Siehe Anhang Frame 1 schickt mir einen Wert. Jetzt bitte noch die Erklärung, dann würd ich das für den zweiten Temperatursensor gerne selber probieren
Thomas B. schrieb: > Μαtthias W. schrieb: >> Da steht doch die Device Address. 144. Also sollte deine gesuchte Frame >> Number eine dieser acht CAN-IDs sein (alle Prioritäten): >> >> 0x00FF0190 >> 0x04FF0190 >> 0x08FF0190 >> 0x0CFF0190 >> 0x10FF0190 >> 0x14FF0190 >> 0x18FF0190 >> 0x1CFF0190 > > MAtthias W. bekommt 100 Punkte von mir. ;) > > Siehe Anhang Frame 1 schickt mir einen Wert. > Jetzt bitte noch die Erklärung, dann würd ich das für den zweiten > Temperatursensor gerne selber probieren Die PGN ist in den CAN-Identifier eingebaut. Siehe diese Grafik https://www.csselectronics.com/cdn/shop/files/j1939-pgn-18-bit-extended-can-identifier-pdu.svg Da deine PGN im High-Byte => 240 ist (0xFF) ist ein PDU2 (broadcast). SA ist die Adresse vom Sender also aus Steuerung_2.JPG die Device Address. Dann sind nur noch sechs Bit für die Priorität übrig. Das legt der Sender fest und kann von 0 (höchste) bis 7 (niedrigste) gehen. Position und Length geben dann die Position und Länge des Werts (SPN) im Datenfeld des CAN-Telegrams an. 1.1 steht dabei für erstes Byte, Bit und 0 und die Länge ist dann in Bits oder Bytes definiert.
Μαtthias W. schrieb: > Thomas B. schrieb: >> Μαtthias W. schrieb: >>> Da steht doch die Device Address. 144. Also sollte deine gesuchte Frame >>> Number eine dieser acht CAN-IDs sein (alle Prioritäten): >>> >>> 0x00FF0190 >>> 0x04FF0190 >>> 0x08FF0190 >>> 0x0CFF0190 >>> 0x10FF0190 >>> 0x14FF0190 >>> 0x18FF0190 >>> 0x1CFF0190 >> >> MAtthias W. bekommt 100 Punkte von mir. ;) >> >> Siehe Anhang Frame 1 schickt mir einen Wert. >> Jetzt bitte noch die Erklärung, dann würd ich das für den zweiten >> Temperatursensor gerne selber probieren > > Die PGN ist in den CAN-Identifier eingebaut. Siehe diese Grafik > https://www.csselectronics.com/cdn/shop/files/j1939-pgn-18-bit-extended-can-identifier-pdu.svg > > Da deine PGN im High-Byte => 240 ist (0xFF) ist ein PDU2 (broadcast). SA > ist die Adresse vom Sender also aus Steuerung_2.JPG die Device Address. > Dann sind nur noch sechs Bit für die Priorität übrig. Das legt der > Sender fest und kann von 0 (höchste) bis 7 (niedrigste) gehen. Position > und Length geben dann die Position und Länge des Werts (SPN) im > Datenfeld des CAN-Telegrams an. 1.1 steht dabei für erstes Byte, Bit und > 0 und die Länge ist dann in Bits oder Bytes definiert. Danke, mir ist jetzt einiges klarer, wobei ich manche Sachen noch nicht ganz verstehe. Das würde ich aber nochmal mit meinem Kollegen abklären. Was mir aber überhaupt nicht klar wird ist: Wenn ich die Werte wie in der Tabelle gefordert bekomme ich keine plausible Rückmeldung auf die Temperatur.... Zudem wechselt der Wert alle 5 sekunden, also muss noch ein Fehler versteckt sein
Du musst die Slot Definition noch anpassen. Deine ist für eine SPN von einem Byte und einer Temperaturauflösung von 1°C. Deine SPN in der PGN ist aber zwei Byte groß und hat eine Auflösung von 0,1°C. Das ist in der Tabelle in deinem ersten Post ersichtlich.
Μαtthias W. schrieb: > Du musst die Slot Definition noch anpassen. Deine ist für eine SPN von > einem Byte und einer Temperaturauflösung von 1°C. Deine SPN in der PGN > ist aber zwei Byte groß und hat eine Auflösung von 0,1°C. Das ist in der > Tabelle in deinem ersten Post ersichtlich. Ich versteh wirklich nicht was ich falsch mache..... Ich meine dass ich jetzt alle Werte eingegeben hab, aber es kommt nur Käse raus... (siehe Anhang) Kann es sein, dass die Frame Adresse doch nicht richtig ist und ein anderer Wert ausgelesen wird?
Hi Resolution passt schonmal. Für dich wichtig ist aber Data Range. In diesem Bereich spielen sich die Daten ab. Als Offset sollte also wahrscheinlich -128.1 da stehen. Ich kenn das Tool aber nicht. Zeichne doch die Telegramme auf dem Bus auf. Matthias
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.