Zurück   www.sondersignalanlagen.com > Dachbalken > Hella RTK + OWS
Kennwort vergessen?

Hinweise

Antwort
 
Themen-Optionen Ansicht
Alt 23.09.2018, 13:06   #1
Doc112

Silber-Mitglied
 
Benutzerbild von Doc112
 
Name: Johannes
Registriert seit: 21.10.2011
Ort: Bad Krozingen
Beiträge: 1.103
Standard RTK7 CAN-Bus verstehen

Hallo Leute!


Letzte Woche sind zwei CAN-Bus Module mit SPI-Schnittstelle aus China angekommen. Und jetzt versuche ich mich in den CAN-Bus ein zu fuchsen.


Mein Ziel ist es einzelne Nachrichte im CAN-Bus abzufangen und diese der passenden Funktion zu zu ordnen. Später will ich dann einen CAN-Node mittels Arduino bauen um selbst die RTK7 zu steuern.


Als Hardware nutze ich eine Arduino, der mir die Brücke zwischen Mac und CAN-Bus ermöglichen soll. Der Arduino gibt die empfangenen Nachrichten über den Seriellen Monitor aus. Als CAN-Shield nutze ich ein MCP2515 wie dieses (LINK) und die mcp_can Library (LINK).




Grundlegende Infos gibt es z.B. hier:
http://henrysbench.capnfatz.com/henr...work-tutorial/


Mit meinem Testaufbau (Arduino Uno & Arduino MEGA (SPI-Belegung unterschiedlich) kann ich eine zuverlässliche Kommunikation zwischen Sender und Empfänger aufbauen.



Code:
//Empfänger
#include "spi.h"
 #include "mcp_can.h"

// the cs pin of the version after v1.1 is default to D9
// v0.9b and v1.0 is default D10
const int SPI_CS_PIN = 10;

MCP_CAN CAN(SPI_CS_PIN);                                    // Set CS pin

void setup()
{
    Serial.begin(115200);

    while (CAN_OK != CAN.begin(CAN_125KBPS))              // init can bus : baudrate = 500k
    {
        Serial.println("CAN BUS Shield init fail");
        Serial.println(" Init CAN BUS Shield again");
        delay(100);
    }
    Serial.println("CAN BUS Shield init ok!");
}


void loop()
{
    unsigned char len = 0;
    unsigned char buf[8];

    if(CAN_MSGAVAIL == CAN.checkReceive())            // check if data coming
    {
        CAN.readMsgBuf(&len, buf);    // read data,  len: data length, buf: data buf

        unsigned long canId = CAN.getCanId();
        
        Serial.println("-----------------------------");
        Serial.print("Get data from ID: 0x");
        Serial.println(canId, HEX);

        for(int i = 0; i
Code:
// Sender
#include "mcp_can.h"
#include "SPI.h"

// the cs pin of the version after v1.1 is default to D9
// v0.9b and v1.0 is default D10
const int SPI_CS_PIN = 53;

MCP_CAN CAN(SPI_CS_PIN);                                    // Set CS pin

void setup()
{
    Serial.begin(115200);

    while (CAN_OK != CAN.begin(CAN_125KBPS))              // init can bus : baudrate = 500k
    {
        Serial.println("CAN BUS Shield init fail");
        Serial.println(" Init CAN BUS Shield again");
        delay(100);
    }
    Serial.println("CAN BUS Shield init ok!");
}

unsigned char stmp[8] = {0, 0, 0, 0, 0, 0, 0, 0};
void loop()
{
    // send data:  id = 0x00, standrad frame, data len = 8, stmp: data buf
    stmp[7] = stmp[7]+1;
    if(stmp[7] == 100)
    {
        stmp[7] = 0;
        stmp[6] = stmp[6] + 1;
        
        if(stmp[6] == 100)
        {
            stmp[6] = 0;
            stmp[5] = stmp[6] + 1;
        }
    }
    
    CAN.sendMsgBuf(0x00, 0, 8, stmp);
    delay(100);                       // send data per 100ms
}


Die Boud-Rate ist bereits auf 125kbs wie aus dem RTK7-Programm ausgelesen angepasst.


Im Bild unten seht ihr die Ausgabe aus der RTK7.


Doch wenn ich dann den Empfänger an den CAN-Bus der die ZSE verlässt anschließe kommt nichts sinvolles an. Bei Betätigen der HKL-Taste am HA änder sich zwar der Serielle Monitor aber die Nachricht sieht nicht nach einer CAN-Nachricht aus.


Was denkt ihr mache ich Falsch?
Meines Wissens baut das CiA 447 auf CAN-Open auf. Ist die Nachrichtenstruktur nicht erhalten wie bei CAN-Open?


Ich bin auf eure Ideen gespannt und hoffe ihr könnt mir helfen.

Vielen Dank und Grüße

JOHANNES
Angehängte Grafiken
 




Schau mal vorbei: Meine Sammlung Viele Klangcodierungen als Hörprobe.
Suche weitere MP3-Dateien von noch nicht eingefügten Sondersignalen. Bitte via PN melden. DANKE

Geändert von Doc112 (23.09.2018 um 13:11 Uhr).
Doc112 ist offline   Privat Nachricht senden Mit Zitat antworten
Alt 23.09.2018, 13:25   #2
Blaulicht

Gold-Mitglied
 
Benutzerbild von Blaulicht
 
Name: Marcel
Registriert seit: 11.12.2003
Ort: Oberthal / SAAR
Beiträge: 13.071
Standard

Sehr interesssant, aber ich versteh nur Bahnhof




You can´t fix stupid, not even with Duct Tape
Blaulicht ist offline   Privat Nachricht senden Mit Zitat antworten
Alt 23.09.2018, 13:57   #3
techniker

Gold-Mitglied
 
Benutzerbild von techniker
 
Name: Wilhelm
Registriert seit: 05.01.2008
Ort: BY, Opf.
Beiträge: 4.358
Standard

D.h. du willst die ZSE selbst steuern?
Im Prinzip relativ einfach, da der Grundaufbau nach DIN festgelegt ist.
(DIN hätte ich hier, darf ich aber nicht weitergeben.)

Dies wollte/werde ich auch irgendwann umsetzten bzw. weitermachen, wenn ich mal Zeit dazu finde..

Wenn ich mich recht erinnere war das 0x0600h + Node-ID für SDO-MSG's vom Gateway zur Komponente. Deine 0x400'er Knoten-ID's müsste ich erst wieder nachschlagen, was dies für Nachrichtentypen sind..
(kann mich auch irren - wie gesagt, ist schon eine Weile her..)

-------------------

PS: Oder war das evtl. die Heartbeat-ID der ZSE..?




Never change a running system - never run a changed system!
techniker ist offline   Privat Nachricht senden Mit Zitat antworten
Alt 24.09.2018, 07:06   #4
Doc112

Silber-Mitglied
hat dieses Thema eröffnet
 
Benutzerbild von Doc112
 
Name: Johannes
Registriert seit: 21.10.2011
Ort: Bad Krozingen
Beiträge: 1.103
Standard

Denkst du die Nachrichten sind so kurz?




Schau mal vorbei: Meine Sammlung Viele Klangcodierungen als Hörprobe.
Suche weitere MP3-Dateien von noch nicht eingefügten Sondersignalen. Bitte via PN melden. DANKE
Doc112 ist offline   Privat Nachricht senden Mit Zitat antworten
Alt 24.09.2018, 08:24   #5
techniker

Gold-Mitglied
 
Benutzerbild von techniker
 
Name: Wilhelm
Registriert seit: 05.01.2008
Ort: BY, Opf.
Beiträge: 4.358
Standard

Ja. Es werden zu 95% nur Flags übertragen..




Never change a running system - never run a changed system!
techniker ist offline   Privat Nachricht senden Mit Zitat antworten
Alt 24.09.2018, 13:44   #6
Doc112

Silber-Mitglied
hat dieses Thema eröffnet
 
Benutzerbild von Doc112
 
Name: Johannes
Registriert seit: 21.10.2011
Ort: Bad Krozingen
Beiträge: 1.103
Standard

Zitat:
Zitat von techniker Beitrag anzeigen
Ja. Es werden zu 95% nur Flags übertragen..
Dann versuche ich mal was zu senden.




Schau mal vorbei: Meine Sammlung Viele Klangcodierungen als Hörprobe.
Suche weitere MP3-Dateien von noch nicht eingefügten Sondersignalen. Bitte via PN melden. DANKE
Doc112 ist offline   Privat Nachricht senden Mit Zitat antworten
Alt 16.10.2018, 13:14   #7
Doc112

Silber-Mitglied
hat dieses Thema eröffnet
 
Benutzerbild von Doc112
 
Name: Johannes
Registriert seit: 21.10.2011
Ort: Bad Krozingen
Beiträge: 1.103
Standard

Es ist ein kleine Problem aufgetreten. Wie ihr oben seht sind die empfangenen Nachrichten von der RTK7 nicht so lang wie die normalen CAN-Nachrichten. Ich bekomme diese aber nicht gut gefiltert.
Meine Vorstellung wäre es, die zwei HEX-Stellen zu speichern und erst im Serial-Monitor auszugeben, wenn sich die neue Nachricht von der Alten unterscheidet. So wäre die Analyse einfacher.
Mit der Pufferstelle [i] hab ich schon was versucht, klappt leider nicht.

Habt ihr eine Idee?

Gruß JOHANNES




Schau mal vorbei: Meine Sammlung Viele Klangcodierungen als Hörprobe.
Suche weitere MP3-Dateien von noch nicht eingefügten Sondersignalen. Bitte via PN melden. DANKE
Doc112 ist offline   Privat Nachricht senden Mit Zitat antworten
Alt 19.10.2018, 08:01   #8
Actros

Forum-Mitglied
 
Registriert seit: 01.07.2006
Beiträge: 8
Standard

Kannst du die ASCII Werte mit der Software in Bits umwandeln ?
Macht das ganze übersichtlicher
Actros ist offline   Privat Nachricht senden Mit Zitat antworten
Alt 21.02.2020, 23:18   #9
Meister_xxl

Forum-Mitglied
 
Name: Dennis
Registriert seit: 28.05.2010
Beiträge: 17
Standard

Hallo zusammen,

ich greife das Thema mal wieder auf und habe mal meine RTK7 auf dem CAN abgehört. Sieht anders aus.

702h bis 705h senden ständig.
30ah ändert seinen Inhalt, wenn Blaulicht oder andere Lichtfunktionen geschaltet werden.
2c1h,2c3h,341h und 343h scheinen vom Matrix-ASG hinten zu kommen.
1e1h,1e3h,261h und 263h scheinen vom Matrix-ASG vorne zu kommen.
Die anderen kann ich aktuell nicht zuordnen.

Vielleicht kann Wilhelm ja mal ein paar Infos dazu schreiben.

Gruß
Dennis
Angehängte Grafiken
 
Meister_xxl ist offline   Privat Nachricht senden Mit Zitat antworten
Alt 22.02.2020, 08:14   #10
Doc112

Silber-Mitglied
hat dieses Thema eröffnet
 
Benutzerbild von Doc112
 
Name: Johannes
Registriert seit: 21.10.2011
Ort: Bad Krozingen
Beiträge: 1.103
Standard

Sehr gut. Wie sieht denn dein versuchsaufbau aus? Welche Hard- und Software nutzt du? Hast du schon Nachrichten versendet?
Gruß JOHANNES




Schau mal vorbei: Meine Sammlung Viele Klangcodierungen als Hörprobe.
Suche weitere MP3-Dateien von noch nicht eingefügten Sondersignalen. Bitte via PN melden. DANKE
Doc112 ist offline   Privat Nachricht senden Mit Zitat antworten
Alt 22.02.2020, 15:22   #11
Meister_xxl

Forum-Mitglied
 
Name: Dennis
Registriert seit: 28.05.2010
Beiträge: 17
Standard

USBtin interface mit USBtin Viewer, aber auch Arduino mit CAN Shield. Beide werfen die gleichen Daten aus. Um sinnvoll senden zu können, muß ich erstmal die entsprechenden Sequenzen finden und dann simulieren.
Meister_xxl ist offline   Privat Nachricht senden Mit Zitat antworten
Alt 23.02.2020, 09:16   #12
Doc112

Silber-Mitglied
hat dieses Thema eröffnet
 
Benutzerbild von Doc112
 
Name: Johannes
Registriert seit: 21.10.2011
Ort: Bad Krozingen
Beiträge: 1.103
Standard

Kannst du mir den Arduino Code schicken?




Schau mal vorbei: Meine Sammlung Viele Klangcodierungen als Hörprobe.
Suche weitere MP3-Dateien von noch nicht eingefügten Sondersignalen. Bitte via PN melden. DANKE
Doc112 ist offline   Privat Nachricht senden Mit Zitat antworten
Alt 23.02.2020, 12:43   #13
Meister_xxl

Forum-Mitglied
 
Name: Dennis
Registriert seit: 28.05.2010
Beiträge: 17
Standard

Hier der Code
Angehängte Dateien
Dateityp: zip can_test.zip (766 Bytes, 23x aufgerufen)
Meister_xxl ist offline   Privat Nachricht senden Mit Zitat antworten
Alt 25.02.2020, 22:27   #14
Meister_xxl

Forum-Mitglied
 
Name: Dennis
Registriert seit: 28.05.2010
Beiträge: 17
Standard

Hier mal ein Log vom Start nach Anschalten der Stromversorgung
Angehängte Dateien
Dateityp: zip start_log.zip (22,5 KB, 24x aufgerufen)
Meister_xxl ist offline   Privat Nachricht senden Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:06 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.