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_Daten senden und empfangen (TSC1)

humphrey
2014-07-31
2015-02-10
  • humphrey - 2014-07-31

    Hallo CodeSys Gemeinde,

    ich taste mich suk­zes­si­ve in CodeSys V3.5.3 und stehe gerade vor der Aufgabe die Daten eines Dieselmotors auszulesen bzw. die Daten an den Motor zu senden.

    Was bereits erfolgreich funktioniert, wäre z. B. die Kühlmitteltemperatur abzugreifen.

    Nun zum Datensenden...wie binde ich es in V3.5 ein die Drehzahlnachricht (TSC1 Message) an den Motor zu senden?
    Wo mache ich die Angaben zum TSC1 Identifier und Zykluszeit (20 ms)?
    Wie zwingend ist die Angabe des ECU Namens?

    Danke euch

     
  • eschwellinger

    eschwellinger - 2014-08-08

    Hallo,

    Local ECU einfügen.
    Bei Tx Signals TSC PG definieren.

    Der ECU Name ist für das Address Claiming relevant um Adresskonflikte zu vermeiden.
    Ein J1939 Netzwerk kann aber auch ohne ECU Names betrieben werden.

    Grüße
    Edwin

     
  • humphrey - 2015-02-04

    Danke und sorry, dass ich sehr verspätet die Rückmeldung gebe.

    Unter TX habe ich TSC1 definiert.

    Um die Drehzahlverstellung zu testen habe ich folgendes reingeschrieben:

    Engine_Override_Control_Mode:=1;
    Engine_Requested_Speed_Speed_Limit_1[0]:=LowByteOfAWord(Speed);
    Engine_Requested_Speed_Speed_Limit_1[1]:=HighByteOfAWord(Speed);

    Die Variable "Speed" verstelle ich durch die Drucktaster.
    Ist es zu erwarten, dass es funktionieren konnte?

    Kann man die geforderte Übertragungszeit (10 ms) irgendwo, ohne dies zu programmieren, einstellen?

    Vielen Dank.

     

    Related

    Talk.ru: 1

  • humphrey - 2015-02-09

    Unter TX habe ich PGN 65262 (ET1) eingefügt, womit ich dann mit dem Befehl

    Kuehlmitteltemp:= BYTE_TO_INT(Engine_Coolant_Temperature-40);

    die Kühlmitteltemperatur des Motors auslesen konnte.

    Sobald ich Häckchen setze bei "Lokales Gerät", dann wird die Variable "Kuehlmitteltemp" in Online-Modus nicht mehr richtig dargestellt;
    es wird der default-Wert von 216 angezeigt. Häckchen weg, die Temperatur wird mit dem richtigen Wert dargestellt.

    Aber, um TSC1 PGN einzufügen, muss lokales Gerät markiert sein.

    Wie stelle ich es an, dass sowohl die Daten von der SPS empfangen als auch gesendet werden können?

    Danke.

     
  • eschwellinger

    eschwellinger - 2015-02-10

    Hallo
    Wenn man das Häckchen „Local Device“ setzt, dann drehen sich Sende und Empfangsrichtung,
    Willst man das schicken, dann brauchst man ein Local Device.
    D.h. versuche fürs Schicken ein Local Device einzufügen.

    Grüße
    Edwin

     
  • humphrey - 2015-02-10

    Hallo.

    Soll es heißen, dass im J1939_Manager zwei J1939_ECU eingebunden werden sollen?
    1 x für Senden und 1 x für Empfangen.

    Ich probiere es morgen und berichte dann.

    VG

     

Log in to post a comment.