UVR1611 ueber IPS steuern - geht das ???

Hallo Daniel,

fopen und fgets sind zwei PHP Befehle, mit denen eine URL oder eine Datei geöffnet und eingelesen wird. In etwa so:

$handle = fopen ("", "r");
while (!feof($handle)) {
    $result .= fgets($handle, 4096);
}
fclose ($handle);

Du kannst aber genausogut den WWWReader von IPS benutzen. Entscheidend ist, dass der Request beim Bootloader ankommt. Dann wird er im besten Fall in das entsprechnede CAN-Bus Kommando übersetzt und an die UVR übermittelt.

Hallo Robert,

wollte nur mal wissen, wie das mit den zwei Befehlen geht. :smiley:

Fakt ist wohl, dass der Bootloader den Request zur UVR irgendwie verhunzt. Naja…werd noch ein bischen basteln, vielleicht krieg ichs noch irgendwie hin… :cool:

greetz Daniel

so…

hab jetzt eine Lösung gefunden wo die Werteübergabe funktioniert.

Im groben funktioniert sie so:

  1. Skript Werteübergabe starten
  2. Datenübertragung über Socket anhalten
  3. Socket auf geschlossen überprüfen ggf. schliessen
  4. CAN Knoten überprüfen ggf. setzen
  5. Wert schreiben
  6. Wert überprüfen
  7. diverse Meldungen ausgeben.
  8. Datenübertragung über Socket freigeben
  9. freuen :smiley:

Funktioniert soweit, NUR:

Ich habe zwischen den einzelnen Funktionen sehr lange Pausezeiten mit IPS_Sleep oder Testweise auch mit sleep eingebaut, um den Bootloader nicht wieder durcheinander zu bringen.

Starte ich jetzt das Skript z.B. aus der Visualisierung ist da für die Zeit der Bearbeitung des Skripts mal überhaupt nix mehr los. -> nix reagiert/kann weder was anwählen, noch ändern sich die Werte. In der Konsole läuft alles normal.

Wo liegt hier das Problem?

greetz Daniel

Moin,

hab einen WWWReader und dafür einen TextParser der mir Variablen extrahiert.

Jetzt wollt ich den Timer des Readers deaktivieren, und die URL mittels Skript aktualisieren -> WWWReader_RetrievePage()

…nur, bei diesem Aufruf empfängt er zwar im Debug Fenster des Readers Daten, allerdings leitet er die nicht zum Parser weiter.

Verwende ich den Befehl WWWReader_UpdatePage() aktualisiert er alle Werte inkl. die des Parsers, aber mit der alten URL (URL wird von mir mittels Skript geändert).

Hab ich da was übersehen?

greetz Daniel

wow - kaum ist man 1 1/2 Jahre auf Abwegen schon hat sich das Thema verselbständigt…und andere haben eine Lösung gebastelt. :slight_smile:
vielen Dank - werd ich mal ausprobieren.

Ist dazu die V2 nötig?
dort seh ich in der Doku keine UVR1611 mehr…

Hallo nkarl,

ich bin nicht der Experte und hab bislang nur eine ERfahrung mit 4 CAN-Bus vernetzten UVR1611-Reglern und dabei keine Anbindung über Ethernet etc. an den PC sondern nur über den DL-Ausgang (A14) und D-Logg-Modul. Ich habe unterschieliche Versionen der Regler im Einsatz und nur der neueste (glaub 2.28) liefert mir auf diesem Weg auch Daten aus den anderen Reglern. Das funktioniert über die frei programmierbaren Netzwerkaus- und -eingänge (begrenzt auf glaub 16 Werte).

Zu Thema CAN Bus Werte auslesen:

z.Z. unter IPS 2.1 geht die Anbindung / das Auslesen der BL-NET nur über den DL Bus und nicht mit CAN.
Aber über die Einrichtung einer 2. Imaginären UVR 1611 in IPS und dem entsprechenden Mapping der Netzwerkeingänge bei der UVR (andere CAN Bus Komponenten) kann man diese CAN Bus Komponenten in IPS Einlesen (dies funktioniert z.B. bei mir mit einem I/O 44 Modul).

Schreiben von Werten / Eingängen der UVR 1611:
Hier habe ich nach wie vor Schwierigkeiten über den WW Reader Eingänge oder andere Parameter zu verändern.
Hat hier jemand unter 2.1 funktionierende Skripte anhand derer ich meine Eigenen (bisher nicht erfolgreichen) Überlegungen noch einmal überprüfen könnte?

Danke
Bernd

Hallo Bernd,

welchen Vorteil bietet denn das Can-Bus-Logging?
Da die Wärmezählerstände nicht übergeben werden, habe ich bislang nur Nachteile ausmachen können…

Ansonsten muss man beim Zugriff auf den Bootloader lediglich darauf achten, dass er exklusiv erfolgt. Der interne Webserber des BL kommt bei parallelen Zugriffen durcheinander. Das reine Auslesen des Datensatzes geht noch, aber wenn man über das Webfrontend des BL Veränderungen an der UVR vornimmt, sind keine parallelen Verbindungen möglich.

Bei meiner Anlage setze ich bei IPS-initiierten Schaltvorgängen eine boolsche Variable die das Abfragen des Datensatzes unterbindet. Seitdem habe ich keinen einzigen Hänger mehr gehabt. Und um Winsol mache ich einen grossen Bogen…