(nur für bei bestimmten programmierbaren Terminals verfügbar)
Eigenschaften eines Bargraphen
Syntax eines Bargraphen in einer Backslash-Sequenz
Siehe auch:
Die hier beschriebene Bargraphen-Anzeigefunktion ist nur in bestimmten UPT-Varianten mit 16-Bit-Prozessor und Firmware ab August 2002 verfügbar.
Bargraphen können folgendermaßen aussehen:
(Abbildung aus einem 'Bargraph-Demo' für das alte
MKT-View mit monochromen Display, programs/cdb_tst1.ct )
Ein Bargraph wird durch bestimmte Eigenschaften (properties) charakterisiert, die auf der Registerkarte 'display line properties' des Programmiertools eingestellt werden können. Weitere Optionen können nach Klicken auf den "more"-Button in einem weiteren Fenster angezeigt werden (weil der Platz auf der unten gezeigten Registerkarte knapp wurde).
(Bargraph in den 'Eigenschaften eines Display-Elements' im Hauptfenster.
Durch den "Read/Write"-Zugriff und die Option "per Touch bedienbar"
wird aus diesem 'Balkendiagramm' ein interaktiver 'Schieberegler'.)
Allgemeine Eigenschaften wie x/y-Position, draw mode, usw sind im allgemeinen
Handbuch beschrieben. Sie beziehen sich auch auf normale Textanzeigen.
Eigenschaften wie 'Access'
(Zugriffsrechte: Schreib/Lesezugriff) und die Option 'operable via touchscreen'
('per Touch bedienbar') führen dazu, daß ein 'Bargraph' vom reinen Anzeige-Element
zum Bedienelement wird, d.h. z.B. wie ein Scrollbalken oder 'Schieber' verwendet werden kann.
Die spezifischen Eigenschaften sollten mit dem unten gezeigten Dialogfenster eingestellt werden. Dieses kann durch Doppelklick auf ein Balkendiagramm im graphischen Editor, oder auf den 'More'-Button auf der Registerkarte 'Bargraph' im Hauptfenster des Programmiertools geöffnet werden.
(Dialogfenster zum Konfigurieren der Eigenschaften eines Balkendiagramms)
pktime=100
setzt die Spitzenwert-Meß-Intervall
auf 10 Sekunden.pktime
nur im "page-enter"-Event
von Seite Null zu ändern.
Weil die meisten Terminals nur eine einfaches schwarz/weiß-Display haben, müssen unterschiedliche Füllmuster verwendet werden damit die verschiedenen Flächen innerhalb eines Balkendiagrams voneinander unterschieden werden können.
Ein Füllmuster wird als 16-Bit-Integerzahl (meistens hexadezimal) dargestellt. Die unteren 8 bit werden als 8-Pixel-Muster für alle GRADZAHLIGEN Bildschirmzeilen verwendet, die höherwertigen 8 bit für UNGRADZAHLIGE Zeilen. Dies kann für eine Vielzahl unterschiedlicher Füllmuster verwendet werden --- die meisten der 65536 möglichen Kombinationen sind allerdings wenig sinnvoll. Hier nur einige Füllmuster, erzeugt als "Demo" mit dem Programmiertool:
(Abbildung verschiedener Füllmuster für Bargraphen)
Wie bereits erwähnt sind die hexadezimal codierten Füllmuster Pixelmasken für monochrome Displays. Aus einiger Entfernung betrachtet, können sie als Ersatz für verschiedene Graustufen verwendet werden. Bei Farbdisplays sollten statt Füllmustern geeignete Farben verwendet werden, und nur die Füllmuster 0x0000 (-> Hintergrundfarbe) und 0xFFFF (-> Vordergrundfarbe).
(nur für Neugierige oder Fortgeschrittene ;-)
Intern wird jedes Balkendiagramm als Backslash-Sequenz codiert. Der in der Firmware enthaltene Display-Interpreter analysiert diese Sequenz als Teil des Format Strings in einer Displayzeilen-Definition (darum können Sie auch normalen Text vor der Bargraphen-Sequenz eingeben). Falls Sie es vorziehen, den "Quelltext" für eine Anzeigeseite per Texteditor zu schreiben statt ihn per Maus zusammenzuklicken, hier die Syntaxbeschreibung:
Syntax:
\bar(width, height, flags, ticks, filling_pattern, erase_pattern,
[scale_min, scale_max] )
Darin sind width,height,ticks,filling- und erasing pattern die schon erwähnten Eigenschaften des Bargraphen.
Der Parameter "flags" ist eine Bitkombination aus den Eigenschaften Orientierung, Frames, Skalen-Stil und Skalierungs-Info (zwei Bit pro Eigenschaft).
Der Skalenbereich (scale_min und scale_max) darf nur in der Backslash-Sequenz enthalten sein wenn die min/max-Werte NICHT aus der Variablendefinition übernommen werden sollen.
Seit 2009 sind die Höhe und Breite eines Anzeigeelements keine spezifischen Eigenschaften eines Bargraphen mehr, sondern eine Eigenschaft die (fast) alle Anzeige-Elemente aufweisen. Da das Programmiertool das Kompilationsdatum der Firmware kennt (oder kennen sollte), ist die passende Bargraph-Syntax dem Tool (wie hier beschrieben) bekannt. Das Tool erzeugt daher automatisch die für das Zielsystem passende Syntax automatisch (unter der Voraussetzung, daß das Firmware-Kompilationsdatum korrekt eingestellt wurde, bzw. bei der Übertragung aus dem Zielsystem ausgelesen werden konnte).
Die Angabe des Skalenbereiches als Teil der Bargraphen-Definition hat einen
Nachteil: Dadurch geht die "Universalität" einer Anzeigeseiten-Definition
verloren. Wenn Sie z.B. eine Anzeigeseite mit 8 horizontalen Balken für
Temperaturanzeigen im Bereich -50° ... +200° programmieren, und
wollen diese später "recyceln" um 8 Spannungen im Bereich 0..50 Volt
anzuzeigen, müssen Sie die in der Balkendefinition enthaltenen Skalenbereich
mühsam per Hand umdefinieren.
Besser ist es, hier Variablendefinitionen mit passend
definierten "min/max"-Werten einzusetzen und grundsätzlich die Option
"Scale Range from VAR DEF" in der Bargraph-Definition zu setzen.
Siehe main manual.