Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

J1939 Botschaften senden

puma80801
2019-03-13
2019-03-25
  • puma80801 - 2019-03-13

    Hallo,

    eigentlich sollte das ganz einfach sein, aber es klappt nicht.
    Ich versuche gerade eine einfache J1939-TSC1-Botschaft mit meinem Raspberry 3b zu senden (Empfangen funktioniert perfekt, auch DM1, DM2, usw.)
    Ich habe extra eine neue CAN-ECU dazu gefügt zum Test nur um eine Botschaft zu senden mit der Quelle 8.
    Sobald ich darin dann den Haken bei "Lokales Gerät" setze um auch senden zu können springt mein CAN von Grün auf Rot und es geht nichts mehr.

    Kann mir hier jemand sagen was ich falsch mache, bzw. was ich vergessen habe zu machen? Mus ich noch irgendwo ein zusätzliches Häckchen setzen oder irgend einen Aufruf im Programm machen, ne Variable zuweisen, oder, oder, oder...?

    Bin um jeden Hinweis dankbar.

    Grüße Timo

    IMG: CAN

    IMG: CAN

    IMG: Lokales

     
  • puma80801 - 2019-03-21

    Sehr schade! Kann hier wirklich keiner helfen?

     
  • RolandWagner

    RolandWagner - 2019-03-21

    Nack Rücksprache beim CAN/J1939-Profi:

    Zitat:
    Das klingt für mich eher nach einem physikalischen Problem.
    Abschlusswiderstände dran?

     
  • puma80801 - 2019-03-23

    Hallo,

    ja Abschlusswiderstände sind dran! An denen liegt es nicht. Das lesen vom Bus klappt ja ohne Probleme.
    Ich habe mir mal ein kleines simples Testprogramm (siehe Anhang) gebastelt in dem ich einfach nur von der Quelle 200 an die Adresse 0 eine TSC1 Botschaft schicken will in der ich eine Dieseldrehzahl von 1000U/min vorgeben möchte und sonst nichts. Es will einfach nicht funktionieren und ich weiß nicht warum.
    Auch hier wieder. Sobald ich den Haken bei "Local Device" entferne ist alles gut. Mein CAN-Kanal wird grün und ich kann Botschaften die ich mit einem anderen Gerät (Habe nen P-CAN-Explorer zum testen ) verschicke lesen.

    Wenn ich zum Testen auf die Konsole gehe und via "cansend can0 123#deadbeef" eine Botschaft schicke seh ich die am P-CAN. Aber aus Codesys bekomm ich einfach nichts raus. Bin langsam echt am verzweifeln.

    Schon im vorab mal vielen Dank für die Hilfe.

    Grüße Timo

    CAN_Send_TSC1.project [179.23 KiB]

     
  • RolandWagner

    RolandWagner - 2019-03-25

    Ich habe nochmal bei unserem Spezialisten nachgefragt:

    Zitat:
    Aber ehrlich gesagt ist das Stochern im Nebel.

    Ideen wären: Vielleicht kann der Chip keine 29bit CAN Ids senden?
    https://store.codesys.com/canopen-example.html

    Der Raspi hat ja an sich kein CAN an Bord.
    D.h. es hängt ganz stark von der verwendeten HW, dem Kerneltreiber und der Socket CAN Anbindung ab.
    Komisch ist, dass Du wohl über die Konsole senden kann.
    Vielleicht hängt es auch irgendwelchen Diensten, die am Raspi noch alles parallel Vlt. läuft da ja auch noch ein Skript parallel, das auch auf den CAN zugreift?

    Auf dem Raspi hatten wir einen PCAN USB Dongle schon am Laufen. Das hat funktioniert.

    https://store.codesys.com/zubehoer/codesys-support-ticket.html, wenn Du nicht schon eine direkte Zugangsberechtigung zum CODESYS Support hast.

     
  • puma80801 - 2019-03-25

    Hallo,

    vielen Dank für die Information.
    Ihrer Antwort entnehme ich aber, dass mein Programm zumindest theoretisch richtig ist?

    Das Beispiel aus dem Codesys-Store funktioniert leider auch nicht! Dass nur ein CAN geht ist klar, da ich ja auch nur einen Kanal habe!
    Habe meinen Raspberry mit einem PiCAN-Interface von skpang ausgestattet. Lesen funktioniert ja wie gesagt prima.

    Ich werde mir jetzt mal die Mühe machen meinen P-CAN-Adapter auch zu installieren. Dann weiß ich zumindest ob es an der Hardware liegt oder ob ich grundsätzlich noch ein anderes Problem habe.
    Ein zusätzliches Skript das etwas beeinflussen könnte, sollte keines laufen. Den Raspberry habe ich speziell nur um mit Codesys darauf zu arbeiten.

    IMG: ifconfig.JPG

    IMG: Fehler_CAN.JPG

     

Log in to post a comment.