Seite 1 von 1

Lichtsensor in WebUI bzw. HPCL unterschiedlich ?

Verfasst: 16.07.2017, 10:00
von kbn66
Hallo zusammen,
der Lichtsensor (HM-Sen-Li-O) macht mir immer noch Kopfzerbrechen ;-(

Im WebUI setzt man eine Lichtschwelle, z.B. 100Lux, um Aktoren einzuschalten. Wenn das Programm als "bei Änderung ausführen" aktiviert ist, passiert das nur einmal beim Unterschreiten der Schwelle, so soll es sein. Per Zeitplan werden dieselben um 23:00 Uhr wieder ausgeschaltet, und Ruhe ist.

Dasselbe Vorhaben unter HPCL* gesteuert reagiert dagegen anders, wenn ich hier "bei Änderung ausführen" anhake, geht nach 23:00 Uhr das Licht in kurzen Abständen immer wieder an. Die Version "ausführen bei Empfang" ändert hier natürlich auch nichts, es wiederholt sich immer wieder.

Wie wäre hier die richtige Einstellung? Ausführungsinterval verlängern bis "bei Tageswechsel"? oder den Bereich einschränken, z.B. 90 - 110 ? Die Bedingung "Uhrzeit kleiner 23:00 Uhr" zuzufügen, bringt m.E. nichts, dann ginge die Runde um 0:01 Uhr erneut los.
---
* vor Einsatz der HPCL Steuerung habe ich alle Programme/Verknüpfungen in WebUI gelöscht, von hier sollte also nichts "von Geisterhand" gesteuert werden.

Re: Lichtsensor in WebUI bzw. HPCL unterschiedlich ?

Verfasst: 16.07.2017, 10:32
von Familienvater
Hi,

HPCL ist "logisch", wird das Objekt-Makro auf Empfang getriggert, wird es jedesmal getriggert, wenn ein Wert Empfangen wird, wird es auf Änderung getriggert, dann wird es nur getriggert, wenn sich der Wert gegenüber dem letzten Wert geändert hat, unabhängig davon, was im eigentlichen Code des Objekts steht.

Steht im Code jetzt einfach nur:

Code: Alles auswählen

Wenn Helligkeit < 100 dann
  Lampe einschalten
endewenn
dann macht HPCL das einzig logische, bei jedem Empfangenen Wert kleiner 100 wird das Licht eingeschaltet. (Das was die WebUI macht, ist für mich nicht Logisch, weil sich das "nur einmal beim Durchgang von größer nach kleiner" erst nach leidvoller Erfahrung rausstellt).
HPCL hat seine eigene "Schutzlogik", und sendet den Einschalt-Befehl an die Lampe nicht, wenn die Lampe bereits an ist, trotz würde es für mich zum guten Programmierstil gehören, das ganze so zu machen:

Code: Alles auswählen

Wenn Helligkeit < 100 und Lampe ausgeschaltet dann
  Lampe einschalten
endewenn
Wenn Du aber willst, das es ähnlich wie in der WebUI nur einmal beim Durchgang passiert, dann musst Du mit einer Hilfsvariablen arbeiten, und am besten auch noch soetwas wie eine Hysterese vorsehen:

Code: Alles auswählen

// lngVar ist vom Typ Zahl, Startwert 0
Wenn Helligkeit < 100 und Lampe ausgeschaltet und lngVar=0 dann
  lngVar:=1
  Lampe einschalten
endewenn

wenn Helligkeit > 110 und lngVar=1 dann
  lngVar:=0
endewenn
Damit merkt sich HPCL, das der Wert unter 100 gefallen ist, und verhindert so lange, das die Lampe eingeschaltet wird, bis der Helligkeitswert min. 110 überschreitet (die 10 Unterschied in der Helligkeit ist die Hysterese, damit eine leichte Änderung der Helligkeit um 100 herum nicht dauernd zum Anschalten führt).

Der Familienvater

Re: Lichtsensor in WebUI bzw. HPCL unterschiedlich ?

Verfasst: 16.07.2017, 11:26
von kbn66
Danke Familienvater,
jetzt weiß ich zumindest, daß "logisch" nicht unbedingt "einfach" bedeutet, eher das Gegenteil.

Da lob ich mir die Funktion, die dem Sensor innerhalb der WebUI zugewiesen wird, und wenn ich mich recht erinnere, kann man auch dort die Option "bei Empfang- " oder "bei Änderung ausführen", anwählen. Letztgenannte Option ist für den genannten Anwendungsfall die einzig logische :roll:

Die HPCL-Software behandelt den Lichtsensor bisher ja mehr als stiefmütterlich, die zugehörige Dokumentation verschweigt ihn gar komplett, warum auch immer. Da besteht m.E. dringend Handlungsbedarf im Hause Contronics.

Re: Lichtsensor in WebUI bzw. HPCL unterschiedlich ?

Verfasst: 16.07.2017, 12:36
von Daimler
HI,
kbn66 hat geschrieben:Die HPCL-Software behandelt den Lichtsensor bisher ja mehr als stiefmütterlich, die zugehörige Dokumentation verschweigt ihn gar komplett, warum auch immer.
Was sollte denn hier 'besonders' erwähnt werden?
Ist ein Sensor, der seine Werte übermittelt - nicht mehr und nicht weniger.

Und mit Logik ist es wohl (anscheinend) ähnlich dem Geschmack. :cry:

Re: Lichtsensor in WebUI bzw. HPCL unterschiedlich ?

Verfasst: 16.07.2017, 13:43
von kbn66
Daimler hat geschrieben: Was sollte denn hier 'besonders' erwähnt werden?
Ist ein Sensor, der seine Werte übermittelt - nicht mehr und nicht weniger.
.. Danke, das hilft mir weiter .. :roll:

Re: Lichtsensor in WebUI bzw. HPCL unterschiedlich ?

Verfasst: 16.07.2017, 18:27
von Daimler
Dachte ich mir, da Vadder dir ja bereits das komplette Makro in 2 Varianten geliefert hatte. 8)