Die Messwerte werden jede Sekunde in folgendem Format ausgegeben:
ch1=415;ch2=411;ch3=1000;ch4=421;ch5=1000;ch6=1000;ch7=0;ch8=0;ch9=530;ch10=1000;ch11=998;ch12=999;ct1=27915;ct2=30937;ct3=1;ct4=34533;ct5=1;ct6=1;ct7=1;ct8=1;ct9=756;ct10=1;ct11=9619;ct12=5095;input=3892;output=0;iomask=0;ver=1.02;crc=16504
Die Kanäle ch1 bis ch12 stehen für das Tastverhältnis an den Messkanälen
(0 bis 1000 entsprechen dabei 0 bis 100% Tastverhältnis).
Ist ein Temperatursensor angeschlossen wird nach folgender einfacher
Formel die Temperatur ausgerechnet:
Temperatur in Grad Celsius = (Tastverhältnis-320)/4.7
Im Beispiel für ch1: (415-320)/4.7 = 20.2 Grad Celsius
Im Beispiel für ch4: (421-320)/4.7 = 21.5 Grad Celsius
An Kanal 2 ist im Beispiel ein Luftfeuchtesensor angeschlossen
(Kombisensor mit Temperatursensor an ch1).
Die Berechnung ist einfach, der Wert wird einfach durch 10 geteilt:
411/10 = 41.1% relative Luftfeuchte
Bei den Sensoren mit zwei Zuständen (z.B. Kontaktsensor, Bewegungsmelder, Rauchsensor) wird 0 oder 1000 ausgegeben.
Die mit ct1 bis ct12 bezeichneten Werte stehen für Zähler, die die
Zahl der Impulse an den Eingängen erfassen. Damit lassen sich z.B.
Durchflussmesser, Energiezähler und ähnliches auswerten. Maximal
können etwa 50 Impulse pro Sekunde erfasst werden.
'input' ist ein Wert der für den binären Zustand aller 12
Eingangskanäle steht (jedes Bit bezeichnet einen Kanal). Damit lässt sich schnell ein Überblick über
angeschlossene Kontakte oder ähnliches gewinnen.
'output' steht in gleicher Weise für die Ausgangskanäle.
Jeder Kanal kann einzeln als Ein- oder Ausgang konfiguriert werden.
Damit ist auch die Ansteuerung der Schaltmodule mit dem USB-Adapter
möglich.
'iomask' gibt an welcher Kanal Ein- oder Ausgang ist (jedes Bit
bezeichnet einen Kanal, Eingang=0, Ausgang=1)
'ver' gibt die Firmwareversion des Adapters an.
'crc' ist eine Prüfsumme, berechnet wird die 16-bit Summe aller ASCII Werte bis
einschliesslich 'crc='.
Der Adapter lässt sich mit folgenden Befehlen steuern:
'stop' unterbricht die regelmässige Ausgabe der Ergebnisse.
'run' setzt die regelmässige Ausgabe der Ergebnisse fort.
'resetcounter' setzt alle Zähler auf 0.
'output=' setzt die Ausgänge, die Angabe erfolgt dezimal (Beispiel: output=1234).
'iomask=' legt die Nutzung der Kanäle als Ein- oder Ausgang fest. Die Angabe erfolgt dezimal (Beispiel: iomask=1234).
Jeder Befehl wird mit einem Zeilenumbruch (0x0d) abgeschlossen.
Der virtuelle com-Port wird mit diesen Parametern eingerichtet: 9600bit/sec, 8bit, keine Parität, 1 Stopbit, keine Flusskontrolle.
Der Sensor lässt sich mit einem Terminalprogramm ansprechen, er kann aber auch direkt aus Scripten oder von der Kommandozeile aus abgefragt werden.
Die Beispiele des
USB-Sensors 30602 lassen sich entsprechend anpassen und verwenden.