List-Box

Der Baustein steuert eine List-Box in einer HMI, aus der ein Anwender ein Element auswählen kann.

bShow dient dem Anzeigen bzw. dem Verstecken der List-Box. Mit bEnable wird sie aktiviert bzw. gesperrt. Die Eingänge bSelTrig und iSelIdx dienen der Auswahl eines Listenelements. Liegt an bSelTrig ein HIGH-Signal an, so definiert iSelIdx das markierte Element. Mit einer LOW-HIGH-Flanke an bUp bzw. bDown wird die Liste seitenweise auf- bzw. abwärts gescrollt. An den Ausgängen bUpEnab bzw. bDwEnab wird durch HIGH signalisiert, dass das Scrollen in die entsprechende Richtung möglich ist.

Die Eingänge iBINVec, iBIPVec, iTIdVec, sTextVec und iDatVec werden zum Anlegen neuer oder Ändern existierender Listenelemente verwendet. Das erste Element jedes angeschlossenen Vektors an den genannten Anschlüssen definiert die Eigenschaften des ersten Listenelements. Mit dem zweiten Vektorelement wird das zweite Listenelement konfiguriert usw. Der Vektor am Eingang iBINVec enthält die Ressourcen-IDs für die Bitmaps, die in nicht ausgewählten Listenelementen angezeigt werden. Entsprechend wird an iBIPVec ein Vektor mit den Bitmap-Ressourcen-IDs für die Darstellung ausgewählter Elemente angeschlossen. Den Anschlüssen iTIdVec und sTextVec werden Vektoren zur Beschriftung der Elemente übergeben, und der Vektor an iDatVec enthält die den Elementen zugeordneten Daten.

Bei einem HIGH-Signal an bTrig werden die Einstellungen in den Vektoren übernommen und die Einstellungen existierender Listenelemente geändert bzw. neue hinzugefügt. Die Anzahl der Elemente müssen für alle angeschlossenen Vektoren gleich sein! Bei der Beschriftung haben Ressourcentexte Vorrang gegenüber Klartexten bzw. Kombinationen von Daten und Klartexten, d.h. wurde für ein Element eine Ressourcen-ID angegeben und ist sie verschieden von "nicht definiert“, so wird der Ressourcentext angezeigt. Mit iLang wird die Sprache der verwendeten Bitmap- und Text-Ressourcen festgelegt.

Über lBGClr wird die Hintergrundfarbe der Gesamtliste, über lPBgC und IPTC die Hintergrund- und Textfarbe des ausgewählten Elements und über lNPBgC und lNPTC die Hintergrund- und Textfarbe aller nicht ausgewählten Elemente bestimmt. Bei 8 Bit Farbtiefe werden Paletten-Indizes (0-255) und bei 24 Bit Farbtiefe BGR-Werte (Blau-Grün-Rot) erwartet. Sie werden z.B. von den Farb-Parameter-Bausteinen ab Bibliotheksversion 7.0 bereitgestellt.

Am Ausgang iPosX wird der Index des markierten Elements ausgegeben. Wenn kein Element markiert ist, erscheint -1. An den Ausgängen sDatVal und sTxtVal werden die Daten des markierten Elements bereitgestellt. Die Ausgabe der Daten ist auf 17 Zeichen begrenzt.

bEdge wird für einen Zyklus auf HIGH gesetzt, wenn eine Auswahl an der List-Box getätigt wurde.

HMI-Objekt

Das HMI-Objekt zeigt eine vertikale Liste mit Einzelelementauswahl an. Jedem Element können zwei Bitmaps für die Zustände "markiert“ und "nicht markiert“ sowie ein Text zugeordnet werden.

Wird eine Schriftart mit Anti-Aliasing verwendet, so werden neben der Vordergrundfarbe noch mehrere Abstufungen bis zur Hintergrundfarbe eingesetzt, um eine Kantenglättung bei der Textausgabe zu erzielen. Sollte das hierdurch entstehende Durchschimmern der Hintergrundfarbe beim Übereinanderzeichnen von Bitmaps und Texten stören, empfiehlt sich der Wechsel der Hintergrundfarbe oder eine Schriftart ohne Anti-Aliasing.

Parameter

Über das Kontextmenü des Bausteins wird der Maskendesigner als Parameterdialog aufrufen. Durch Neuanlegen oder Auswählen wird dem Baustein ein HMI-Objekt vom Typ „List Box (unicode)“ zugeordnet. Mit der Check-Box in der linken unteren Ecke kann zwischen globaler und instanziierbarer Zuordnung umgeschaltet werden.

Voreinstellungen für das HMI-Objekt werden im zugehörenden Dialog, der nach „Weitere Einstellungen …“ erscheint, vorgenommen. Zwischen den beiden Ansichten im Dialog kann mit den links oben befindlichen Reitern gewechselt werden.

In der Ansicht "Allgemein“ werden die globalen Einstellungen für das HMI-Objekt und alle Listenelemente angegeben. Dazu gehören der Rahmen und die Hintergrundfarbe der List-Box sowie der Defaultwert für die Sprache und die Schriftart für die Textausgaben. Markierten und nicht markierten Elementen können unterschiedliche Hintergrundfarben zugeordnet werden. Bei der Textfarbe wird zusätzlich unterschieden, ob die List-Box aktiviert oder gesperrt ist. Die Vorgabewerte für die Ausrichtung der Bitmaps und Texte sowie für die Anzeige von Klartexten und Daten dienen der einheitlichen Konfiguration aller im HMI-Objekt definierten Elemente. Sie werden außerdem herangezogen, wenn über einen Funktionsbaustein noch weitere Elemente eingefügt werden. Die Höhe der Elemente wird in Pixel festgelegt. Nach dem Markieren der Checkbox "Höhe des Objekts anpassen“ wird die Darstellung der List-Box so weit verkürzt, dass die Höhe des Anzeigebereichs ein Vielfaches der Höhe der Elemente ist. Mit einer weiteren Checkbox kann die List-Box gesperrt werden.

In der zweiten Ansicht werden die definierten Elemente aufgelistet. Über das Kontextmenü werden neue Elemente eingefügt und vorhandene bearbeitet, gelöscht, markiert und verschoben.

Zum Bearbeiten der Elemente wird ein eigener Dialog verwendet. Mit der "Element-ID“ wird der mit 0 beginnende Index des Listenelements festgelegt. Weiterhin können das Element markiert und Bitmaps für die Zustände "markiert“ und "normal" (also nicht markiert) sowie ein Text und ein Daten-String zugeordnet werden. Als Beschriftung können ein Ressourcentext, ein Klartext oder eine Kombination aus Daten und Klartext dienen. Bei Auswahl eines Ressourcentexts hat dieser Vorrang. Nur bei der Einstellung "nicht definiert“ wird der Klartext oder eine Kombination aus Daten und Klartext angezeigt. Umfang und Reihenfolge der Klartextausgabe werden unter "Anzeige“ festgelegt. Die Einstellungen für die Ausrichtung und Anzeige der Texte und Bitmaps können für jedes Listenelement individuell vorgenommen werden. Durch Verwendung des Defaultwerts "Listen-Einstellung“ werden die globalen Vorgabewerte verwendet, sodass alle Elemente einheitlich formatiert sind.

Signale

Name I/O Typ(en) Funktion
sTxtVec I TEXT Klartext-Vektor zur Beschriftung der Elemente
iTIdVec I WORD Text-Ressourcen-Vektor (ID) zur Beschriftung der Elemente
iDatVec I WORD Daten-Vektor für die Elemente
iBIPVec I WORD Bitmap-Ressourcen-Vektor (ID) für ausgewählte Elemente
iBINVec I WORD Bitmap-Ressourcen-Vektor (ID) für nicht ausgewählte Elemente
iSelIdx I WORD Index des auszuwählenden Elements
bSelTrig I BIT Auswahl entsprechend iSelIdx
bUp I BIT Aufwärts Scrollen
bDown I BIT Abwärts Scrollen
bShow I BIT List-Box ein-/ausblenden
bEnable I BIT Aktivieren/Sperren
iLang I WORD Sprach-Ressource (ID)
bTrig I BIT Übernahme der Elementdefinitionen
lBGClr I LONG Hintergrundfarbe der List-Box
lPBgC I LONG Grundfarbe des ausgewählten Elements
lPTC I LONG Textfarbe des ausgewählten Elements
lNPBgC I LONG Grundfarbe des nicht ausgewählten Elements
lNPTC I LONG Textfarbe des nicht ausgewählten Elements
iPosIdx O WORD Index des markierten Elements
sDatVal O TEXT Datentext des markierten Elements
sTxtVal O TEXT (Zusatz-)Text des markierten Elements
bEdge O BIT Anzeige einer Auswahl
bUpEnab O BIT Status für Aufwärts-Scrollen
bDwEnab O BIT Status für Abwärts-Scrollen

Hinweis: Sind die Eingänge nicht beschaltet, wird das Objekt mit den im Maskendesigner eingestellten Defaultwerten angezeigt. Ansonsten überlagert ein anliegendes Signal immer eine entsprechende Einstellung im Parameterdialog.

Visualisierung

Die Zuordnung des HMI-Objekts wird im Baustein in den Textfeldern farblich angezeigt. Ein gelblicher Hintergrund kennzeichnet eine globale Zuordnung. Bei instanziierbarer Zuordnung ist der Hintergrund weiß und bei fehlender bzw. fehlerhafter Zuordnung rot.

Bemerkungen

Der Index der Elemente beginnt immer mit 0.

Die Anzahl der Elemente muss bei allen angeschlossenen Vektoren gleich sein!

Es müssen beide Eingänge bSelTrig und iSelIdx beschaltet oder unbeschaltet sein.

Die Eingänge bUp, bDown und die Ausgänge bUpEnab, bDwnEnab müssen alle beschaltet oder unbeschaltet sein.