BOBE EAI488Interface-Box Ansteuerungsprotokoll

Zur Ansteuerung von Interfaces hat BOBE Industrie-Elektronik ein entsprechendes Protokoll entwickelt. Es gestattet eine Vielzahl von Betriebsarten für unterschiedlichste Anwendungsbereiche.

BOBE EAI488

Die Ansteuerung von BOBE Interface-Boxen

Diese Seite beschreibt den Kommandostring und das Datenformat der BOBE Interface-Boxen und erläutert anhand von ein paar Beispielen, wie die Ansteuerung einer Box zu erfolgen hat.

Als Kommandostring bezeichnet man die Zeichenfolge, die zur Interface-Box gesendet werden muß, damit diese Aktionen wie das Einlesen von Messmitteln ausführt. Der Kommandostring besteht immer aus sieben Kommandoparametern von ein bis drei Zeichen Länge. Diese sieben Parameter werden ohne Trennzeichen übertragen und ergeben eine Ziffernfolge von 13 ASCII-Zeichen. Abgeschlossen wird die Zeichenfolge mit einem Carriage-Return.

ACHTUNG: Der Kommandostring darf nicht zusätzlich noch mit einem LINE-FEED abgeschlossen werden, da die BOBE-Boxen dieses als Abbruchzeichen interpretieren, die laufende Messung abbrechen und die Abbruchmeldung E,1110 ausgeben.

Parameter: 1 2 3 4 5 6 7 Abschluss-
zeichen
Bezeichnung: Daten-
richtung
Kanal String-
fenster
Endkanal Fußtaster Firmen-
nummer
Messreihe
Kommandostring: 1 31 1 01 1 001 001 Carriage-
Return

1. Parameter: Datenrichtung

Länge: 1 ASCII-Zeichen
Optionen: 0 Nicht benutzt
1 Eingabe mit Time-Out: Wenn das angesprochene Messgerät sich innerhalb einer bestimmten Zeit nicht meldet, wird eine Fehlermeldung ausgegeben und die Messreihe abgebrochen.
2 Eingabe ohne Time-Out: Die Box wartet, bis sich das Messgerät meldet, oder bis sie über die Host-Schnittstelle ein Abbruchzeichen empfängt.
3 Wie Option 1, zusätzlich zum Messwertstring wird die Kanalnummer des angesprochenen Messmittels übertragen . Beim Abbruch einer Messreihe wird keine Fehlermeldung Ausgegeben.
4 Wie Option 3, ohne Time-Out.
5 Nicht benutzt
6 Eingabe einer Mehrkanalmessung. Die Mehrkanalmessung erlaubt das Auslesen mehrerer Messkanäle mittels eines Kommandostrings. Dazu wird über Parameter 2 der Messkanal angegeben, bei dem die Mehrkanalmessung gestartet wird und über Parameter 4 der Messkanal, bei dem die Mehrkanalmessung endet. Eine Mehrkanalmessung gibt nach dem Messwertstring ebenfalls die Kanalnummer aus.
Bemerkung: Mehrkanalmessungen sind nur mit Messmitteln möglich, die über eine identische Firmennummer angesprochen werden (siehe Parameter 6).

2. Parameter: Messmittelkanal

Länge: 2 ASCII-Zeichen
Optionen: 00 Identifizierung und Software-Reset. Die Interface-Box wir in ihren Einschaltzustand zurückgesetzt.
01 Messmittel an Kanal 1 wird eingelesen und verarbeitet.
02 Messmittel an Kanal 2 wird eingelesen und verarbeitet.
... ...
31 Messmittel an Kanal 31 wird eingelesen und verarbeitet.
Bemerkung: Bei Datenrichtungsoption 6 (1.Parameter) gibt der Messmittelkanal den Kanal an, bei dem die Mehrkanalmessung beginnt. Bei Messmittelkanal 00 werden Parameter 1, 4, 5, 6 (außer bei Firmennummer 000, diese ist übergeordnet und setzt den 2. Parameter außerkraft) und 7 ignoriert.

3. Parameter: Anfang des Stringfensters

Länge: 1 ASCII-Zeichen
Optionen: 0 Wird ignoriert
Bemerkung: Dieser Parameter diente nur zu Testzwecken.

4. Parameter: Endkanal

Länge: 2 ASCII-Zeichen
Optionen: 01 Nur Messmittel an Kanal 1 wird eingelesen.
02 Messmittel vom ersten Kanal (Parameter 2) bis Kanal 2 werden eingelesen.
... ...
31 Alle Messmittel vom ersten Kanal (Parameter 2) bis Kanal 31 werden eingelesen.
Bemerkung: Dieser Parameter wird nur bei Datenrichtungsoption 6 ausgewertet.

5. Parameter: Fußtaster

Länge: 1 ASCII-Zeichen
Optionen: 0 Der Messwert wird nach dem Senden des Kommandostrings sofort übertragen.
1 Der Messwert bzw. die Messreihe wird erst nach Betätigung des Fußtasters verarbeitet und übertragen.
2 Ein Messwert einer Messwertreihe wird nach Betätigung des Fußtasters verarbeitet und übertragen.
3 Wie Option 2, die Messreihe (Parameter 7) wird auf 000 gesetzt (entspricht Endlosmessung)
4 Wie Option 0, bei Betätigung des Fußtasters wird der nachfolgende Messwert durch ein 'T' anstelle eines 'M' im Messwertstring gekennzeichnet. Die Messreihe wird fortgesetzt. Vor dem Senden des Kommandostrings aufgetretene Fußtasterbetätigungen werden nicht gelöscht.
5 Wie Option 4, die Messreihe wird jedoch beendet.
6 Wie Option 2, vor dem Senden des Kommandostrings aufgetretene Fußtasterbetätigungen werden jedoch nicht gelöscht.
7 Wie Option 0, der nachfolgende Messwert wird durch die Messwertkennung 'T' gekennzeichnet
8 Wie Option 2, der nachfolgende Messwert wird durch die Messwertkennung 'T' gekennzeichnet
Bemerkung: Bei der Fußtasteroptionen 1, 2, 3, 6 u. 8 wartet die Box auf eine Fußtasterbetätigung. Die Wartestellung kann durch Senden eines einzelnes ASCII-Zeichens abgebrochen werden. Die Box antwortet daraufhin mit der Fehlermeldung E,1101. Es kann auch sofort ein neuer Befehlsstring gesendet werden, wobei darauf zu achten ist, dass die Zeit zwischen den ersten beiden Zeichen nicht größer als 10ms sein darf, da sonst das erste Zeichen als einzelnes Abbruchzeichen erkannt wird.

6. Parameter: Firmennummer

Länge: 3 ASCII-Zeichen
Optionen: 000 Identifizierung
001 Messdaten eines Mitutoyo Digimatic Messgerätes werden erwartet.
... ...
999 Herstelldatum
Bemerkung: Bei Firmennummer 000 werden die Parameter 1, 2, 4, 5 und 7 ignoriert.

7. Parameter: Messreihe

Länge: 3 ASCII-Zeichen
Optionen: 000 Endlosmessung
001 Eine Messung
... ...
999 999 Messungen
Bemerkung: Ein Abbruch einer Messreihe ist durch Senden eines einzelnen ASCII- Zeichens möglich. Erlaubt sind alle ASCII-Zeichen ausgenommen CARRIAGE-RETURN und CONTROL-C. Der Abbruch wird durch die Fehlermeldung 'E,1110: Neue Eingabe' bestätigt.

Datenformat

Die Host-Schnittstelle. Die BOBE-Box kann an jeder Computerschnittstelle nach RS232C-Spezifikation betrieben werden. Die Schnittstellenparameter sind:

Übertragungsrate: 9600 Baud
Startbits: 1
Datenbits: 8
Stopbits: 1
Parität: keine

Messwertstrings

Messwert-Kennung, Messwert, Maßeinheit und Messmittel-Adresse sind durch Komma voneinander getrennt!
Der Messwert-String besteht aus:

Messwert-Kennung: Kennbuchstabe 'M' oder 'T'
Kennziffer '1'
Messwert, bestehend aus Vorzeichen
8 Vorkommastellen
Dezimalpunkt
6 Nachkommastellen
Maßeinheit  
Messmittel-Adresse optional
Abschlußsequenz Carriage-Return
Line-Feed

Beispiel 1: Ein einzelner Messwert eines Mitutoyo Digimatic-Messmittels an Kanal 1 soll ohne Fußtasterbetätigung eingelesen werden.

Kommandostring: 1011110001001{CR}
Messwertstring: M1,+12345678.123456,mm_{CR}{LF}

Beispiel 2: Ein einzelner Messwert und die Kanalnummer eines Mitutyoyo Digimatic-Messmittels an Kanal 2 sollen ohne Fußtasterbetätigung eingelesen werden.

Kommandostring: 3021110001001{CR}
Messwertstring: M1,+12345678.123456,in_,_2{CR}{LF}

Identifikation

Gibt man im Kommandostring die Firmennummer mit 000 an, antwortet die Box mit ihrem Identifikationsstring.

Beispiel:

Kommandostring: 1011110000001{CR}
Messwertstring: A,BOBE M-Box16 V8.00{CR}{LF}

Identifikation mit Software-Reset. Gibt man im Kommandostring die Kanalnummer mit 00 an, antwortet die Box mit ihrem Identifikationsstring und wird in ihren Einschaltzustand zurückgestzt.

Beispiel:

Kommandostring: 1001110001001{CR}
Messwertstring: A,BOBE M-Box16 V8.00{CR}{LF}

Fehlermeldungen

Bei auftretenden Fehlern gibt die Box eine Fehlermeldung aus. Im Gegensatz zum EAI 488 Interface-System folgt auf die Fehlernummer kein Fehlertext. Eine genaue Lokalisierung des Fehlers ist jedoch auch aufgrund der Fehlernummer möglich.

Beispiel:
E,1101{CR}{LF} - Die Fehlernummer ist immer 4-stellig, führende Nullen werden nicht unterdrückt.

E,0xxx Formatfehler Fehlernummern unter 1000 geben einen Formatfehler an. Das Datenformat des angesprochenen Messmittels entspricht nicht der Spezifikation, die unter der mit xxx angegebenen Firmennummer erwartet wird.
E,1101 Falsche Eingabe Der eingegebene Kommandostring entspricht in Länge oder Parameter-Einstellung nicht der Definition.
E,1103 Nicht belegt Die Interface-Box kann Messmittel mit dieser Firmennummer nicht verarbeiten.
E,1104 Gerät fehlt Das im Kommandostring aufgerufene Messmittel ist nicht angeschlossen oder nicht eingeschaltet.
E,1110 Neue Eingabe Eine Messung ist abgebrochen worden (dieses ist keine Fehlermeldung im eigentlichen Sinn, sondern eine Bestätigungsmeldung).

Weitere Kommandostring-Beispiele

Nachfolgend noch ein paar Beispiele, wie Kommandostrings aussehen können und welche Auswirkungen sie auf die Messwertübertragung haben. Alle Beispiele können an einem PC mit Hilfe eines Terminal-Programms ausprobiert werden (z.B. Windows-Terminal), lediglich die Firmennummer muß natürlich an das angeschlossene Messmittel angepaßt werden.

1. Das Mitutoyo Digimatic-Messmittel (Firmennummer 001)an Kanal # 1 soll einmal eingelesen werden, ohne daß auf eine Fußtasterbetätigung gewartet werden soll:

Kommandostring: 1011110001001{CR}
Messwertstring: M1,+12345678.123456,mm_{CR}{LF}

2. Das Sylvac OptoRS232-Messmittel (Firmennummer 179) an Kanal # 4 soll 365 mal eingelesen werden, jeder einzelne Messwert soll durch Betätigen des Fußtasters ausgelöst werden. Ein Abbruch der Messreihe ist durch Senden eines Zeichens möglich.

Kommandostring: 1041112179365{CR}
Messwertstring: M1,+12345678.123456,mm_{CR}{LF}
  ... 365 mal
Abbruchzeichen: (z.B.): A
Abbruchmeldung: E,1110{CR}{LF}

3. Der Tesa DigitCal-Meschieber mit OptoRS232-Schnittstelle (Firmennummer 209) an Kanal # 7 soll endlos eingelesen werden, die Messreihe soll durch Betätigen des Fußtasters ausgelöst werden, der Messwert soll mit Messmittelkanal übertragen werden und bei Abbruch der Messreihe soll keine Abbruchmeldung ausgegeben werden.

Kommandostring: 3071111209000{CR}
Messwertstring: M1,+12345678.123456,mm_,_1{CR}{LF}
  ... wird bis zum Abbruch fortgesetzt
Abbruchzeichen: (z.B.): A
Abbruchmeldung: es erfolgt keine Abbruchmeldung

4. Messmittel # 1 und Messmittel # 2 sollen zusammen eingelesen werden, ohne auf eine Fußtasterbetätigung zu warten. Die Kanalnummer des Messmittels soll übertragen werden.

Kommandostring: 6011020001001{CR}
Messwertstring: M1,+12345678.123456,mm_,_1{CR}{LF}
M1,+12345678.123456,mm_,_2{CR}{LF}

5. Wenn ein Messmittel nicht innerhalb der standardmäßigen Reaktionszeit (maximal jedoch ca.2 Sekunden) antwortet, erzeugt das Interface eine Fehlermeldung E,1104. Bei manchen Messmitteln (wie z.B. Waagen) kann jedoch die Reaktionszeit wesentlich länger sein. Um auch solche Messmittel verarbeiten zu können lässt sich bei BOBE-Boxen ab Version 3.00 oben genannte Fehlererzeugung über die Datenrichtungsoption im Kommandostring abschalten. Die Box wartet, bis sich das Messmittel meldet oder bis sie über die Host-Schnittstelle ein Abbruchzeichen empfängt.Als Beispiel dient hier eine Sartorius-MC1-Waage an Kanal # 6:Eine Sartorius-Waage (Firmennummer 067) an Kanal # 6 soll eingelesen werden, ohne daß die Interface-Box das Einlesen abbricht, wenn sich die Waage nicht nach ca. 2 Sekunden meldet.

Kommandostring: 2061110067001{CR}
Messwertstring: M1,+12345678.123456,kg_{CR}{LF}