EMZETT.
Login

CAN-Bus und Modbus: wie Autos und Fabriken kommunizieren

Kurz: Der CAN-Bus verbindet Steuergeräte im Auto über zwei Leitungen, Modbus verbindet Sensoren und Steuerungen in Anlagen; beide sind robust und einfach, aber meist ohne Verschlüsselung und Authentifizierung.

Genauer: Nicht jedes Netz ist Ethernet. In Fahrzeugen, Maschinen und Gebäuden kommunizieren Geräte über Feldbusse. Sie sind auf Zuverlässigkeit, Echtzeit und wenig Leitungen ausgelegt.

Im Detail

CAN-Bus (Controller Area Network)

  • Entwickelt von Bosch (1980er), Standard in Autos (Motor, ABS, Airbag, Fensterheber), Industrie, Medizintechnik, Landmaschinen, OBD-II-Diagnose.
  • Zwei Leitungen (CAN_H/CAN_L, differenziell, verdrillt, 120-Ω-Abschlusswiderstände an beiden Enden), Geschwindigkeit 125 kbit/s – 1 Mbit/s (CAN FD bis ~8 Mbit/s).
  • Broadcast: Jede Nachricht hat eine ID (nicht Zieladresse); alle hören mit, filtern nach ID. Niedrigere ID = höhere Priorität (Arbitrierung verlustfrei bei gleichzeitigem Senden).
  • Frame: ID, bis 8 Datenbytes (CAN FD: 64), CRC, ACK. Fehlerbehandlung (Wiederholung, Geräte können sich selbst abschalten).
  • Für Bastler: MCP2515/ESP32-TWAI, SocketCAN unter Linux (candump can0, cansend), OBD-II-Adapter (ELM327) lesen Fehlercodes/Messwerte (eigenes Fahrzeug).

Modbus

  • 1979 (Modicon) für SPS; offen, sehr verbreitet bei Sensoren, Zählern, Wechselrichtern (PV), Wärmepumpen, Industrie.
  • Master/Slave (Client/Server): Der Master fragt, der Slave antwortet.
  • Varianten: Modbus RTU (seriell RS-485, binär, bis ~1200 m), Modbus ASCII, Modbus TCP (Ethernet, Port 502).
  • Datenmodell: Coils (Ein-/Ausgabe-Bits), Discrete Inputs, Input Registers, Holding Registers (16-Bit-Werte). Befehle (Function Codes): 0x03 Holding Register lesen, 0x06 schreiben usw.
  • Beispiel: Solar-Wechselrichter per Modbus TCP auslesen (Leistung in einem Register, Skalierung beachten) und in Home Assistant/Grafana darstellen.
  • Tools: mbpoll, pymodbus, QModMaster, Node-RED.

Sicherheit (wichtig)

CAN und Modbus wurden für abgeschlossene, vertrauenswürdige Umgebungen gebaut: keine Authentifizierung, keine Verschlüsselung; wer Zugang zum Bus hat, kann mitlesen und senden (Fahrzeug-Hacks über Infotainment/OBD, Modbus-TCP offen im Internet = fremde Steuerung). Schutz: Netz trennen (Firewall/Segmentierung, IT/OT-Trennung), kein Modbus-Port ins Internet, VPN, Gateways mit Filter, OBD-Port-Schutz, Updates, Zugriffskontrolle, Monitoring; moderne Standards (OPC UA, TLS, Secure Onboard Communication im Auto). Manipulation fremder Fahrzeuge/Anlagen ist strafbar und gefährlich.

Einordnung und Lernen

  • Vergleich: Ethernet/TCP-IP (Büro), PROFINET/EtherCAT (Echtzeit-Ethernet), PROFIBUS, KNX (Gebäude), LIN (einfache Auto-Geräte), MQTT (IoT, siehe), I²C/SPI/UART (auf der Platine), Zigbee/Matter (Smart Home).
  • Schichten: CAN bis OSI Layer 1–2; Modbus Layer 7 (Anwendung).
  • Ausbildung: Fachinformatiker/Elektroniker/Mechatroniker begegnen Bussen in Industrie 4.0 und Fahrzeugtechnik.
  • Üben: ESP32 + Transceiver, Simulatoren (Modbus-Slave in Software), Wireshark-Mitschnitte, Home Assistant mit Modbus-Integration.

Siehe auch: I²C, SPI und UART, Raspberry Pi, OSI-Modell