Seite 1 von 1

Selbst entwickelte Hardware einbinden

Verfasst: Mittwoch 29. Oktober 2008, 15:08
von Ingo
ein hallo in das Forum,

Ich habe gerade Real View erhalten und möchte nun wissen, wie ich eigens entworfene Messtechnik an Realview anbinden kann. Genauer, ich möchte z.B. einen oder zwei 8 Kanal 12 Bit AD Wandler (die haben I²C) via ATmega und FT232 Chip an Realview anbinden. Wie muß ich das Softwareprotokoll für die Kanäle stricken, daß die Daten nicht ohne Sinn im Rechner landen. Irgendwie muß doch sicher vor dem Wert die Kanalnummer sowie die Anzahl der folgenden Datenbits kommen. Oder gibt Realview an die Messhardware Daten aus? Gibt es zu dem verlangten Datenformat irgendwo eine Dokumentation zum nachlesen?

Beste Grüße aus Thüringen
Ingo

Re: eigene Hardware einbinden

Verfasst: Mittwoch 29. Oktober 2008, 21:33
von Bedo
Hallo Ingo,

habe den MAX1238 (12 Kanäle, 12 bit, I2C, in BRD erhältlich, SMD) mit Profilab und einem I2C-Adapter über USB ausgelesen. Hat funktioniert, allerdings mit langen Lesezyklen für 12 Kanäle. Ob es mit Realview genauso funktioniert weiß ich leider nicht.

Bei Interesse einfach melden.

Gruß Bedo

Re: eigene Hardware einbinden

Verfasst: Donnerstag 30. Oktober 2008, 16:36
von Mike D
Hallo Ingo,
nicht RealView gibt das Format vor, sondern die Treiber von realView nutzen das Format der jeweiligen Hardware. Du müsstest also in der Hardwareliste von RealView gucken ob eins der Geräte mindestens deiner Kanalzahl und Schnittstelle entspricht (MODILBUS serai 8-12 ?). Wenn du von diesem Gerät das Protokoll rauskriegst müsstest du es mit dem ATmega nachbauen.
Ein andere Weg währe der Umweg über ProfiLab. Profilab und Realview können über TCP komunizieren. Der ATmega sendet ein von dir gewähltes Protokoll über RS232, Profilab emfängt es und sendet die werte per TCP an RealView.

diesr alte Thread hatte ein Ähnliche Thema.

Mike

Re: eigene Hardware einbinden

Verfasst: Freitag 31. Oktober 2008, 12:32
von abacom
Es gibt dazu ein sog. "User-Interface". Steht in der Anleitung:
Eigene Hardware
Eigene - meist µ-Controller basierte - Hardware kann als sogenanntes "User Interface" eingebunden werden. Dies geschieht entweder über eine reale serielle Schnittstelle (COM), oder auch über einen virtuellen COM-Port, der häufig durch den Treiber eines USB-Gerätes bereitgestellt wird. Übliche COM-Parameter für Baud, Datenbits, Parität und Stopbits sind einstellbar. Ein Hardware-Handshake findet nicht statt.

Die Datenübertragung an RealView erfolgt in einem lesbaren ASCII-Protokoll, das leicht mit Mikrocontrollern realisiert werden kann. Die Übertragung von z.B. drei Messkanälen könnte etwa so aussehen:

Programmbefehl im µC-Programm:
Print #1, CH1;"\";CH2;"\";CH3

Beispiel für die Ausgabe:
123\-1.234\1.23E-3
124\-1.235\1.24E-3
...

An diesem Pseudo-Programm erkannt man leicht den Aufbau des Protokolls:
Die numerischen Werte der zu übertragenen Kanäle sind als lesbarer ASCII-Text auf die Schnittstelle auszugeben.
Als Trennzeichen zwischen den Kanälen muss ein ein "\"-Zeichen (umgekehrter Schrägstrich; Backslash) verwendet werden.
Die Übertragung endet typischerweise mit der Zeichenkombination chr(13) chr(10).
Das Protokoll ist von uns fehlertolerant implementiert worden. So kann z.B. auch nur chr(13) oder nur chr(10) am Zeilenende stehen. Ebenso werden sowohl Komma und Punkt als Dezimalzeichen akzeptiert. Die Ausgabe vor- und nachstehender Zeichen, wie z.B. "I =-1,234 mA" liefert einen numerischen Zahlenwert von -1,234. Einheiten werden nicht verarbeitet. Voranstellung dürfen selbst keine numerischen Werte enthalten. So würde beispielsweise die Ausgabe von "Kanal 12 = 13.1 Volt" den numerischen Wert 12 statt 13,1 liefern!

Die Anzahl der erwarteten Kanäle ist einstellbar. Werden mehr oder weniger Kanäle als erwartet übertragen, so werden fehlende Kanäle auf Null gesetzt und überzählige Kanäle ignoriert. Das Protokoll arbeitet ohne Datenanforderung (Request). Es können also jederzeit mit einem einfachen PRINT-Befehl die gewünschten Kanaldaten an RealView übertragen werden.

Selbstverständlich sollte sein, dass die Übertragungsrate durch die verwendete Baudrate technisch zwangsläufig begrenzt ist, d.h. dass die Schnittstelle durch zu viele PRINT-Befehle "überrannt" werden kann. Die korrekte Übertragung kann ggf. leicht mit einem Terminal-Programm überprüft werden.

Re: eigene Hardware einbinden

Verfasst: Mittwoch 29. Januar 2014, 11:19
von abacom
Als Trennzeichen zwischen den Kanälen muss ein ein "\"-Zeichen (umgekehrter Schrägstrich; Backslash) verwendet werden.
Auf Kundenwunsch haben wir das Kanal-Trennzeichen mit dem Update von heute nun einstellbar gemacht.
Verwenden Sie nur eindeutige Trennzeichen, die sonst in der Übertragung nicht vorkommen.