Button-List

Der Baustein referenziert auf eine Button-Liste in einer HMI, in der bis zu 16 Tasten als ein Objekt zusammen geschaltet werden können.

bShow dient dem Anzeigen bzw. Verstecken der Button-List. 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. Über den Eingang lBGClr wird die Hintergrundfarbe des Gesamtobjektes bestimmt. Für die ausgewählten Tasten kann die Hintergrundfarbe über lPBgC und die Textfarbe über IPTC definiert werden. Für die nicht ausgewählten Tasten wird die Hintergrundfarbe durch lNPBgC und die Textfarbe durch lNPTC festgelegt. Mit 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. Der Ausgang bEdge zeigt an, das eine Taste gedrückt wurde.

HMI-Objekt

Das HMI-Objekt stellt eine Liste von bis zu 16 Buttons in vertikaler oder horizontaler Lage bereit. 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.

Parameter

Im Parameterdialog wird dem Funktionsbaustein ein HMI-Objekt vom Typ "Button List (unicode)" zugeordnet.

Über das Kontextmenü des Bausteines lässt sich der Maskendesigner als Parameterdialog aufrufen. Durch den Maskendesigner wird die Zuordnung zwischen Baustein und Objekt vorgenommen. Über den Maskendesigner können dann die Voreinstellungen für das HMI-Objekt vorgenommen werden.

Im Parameterdialog des Objektes ist in zwei Ansichten aufgeteilt. Zwischen den Ansichten wird mit den Reitern in der linken oberen Ecke gewechselt.

In der Ansicht "Allgemein“ werden die globalen Einstellungen für die Button-Liste angegeben. Als erstes kann hier die Ausrichtung (vertikal oder horizontal) festgelegt werden. Es kann bestimmt werden, ob eine Mehrfachauswahl erlaubt ist oder nicht. 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 und für die Ausrichtung darzustellender Bitmaps vorgegeben werden. Die Höhe der Elemente in Pixel kann festgelegt 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. Desweiteren 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 eigener 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 allgemeine 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 Taste gedrückt
IPTC I LONG Textfarbe Taste gedrückt
INPBgC I LONG Hintergrundfarbe Taste nicht gedrückt
INPTC I LONG Textfarbe Taste nicht gedrückt
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 Anzeige der gedrückten Buttons als Bit-Maske
bEdge O BIT Anzeige einer 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 Masken-Designer eingestellten Defaultwerten angezeigt. Ansonsten überlagert ein anliegendes Signal immer eine entsprechende Einstellung im Parameterdialog.

Visualisierung

Es wird farblich hervorgehoben, ob dem Funktionsbaustein ein Objekt zugeordnet ist oder nicht.

Bemerkungen

Um aus dem LONG Wert der Bit-Maske die einzelnen Bits auszulesen, ist dieser Wert über einen Konverter in einen BIT-Vektor umzuwandeln.

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: