Button-List

Der Baustein steuert eine Button-Liste in einer HMI, in der bis zu 16 Tasten in einem Objekt zusammengefasst sind.

bShow dient dem Anzeigen bzw. Verstecken der Liste. Mit bEnable wird sie aktiviert bzw. gesperrt. Über den Eingang lInpBNM wird ein Wert angeschlossen, der als Bit-Maske interpretiert wird und die ausgewählten Tasten spezifiziert. Über den Eingang bTrigBNM wird die Auswahl auf die Liste angewendet.

Die Hintergrundfarbe des Gesamtobjektes wird am Eingang lBGClr geändert. Für die ausgewählten Tasten können die neue Hintergrundfarbe über lPBgC und die neue Textfarbe über IPTC angegeben werden. Für die nicht ausgewählten Tasten wird die Hintergrundfarbe durch lNPBgC und die Textfarbe durch lNPTC festgelegt. 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.

Über iLang wird die Sprache der verwendeten Bitmap- und Text-Ressourcen festgelegt.

Mit einer LOW-HIGH-Flanke an bLftUp und bRghDwn wird die Liste auf- und abwärts bzw. nach links und rechts gescrollt. An den Ausgängen bLUEnab bzw. bRDEnab wird durch HIGH signalisiert, dass das Scrollen in die entsprechende Richtung möglich ist.

Die gerade aktive Auswahl der gedrückten Tasten wird am Ausgang lBtnNmb als Bit-Maske bereit gestellt. Und der Ausgang bEdge zeigt an, dass eine Taste gedrückt wurde.

HMI-Objekt

Das HMI-Objekt stellt eine Liste von bis zu 16 Buttons in vertikaler oder horizontaler Richtung dar. Diese Liste kann entweder als Radio-Button (d.h. es ist nur eine Auswahl möglich) oder als Auswahlliste (d.h. es sind mehrere Auswahlen möglich) genutzt werden. Wenn die Liste der Tasten größer ist als das Gesamtobjekt, kann innerhalb der Liste gescrollt 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 Bitmap und Text 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 „Button List (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 die Button-Liste angegeben. Hier kann die Ausrichtung (vertikal oder horizontal) festgelegt und die Mehrfachauswahl ein- oder ausgeschaltet werden. Zudem kann die allgemeine Form der Darstellung (erhaben, vertieft, mit oder ohne Rahmen) ausgewählt werden. Es können die Defaultwerte für die Sprache und die Schriftart für die Textausgaben sowie für die Ausrichtung darzustellender Bitmaps vorgegeben werden. Die Höhe der Elemente in Pixel kann angegeben werden. Nach dem Markieren der Checkbox „Höhe des Objekts anpassen“ wird die Darstellung der Button-List so weit verkürzt, dass die Höhe des Anzeigebereichs ein Vielfaches der Höhe der Elemente ist. Bei einer horizontalen Liste wird in beiden Fällen auf die Breite referenziert. Mit einer weiteren Checkbox kann die Button-List komplett gesperrt werden. Des Weiteren können die verschiedenen Farben für den Hintergrund und die Tasten mit ihren verschiedenen Zuständen ausgewählt werden.

In der zweiten Ansicht werden die definierten Tasten aufgelistet. Über das Kontextmenü werden neue Tasten eingefügt und vorhandene bearbeitet, gelöscht, markiert und verschoben. Zum Bearbeiten der Tasten wird ein weiterer Dialog verwendet. Mit der „Tasten-ID“ wird der mit 0 beginnende Index des Listenelements festgelegt. Die einzelnen Tasten können als markiert gekennzeichnet werden. Für die verschiedenen Zustände der Tasten können Bitmaps ausgewählt werden. Als Beschriftung können ein Ressourcentext oder ein Klartext dienen. Zudem wird die Ausrichtung der Bitmaps und des Textes definiert. Durch Verwendung des Defaultwerts „Listen-Einstellung“ werden die globalen Vorgabewerte verwendet, sodass alle Elemente einheitlich formatiert sind.

.

Signale

Name I/O Typ(en) Funktion
lInpBNM I LONG Bit-Maske für die Vorgabe der gedrückten Tasten
lBGClr I LONG Hintergrundfarbe des Gesamtobjekts
IPBgC I LONG Hintergrundfarbe gedrückter Tasten
IPTC I LONG Textfarbe gedrückter Tasten
INPBgC I LONG Hintergrundfarbe nicht gedrückter Tasten
INPTC I LONG Textfarbe nicht gedrückter Tasten
bShow I BIT Ein-/Ausblenden
bEnable I BIT Aktivieren/Sperren
iLang I WORD Sprach-Ressource (ID)
bTriBNM I BIT Vorgabe übernehmen
bLftUp I BIT Scrollen nach links/oben
bRghDwn I BIT Scrollen nach rechts/unten
lBtnNmb O LONG Zustand der Buttons als Bit-Maske
bEdge O BIT Tastenbetätigung
bLUEnab O BIT Scrollen nach links/oben möglich
bRDEnab O BIT Scrollen nach rechts/unten möglich

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.

Beispiel

Das nachfolgende Beispiel zeigt eine Applikation, um eine typische Reiterfunktionalität umzusetzen. Als Arbeitsweise wurde der Radio-Button ausgewählt. An das HMI-Button-List-Objekt sind zwei HMI-Bitmap-Button-Objekte angeschlossen, um das Scrollen innerhalb des HMI-Button-List-Objektes zu ermöglichen. Vom Ausgang lBtnNmb wird die maskierte Auswahl der Buttonliste in einen Konverterbaustein übernommen. Dieser stellt einen Bit-Vektor zur Verfügung, der durch einen „Vektor zerlegen“-Baustein aufgeteilt wird. Damit kann über die Button-Liste eine von mehreren definierten Masken sichtbar geschaltet werden. Über die beiden zusätzlichen Button rechts und links können die Tasten der Button-List ins Bild gebracht werden, die gerade außerhalb des dargestellten Objektes liegen.

In der HMI kann das Ergebnis dann so aussehen: