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.