24h-Zeitbalken in Flexible

Onkel Dagobert

Level-3
Beiträge
5.816
Reaktionspunkte
1.444
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Forum,

ein Kunde möchte Schaltzeiten über einen 24h-Zyklus in Form eines Balkens dargestellt haben. Es soll für jede Viertelstunde ein Schaltzeitpaar in Minuten realisiert werden. Für die Anzeige im Balken genügt es jedoch, das Symbol für die gesamte Viertelstunde andersfarbig dar zu stellen. Die Schaltzeiten müssen natürlich auch irgendwie editierbar sein. Ich denke schon seit Wochen darüber nach, wie ich das umsetzen kann. Vielleicht hat jemand eine Idee? Das ganze soll für etwa 10 Gerätschaften untereinander in einem Bild dargestellt werden. Die Auflösung des Monitors beträgt 1240x1080.


Gruß, Onkel
 
Es soll für jede Viertelstunde ein Schaltzeitpaar in Minuten realisiert werden.
Hallo Dagobert,

Für jede Viertelstunde Eingabezeit in Minuten, das sind 96 Ein- und Ausschaltzeiten pro Tag, das ist doch gar nicht mehr übersichtlich. :confused:

Also ich würde Deinem Kunden vorschlagen, entweder:
Vier Nocken pro Stunde in Minuten z.B.:
Nocke 1 Ein bei 18:01 aus bei 18:32
Nocke 2 Ein bei 18:35 aus bei 18:55

oder

die 24 Stunden fest in Viertelstundenraster teilen (wie so eine Baumarktzeitschaltuhr mit Raster) siehe Beispiel Anhang:

Ich hoffe das war eine kleine Anregung:
 

Anhänge

  • Beispiel.jpg
    Beispiel.jpg
    199,8 KB · Aufrufe: 64
Zuviel Werbung?
-> Hier kostenlos registrieren
Also ich würde Schaltuhr und Visu-Darstellung erstmal trennen.

Schaltuhr kann man schön in ein paar Arrays und Strukturen aufteilen.

Eine Viertelstundenstruktur z.B. so:
iMinuteEin : INT
iMinuteAus : INT
xEinAktiv : BOOL
xAusAktiv : BOOL

Die Stundenstruktur dann
ARRAY[0..3] of Viertelstundenstruktur

Tagesschaltuhr dann:
ARRAY[0..23] of Stundenstruktur

Als Eingabemöglichkeit dann eine Auswahlliste o.Ä. in der die Stunde ausgewählt werden kann (00:00 - 00:59, 1:00 - 1:59, ...).

Die Stundendaten kann man dann über Adressmultiplexen in Flexible schön versorgen. Bei einem Panel mit der Auflösung sind bestimmt Skripte möglich, geht aber auch ohne.


Für die Visu Balkendarstellung dann ein Array:
xIntervallAktiv : ARRAY[0..96] of BOOL

In der SPS müsste dann ein Programm laufen, welches dieses Array den eingestellten Daten in der Schaltuhr entsprechend beschreibt.

In WinCCflexible dann einen Bildbaustein mit 96 Kästchen. Da man in Bildbausteinen keine Arrays verwenden kann, nimmt man als Parameter 6 Integervariablen mit 16 Bits. In den Animationen der Kästchen kann man ja aus einem Integer die einzelnen Bits auswählen.

Den Bildbaustein dann 10 mal eintragen und mit den passenden Adressen beschalten.
Das Ganze hält sich dann vom Projektierungsaufwand in Grenzen.
 

Anhänge

  • Eingabemaske.png
    Eingabemaske.png
    4,7 KB · Aufrufe: 48
  • Bildbaustein.png
    Bildbaustein.png
    31,8 KB · Aufrufe: 48
leider kann man ein feld (text, schaltfläche, etc in der grösse nicht variabel gestalten (leider))

ich denke ich würde die sache in etwa so angehe.
ich würde für jede 15 min ein rechteck definieren.
in flex würde ich über ein bit das feld in der animation in zwei verschiedenen farben darstellen lassen.
d.h.
für 24h a 15m brauchst du 4*24 bit = 96 bit = 12byte
die var würde ich als array in der hmi definieren.
das ist für das erste feld etwas arbeitsintensiv. aber für die weiteren felder durch copy/paste ; globale änderung einfacher.
denke ich zumindest. da du nur die var ändern musst. weiss aber nicht genau ob das hierbei so geht. habs nicht getestet.

für die eingabe der ein/ausschaltzeit würde ich seperaten eingabefelder anlegen. also einschaltzeit stunde und minute. gleiches für ausschaltzeit.

die bits für sie amimation würde ich hier in der sps realisieren
 
Zurück
Oben