Daten über Com-Port einlesen

Hallo

Ich habe ein Gerät welches PH-Wert, Leitwert, Redox, Temperatur über entsprechende Sonden auswerten kann und per serielle Schnittstelle ausgibt.
Ich habe auch die Kommunikationsparameter von diesen Gerät:

Grundsätzliches :

  • Übertragung RS232 : 8N1, Baudrate 9600
  • Beginn der Antwort 20 bis 200ms nach Pollingende
  • kein Hardwareflowcontroll, kein Softwareflowcontroll
    Aufbau Polling :
    Kennung Adresse Ana_aus Reset TZ Rel1 Rel2 Rel3 CS
    P 00 XX X X X X X
    Kennung : immer „P“
    Adresse : 16bit, vorerst ohne Funktion
    Ana_aus : 16bit signed integer Analogausgang
    Reset TZ : 8bit, Bit 7 Reset Tropfenzähler 1, Bit 6 Reset Tropfenzähler 2
    Rel1 : 8bit, Bit 7 setzt Relais 1, restliche Bit Reserve
    Rel2 : 8bit, Bit 7 setzt Relais 2, restliche Bit Reserve
    Rel3 : 8bit, Bit 7 setzt Relais 3, restliche Bit Reserve
    CS : Checksumme bildet sich wie folgt :
    Oder- Verknüpfung aller Byte inclusive Kennung, exclusice CS
    Beispiel (Dezimal) : 800/056/0255101151
    Aufbau Antwort :
    Kennung Ser_nr TZ1 TZ2 Temp1 Temp2 Leitfähigkeit PH Redox Strom Raumt. NiCrNi CS
    A XXXX XX XX XX XX XXXX XX XX XX XX XX X
    Kennung : immer „A“
    Ser_nr : 32bit unsigned long Seriennummer (Defaulteinstellung : 12345678)
    TZ1 : 16bit unsigned integer Zähler Tropfenzähler 1 (Impulsanzahl)
    TZ2 : 16bit unsigned integer Zähler Tropfenzähler 2 (Impulsanzahl)
    Temp1 : 16bit signed integer Analogwert Temperatur 1 (in 0,1°C Schritten)
    Temp2 : 16bit signed integer Analogwert Temperatur 2 (in 0,1°C Schritten)
    Leitfähigkeit : 32bit unsigned long Analogwert Leitfähigkeit (in 0,01μS Schritten)
    PH : 16bit signed integer Analogwert PH-Wert (in mV Schritten)
    Redox : 16bit signed integer Analogwert REDOX (in mV Schritten)
    Strom : 16bit signed integer Analogwert Strom (in mA Schritten)
    Raumt.: 16bit signed integer Raumtemperatur (in 0,1°C Schritten)
    NiCrNi : 16bit signed integer Analogwert NiCrNi-Eingang (in 1°C Schritten)
    CS : Checksumme bildet sich wie folgt :
    Oder- Verknüpfung aller Byte inclusive Kennung, exclusice CS
    Beispiel (Dezimal) : 65
    56/57/65/660/10/10/560/20/200/180/200/0*107

Ist es möglich, mit diesen Gerät die Daten per Com-Port in IPS einzulesen?

MfG
computerpap

Sieht auf den ersten Blick nicht schlecht aus.

Das einzige was ich komisch finde… Wieso kann (muss) man bei einer Abfrage Daten für Ausgänge/Resets angeben… Wir wollen doch etwas Abfragen… und nicht jedesmal den Analogausgang betätigen?

paresy

Damit ist aber der Telegrammaufbau immer gleich. Dadurch ist die Implementierung auf der Empfangsseite einfacher. Reset erfolgt nur, wenn das richtige Bit auch gesetzt ist.

Gruß
Erich

Was ist aber mit Ana_aus und Rel1-3? Dort muss man ja etwas angeben. Ein Wert für gleichlassen gibt es anscheinend nicht.

paresy

Hallo Paresy

Danke für die schnelle Antwort.
Ich habe das Gerät heute bei ebay ersteigert. Auf der Homepage des Herstellers, sind als einziges die Kommunikationsparameter zu finden. Ich werd mich mal mit dem Hersteller in Verbindung setzen, ob es da noch ein Handbuch gibt, wo man noch detailiertere Angaben bekommt. Ich würd gerne das Gerät für mein in Bau befindliches Meerwasseraquarium nutzen. Ich wollte erstmal wissen ob es überhaupt zu einer Kommunikation zwischen dem Teil und IPS kommen kann, aber nach deiner Aussage, sieht es ja gar nicht so schlecht aus.
Wenn es dann in Richtung Scripterstellung geht, werde ich sicher noch mal eure Hilfe brauchen. Wer sich dieses teil mal anschauen will, muß auf www.schneid.at gehen, anschließend auf Computer und zuletzt auf Science-Box.

MfG
computerpap

Hallo computerpap,

hochinteressant, das werde ich wohl gleich bestellen muessen. Danach suche ich schon eine Ewigkeit fuer meine Mehrwasseraquarien…

Welche Sensoren wirst Du anschliessen?

Gruss Torro

Hallo Torro

Ich hab das gute Stück für 49,99€ + Versand ersteigert, vielleicht findest du das Teil ja nochmal bei ebay. Sonden sind keine dazu, aber die hab ich mir auch relativ günstig ersteigert.

Gruß
computerpap

Hallo paresy,

das sind zum einen Relais-Ausgaenge und ein 0…10 Volt Analogausgang zum Steuern von T5 Leuchten.

Gruss Torro

Leitfähigkeit, PH-Wert, und Redox wollte ich damit messen und dann teilweise über IPS auch steuernd eingreifen. Temperatur werde ich über einen R2400 von Gossen-Metrawatt regeln.

Für die Beleuchtung habe ich Dank der Hilfe hier im Forum ein Script für ein Velemann-Board zusammengeschrieben, und an den 0-5V Analogausgang noch eine „Mini-OP-Verstärkung“ rangehängt, sodass ich von 0-10V steuern kann. Im Versuch hats problemlos geklappt.

Hallo,

das war mit schon klar, ich meinte die konkreten Sensoren, also von welchem Hersteller…

Gruss Torro

Hallo,

ok, dafuer nehme ich das 1-Wire FL-Modul (0…10Volt Ausgang). Du koenntest natuerlich auch den 0…10 Volt Analogausgang der ScienceBox nutzen.

Gruss Torro

Weder auf der Verpackung noch auf den Sonden steht ein Hersteller, die PH-Sonde gabs für 16,00. Ich hab die versuchsweise an meinen PH-Controller (BL981411) von meinem „normalen“ Aquarium angeschlossen und die Werte stimmten fast. Nach einer Kalibrierung war alles bestens.

Hallo
Habe nun endlich mal Zeit gehabt, die Science-Box an meinen Computer anzuschließen. Doch egal was ich mache, ich bekomme keine Daten über den Comport rein. Weiß jemand, wie das Teil mit IPS kommunizieren kann. Comport und Registervariable sind angelegt. Mit den Kommunikationsparametern komm ich nicht klar. Wie müßte den das Script aussehen, um den PH-Wert einzulesen?
Bin für jede Hilfe dankbar.

MfG
computerpap

Kommunikationsparameter
… die lauten wie?

MST

PS: http://www.science-box.com/

ZUGRIFF NICHT ERLAUBT

Die angeforderte Seite darf nicht angezeigt werden.

schau mal bitte auf die erste Seite

… wer lesen kann ist klar im Vorteil :rolleyes:

Trotzdem: Was meinst Du mit: „nicht klar kommen“?
Die Parameter lauten: 8N1, Baudrate 9600

MST

Da hab ich mich etwas falsch ausgedrückt, die Kommunikationsparameter sind klar (8N1,9600), ich weiß nicht, was ich an Code schreiben muß, um z.B. den PH-Wert auszulesen.
Verrsucht hab ich folgendes:


$wert1 = GetValueString("ScienceBox");
echo $wert1

Aber da kommen keine Daten rein.

falsch ausgedrückt
… etwas …

So weit ich es überflogen habe, verlangt das Gerät ein „Polling Telegramm“.
Von selber tut es leider nichts. Ohne Hardware ist es schwer Dir aus der Ferne zu helfen.

MST

Wenn ich das Teil dir zuschicken würde, könnte man dann zu einer Lösung von meinen Problem kommen?