Wunsch: blinkende Objekte in der Visualisierung

Bugreports und Updatewünsche an die Firma contronics
Keine allgemeinen Fragen!

Moderator: Co-Administratoren

Antworten
helmut1963
Beiträge: 200
Registriert: 12.09.2011, 09:42
Danksagung erhalten: 1 Mal

Wunsch: blinkende Objekte in der Visualisierung

Beitrag von helmut1963 » 21.09.2013, 13:05

Hallo,

einen dringenden Wunsch hätte ich für zukünftige Versionen von Homeputer:

Die Möglichkeit, daß Anzeigeobjekte (Statusmeldungen) nach Setzen eines Häkchens
in den Optionen bei Bedarf (z.B. im Zustand "ein") blinkend dargestellt werden können, entweder Blinkfrequenz frei einstellbar oder zumindest langsam, mittel, schnell...

Vielleicht läßt sich das ja realisieren :D

Gruß, Helmut

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Wunsch: blinkende Objekte in der Visualisierung

Beitrag von buempi » 21.09.2013, 13:16

Hallo Helmut

Über die Funktionen SICHTBAR() und UNSICHTBAR() könnte man das selbst realisieren; allerdings nur in 1-Sekunden-Schritten.

Viele Grüsse
Bümpi

Familienvater
Beiträge: 7151
Registriert: 31.12.2006, 15:18
System: Alternative CCU (auf Basis OCCU)
Wohnort: Rhein-Main
Danksagung erhalten: 34 Mal

Re: Wunsch: blinkende Objekte in der Visualisierung

Beitrag von Familienvater » 21.09.2013, 18:03

Moin,

wieso nur in 1 Sekunden Schritten?

Das WARTE akzeptiert auch Komma-Zahlen, damit lässt sich auch ein Bruchteil einer Sekunde warten. Ob da die Visu mitkommt weiß ich natürlich nicht.


Der Familienvater

Gesendet von meinem Nexus 7 mit Tapatalk 4

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Wunsch: blinkende Objekte in der Visualisierung

Beitrag von buempi » 21.09.2013, 18:09

Familienvater hat geschrieben:Das WARTE akzeptiert auch Komma-Zahlen
... das war einmal (in Homeputer für die FHZ)!

Viele Grüsse
Bümpi

Edit: Über die Intervall-Einstellungen liessen sich auch kürzere Blinkzeiten realisieren, wird aber bei kurzen Abständen unregelmässig.

Familienvater
Beiträge: 7151
Registriert: 31.12.2006, 15:18
System: Alternative CCU (auf Basis OCCU)
Wohnort: Rhein-Main
Danksagung erhalten: 34 Mal

Re: Wunsch: blinkende Objekte in der Visualisierung

Beitrag von Familienvater » 21.09.2013, 23:01

Hi,

das funktioniert auch in HPCL, ich hatte das mal mit einem 4-fach Funk-Hutschienen-Aktor getestet, der vor dem Einbau auf dem "Labortisch" lag, und ein bisschen mit Einschaltdauer, ON_TIME etc. getestet:

Code: Alles auswählen

// sngZahl ist Zahl, Startwert 0,00

sngZahl:=4,5
setvalue(JEQ0646560_4,"ON_TIME",sngZahl)
JEQ0646560_4 einschalten

sngZahl:=0,5
warte sngZahl

sngZahl:=4,0
setvalue(JEQ0646560_3,"ON_TIME",sngZahl)
JEQ0646560_3 einschalten

sngZahl:=0,5
warte sngZahl

sngZahl:=3,5
setvalue(JEQ0646560_2,"ON_TIME",sngZahl)
JEQ0646560_2 einschalten

sngZahl:=0,5
warte sngZahl

sngZahl:=3,0
setvalue(JEQ0646560_1,"ON_TIME",sngZahl)
JEQ0646560_1 einschalten

Frißt der Compiler ohne Murren, und ich meine, das war ein wachsender LED-Balken, der dann ziemlich gleichzeitig ausging. Kann ich aber zur Zeit leider nicht mehr so einfach testen, aber der Code-Brocken ist noch aus dem Test-Projekt.

Der Familienvater

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Wunsch: blinkende Objekte in der Visualisierung

Beitrag von buempi » 22.09.2013, 03:13

Hallo Familienvater

Es funktioniert definitiv NICHT mit Homeputer CL. "warte 0,5" bewirkt lediglich ein kurzes Aufblitzen, wenn man es zwischen das Ein- und Ausschalten eines virtuellen Aktors setzt. Genau gleich wie "warte 0,0", aber niemals eine Wartezeit von einer halben Sekunde. Es nützt auch nichts, die Konstante zuerst in eine Variable zu verpacken.

Viele Grüsse
Bümpi

Familienvater
Beiträge: 7151
Registriert: 31.12.2006, 15:18
System: Alternative CCU (auf Basis OCCU)
Wohnort: Rhein-Main
Danksagung erhalten: 34 Mal

Re: Wunsch: blinkende Objekte in der Visualisierung

Beitrag von Familienvater » 22.09.2013, 12:11

Hallo Bümpi,

OK, Du hast recht, ein Warte mit einer Kommazahl funktioniert nicht wie von mir gedacht:

Code: Alles auswählen


sngZahl:=-0,1
lngAussen:=11

Schleife2:
lngZaehler:=lngAnzahl
sngZahl:=sngZahl+0,1

// ins Syslog schreiben
syslog.strMessage := "Starte Schleife mit "+lngZaehler+" Durchläufen, Wartezeit ist "+sngZahl+" sek."
aufrufen syslog
startuhr(zeitStempel)

Schleife1:
// Ausführung für die angegebene Zeit unterbrechen
warte sngZahl
lngZaehler:=lngZaehler - 1
wenn lngZaehler > 0 dann
  // springe an die Marke:
  gehezu Schleife1
endewenn

lngZaehler:=stoppuhr(zeitStempel)
sngTemp:=lngZaehler / lngAnzahl
// ins Syslog schreiben
syslog.strMessage := "Schleife mit "+lngAnzahl+"x "+sngZahl+" sek. Wartezeit ist fertig, Dauer "+lngZaehler+", Zeit pro Warte "+sngTemp+" sek"
aufrufen syslog

lngAussen:=lngAussen - 1

wenn lngAussen > 0 dann
  // springe an die Marke:
  gehezu Schleife2
endewenn

gibt folgendes aus (CCU1 mit ExecEnigne 2.50)

Code: Alles auswählen

22.09.2013 11:59:32 ccudev: Starte Schleife mit 100 Durchlaeufen, Wartezeit ist 0.00 sek.
22.09.2013 11:59:43 ccudev: Schleife mit 100x 0.00 sek. Wartezeit ist fertig, Dauer 11 sek, Zeit pro Warte 0.110 sek
22.09.2013 11:59:44 ccudev: Starte Schleife mit 100 Durchlaeufen, Wartezeit ist 0.10 sek.
22.09.2013 11:59:55 ccudev: Schleife mit 100x 0.10 sek. Wartezeit ist fertig, Dauer 11 sek, Zeit pro Warte 0.110 sek
22.09.2013 11:59:55 ccudev: Starte Schleife mit 100 Durchlaeufen, Wartezeit ist 0.20 sek.
22.09.2013 12:00:06 ccudev: Schleife mit 100x 0.20 sek. Wartezeit ist fertig, Dauer 11 sek, Zeit pro Warte 0.110 sek
22.09.2013 12:00:06 ccudev: Starte Schleife mit 100 Durchlaeufen, Wartezeit ist 0.30 sek.
22.09.2013 12:00:17 ccudev: Schleife mit 100x 0.30 sek. Wartezeit ist fertig, Dauer 11 sek, Zeit pro Warte 0.110 sek
22.09.2013 12:00:17 ccudev: Starte Schleife mit 100 Durchlaeufen, Wartezeit ist 0.40 sek.
22.09.2013 12:00:29 ccudev: Schleife mit 100x 0.40 sek. Wartezeit ist fertig, Dauer 12 sek, Zeit pro Warte 0.120 sek
22.09.2013 12:00:29 ccudev: Starte Schleife mit 100 Durchlaeufen, Wartezeit ist 0.50 sek.
22.09.2013 12:00:40 ccudev: Schleife mit 100x 0.50 sek. Wartezeit ist fertig, Dauer 11 sek, Zeit pro Warte 0.110 sek
22.09.2013 12:00:40 ccudev: Starte Schleife mit 100 Durchlaeufen, Wartezeit ist 0.60 sek.
22.09.2013 12:00:51 ccudev: Schleife mit 100x 0.60 sek. Wartezeit ist fertig, Dauer 11 sek, Zeit pro Warte 0.110 sek
22.09.2013 12:00:51 ccudev: Starte Schleife mit 100 Durchlaeufen, Wartezeit ist 0.70 sek.
22.09.2013 12:01:02 ccudev: Schleife mit 100x 0.70 sek. Wartezeit ist fertig, Dauer 11 sek, Zeit pro Warte 0.110 sek
22.09.2013 12:01:02 ccudev: Starte Schleife mit 100 Durchlaeufen, Wartezeit ist 0.80 sek.
22.09.2013 12:01:14 ccudev: Schleife mit 100x 0.80 sek. Wartezeit ist fertig, Dauer 12 sek, Zeit pro Warte 0.120 sek
22.09.2013 12:01:14 ccudev: Starte Schleife mit 100 Durchlaeufen, Wartezeit ist 0.90 sek.
22.09.2013 12:01:25 ccudev: Schleife mit 100x 0.90 sek. Wartezeit ist fertig, Dauer 11 sek, Zeit pro Warte 0.110 sek
22.09.2013 12:01:25 ccudev: Starte Schleife mit 100 Durchlaeufen, Wartezeit ist 1.00 sek.
22.09.2013 12:01:36 ccudev: Schleife mit 100x 1.00 sek. Wartezeit ist fertig, Dauer 11 sek, Zeit pro Warte 0.110 sek
22.09.2013 12:01:36 ccudev: Starte Schleife mit 100 Durchlaeufen, Wartezeit ist 1.10 sek.
22.09.2013 12:03:16 ccudev: Schleife mit 100x 1.10 sek. Wartezeit ist fertig, Dauer 100 sek, Zeit pro Warte 1.000 sek
Und damit sieht man auch mal wieder, das mit Kommazahlen zu arbeiten noch böser ins Auge gehen kann, als man erwartet, weil auch 1,00 Sekunden wohl Intern noch 0,99999997 oder so ist, und damit wird auch nicht gewartet.
ABER:
Es ist möglich, mit der leeren (0) Warte-Anweisung in diesem Beispiel ca. 0,1 Sekunde zu warten, wobei man das dann wahrscheinlich im Einzelfall prüfen muss, weil das abhängig davon sein kann, wieviel andere mit sehr kurzem Intervall startende Makros noch laufen.

Wieder was gelernt,

der Familienvater

Antworten

Zurück zu „homeputer CL - Bugs & Updatewünsche“