ich habe eine „SaltRelax pro“ (identisch mit Sugar Valley) via Modbus an IPS angebunden.
Leider gelingt es mir nicht andere Werte ausser Temp 0x0106 (Adresse 262) oder den PH-Wert 0x102 (Adresse 258) zu lesen. mit den Werte wie Relay, usw tue ich mich schwer.
Die Anleitung des Herstellers sagt:
0x010E wäre dann ja die Adresse 270. Wie bekomme ich nun den wert der einzelnen Relais heraus? (Bit 0,1,2)
Versuche mal diesen Code mit Deiner Integervariable aus der Modbus Instanz, Die Zuweisung Relais 1 bis 8 könnte auch direkt Deine Relaisvariablen werden, also nicht Relais1=1 oder 0 sondern setvalue(DeineVariable,1 oder 0) werden.
<?php
$WertRelais1bis8=GetValueInteger(41739); // Test Integer Variable
If ($WertRelais1bis8 & 1)
$Relais1=1;
else
$Relais1=0;
If ($WertRelais1bis8 & 2)
$Relais2=1;
else
$Relais2=0;
If ($WertRelais1bis8 & 4)
$Relais3=1;
else
$Relais3=0;
If ($WertRelais1bis8 & 8)
$Relais4=1;
else
$Relais4=0;
If ($WertRelais1bis8 & 16)
$Relais5=1;
else
$Relais5=0;
If ($WertRelais1bis8 & 32)
$Relais6=1;
else
$Relais6=0;
If ($WertRelais1bis8 & 64)
$Relais7=1;
else
$Relais7=0;
If ($WertRelais1bis8 & 128)
$Relais8=1;
else
$Relais8=0;
echo $WertRelais1bis8." ".$Relais1." ".$Relais2," ".$Relais3." ".$Relais4." ".$Relais5," ".$Relais6." ".$Relais7." ".$Relais8;
ich lese nun seit ein paar Tagen auch schon die Werte aus meiner Oxilife aus. Ich verwende zwar die Funktion „Holding Register“ auslesen, das funktioniert auch. Keine Ahnung was da der Unterschied ist.
Ich habe es aber noch nicht geschafft, das ich was an der Steuerung schalten kann. z.B. die Filterpumpe einschalten. Hast du das schon was gemacht?
Hallo,
ich versuche gerade meinen SugarValley auszulesen. Wenn ich am ganz rechten Modbus stecker anstecke, bekomme ich kein Signal. Am Modbus Stecker Display empfange ich Daten ohne Ende.
Leider kann ich hier über das Modbus Device nichts rausbekommen. ( Word16Bit, input register auslesen, Momentan Adresse 258)
Muss ich am Salzgenerator noch etwas umstellen? Leider finde ich hier nichts im Netz.
Grüße,
Stefan
Ok… glaub beim Gateway habe ich den Modus noch anders eingestellt. Kann erst heute Abend testen.
Was ich nicht verstehe, warum ich bei den 3 Bus Kontakten auf der Salzanlage im Debug Modus nichts bekomme ausser auf dem Display Port.
Hab jetzt alles so eingerichtet wie gezeigt. Leider empfange ich von dem Port (MODBUS GATEWAY) gar nichts… nur ( WAITING - TRANSMIT- WAIT_ERROR).
Muss ich in der Salzanlage noch was freischalten?
Wie gesagt, wenn ich auf dem Displayport bin, kommen Daten ohne Ende.
Es müsste ModBus RTU over TCP als Modus sein, da du (soweit ich das sehe) einen simplen Seriell auf TCP Wandler hast. Außerdem ist ModBus RTU eigentlich immer RS485 (und nicht RS232 wie du es gerade machst)
Hallo parsey,
ich habe nun auf ModBus RTU …gewechselt. Genau, das ist ein simpler Wandler. Dieser ist aber ein RS485 Modbus Wandler
Ich hab im Log jetzt andere Werte:
Ich muss auch ehrlich zugeben, das ich nicht weiss, wie ich einen Abfrage Befehl ausführe. Oder sollte die Salzanlage generell alle Werte liefern?
Ich habe ein Modbus Device angelegt. Hier bekomme ich aber nichts angezeigt.
Endlich funktioniert es.
Leider habe ich auf dem rechten Ausgang des Salzgenerators keine Antwort bekommen.
Bin nun auf den WiFi Port. Hier funktioniert alles.
Vielen Dank für die Hilfe!
Eine Frage habe ich noch. Kann ich dem Gerät eine ext. Temperatur übermitteln?
Ich will mir noch einen weiteren Temperaturfühler sparen.
Hallo zusammen,
ich versuche gerade Daten an die Sugar Valley zu senden, leider ohne Erfolg.
Ich bekomme immer ein „ILLEGAL_DATA_ADDRESS (Code: -32603)“
Hat das bei euch schon jemand am Laufen oder lest ihr alle nur Daten aus?
Ich habe schon mit allen möglichen Einstellungen getestet…
Hat jemand eine Idee für mich?
evtl. am Beispiel den Filtermodus zu setzen (0x0411, 1041)
ich habe den Fehler gefunden und wie immer saß er vor dem Rechner
Ich hatte ein neues ModBus Device angelegt und vergessen das richtige Gateway zu setzen.
Beim neu Erstellen wird immer automatisch ein Gateway gesetzt, leider in dem Fall das falsche.
Da würde eine Abfrage Sinn machen…
Ich habe mich jetzt dafür entschieden ein neues Device nur noch im Konfiguration anzulegen. Da passt es dann automatisch. Aber irgendwie ist das ModBus-Gelumpe doch sehr unübersichtlich wenn man jeden Wert mit einer eigenen Instanz abfragen muss.
Was ich bei ModBus immer wieder habe ist ein Register dass Stati Bitweise übergibt. Könnte man da nicht eine Maske einbauen und so ein Register in mehrere Variablen schreiben?
Das logische & im Skript ist zwar nicht schwer, aber eine ewige Schreiberei!
hat schon mal jemand versucht sie Solltemperatur zu setzen?
Ist die Adresse 1046 dez.
Ich komme da nicht zu recht.
Wenn ich 285 sende setze ich 30°, wenn ich 300 sende setze ich 39°