Zum Inhalt springen

ASCII-Befehlsprotokoll

Die MFR-Module verwenden dasselbe ASCII-Befehlsprotokoll über USB, RS-232 und Ethernet.

Verbindungsparameter

  • Baudrate (USB/RS-232): 9600 Baud
  • Datenformat (USB/RS-232): 8N1 (8 Datenbits, keine Parität, 1 Stoppbit)
  • Handshake: Keines

Befehlsstruktur

Die Kommunikation folgt grundsätzlich einem Request-Response-Schema. Bei einer Änderung der Ein- oder Ausgänge sendet das Modul jedoch auch asynchrone Nachrichten. Schließen Sie jeden Befehl mit einem Carriage Return (CR, 0x0D) ab.

Die Leerzeichen und eckigen Klammern in den folgenden Syntaxbeschreibungen trennen Platzhalter und werden nicht übertragen. O [DataHigh] [DataLow] [CR] wird beispielsweise als O@O\r gesendet, wenn DataHigh den Wert @ und DataLow den Wert O hat.

Daten-Codierung (Nibble-zu-ASCII)

Teilen Sie jedes 8-Bit-Datenbyte in sein oberes und unteres 4-Bit-Nibble. Addieren Sie zu jedem Nibble-Wert (0–15) den Wert 0x40, um ihn als ASCII-Zeichen von @ bis O zu codieren.

Wert0123...131415
Zeichen@ABC...MNO

Steuerbefehle

O - Ausgänge setzen (Gruppe)

Setzt alle 8 Ausgänge gleichzeitig.

  • Befehl: O [DataHigh] [DataLow] ([MaskHigh] [MaskLow]) [CR]
  • Maskierung: (ab Firmware V1.10) Optional können zwei weitere Maskenzeichen angehängt werden, um nur bestimmte Bits zu ändern (1 = ändern, 0 = ignorieren).
  • Beispiel: O@O schaltet die Ausgänge 0–3 ein und die Ausgänge 4–7 aus.

o - Ausgang setzen (Einzel-Bit)

(ab Firmware V1.10) Setzt genau einen Ausgang, ohne die anderen zu beeinflussen.

  • Befehl: o [Bit-Adresse] [Bit-Status] [CR]
  • Adresse: @ = Kanal 0 bis G = Kanal 7.
  • Status: @ = aus; A = an.

I - Eingänge lesen / Simulation

Fragt die Eingänge ab oder simuliert Eingangssignale.

  • Lesen: I [CR] liefert den aktuellen Zustand der physischen Eingänge.
  • Simulation: I [DataHigh] [DataLow] [CR] führt eine logische ODER-Verknüpfung mit den physischen Eingängen durch. Verwenden Sie diese Funktion nur zu Testzwecken, um Eingänge per Software zu erzwingen.

D - Watchdog (Dialogüberwachung)

(ab Firmware V1.10) Schaltet alle Ausgänge ab, wenn für die Zeit t keine Kommunikation erfolgt.

  • Befehl: D [ZeitHigh] [ZeitLow] [CR]
  • Einheit: Schritte von 100 ms (beispielsweise entspricht der Wert 50 fünf Sekunden).
  • Deaktivierung: D@@ (Zeit = 0).

X - Reset

Führt einen Software-Reset durch.

  • Antwort: Das Modul sendet seine Kennung (z. B. XSP01R...).

Automatische Meldungen

Das Modul sendet bei Zustandsänderungen ohne vorherige Anfrage folgende Nachrichten:

  1. Eingangsänderung: I [High] [Low] [CR]
  2. Ausgangsänderung: O [High] [Low] [CR]

Wichtig für Programmierer

Die Empfangsroutine muss asynchrone Nachrichten auswerten und von Befehlsantworten unterscheiden. Gehen Sie nicht davon aus, dass die nächste Nachricht immer zum zuletzt gesendeten Befehl gehört.

System- und Konfigurationsbefehle

Diese Befehle dienen der Verwaltung und Identifikation des Moduls.

U - Modul-Identifikation

Fragt den Ausgangstyp und die Kommunikationsschnittstelle ab.

  • Befehl: U [CR]
  • Antwort: [Ausgang][Schnittstelle] [CR]
  • Rückgabewerte:
    1. Ausgangszeichen:
      • L = Halbleiter
      • R = Relais
    2. Schnittstellenzeichen:
      • E = Ethernet
      • U = USB
      • R = RS-232
  • Beispiel: Die Antwort LR kennzeichnet ein Halbleiterausgangsmodul der L-Serie mit RS-232-Schnittstelle.

V - Firmware-Version

Liest die aktuelle Firmware-Version des Mikrocontrollers.

  • Befehl: V [CR]
  • Antwort: [Version].[Kompilation] [CR] (z. B. 1.10)

S - Seriennummer

Liest die eindeutige Seriennummer des Moduls.

  • Befehl: S [CR]
  • Antwort: Hexadezimaler String mit Bausteintyp, Nummer und BCC-Prüfsumme.

N / n - Modulname

Liest oder schreibt den benutzerdefinierten Namen des Moduls.

  • Lesen: N [CR] Liefert den Namen (maximal 20 Zeichen).
  • Schreiben: n [Name] [CR] Setzt den Namen (z. B. nMaschine1).

Q - Alle Infos lesen

Liefert eine kombinierte Liste aller oben genannten Parameter (Name, Version, Seriennummer, ID) in einem Block zurück.

  • Befehl: Q [CR]

Z / z - Logikkonfiguration

Liest (z) oder schreibt (Z) den 16-Byte-Parameterblock für die MFR-Zeitfunktionen eines Kanals.