Generisches Widget

Das beschriebene Widget eignet sich für die Darstellung eines benutzerdefinierten Widgets in der App, das zusätzlich zu den spezifischen Widgets eine flexible Alternative darstellt. Die verschiedenen Konfigurationsmöglichkeiten werden im Folgenden beschrieben. In der Abbildung sind alle verfügbaren Features des Widgets aktiv.

Generisches Widget 1:

Das Widget wird als Unterstruktur in der Gesamtstruktur der SendData()-Methode übergeben. Für den Aufbau des Widgets werden bei der Deklaration der Struktur verschiedene SPS-Attribute verwendet.

{attribute 'iot.ReadOnly' := 'false'}
{attribute 'iot.DisplayName' := 'Name for Widget'}
{attribute 'iot.WidgetType' := 'General'}
{attribute 'iot.GeneralWidgetIcon' := 'Room'}
{attribute 'iot.GeneralWidgetColor' := '#F81894'}
{attribute 'iot.GeneralValue1SwitchVisible' := 'true'}
{attribute 'iot.GeneralValue2Visible' := 'true'}
{attribute 'iot.GeneralValue2SliderVisible' := 'true'}
{attribute 'iot.GeneralValue2SliderValuesVisible' := 'true'}
{attribute 'iot.GeneralValue2SliderButtonsVisible' := 'true'}
{attribute 'iot.GeneralValue2SliderButtonsInverted' := 'true'}
{attribute 'iot.GeneralValue3Visible' := 'true'}
{attribute 'iot.GeneralValue3SliderVisible' := 'true'}
{attribute 'iot.GeneralValue3SliderValuesVisible' := 'true'}
{attribute 'iot.GeneralValue3SliderButtonsVisible' := 'true'}
{attribute 'iot.GeneralValue3SliderButtonsInverted' := 'true'}
{attribute 'iot.GeneralMode1Visible' := 'true'}
{attribute 'iot.GeneralMode1Changeable' := 'true'}
{attribute 'iot.GeneralMode2Visible' := 'true'}
{attribute 'iot.GeneralMode2Changeable' := 'true'}
{attribute 'iot.GeneralMode3Visible' := 'true'}
{attribute 'iot.GeneralMode3Changeable' := 'true'}
stGeneralWidgetSample : ST_GeneralWidgetSample;

Attribut

Datentyp

Beschreibung

iot.ReadOnly

BOOL

Legt fest, ob das Widget auf Seite der App nur Lesezugriff (TRUE) oder auch zusätzlich Schreibzugriff in die SPS (FALSE) bekommt.

iot.DisplayName

STRING

Der Anzeigename des Widgets in der App. Dieser wird von sDisplayName überschrieben, sobald sDisplayName kein Leerstring ist.

iot.WidgetType

STRING

Typangabe für das Widget, in diesem Fall: General.

iot.GeneralWidgetIcon

STRING

Legt fest, welches Icon für das Widget verwendet wird. Die Liste der verfügbaren Icons ist unter Liste der verfügbaren Icons zu finden.

iot.GeneralWidgetColor

STRING

Legt fest, mit welcher Farbe Slider und Button angezeigt werden. Die Liste der verfügbaren Farben ist unter Liste der verfügbaren Farben zu finden. Die Farbe muss entweder in einem der im Anhang angegebenen Strings angegeben werden oder als Hex-Code mit „#“ vor dem Wert.

iot.GeneralValue1SwitchVisible

BOOL

Legt fest, ob der Button angezeigt wird (TRUE) oder nicht (FALSE).

iot.GeneralValue2Visible

BOOL

Legt fest, ob der linke der beiden Zahlenwerte sichtbar ist (TRUE) oder nicht (FALSE).

iot.GeneralValue2SliderVisible

BOOL

Legt fest, ob der obere der beiden Slider sichtbar ist (TRUE) oder nicht (FALSE).

iot.GeneralValue2SliderValuesVisible

BOOL

Legt fest, ob die Grenzen des oberen Sliders sichtbar sind (TRUE) oder nicht (FALSE).

iot.GeneralValue2SliderButtonsVisible

BOOL

Legt fest, ob die Buttons des oberen Sliders sichtbar sind (TRUE) oder nicht (FALSE).

iot.GeneralValue2SliderButtonsInverted

BOOL

Mit dieser Einstellung kann die Orientierung der Buttons des oberen Sliders umgedreht werden.

iot.GeneralValue3Visible

BOOL

Legt fest, ob der rechte der beiden Zahlenwerte sichtbar ist (TRUE) oder nicht (FALSE).

iot.GeneralValue3SliderVisible

BOOL

Legt fest, ob der untere der beiden Slider sichtbar ist (TRUE) oder nicht (FALSE).

iot.GeneralValue3SliderValuesVisible

BOOL

Legt fest, ob die Grenzen des unteren Sliders sichtbar sind (TRUE) oder nicht (FALSE).

iot.GeneralValue3SliderButtonsVisible

BOOL

Legt fest, ob die Buttons des unteren Sliders sichtbar sind (TRUE) oder nicht (FALSE).

iot.GeneralValue3SliderButtonsInverted

BOOL

Mit dieser Einstellung kann die Orientierung der Buttons des unteren Sliders umgedreht werden.

iot.GeneralMode1Visible

BOOL

Legt fest, ob der erste Modus angezeigt wird (TRUE) oder nicht (FALSE).

iot.GeneralMode1Changeable

BOOL

Legt fest, ob der erste Modus einstellbar ist (TRUE) oder nicht (FALSE).

iot.GeneralMode2Visible

BOOL

Legt fest, ob der zweite Modus angezeigt wird (TRUE) oder nicht (FALSE).

iot.GeneralMode2Changeable

BOOL

Legt fest, ob der zweite Modus einstellbar ist (TRUE) oder nicht (FALSE).

iot.GeneralMode3Visible

BOOL

Legt fest, ob der dritte Modus angezeigt wird (TRUE) oder nicht (FALSE).

iot.GeneralMode3Changeable

BOOL

Legt fest, ob der dritte Modus einstellbar ist (TRUE) oder nicht (FALSE).

TYPE ST_GeneralWidgetSample :
STRUCT
    sDisplayName    : STRING := '';
    bValue1         : BOOL := FALSE;
    {attribute 'iot.Unit' := '%'}
    {attribute 'iot.MinValue' := '0'}
    {attribute 'iot.MaxValue' := '100'}
    nValue2         : INT;
    nValue2Request  : INT;
    bValue2Up       : BOOL;
    bValue2Down     : BOOL;
    {attribute 'iot.Unit' := '%'}
    {attribute 'iot.MinValue' := '0'}
    {attribute 'iot.MaxValue' := '100'}
    nValue3         : INT;
    nValue3Request  : INT;
    bValue3Up       : BOOL;
    bValue3Down     : BOOL;
    sMode1          : STRING := 'Automatic';
    aModes1         : ARRAY[0..1] OF STRING := ['Manual', 'Automatic'];
    sMode2          : STRING := 'Automatic';
    aModes2         : ARRAY[0..2] OF STRING := ['Manual', 'Automatic', 'Next Mode'];
    sMode3          : STRING := 'Automatic';
    aModes3         : ARRAY[0..1] OF STRING := ['Manual', 'Automatic'];
END_STRUCT
END_TYPE

Attribut

Datentyp

Beschreibung

Abbildung im Widget

sDisplayName

STRING

Legt den Anzeigenamen des Widgets fest und überschreibt das SPS-Attribut 'iot.DisplayName'.

Anzeigetext des Widgets.

bValue1

BOOL

Schaltet das Widget an (TRUE) oder aus (FALSE).

Kippschalter rechts oben.

iot.Unit

STRING

Einheit des ersten Wertes.

Einheit hinter dem ersten Zahlenwert.

iot.MinValue

INT

Untere Grenze des ersten Wertes.

Auf der linken Seite unter dem oberen Slider.

iot.MaxValue

INT

Obere Grenze des ersten Wertes.

Auf der rechten Seite unter dem oberen Slider.

nValue2

INT

Erster Wert.

Anzeige im linken Zahlenwert und zusätzlich Abbildung in der Füllung des oberen Sliders.

nValue2Request

INT

Anfragewert für den ersten Wert.

Der Wert, auf den der obere Slider bewegt wird.

nValue2Up

BOOL

Einer der Buttons für den oberen Slider.

Auf der linken Seite des oberen Sliders.

nValue2Down

BOOL

Einer der Buttons für den oberen Slider.

Auf der rechten Seite des oberen Sliders.

iot.Unit

STRING

Einheit des zweiten Wertes.

Einheit hinter dem zweiten Zahlenwert.

iot.MinValue

INT

Untere Grenze des zweiten Wertes.

Auf der linken Seite unter dem unteren Slider.

iot.MaxValue

INT

Obere Grenze des zweiten Wertes.

Auf der rechten Seite unter dem unteren Slider.

nValue3

INT

Zweiter Wert.

Anzeige im rechten Zahlenwert und zusätzlich Abbildung in der Füllung des unteren Sliders.

nValue3Request

INT

Anfragewert für den zweiten Wert.

Der Wert, auf den der untere Slider bewegt wird.

nValue3Up

BOOL

Einer der Buttons für den unteren Slider.

Auf der linken Seite des unteren Sliders.

nValue3Down

BOOL

Einer der Buttons für den unteren Slider.

Auf der rechten Seite des unteren Sliders.

sMode1

STRING

Erster Modus.

Der aktuell angezeigte erste Modus.

aModes1

ARRAY [0..n] OF STRING

Array der verschiedenen durch den Benutzer einstellbaren Modi für den ersten Modus.

Durch Drücken auf den aktuellen Modus können die einstellbaren Modi eingeblendet werden.

sMode2

STRING

Zweiter Modus.

Der aktuell angezeigte zweite Modus.

aModes2

ARRAY [0..n] OF STRING

Array der verschiedenen durch den Benutzer einstellbaren Modi für den zweiten Modus.

Durch Drücken auf den aktuellen Modus können die einstellbaren Modi eingeblendet werden.

sMode3

STRING

Dritter Modus.

Der aktuell angezeigte dritte Modus.

aModes3

ARRAY [0..n] OF STRING

Array der verschiedenen durch den Benutzer einstellbaren Modi für den dritten Modus.

Durch Drücken auf den aktuellen Modus können die einstellbaren Modi eingeblendet werden.