CAROA04 CAROB08 CAROC16 CAN-Protokolldokumentation RSA85-Relais Modbus für CAN-BUS

 

 

Eletechsup CAROC16 CAN-Protokolldokumentation
================================================

ÜBERSICHT
--------
Das CAROC16 ist ein 16-Kanal-Digital-Ein-/Ausgangs-Relaismodul, das über den CAN-Bus mit Standard- oder erweiterten Rahmenformaten kommuniziert. Standardkonfiguration: Adresse 0x01, Baudrate 250Kbps.

WERKSEINSTELLUNGEN WIEDERHERSTELLEN
-------------
Schließen Sie den RES-Jumper für 5 Sekunden kurz, um die Werkseinstellungen wiederherzustellen.

CAN-RAHMENFORMATE
-----------------

Standard-Rahmenformat:
- Rahmen-ID: 11-Bit (Funktionscode << 8 | Adresscode)
- Daten: 8 Bytes

Erweitertes Rahmenformat:
- Rahmen-ID: 29-Bit (0x00AA gefolgt von Funktionscode und Adresscode)
- Daten: 8 Bytes

CAN-ID-STRUKTUR (Standard-Rahmen)
---------------------------------
Bits 10-8: Funktionscode
Bits 7-0:  Adresscode (Knoten-ID)

Beispiel: Funktion 0x01, Adresse 0x01 → CAN-ID = 0x101

FUNKTIONSCODES
--------------
0x01 - Digitalausgänge (Relais) schreiben
0x02 - Digitalausgänge (Relais) lesen  
0x03 - Digitaleingänge lesen
0x07 - Parametereinstellungen

DATENFORMAT
-----------

Alle Funktionen verwenden eine 8-Byte-Datenlast:
- Byte 0: Niedriges Byte (Kanäle 1-8)
- Byte 1: Hohes Byte (Kanäle 9-16)
- Bytes 2-7: Reserviert (0x00)

Kanalzuordnung:
- Byte 0: bit0=CH1, bit1=CH2, ..., bit7=CH8
- Byte 1: bit0=CH9, bit1=CH10, ..., bit7=CH16

FUNKTION 0x01: RELAIS SCHREIBEN
---------------------------
Zweck: Relaisausgänge steuern
Befehl: Gewünschte Relaiszustände in den Datenbytes 0-1 festlegen
Antwort: Echo des gesendeten Befehls

Beispiel - Relais 1, 8 und 16 einschalten:
Senden:    CAN-ID 0x101, Daten: 81 80 00 00 00 00 00 00
Empfangen: CAN-ID 0x101, Daten: 81 80 00 00 00 00 00 00

FUNKTION 0x02: RELAIS LESEN
--------------------------
Zweck: Aktuelle Relaiszustände auslesen
Befehl: Senden mit Datenbytes 0-1 als 0x00
Antwort: Aktuelle Relaiszustände in den Datenbytes 0-1

Beispiel - Relaiszustände auslesen:
Senden:    CAN-ID 0x201, Daten: 00 00 00 00 00 00 00 00
Empfangen: CAN-ID 0x201, Daten: 82 20 00 00 00 00 00 00
(Relais 2, 8 und 14 sind EIN)

FUNKTION 0x03: EINGÄNGE LESEN
--------------------------
Zweck: Digitaleingangszustände auslesen
Befehl: Senden mit beliebigen Daten (werden ignoriert)
Antwort: Aktuelle Eingangszustände in den Datenbytes 0-1

Beispiel - Digitaleingänge auslesen:
Senden:    CAN-ID 0x301, Daten: 00 00 00 00 00 00 00 00
Empfangen: CAN-ID 0x301, Daten: 85 81 00 00 00 00 00 00
(Eingänge 1, 3, 9 und 16 sind aktiv)

FUNKTION 0x07: PARAMETEREINSTELLUNGEN
---------------------------------
Zweck: Gerätedaten konfigurieren
CAN-ID: 0x701 (Funktion 0x07 + Adresse 0x01)

Befehle:
- 0xA1: Adresscode lesen
- 0xA2: Baudrate-Code lesen  
- 0xB1: Adresscode schreiben (Byte 1 = neue Adresse)
- 0xB2: Baudrate-Code schreiben (Byte 1 = Baudrate-Code)

Baudrate-Codes:
0x00 = 5Kbps     0x06 = 200Kbps
0x01 = 10Kbps    0x07 = 250Kbps (Standard)
0x02 = 20Kbps    0x08 = 400Kbps
0x03 = 50Kbps    0x09 = 500Kbps
0x04 = 100Kbps   0x0A = 800Kbps
0x05 = 120Kbps   0x0B = 1000Kbps

Beispiel - Baudrate auf 500Kbps einstellen:
Senden:    CAN-ID 0x701, Daten: B2 09 00 00 00 00 00 00
Empfangen: CAN-ID 0x701, Daten: B2 09 00 00 00 00 00 00

ERWEITERTER RAHMEN
---------------------
Für erweiterte Rahmen 0xAA vor den Standard-Rahmen setzen:

Standard:  CAN-ID 0x101, Daten: 81 80 00 00 00 00 00 00
Erweitert:  CAN-ID mit 0xAA-Präfix, Daten: AA 01 01 81 80 00 00 00

PRAKTISCHE BEISPIELE
------------------

1. Nur Relais 1 einschalten:
   CAN-ID: 0x101, Daten: 01 00 00 00 00 00 00 00

2. Relais 2, 7, 11, 15 einschalten:
   CAN-ID: 0x101, Daten: 42 44 00 00 00 00 00 00

3. Prüfen, ob Eingang 5 aktiv ist (Antwort zeigt 10 hex = Bit 4):
   CAN-ID: 0x301, Daten: 00 00 00 00 00 00 00 00
   Antwort: 10 00 00 00 00 00 00 00

4. Gerätedadresse auf 0x03 ändern:
   CAN-ID: 0x701, Daten: B1 03 00 00 00 00 00 00

SPEZIFIKATIONEN
--------------
- Kanäle: 16 Digitaleingänge, 16 Relaisausgänge
- CAN-Standard: ISO 11898
- Standardadresse: 0x01
- Standard-Baudrate: 250Kbps
- Rahmentypen: Standard (11-Bit) und erweitert (29-Bit)

 

 

Noch eine Frage an Ihren Ingenieur. Mit MODBUS kann man pro Nachricht ein einzelnes Relais aktivieren/deaktivieren (0x05), bei CANBUS kann ich dazu keine Dokumentation finden und 0x05 hat nicht funktioniert. Könnten Sie fragen, wie man ein einzelnes Spulenelement/Relais über CANBUS steuert? Was sind die Nachrichten-ID und die Daten?

 

1 MODBUS-Befehle und CAN-Befehle sind völlig unterschiedliche Befehle.
2 CAN-Befehle haben keine 0X05-Befehle
3 CAN-Befehle steuern alle Kanäle gleichzeitig, und es gibt keine Befehle zur Steuerung eines einzelnen Kanals.

Zurück zum Blog

Hinterlasse einen Kommentar