Bilder¶
Konfiguration Bild¶

Schlüsselname |
Eingabe |
Bedeutung |
---|---|---|
Optimierter Bild-Export |
Standardwert: ja |
Wenn aktiv werden nur referenzierte, d.h. im Projekt benutzte Bitmaps exportiert. |
Übersicht der Bildtypen in PROCON-WEB¶
In PROCON-WEB gibt es vier verschiedene Arten von Bildern:
Bildklassen: Bildklassen sind als Vorlage für die späteren Bilder zu betrachten. Bildklassen können in drei verschiedenen Ausprägungen erstellt werden: Bild, Kindbild und Navigationselemente.
Bilder Unter Bilder befinden sich die Instanzen der Bilder und Kindbilder
Start-/Layoutbild Ein Start- bzw. Layout-Bild lässt sich nur indirekt definieren. Ein Bild ist ein Startbild, wenn es in der Navigation als Startbild referenziert ist. Ein Bild ist ein Layout-Bild, wenn es mindestens einen Navigations-Container enthält.
Navigationselemente Navigationselemente sind Bilder die für die Navigation benutzt werden. Diese Unterscheidung spiegelt sich auch im Projektbaum wieder
Klasse-Instanz-Konzept bei Bildern¶
In PROCON-WEB gilt auch für Bilder das Klasse-Instanz-Konzept. Bildklassen sind wie eine Vorlage anzusehen, die für alle der Klasse zugehörigen Instanzen gilt. Somit können globale Änderungen, die für mehrere Bilder nötig sind, schnell durchgeführt werden, da nur an einer Stelle geändert werden muss. Die Änderungen in der Bildklasse werden automatisch durch das System in allen Bildinstanzen geändert, wodurch Projektierungszeit eingespart und Fehler vermieden werden können.
Erstellen von Bildklassen¶
Um eine neue Bildklasse erstellen zu können, klicken Sie mit der rechten Maustaste auf den Unterpunkt „Bildklassen“ aus „Oberfläche“ und dann auf „Neue Bildklasse“.

Anschließend öffnet sich der Klassen-Dialog um sofort Änderungen an der Klasse vorzunehmen.
Erstellen von Bildinstanzen¶
Um eine neue Bildinstanz erstellen zu können, klicken Sie mit der rechten Maustaste auf „Bildklassen“ und wählen „Neues Bild von Bildklasse“ aus.

Anschließend öffnet sich der Instanz-Dialog um sofort Änderungen an der Instanz vorzunehmen. In den nachfolgenden Tabellen sind die möglichen Attributoptionen dargestellt.
Attribut |
Klasse |
Instanzwert |
Bedeutung |
---|---|---|---|
Modus |
Bild |
Einfaches Prozessbild |
|
Modus |
Kindbild |
Kindbilder (Detailfenster) sind keine eigenständigen Fenster, sondern gehören zu einem anderen Bild. Die Kindfenster werden beim Schließen des übergeordneten Bildes ebenfalls geschlossen. |
|
Modus |
Navigations- element |
Bild als Navi- gationselemt für die spätere Navigation nutzen |
|
Bildnummer |
0-65535 |
Bildnummer ändern/setzen |
|
Hintergrund- farbe |
Farbauswahl |
Hintergrund- farbe des Bildes Standardfarbe kann in den Optionen eingestellt werden |
|
Anzeigenametyp |
Auswahlliste zur Festlegung der Titelzeile |
1. Text (wird nichts eingegeben, wird der Bildname angezeigt) |
|
2. Prozessvariable: Wert |
|||
3. Prozessvariable: Anzeigename |
|||
4. Prozessvariable: Anzeigekommentar |
|||
5. Strukutrelement: Wert |
|||
6. Strukutrelement: Anzeigename |
|||
7. Strukutrelement: Anzeigekommentar |
|||
|
|||
Anzeigename |
Abhängig von der Wahl des Anzeigetyps kann hier der Name eingegeben bzw. die entsprechende Variable hinterlegt werden |
||
Hintergrundbild |
Auswahl Hintergrund- bitmap |
Grafik die im Hintergrund des Bildes angezeigt wird |
|
Rahmentyp |
Typ |
Kein Rand |
Bild wird im Laufzeitsystem ohne Rahmen dargestellt |
Einfacher Rand |
Bild wird im Laufzeitsystem mit Linie als Rahmen dargestellt |
||
Verschieben per Geste |
Ja / Nein |
Derzeit nicht implementiert |
|
Immer im Vordergrund |
Ja / Nein |
Hiermit können Hauptfenster immer im Vordergrund auf dem Desktop liegen. |
|
Titelzeile |
Ja / Nein |
Das Bild erhält eine Titelzeile. |
|
Anlagenstruktur |
Struktur- element |
Zuweisen eines Strukturele- ments der An- lagenstruktur als Filteroption |
|
Skript |
Skriptauswahl |
Zuweisen eines zyklischen Bildskriptes |
|
Hilfe ID |
ID für Hilfe |
Zuweisen einer eindeutigen Hilfe ID, welche dann im HelpControl aufgerufen werden kann. |
|
Größe |
X / Y |
X / Y-Wert |
Ausdehnung in X/Y-Richtung ohne Titelzeile |
Fensterursprung |
X / Y |
X / Y-Wert |
X/Y-Position des Bildes relativ zur linken oberen Bildschirmecke |
Fenstergröße |
Min X / Min Y |
Min X / Min Y-Wert |
Minimaler X/Y-Wert für Fenstergröße |
Der Arbeitsbereich¶
Die Oberfläche in „Bilder“ ist in drei Bereiche aufgeteilt. Erstellt und zu einer Oberfläche montiert werden die Symbolobjekte im Arbeitsbereich.

Sind mehrere Bilder gleichzeitig geöffnet, kann über die Tabs umgeschaltet werden.

Für eine bessere Übersicht können mehrere Bilder auch nebeneinander dargestellt werden, indem der Tab des Bildes mit der linken Maustaste angewählt wird und bei gehaltener Maustaste links oder rechts in den Bildbereich gezogen wird. Diese sogenannten Tab-Gruppen sind auch über das Kontextmenü des Tabs als horizontale und vertikale Tab-Gruppe realisierbar.
Die Toolbox¶
Die Toolbox dient zum Verwalten aller Objekte und Controls im PROCON-WEB-Projekt. Unter „Elemente“ sind alle Klassen aufgelistet, die im Projekt verwendet werden.

Mit dem Filter „Name“ wird nach den Objektnamen gefiltert, der Filter „Name“ ist ein „Enthält“-Filter. Mit dem Filter „Typ“ werden die Objekttypen ausgewählt, die in der Toolbox angezeigt werden sollen, beispielsweise AO‘s und Zahlenfelder. Ist ein Bibliotheksprojekt geöffnet, wird neben den Tabs Elemente und Layer ein zusätzlicher Tab „Bibliothek“ sichtbar.

Unter „Bibliothek“ sind alle Objektklassen des Bibliothekprojektes aufgelistet und können wie alle anderen Klassen mit Drag´n Drop im Bild instanziiert werden.
In der Toolbox ist Mehrfachselektion der einzelnen Objekte möglich. Damit kann beispielsweise das Projekt bereinigt werden, indem alle Klassen selektiert und gelöscht werden. Alle referenzierten Objekte werden nicht gelöscht.
Bei der Konvertierung von Projekten aus 3er oder 4er Systemen werden viele Duplikate erzeugt. Diese können über das Kontextmenü zusammengeführt werden. Hierbei müssen alle Werte identisch sein um als solche erkannt zu werden.
Die Zusammenführung erfolgt nicht automatisch sondern wird als Vorschlag der veränderbar ist, erst in einem Dialog aufgezeigt. Für statische (gezeichnete) Symbole, Container oder PictureAreas ist diese Funktion jedoch nicht verfügbar.
Das Eigenschaftsfenster¶
Das Eigenschaftsfenster stellt die Eigenschaften der Symbole und Bilder übersichtlich dar. Wird ein Symbol selektiert, erkennt der Benutzer sofort, welche Eigenschaften dieses Symbol besitzt. Des Weiteren existieren, ähnlich wie im Prozessvariableneditor, Filter- und Sortiermöglichkeiten, um die benötigten Einträge schneller zu erreichen.

Über die Tabs „Standard“, „Prozessvariablen“, „Instanzwerte“ und „Automationsobjekte“ wird die Ansicht im Fenster umgeschaltet. Bei der Ansicht Standard werden alle Eingabeparameter und Eigenschaften in einer Baumstruktur angezeigt.
Unter „Prozessvariablen“ werden nur die Objekte in einer Liste angezeigt, deren Attribute Prozessvariablen zugeordnet werden können. Bei der Zuweisung der Variablen steht die Möglichkeit zur Verfügung, Mehrfachänderungen durchzuführen.
In der Ansicht „Instanzwerte“ sind alle Attribute der selektierten Objekte enthalten, denen Instanzwerte zugewiesen werden können. In der Ansicht „Automationsobjekte“ werden die einzelnen Elemente des selektierten Automationsobjektes angezeigt.
Der Klasse-Instanz Dialog¶
Der Klasse-Instanz Dialog ist in der Bildmontage eine der zentralen Stellen um Elemente und Bilder zu bearbeiten. Zudem gibt der Dialog eine Übersicht über die verwendeten Referenzen des Objekts.

Der Klasse-Instanz Dialog spiegelt das Klasse-Instanz-Konzept von PROCON-WEB wieder. Der Dialog ist in verschiedene Bereiche unterteilt wie die obere Abbildung zeigt.
Der Klasse-Instanz-Dialog hat 3 „Tabs“ im oberen Bereich der Anzeige (Bereich 1). Der aktive Tab hat die Hintergrundfarbe des Dialogs. Ein inaktiver Tab ist dunkelgrau, ein deaktivierter Tab hellgrau. Zur Veranschaulichung der Beziehung zwischen Klasse und Instanz ist ein Pfeil vom Instanz-Tab zum Klassen-Tab zu sehen. Im Instanz- und Klassen-Tab kann der Elementname direkt geändert werden. Des Weiteren wird für bis zu 5 Instanzen jeweils ein Pfeil im Klassen-Tab dargestellt. Im Referenz-Tab wird direkt die Anzahl der Instanzen angezeigt.
Im linken Teil (Bereich 2) werden im oberen Bereich die markierten Elemente angezeigt, bei der Klassenansicht im mittleren Bereich die möglichen Attribut-Gruppen, und im unteren Teil eine Vorschau des oder der Elemente. Im rechten Teil (Bereich 3) wird die Parametrierung des Elementes vorgenommen.
Im unteren Teil links im Dialog (Bereich 4) werden Statusinformationen sowie eine Legende angezeigt.
Die Klassen Ansicht: In der Klassenansicht können zum einen Werte die für alle Instanzen dieser Klasse gelten sollen festgelegt sowie Attribut-Gruppen aktiviert und deaktiviert werden.
Alle Attribut-Gruppen die für das selektierte Element zur Verfügung stehen werden im mittleren Bereich links dargestellt. Durch an- und abhacken können diese Attribut-Gruppen dem Element hinzugefügt oder davon entfernt werden.
Im rechten Bereich können nun die Parameter der einzelnen Attribute angepasst werden. Wurden Werte schon in einer Instanz überschrieben und sollen nun neue Werte für alle Instanzen gelten, so kann man diese Werte über das Kontextmenü auf alle Instanzen schreiben.

In der Klassenansicht gibt es zusätzlich eine Checkbox „Als Vorlage für Toolbox“. Damit kann der Benutzer festlegen, ob das Element als „Vorlage“ gekennzeichnet wird. In der Toolbox gibt es nun eine weitere Filtermöglichkeit, um nur Elemente anzuzeigen, die als „Vorlage“ gekennzeichnet sind. Wird die Checkbox angehakt leuchtet das Textfeld zur Bearbeitung des Elementnamens im Tab kurz auf. Damit soll der Benutzer darauf aufmerksam gemacht werden, einen entsprechend „brauchbaren“ Namen zu vergeben.

Des Weiteren bekommt der Benutzer eine Meldung im unteren Bereich, wenn er einen Wert ändert und das Bildelement mehr als eine Instanz hat.
Die Instanz Ansicht: Die Instanz-Ansicht ist dafür gedacht bestimmte Werte für die Instanz zu überschreiben. Diese Werte sind hauptsächlich Texte oder Prozessvariablen.
Die Darstellung der möglichen Attribut-Gruppen entfällt in dieser Ansicht, da diese nur in den Klassen zu ändern sind. Sind Werte in der Instanz überschrieben, so werden diese im Attribut-Grid rechts fett angezeigt. Per Kontextmenü lassen sich diese Werte wieder auf die Klassenwerte zurücksetzen.

In der Instanzansicht gibt es im unteren Bereich auch eine Legende, die den Status in der Wert-Spalte erklärt.

Wird versucht einen Klassenwert zu ändern, dann leuchtet der Klassen-Tab kurz auf (siehe Klassenansicht -> Als Vorlage markieren).
Die Referenzansicht: In der Referenzansicht werden die Referenzen im Projekt des entsprechenden Elements angezeigt.
Der Farbauswahl Dialog¶
Der Farbauswahl Dialog von PROCON-WEB ermöglicht es, schnell, einfach und interaktiv Farben auszuwählen und neue zu definieren. Der Dialog ist in die Bereiche „System“ und „Projekt“ unterteilt.

System: Im Bereich „System“ sind 60 Standardfarben für PROCON-WEB definiert. Diese sind u.a. unterteilt in Transparent-Farben, verschiedene Grau-, Rot-, Grün-, Gelb- und Blautöne. Die Systemfarben können nicht bearbeitet oder geändert werden und sind für jedes Projekt gleich.
Projekt: Im Bereich „Projekt“ werden die benutzerdefinierten Farben des Projektes verwaltet. In diesem Bereich können neue Farben definiert, geändert oder gelöscht werden.
Benutzerdefinierte Farben bearbeiten: Über „Farbe anlegen“ bzw. „Farbe bearbeiten“ wird ein weiterer Dialog zur Farbauswahl geöffnet.

Die Farben lassen sich im Additiven Farbraum RGB und in Farbmodellen vom Typ HSV angeben. Bei RGB wird die Farbe durch das Additive Mischen von Rot, Grün und Blau definiert. Zusätzlich besteht bei RGB die Möglichkeit über den Hexadezimalen Farbcode einen Farbton anzugeben. HSV ist ein alternativer Farbraum zu RGB und erlaubt das Auswählen von Farben etwas intuitiver. Die Farbe wird mit Hilfe des Farbtons (englisch hue), der Farbsättigung (saturation) und des Hellwerts (bzw. der Dunkelstufe) (value) ausgewählt. Dies lässt sich über die Silder erreichen oder über das Rechteck an der linken Seite. Hierbei stellt das Rechteck ein Koordinatennetz dar, auf der X-Achse liegt der Wert von V und auf der Y-Achse der Wert von S. In der Farbvorschau werden die aktuelle Farbe und der neue Farbton angezeigt. Durch Mausklick auf die aktuelle Farbe wird die Farbauswahl zurückgesetzt.
Zusätzlich lässt sich über das Pipetten-Symbol der Farbwert eines beliebigen Bereichs bzw. Pixels kopieren, auch außerhalb des Designers. Über das Eingabefeld Name lässt sich ein Name für die ausgewählte Farbe definieren.
Filterfunktion: Der Farbauswahldialog erlaubt über eine Filterzeile die Filterung nach Farbnamen. Der Filter arbeitet nach dem Prinzip *FilterWert*. Beim Umschalten zwischen den einzelnen Bereichen bleibt die Filterung aktiv. Es kann nach Namen und nach den Farbcodes gefiltert werden.
Kontextmenü im Farbauswahldialog: Im Kontextmenü des Farbauswahldialoges stehen verschiedene Ansichten zur Darstellung und Sortierung der Farben im Dialog zur Verfügung. Außerdem können zu jeder Farbe die jeweiligen Referenzen angezeigt werden.
Der Farbverlauf Dialog¶
Der Farbverlauf-Dialog wird im Zeichenmodus über das Farbverlauficon
in der Symbolleiste aufgerufen und dient zur
Definition bzw. Auswahl von Farbverläufen für die statischen Symbole.

Die Parameter des Farbverlaufes können sofort editiert werden, wenn der entsprechende Farbverlauf ausgewählt ist. Über Start- und Endfarbe werden die Farben des Verlaufes definiert. Beim Klicken auf die aktuell ausgewählte Farbe schaltet der Dialog automatisch auf den Tab um aus dem die Farbe ausgewählt wurde.
Mit der Einstellung „Typ“ und „Modus“ wird die Form des Verlaufes definiert. Über die Start bzw. Endposition gibt der Benutzer den Beginn und das Ende des Farbwechsels im Verlauf an, um so verschiedene Formen des Farbverlauftyps zu erreichen. Änderungen an den Parametern beeinflussen sofort den gewählten Farbverlauf, d.h. der gewählte Farbverlauf in der Auswahlliste wird ebenfalls geändert.
Zusätzlich wird in diesem Dialog noch die Anzahl der Referenzen des gewählten Farbverlaufs angezeigt.
Der Prozessvariablen Dialog¶
Über den Prozessvariablen Dialog werden die Prozessvariablen für die Anzeige bzw. Dynamisierung der Bildelemente festgelegt.
Zudem können hier auch die neuen Tag-Properties ausgewählt werden. Die Zuweisung von Tag-Properties in Controls erfolgt über den bekannten Mechanismus der Prozessvariablenzuweisung. In dem Auswahldialog gibt es nun neben den Tabs „Prozessvariable“ und „Systemvariable“ einen weiteren mit der Bezeichnung „Eigenschaften“. Wird dieser Tab ausgewählt erhält man zum einen die Liste aller Prozessvariablen zum anderen erscheint neben dem Arrayindex-Feld eine Combobox mit den möglichen Properties für die Variable.

Nach der Zuweisung eines Properties wird in der Zelle der Name der Prozessvariablen und der Propertyname, separiert durch einen Punkt, angezeigt. Hier z.B. „StaticBooleanOff.Num. 1“.
Statusanzeige im Bildeditor¶
Die Statusanzeige im Bildeditor wird unterhalb des Arbeitsbereiches dargestellt. Folgende Elemente sind in der Statusanzeige verfügbar.
Symbol |
Beschreibung |
---|---|
Anzeige der Bildauflösung |
|
Anzeige der aktuellen Mausposition |
|
Aktueller Zoomfaktor in % |
|
|
|
|
Anpassen der Anzeige auf 100 bzw. 400% |
Es liegen keine Elemente außerhalb des Bildbereiches |
|
Elemente liegen außerhalb des Bildes |
|
Gibt an ob ein Element ausgewählt bzw. nicht ausgewählt ist |
|
|
Zeigt an, ob der Modus für Skalierung bzw. Sizing aktiv ist |
|
Zeigt an, ob sich der Benutzer im Zeichen- oder im Bildmontagemodus befindet. |
Funktionen im Bild-Editor¶
Ausrichtfunktionen¶
Zum schnelleren Anpassen und Ausrichten der Symbole im Bild können die Ausrichtfunktionen verwendet werden. Folgende Funktionen werden zum Ausrichten von Symbolen bereitgestellt:
Symbol |
Funktion |
Beschreibung |
|
---|---|---|---|
Linksbündig |
Funktion zum Ausrichten mehrerer Symbole nach links. Orientierung ist das Symbol mit der kleinsten X-Position |
||
Rechtsbündig |
Funktion zum Ausrichten mehrerer Symbole nach rechts. Orientierung ist das Symbol mit der größten X-Position |
||
Oben ausrichten |
Funktion zum Ausrichten mehrerer Symbole nach oben. Orientierung ist das Symbol mit der kleinsten Y-Position |
||
Unten ausrichten |
Funktion zum Ausrichten mehrerer Symbole nach unten. Orientierung ist das Symbol mit der größten Y-Position |
||
|
|||
|
Important
Ausrichtfunktionen können bei Automationsobjekten, Statuszeilen und Funktionstastenzeilen erst dann verwendet werden, wenn die einzelnen Elemente über die Mehrfachauswahl mit der Tastenkombination „STRG“+„W“ selektiert wurden.
Funktionen zur Größenanpassung¶
Zur schnelleren Anpassung der Größe unterschiedlicher Symbole aneinander, werden dem Benutzer die folgenden Funktionen zur Verfügung gestellt.
Symbol |
Funktion |
Beschreibung |
|
---|---|---|---|
|
|||
Höhe angleichen |
Funktion zum Angleichen der Höhe verschiedener Symbole Orientierung ist das erste selektierte Symbol der Mehrfachauswahl |
||
Größe angleichen |
Funktion zum Angleichen der Breite und Höhe verschiedener Symbole. Orientierung ist das erste selektierte Symbol der Mehrfachauswahl |
Important
Funktionen zur Größenanpassung können bei Automationsobjekten, Statuszeilen und Funktionstastenzeilen erst dann verwendet werden, wenn die einzelnen Elemente über die Mehrfachauswahl mit der Tastenkombination „STRG“+„W“ selektiert wurden.
Gitter¶
Zum einfacheren Arbeiten mit dem Bild-Editor hat der Benutzer die Möglichkeit ein Gitter einzurichten und zu aktivieren. Der Abstand und das Erscheinungsbild des Gitters können unter „Extras“ -> „Optionen“ angepasst werden.
Folgende Gitterfunktionen stehen zur Verfügung:
Symbol |
Funktion |
Beschreibung |
---|---|---|
Gitter anzeigen |
Funktion zum Anzeigen des Gitters im Bild |
|
|
Funktion zum aktivieren/deaktivieren des Gitters im Bild |
|
|
Funktion zum ausrichten des Elements am Gitter |
Testmodus¶
Um die erstellten dynamischen Symbole testen zu können, ohne die Laufzeit erzeugen und starten zu müssen, wird der Testmodus verwendet. Der Aufruf erfolgt über die Symbolleiste durch Betätigung der Play-Taste. Der Rand des Arbeitsbereiches wird wie beim Zeichenmodus farblich gekennzeichnet. Somit erkennt man, dass der Testmodus aktiv ist. Im Arbeitsbereich werden das Bild und dessen Symbole angezeigt, die animiert werden.

Important
Bei aktivem Testmodus ist es nicht möglich, die Elemente im Bild zu bearbeiten bzw. ihre Position zu verändern
Über die Toolbox können die Zustände der Variablen gesteuert werden. Unter dem Bereich „Werte“ wird für alle numerischen Prozessvariablen der Schiebregler, für alle logischen Prozessvariablen der Button und für alle Textvariablen das Eingabefeld verwendet.
Für die dynamischen Eigenschaften „Sichtbarkeit“, „Skalierung“, „Verschiebung“, „Drehen“, „Farbwechsel“, „Symbolwechsel“, „Farbschwelle“, „Blinken“, „Funktionsbitmap“, „Eingabe“ und „Status Bedingung“ können die verschiedenen Animationsarten gewählt werden.
Folgende Optionen sind möglich:
Symbol |
Beschreibung |
---|---|
Es wird der Maximalwert des Tags verwendet |
|
Es wird der Minimalwert des Tags verwendet |
|
Der Tag wird dynamisch gesetzt abhängig von dem Schiebe-Regler für numerische bzw. dem Taster für logische Werte |
|
Bedingung ist immer False bzw. Animationsart ist deaktiviert |
|
Bedingung ist immer True bzw. Animationsart ist aktiviert |
Simulationsmodus¶
Der Simulationsmodus stellt eine Erweiterung des Testmodus dar, die den Elementen zugewiesenen Prozessvariablen können bereits zur Designzeit gesetzt, bzw. geändert werden. Somit können die Attribute der Elemente getestet werden, ohne dass die Laufzeit gestartet und eine Anbindung an eine Steuerung vorhanden sein muss. Dadurch erkennt der Benutzer schon bei der Erstellung eines Bildes, ob die Elemente in der gewünschten Weise funktionieren.
Simulationsmodus aktivieren: Testmodus über den Button aufrufen und anschließend auf „Bild“ in der Bedienleiste ganz oben anklicken. In der Ribbonleiste dei nun angezeigt wird, finden sich dann die Simulationseinstellungen.
Simulationseinstellungen: In den Simulationseinstellungen erhält der Benutzer eine Übersicht über die im Bild verwendeten Elemente. In dieser Übersicht sind die Attributgruppen, die Bedingungen und die Prozessvariablenanbindung dargestellt, die simuliert werden können. Folgende Spalten sind in dem Dialog vorhanden.
Spalte |
Beschreibung |
---|---|
Typ |
Typ des dynamischen Elements |
Klasse |
Klassenname des dynamischen Elements |
Instanz |
Instanzname des dynamischen Elements |
Attribut-Gruppe |
Gruppe zu der der Tag gehört (z. B. Darstellung, Rotation) |
Attribut |
Name des Attributs (z. B. Wert) |
Bedingung |
Bedingungstext für das Attribut (falls vorhanden) |
Tag |
Name der zur Attribut-Gruppe zugeordneten Prozessvariable |
Gruppierung |
Gruppenname der für den Tag festgelegt wurde |

Über die Spalte Gruppierung werden die Elemente Simulationsgruppen zugeordnet. Die Gruppierung zu Simulationsgruppen ist nur für Prozessvariablen des gleichen Typs möglich.
Die Simulationsgruppen sind benutzerdefiniert und können durch Namenseingabe in dieser Spalte erstellt bzw. zugewiesen werden. Beim Speichern des Projektes werden die Gruppierungen für dieses Bild mit gespeichert. Beim späteren Simulieren der Werte, werden alle der Gruppe zugeordneten Elemente gesetzt, wenn die Gruppe gesetzt wird. Im Beispiel der Abbildung sind die Prozessvariablen für die Sichtbarkeit den Gruppen „Pumpe aktiv“ und „Ventil aktiv“ zugeordnet. Setzt man also diese Gruppen, dann werden alle Pumpen und Ventile im Bild sichtbar.
Arbeiten mit dem Simulationsmodus: Bevor Werte im Designer simuliert werden können, muss in den Animationsmodus gewechselt werden. Über die Simulationseinstellungen erhält der Benutzer eine Übersicht über die Elemente und kann diese Simulationsgruppen zuweisen. Nachdem der Dialog der Simulationseinstellungen geschlossen wurde, wählt der Benutzer in der Toolbox die Schaltfläche „Simulation“ an. In dieser Ansicht werden den Prozessvariablen bzw. Simulationsgruppen die jeweiligen Werte zugewiesen.

Gruppe: In der Spalte „Gruppe“ sind alle simulierbaren Prozessvariablen bzw. Simulationsgruppen dargestellt. Die jeweiligen Prozessvariablen werden angezeigt, wenn diese keiner Gruppe zugeordnet sind. Auch bei mehrmaliger Zuweisung der Variable für Attributgruppen (z.B. „Sichtbarkeit“ und „Farbwechsel“) erscheint die Prozessvariable einmalig in der Liste. Ist die gleiche Variable mehreren Attribut-Gruppen und zusätzlich noch Simulationsgruppen zugewiesen, wird die Gruppe und die Prozessvariable in der Liste aufgeführt.
Typ: In der Spalte Typ stehen dem Benutzer 4 Simulationstypen zur Verfügung. In der nachfolgenden Tabelle sind die verschiedenen Typen und deren Bedeutung dargestellt.
Symbol |
Name |
Beschreibung |
---|---|---|
Defaultwert |
Die Prozessvariable hat immer ihren festgelegten Defaultwert |
|
Unterer Grenzwert |
Die Prozessvariablehat immer ihren unteren Grenzwert |
|
Oberer Grenzwert |
Die Prozessvariable hat immer ihren oberen Grenzwert |
|
Gleich Wert |
Die Prozessvariable hat einen dynamischen veränderbaren Wert, welcher über die Spalte „Wert“ vom Benutzer geändert werden kann |
Wert: Die Spalte Wert dient zur Eingabe von Werten für die jeweiligen Prozessvariablen. Durch spezifische Eingabe können so Attribute wie „Sichtbarkeit“ oder „Farbwechsel“ simuliert werden.
Bildtypen¶
Prozessbild¶
Einer der drei Bildtypen in PROCON-WEB ist das Prozessbild. Prozessbilder sind eigenständige Bilder, in denen Informationen dargestellt werden. Nur Prozessbilder können als Einschaltbild definiert werden.
Kindbild¶
Kindbilder sind keine eigenständigen Bilder und können aus zuvor geöffneten Prozess- oder auch Kindbildern heraus aufgerufen werden. Dabei ist das Kindbild von dem zugehörigen Vaterbild abhängig. Die Kindbilder sind nur solange aktiv, bis diese selbst oder die zugehörigen Vaterbilder geschlossen werden.
In der Applikation werden Kindbilder daher oft als Dialog verwendet, um zum Beispiel abzufragen, ob man die Daten in der Datenbank speichern oder den Vorgang abbrechen will.
Bildelemente und Elementhierarchie¶
Bildelemente: Ein Bild kann aus mehreren verschiedenen Elementen bestehen. PROCON-WEB unterscheidet zwischen statischen Symbolen, dynamischen Objektklassen, Diagramme und Kurven, Statusleisten, Funktionstasten, Automationsobjekte und Controls. Jede Objektklasse kann über die Toolbox erstellt werden. Statische Symbole können zusätzlich zu einem dynamischen Symbol dynamisiert werden.
Darstellungshierarchie der verschiedenen Objektklassen: Die Darstellungshierarchie wird abhängig von Objektklassen bestimmt. Zwischen Objekten mit gleichem Klassentyp kann der Benutzer beliebig die Darstellungsreihenfolge im Bild ändern. Für Objekte mit unterschiedlichen Klassentypen gilt die im Folgenden beschriebene Darstellungshierarchie.
Auf der untersten Ebene der Darstellungshierarchie liegen die statischen Symbole. Eine Stufe höher befinden sich die dynamischen Symbole. Das heißt, ein statisches Symbol kann niemals oberhalb eines dynamischen Symbols dargestellt werden. Auf der letzten Ebene befinden sich die Objektklassen Diagramme, Statuszeilen, Funktionstasten, Controls und Automationsobjekte. Folglich werden Objekte wie Controls immer oberhalb von beispielsweise Zahlenfeldern oder statischen Symbolen angezeigt.
Bitmapverwaltung¶
In PROCON-WEB werden Bitmaps zum Zeichnen von Symbolen, als Icons auf Buttons bzw. für Bildhintergrund verwendet. Zum Verwalten der Bitmaps kann über den Button „Bitmap Dialog öffnen“ der Dialog aufgerufen werden, in dem die Bitmaps verwaltet werden.


Im Bildauswahldialog stehen die Funktionen Importieren, Exportieren, Bearbeiten und Löschen zur Verfügung. Das Bildbearbeitungsprogramm, das unter „Bearbeiten“ aufgerufen wird, kann im Designer eingestellt werden.
Laufzeit-Export: Der Designer besitzt einen optimierten-Runtime-Export. Dieser sorgt dafür, dass nur referenzierte Bilder exportiert werden. Wird ein Bitmap Export benötigt obwohl das Bild nicht referenziert ist, so kann dies über die CheckBox „Laufzeit-Export“ erzwungen werden.

Grund für eine fehlende Referenz ist die im Scripting verwendeten Funktion „FillImageView“ oder eine externe Verwendung des Bildes.
Important
Bildhintergründe sollten nicht-transparente Bilder sein, da die Laufzeit die transparenten Flächen nicht korrekt darstellt.
Filter: Der Bitmap-Auswahl-Dialog verfügt über eine Filterzeile, mit der alle im Projekt verwalteten Bitmaps nach dem gesuchten Bitmap durchsucht werden können.
Important
Der Filter beachtet die Groß- bzw. Kleinschreibung der Bitmap-Namen nicht. Der Filter ist vom Typ „Beginnt mit“.
Erstellen statischer Symbole¶
Funktionen im Zeichenmodus¶
Werkzeuge:
Funktion |
Bezeichnung |
Beschreibung |
---|---|---|
Rechteck |
Zeichnen von Rechtecken mit spitzen Ecken |
|
abgerundetes Rechteck |
Zeichnen von Rechtecken mit abgerundeten Ecken |
|
Ellipse |
Zeichnen von Ellipsen |
|
Kreis |
Zeichnen von Kreisen |
|
Ellipsenbogen |
Zeichnen von Ellipsenbogen |
|
Kreisbogen |
Zeichnen von Kreisbogen |
|
Polylinie |
Zeichnen von Linien |
|
Polygon |
Zeichnen von Vielecken |
|
Text |
Erstellen von Texten |
|
Bild |
Import von externen Bildern |
Attribute:
Funktion |
Bezeichnung |
Beschreibung |
---|---|---|
Linienstil |
Einstellen der Linienart |
|
Linienbreite |
Einstellen der Liniendicke |
|
Rahmen und Flächenfüllung |
Optionen für Darstellung des Elementes |
|
Füllung |
Einstellen des Füllmusters des Elementes |
|
Stiftfarbe |
Auswahl der Stiftfarbe für das Element |
|
Vordergrundfarbe |
Auswahl der Vordergrundfarbe des Elementes |
|
Hintergrundfarbe |
Auswahl der Hintergrundfarbe des Elementes |
|
Farbverlauf |
Auswahl und Definition des Farbverlaufes |
|
Linienanfang |
Auswahl der Art des Linienanfangs |
|
Linienende |
Auswahl der Art des Linienendes |
Schriftart:
Funktion |
Bezeichnung |
Beschreibung |
---|---|---|
|Schrift | |
Schrift |
Einstellung der Schriftart |
Schriftgröße |
Einstellen der Schriftgröße |
|
Schriftattribute |
Einstellen der Attribute Fett, Kursiv, Unterstrichen, und Durchgestrichen |
Zeichnen von statischen Symbolen¶
Um neue statische Symbole zu zeichnen, kann über den Button „Zeichnen“ in der Symbolleiste in den Zeichenmodus gewechselt werden. Alternativ kann auch das benötigte Zeichenwerkzeug aus der Symbolleiste gewählt werden. Es wird dann automatisch in den Zeichenmodus gewechselt. Die Hintergrundfarbe des Arbeitsbereiches wechselt, wenn der Zeichenmodus aktiv ist. Diese kann in den Designer-Optionen eingestellt werden. Danach wird das benötigte Zeichenwerkzeug und Attribute ausgewählt und das Symbol im Arbeitsbereich gezeichnet.
Important
Bei der Entwicklung von PROCON-WEB wurde sehr darauf geachtet, dass alles, was im Designer erstellt wird, in der Runtime, d.h. im Browser, genauso aussieht. Leider ist es aktuell nicht möglich im Browser Ellipsenbögen zu zeichnen. Dies hat zur Folge das die Ellipsenbögen im Browser leider vom Winkel her etwas anders ausfallen als im Designer angezeigt.

Über das Kontextmenü „Übernehmen als“ wird das komplette gezeichnete Symbol abgespeichert. Mit der Option „Elemente übernehmen als“ werden die selektierten Elemente als eigenes Symbol abgespeichert. Im folgenden Dialog „Speichern unter und Einfügen“ wird das Symbol abgespeichert bzw. direkt ins Bild übernommen.

Nach dem Speichern erscheint das Symbol in der Symbolliste, aus der es mit Drag`n Drop ins Bild eingefügt werden kann.
Dynamische Objektklassen¶
Dynamisierungsarten¶
Dynamische Objekte können auf verschiedene Art und Weise dynamisiert werden, wie z.B. Blinken, Sichtbarkeit, Position.
Important
Nicht jedes Objekt unterstützt alle Dynamisierungsarten. Aber jede Dynamisierungsart funktioniert bei jedem Objekt gleich.
Welche Dynamisierungsart unterstützt wird, ist letztendlich vom Objekt abhängig. Die verschiedenen Dynamisierungsarten werden jeweils in den sogenannten Attribut-Gruppen zusammengefasst. Zusätzlich enthält jedes Objekt eine Attribut-Gruppe, die das Aussehen des Objektes beschreibt. Diese Attribut-Gruppe, die die Darstellung des Objektes beschreibt, ist nicht deaktivierbar. Die administrierbaren Attribute sind abhängig vom jeweils gewählten Control. Beim Attribut „Größe“ gibt es eine Begrenzung von 65.5535 Pixeln. Um einen Timeout beim Rendern zu verhindern ist für die Gesamtgröße 5.000 x 5.000 Pixel die Höchstgrenze bei Darstellung. Ist ein Control größer, unterbleibt das Rendern und das Control wird nur noch schematisch mit Namen dargestellt.
Darstellung¶
Attribut |
Bedeutung |
---|---|
Dynamik |
Legt fest, ob ein einzelnes Bild oder eine Liste von Bildern abhängig von einer numerischen Variablen, abgezeigt werden. |
Durchklickbar |
Hinter dem Symbol liegende Eingabefelder können betätigt werden bei Aktivierung. Attribtgruppen Eingabe und Funktionen könnnen dann nicht mehr ausgewählt werden. |
Eingabe¶
Bei dynamischen Objekten regelt die Attribut-Gruppe „Eingabe“, ob eine Eingabe für dieses Objekt erfolgen darf. Eingaben können zum einen das Ändern von Werten oder das Ausführen einer Funktion sein. Eingaben können zudem über Bedingungen und/oder Rechte reglementiert werden. Weiterhin kann es je nach Objekt mehr oder weniger Optionen zur Regelung der Eingabe geben.

Vergleichsbedingungen Eingabe:
Bedingung |
Bedeutung |
---|---|
Immer |
Eingabe ist immer erlaubt/nicht erlaubt |
Wenn LogVar1=1 |
Eingabe ist erlaubt/nicht erlaubt, wenn der Wert der logischen Prozessvariablen 1 ist |
Wenn LogVar1=LogVar2 |
Eingabe ist erlaubt/nicht erlaubt, wenn der Wert der logischen Prozessvariablen gleich dem Wert einer weiteren logischen Prozessvariablen ist |
Wenn NumVar1Konst1 |
Eingabe ist erlaubt/nicht erlaubt, wenn der Wert der numerischen Prozessvariablen kleiner als eine definierte Konstante ist |
Wenn NumVar1<=Konst1 |
Eingabe ist erlaubt/nicht erlaubt, wenn der Wert der numerischen Prozessvariablen kleiner/gleich dem Wert einer definierten Konstante ist |
Wenn NumVar1=Konst1 |
Eingabe ist erlaubt/nicht erlaubt, wenn der Wert der numerischen Prozessvariablen gleich dem Wert einer definierten Konstante ist |
Wenn NumVar1<>Konst1 |
Eingabe ist erlaubt/nicht erlaubt, wenn der Wert der numerischen Prozessvariablen kleiner oder größer dem Wert einer definierten Konstante ist |
Wenn NumVar1>=Konst1 |
Eingabe ist erlaubt/nicht erlaubt, wenn der Wert der numerischen Prozessvariablen größer oder gleich dem Wert einer definierten Konstante ist |
Wenn NumVar1>Konst1 |
Eingabe ist erlaubt/nicht erlaubt, wenn der Wert der numerischen Prozessvariablen größer dem Wert einer definierten Konstante ist |
Wenn NumVar1 zwischen Konst1 und Konst2 |
Eingabe ist erlaubt/nicht erlaubt, wenn der Wert der numerischen Prozessvariablen zwischen oder auf den Werten zweier definierter Konstanten liegt |
Wenn NumVar1NumVar2 |
Eingabe ist erlaubt/nicht erlaubt, wenn der Wert der numerischen Prozessvariablen kleiner als der Wert einer weiteren numerischen Prozessvariable ist |
Wenn NumVar1<=NumVar2 |
Eingabe ist erlaubt/nicht erlaubt, wenn der Wert der numerischen Prozessvariablen kleiner oder gleich dem Wert einer weiteren numerischen Prozessvariable ist |
Wenn NumVar1=NumVar2 |
Eingabe ist erlaubt/nicht erlaubt, wenn der Wert der numerischen Prozessvariablen gleich dem Wert einer weiteren numerischen Prozessvariable ist |
Wenn NumVar1<>NumVar2 |
Eingabe ist erlaubt/nicht erlaubt, wenn der Wert der numerischen Prozessvariablen kleiner oder größer dem Wert einer weiteren numerischen Prozessvariable ist |
Wenn NumVar1>=NumVar2 |
Eingabe ist erlaubt/nicht erlaubt, wenn der Wert der numerischen Prozessvariablen größer oder gleich dem Wert einer weiteren numerischen Prozessvariable ist |
Wenn NumVar1>NumVar2 |
Eingabe ist erlaubt/nicht erlaubt, wenn der Wert der numerischen Prozessvariablen größer dem Wert einer weiteren numerischen Prozessvariable ist |
Wenn NumVar1 zwischen NumVar2 und NumVar3 |
Eingabe ist erlaubt/nicht erlaubt, wenn der Wert der numerischen Prozessvariablen zwischen den Werten zweier definierter numerischer Prozessvariablen liegt |
FreeConditions |
Freie Eingabe der Bedingung solange als Ergebnis True/False zurück kommt. Eingabemöglichkeiten werden in einem eigenen Kapitel erläutert |
Deaktiviert: Negiert die Vergleichsbedingung
Eingabeverzögerung in Millisekunden: Verzögert die Eingabe z.B. Buttonklick um die entsprechenden Millisekunden. Verhindert bei empfindlichen Touch-Panels, dass ein Tastendruck zu mehrfachem Ausführen einer Funktion führt
Rechte: Legt die für die Eingabe benötigtem Rechte fest.
Bereich: Legt den Bereich fest, in dem die Eingabe erlaubt ist.
Important
Die Werte der Eigenschaften „Bedingung“, „Recht“ und „Bereich“ werden nach folgenden Regeln ausgewertet und dementsprechend die Eingabe ermöglicht:
Besitzt der Benutzer das konfigurierte Recht
Befindet sich der Client im konfigurierten Bereich
Die Bedingungen werden mit UND verknüpft
Keine Rechte oder Bereichszuordnung beduetet TRUE für das jeweilige Feld
UND Verknüpfung der Bedingung
Deaktiviert bzw. Unsichtbar gewählt
Eingabe Spezifikation:
Bedingung |
Bedeutung |
---|---|
Kein Eingabelimit |
Eingabe ist im Wertebereich der Variable erlaubt. |
Statisches Eingabelimit |
Eingabe ist im angegebenen Wertebereich erlaubt. |
Dynamisches Eingabelimit |
Wertebereich der Eingabe wird über zwei Prozessvariablen reglementiert. |
Spezialeingabe: Wird aktuell nicht ausgewertet.
Signatur verwenden (FDA): Aktivierung der FDA-Funktion der Eingabe.
Erneuten Login anfordern (FDA): In der Laufzeit muss zur Bestätigung der Eingabe der Login erneut durchgeführt werden. Dafür erscheint der Login-Dialog erneut. Dies ist nur anwählbar, wenn eine Signatur verwendet wird.
Kommentar erzwingen (FDA): Nach erfolgter Eingabe erscheint in der Laufzeit ein Dialog in dem ein Kommentar eingetragen werden muss. Dies ist nur anwählbar, wenn eine Signatur verwendet wird.
Bedingung FreeCondition: Legt fest ob die erfasst Bedingung wahr oder falsch sein muss damit das Attribut verwendet wird.
Position¶
Bei dynamischen Objekten ermöglicht die Attribut-Gruppe „Position“ eine dynamische Positionsverschiebung. Diese kann entweder nur in eine Richtung (X oder Y), oder in beide Richtungen erfolgen.

Bedingungen der Positionsverschiebung:
Wert |
Bedeutung |
---|---|
Konstant |
Keine Positionsverschiebung in die entsprechende Richtung |
Numerisch |
Bei Abhängigkeit von einer numerischen Prozessvariablen verläuft die Positionsänderung vom Ursprungspunkt des Symbols bis zum gewählten Endpunkt linear zum Wertebereich der Prozessvariablen. |
Logisch |
Das Symbol springt beim aktiv werden der logischen Prozessvariablen auf die im Eigenschaftsfenster angegebene Endposition. Wird jedoch bei der Positionsverschiebung eine Animationsdauer angegeben, springt dieses Symbol nicht zur Position, sondern bewegt sich im Zeitraum der Animationsdauer und abhängig von der Animationsart an den Endpunkt. |
Numerisch direkt |
Das Symbol wird auf den Wert der numerischen Prozessvariablen gesetzt, unabhängig von der ursprünglichen Position des Symbols im Bild. Je nach Wert der Variablen kann sich das Symbol auch außerhalb des Bildes befinden! |
Wird ein Symbol aus der Toolbox eingefügt, bei dem kein Endpunkt vordefiniert wurde, so wird die aktuelle Position als Endpunkt eingetragen. Bei vordefinierten Endpunkten berechnet das System die Endpunkte ausgehend von der aktuellen Position und überträgt die voreingestellten Werte. Ist beispielsweise als Endposition 10 vorbelegt und die aktuelle Position beträgt 300, so ist der entsprechende Endpunkt 310.
Wird das Element verschoben oder kopiert, so passt sich der Endpunkt automatisch an. Zusätzlich lässt sich für die Positionsverschiebung eine Animation definieren. Durch diese Animation lässt sich über wenige Klicks eine animierte Positionsverschiebung realisieren, ohne dies z.B. umständlich über Formeln abhandeln zu müssen.
Arten der Animation:
Wert |
Bedeutung |
Wert |
Bedeutung |
---|---|---|---|
None |
Keine Animation |
EaseInOutExpo |
|
Linear |
EaseInSine |
||
Swing |
EaseOutSine |
||
EaseInQuad |
EaseInOutSine |
||
EaseOutQuad |
EaseInCirc |
||
EaseInOutQuad |
EaseOutCirc |
||
EaseInCubic |
EaseInOutCirc |
||
EaseOutCubic |
EaseInElastic |
||
EaseInOutCubic |
EaseOutElastic |
||
EaseInQuart |
EaseInOutElastic |
||
EaseOutQuart |
EaseInBack |
||
EaseInOutQuart |
EaseOutBack |
||
EaseOutQuint |
EaseInBounce |
||
EaseInOutQuint |
EaseOutBounce |
||
EaseInExpo |
EaseInOutBounce |
||
EaseOutExpo |
Animationsdauer: Dauer der gewählten Animation in Millisekunden.
Skalierung¶
Bei dynamischen Objekten ermöglicht die Attribut-Gruppe „Skalierung“ eine dynamische Skalierung von Objekten. Diese kann entweder nur in eine Richtung (X oder Y), oder in beide Richtungen erfolgen.

Bedingungen der Skalierung:
Wert |
Bedeutung |
---|---|
Konstant |
Keine Skalierung in die entsprechende Richtung |
Numerisch |
Bei Abhängigkeit von einer numerischen Prozessvariablen verläuft die Skalierung von der Ursprungsgröße des Symbols bis zur gewählten Maximalgröße linear zum Wertebereich der Prozessvariablen. |
Logisch |
Das Symbol nimmt beim aktiv werden der logischen Prozessvariablen die Maximalgröße an. Wird jedoch bei der Skalierung eine Animationsdauer angegeben, erfolgt die Skalierung animiert. |
Numerisch direkt |
Das Symbol wird auf den Wert der numerischen Prozessvariablen skaliert, unabhängig von der ursprünglichen Größe des Symbols. Je nach Wert der Variablen kann die Größe des Symbol auch 0 werden! |
Note
Die Skalierung ist ähnlich wie die Größenänderung, jedoch wird hier das ganze Element vergrößert.So bleibt zum Beispiel der Rahmen bei der Größenänderung gleich, bei der Skalierung wird er auch vergrößert.
Weitere Optionen der Skalierung:
Option |
Beschreibung |
---|---|
Maximale Größe |
Maximale Ausdehnung der X- und Y-Richtung in Pixel bei Maximalwert der Prozessvariablen |
Größendynamisierungsursprung |
Größendynamisierungsursprung in Pixel relativ zur linken oberen Ecke des Symbols |
Animation |
Animationsarten der Skalierung. |
Größe¶
Bei dynamischen Objekten ermöglicht die Attribut-Gruppe „Größe“ eine dynamische Größenänderung von Objekten. Diese kann entweder nur in eine Richtung (X oder Y), oder in beide Richtungen erfolgen. Soll der Ursprung der Größendynamisierung auf das Zentrum eines Bildes and der Position X=100, Y=100 gesetzt werden, so muss der Wert des Zentrums des zu skalierenden Bildes angegeben werden.
Note
Bereits skalierte Bilder können nicht auf einen freien Punkt „zurück-skaliert“ werden. Bei einer negativen Skalierung kann ein größeres, unskaliertes Bild verwendet werden, welches dann mit dem Ursprungpunkt der Größendynamisierung auf dieselbe Art komprimiert wird.

Um die dynamische Größenänderung zu realisieren, müssen die folgenden Einstellungen vorgenommen werden.
Bedingungen der Größe:
Wert |
Bedeutung |
---|---|
Konstant |
Keine Größenänderung in die entsprechende Richtung |
Numerisch |
Bei Abhängigkeit von einer numerischen Prozessvariablen verläuft die Größenänderung von der Ursprungsgröße des Symbols bis zur gewählten Maximalgröße linear zum Wertebereich der Prozessvariablen. |
Logisch |
Das Symbol nimmt beim aktiv werden der logischen Prozessvariablen die Maximalgröße an. |
Wird jedoch bei der Größenänderung eine Animationsdauer angegeben, erfolgt die Größenänderung animiert. |
|
Numerisch direkt |
Das Symbol wird auf den Wert der numerischen Prozessvariablen vergrößert oder verkleinert, unabhängig von der ursprünglichen Größe des Symbols. |
Je nach Wert der Variablen kann die Größe des Symbol auch 0 werden! |
Weitere Optionen der Größe:
Option |
Beschreibung |
---|---|
Maximale Größe |
Maximale Ausdehnung der X- und Y-Richtung in Pixel bei Maximalwert der Prozessvariablen |
Größendynamisierungsursprung |
Größendynamisierungsursprung in Pixel relativ zur linken oberen Ecke des Symbols |
Animation |
Animationsarten der Größenänderung. |
Siehe auch Position |
Sichtbarkeit¶
Bei dynamischen Objekten ermöglicht die Attribut-Gruppe „Sichtbarkeit“ eine dynamische Änderung der Sichtbarkeit von Objekten.

Vergleichsbedingungen Sichtbarkeit: Die Vergleichsbedingungen zur dynamischen sichtbar bzw. unsichtbar Schaltung sind die gleichen wie bei der Eingabe.
Aktion: Schaltung sichtbar oder unsichtbar
Rechte: Benötigte Rechte um diese Aktion ausführen zu dürfen
Animation / Animationsdauer: Siehe Animation bei Position
Rotation¶
Bei dynamischen Objekten ermöglicht die Attribut-Gruppe „Rotation“ eine dynamische Drehung von Objekten.

Jedes dynamische Symbol kann abhängig von logischen oder numerischen Prozessvariablen dynamisch gedreht werden. Der Benutzer muss den Startwinkel und den Rotationswinkel angeben. Weiterhin kann festgelegt werden, ob die Rotation um die Symbolmitte oder um einen, im Bild freidefinierbaren, Rotationspunkt erfolgen soll.
Note
Ein positiver Drehwinkel führt zu einer Linksdrehung, eine Rechtsdrehung wird durch einen negativen Drehwinkel realisiert.
Animation / Animationsdauer: Wird eine Animation ausgewählt, so kann angegeben werden, ob die Rotation in Richtung des kleineren oder größeren Winkels ablaufen soll. Animationsarten.
Blinken¶
Bei dynamischen Objekten ermöglicht die Attribut-Gruppe „Blinken“ ein dynamisches Blinken von Objekten.

Das Blinken bzw. Nichtblinken eines Symbols wird über numerische oder logische Prozesswerte gesteuert. Die Blinkfunktion ist dabei von Bedingungen abhängig, die zu den Bedingungen bei „Sichtbarkeit“ identisch sind. Über das Intervall lässt sich die Zeitdauer (in ms) angeben, wie lange das Objekt sichtbar bzw. unsichtbar ist. Animation und Animationsdauer ist analog wie bei Position zu parametrieren.
Schwelle¶
Bei der Eigenschaft „Schwelle“ können bis zu acht konstanten oder dynamischen Schwellen verwendet werden, mit denen die Vorder- oder Hintergrundfarbe gewechselt werden kann.

Die folgenden Optionen stehen für „Schwelle“ zur Verfügung.
Anzahl: Die Option „Anzahl“ gibt die Zahl der Schwellen des Objektes an. Es können bis zu acht Schwellen definiert werden.
Farbwechselbedingung: Bei „Farbwechselbedingung“ kann „Konstant“, „Logisch“ oder „Numerisch“ ausgewählt werden. Dabei wird bei „Logisch“ oder „Numerisch“ der Farbwechsel durch den Wert einer Prozessvariablen bestimmt.
Ort: Ort, bei dem der Farbwechsel bei Erreichen des Schwellwertes durchgeführt werden soll.
Farbe: Farbe, die bei Erreichen des Schwellwertes angezeigt werden soll.
Farbwechsel¶
Bei dynamischen Objekten ermöglicht die Attribut-Gruppe „Farbwechsel“ eine dynamische Farbänderung von Objekten.

Beim Farbwechsel kann für die Einzelelemente, wie Text, Hintergrund, etc., der Farbwechsel ausgewählt werden.
Element |
Änderung |
---|---|
Farbe für Text |
Farbänderung des textuellen Anteils. |
Bei gefüllten Symbolen mit Muster entspricht die Textfarbe der Fugenfarbe (Fuge des Mauermusters) |
|
Farbe für Linien |
Farbänderung der Linien (Ränder) |
Farbe für Füllung |
Bei gefüllten Symbolen ohne Muster entspricht die Füllfarbe dem Hintergrund |
Farbe für Hintergrund |
Farbänderung des Texthintergrundes. |
Farbänderung des Symbolhintergrundes. |
|
Bei gefüllten Symbolen mit Muster entspricht der Hintergrund der Füllung (Ziegel des Mauermusters) |
Folgende Eigenschaften zur Projektierung eines Farbumschlages stehen zur Verfügung.
Numerischer und Logischer Bereich: Bei dieser Option wird der Wertebereich des Prozesswertes linear auf die beiden angegebenen Farben abgebildet. Abhängig von der gewählten Reihenfolge wird die Farbe im Laufzeitsystem gewechselt.
Numerisch und Logisch, direkt: Diese Farbwechseloption erlaubt eine Farbänderung nach einer festen Auswahl, linear zu einem Prozesswert. Ist die Farbauswahl über logische Prozesswerte definiert, so erhält das Symbol die Farbe der in der Reihenfolge obersten, logischen Prozessvariablen, die gesetzt wurde. Trifft keine Bedingung für Logisch direkt zu, wird als Default das erste Element in der Liste zur Anzeige verwendet.
Logisch, kodiert: Bei der kodierten Farbumschaltung wird aus den logischen. Prozesswerten ein Bitfeld gebildet und als Binärzahl ausgewertet. Dieser Wert bestimmt dann den Tabellenplatz der festgelegten Farbauswahl.
Numerisch, direkte Liste: Bei einer direkten Liste kann über einen weiteren Dialog exakt der Farbwert für einen bestimmten Wert der Prozessvariablen festgelegt werden. Dabei bleibt die Farbe bis zum nächsten festgelegten Wert bestehen.

Im obigen Beispiel ist die Farbe Rot gewählt für Werte >= 4 und < 8.
Funktionen¶
Bei dynamischen Objekten ermöglicht die Attribut-Gruppen „Funktion“ die Ausführung von bis zu fünf festgelegten Funktionen.
Important
Die 5 möglichen Aktionen werden ASYNCHRON abgearbeitet. Durch die Nummerierung der Aktion 1 bis 5 ist keine Reihenfolge vorgegeben. Die Funktionen sind unabhängig voneinander und können in ihrer Abarbeitungszeit variieren, d.h. es ist möglich, dass Aktion 3 zeitlich vor Aktion 1 ausgeführt wird.
Die Attribut-Gruppen Funktion gibt je nach dynamischen Objekt in verschiedenen Ausführungen
Name |
Bedeutung |
---|---|
Drücken Funktion |
Funktion wird ausgeführt wenn auf das Objekt geklickt wird |
Loslassen Funktion |
Funktion wird ausgeführt wenn z.B. Maus losgelassen wird |
Eingabe Funktion |
Funktion wird nach der Eingabe (z.B. Zahlenfeld) ausgeführt |

In den folgenden Tabellen sind die verschiedenen Funktionen dargestellt.
Logische Funktionen:
Funktion |
Beschreibung |
---|---|
Logisch: Log1 setzen |
Logische Prozessvariable wird auf den Wert 1 gesetzt |
Logisch: Log1 löschen |
Logische Prozessvariable wird auf den Wert 0 gesetzt |
Logisch: Log1 invertieren |
Logische Prozessvariable wird invertiert |
Logisch: Log1 = Log2 |
Logische Prozessvariable wird einer logischen Prozessvariable gleichgesetzt |
Logisch: Log1 ändern |
Logische Prozessvariable wird über die ’Bild auf / Bild ab‘-Taste auf 0 /1 gesetzt |
Logisch: Log1 setzen (Taster) |
Logische Prozessvariable wird auf 1 gesetzt, solange der Button betätigt wird. Beim Loslassen wird der vorher gültige Variablenwert erneut gesetzt. |
Logisch: Log1 löschen (Taster) |
Logische Prozessvariable wird auf 0 gesetzt, solange der Button betätigt wird. Beim Loslassen wird der vorher gültige Variablenwert erneut gesetzt. |
Logisch: Log1 invertieren (Taster) |
Logische Prozessvariable wird invertiert, solange der Button betätigt wird. Beim Loslassen wird der vorher gültige Variablenwert erneut gesetzt. |
Logisch: Log1 = Log2 (Taster) |
Logische Prozessvariable wird gleich einer logischen Prozessvariablen gesetzt, solange der Button betätigt wird. Beim Loslassen wird der vorher gültige Variablenwert erneut gesetzt. |
Important
Tritt bei den Funktionen Logisch: Log1 setzen (Button), Logisch: Log1 löschen (Button), Logisch: Log1 invertieren (Button), Logisch: Log1 zuweisen (Button) eine Kommunikationsstörung auf, so bleibt der gesetzte Wert erhalten. Dieser Wert wird nach Beseitigung der Störung nicht mehr zurückgesetzt.
Important
Wird der Cursor beim Betätigen eines Tasters (Drücken der Maustaste) vom Button weg gezogen und die Maustaste an anderer Stelle losgelassen, so wird die Tasterfunktion trotzdem ausgeführt.
Numerische Funktionen:
Funktion |
Beschreibung |
---|---|
Num: Num1 += Konst1 |
Numerische Prozessvariable wird um festen Wert erhöht |
Num: Num1 -= Konst1 |
Numerische Prozessvariable wird um festen Wert verringert |
Num: Num1 = Konst1 |
Numerische Prozessvariable wird auf festen Wert gesetzt |
Num: Num1 = Konst1 (Taster) |
Numerische Prozessvariable wird auf festen Wert gesetzt, solange der Taster betätigt wird. Beim Loslassen wird der vorher gültige Variablenwert erneut gesetzt. |
Num: Num1 += Num2 |
Numerische Prozessvariable wird um den Wert einer numerischen Prozessvariable erhöht |
Num: Num1 -= Num2 |
Numerische Prozessvariable wird um den Wert einer numerischen Prozessvariablen verringert |
Num: Num1 = Num2 |
Numerische Prozessvariable wird auf den Wert einer numerischen Prozessvariablen gesetzt |
Num: Num1 = Num2 (Taster) |
Numerische Prozessvariable wird auf den Wert einer numerische Prozessvariable gesetzt, solange der Taster betätigt wird. Beim Loslassen wird der vorher gültige Variablenwert erneut gesetzt. |
Bild-Funktionen:
Funktion |
Beschreibung |
---|---|
Bild: Neues Bild |
Neues Bild zu aktuellem Bild hinzufügen |
Bild: Neues Bild numerisch |
Neues Bild zu aktuellem Bild hinzufügen (Bildnummer = Wert einer numerischen Prozessvariablen) |
Bild: Neues Bild (multi Instanz) |
Neues Bild aus einem Kontext heraus öffnen, welches aus einem anderen Kontext heraus zeitgleich auch geöffnet werden kann z.B. um Einstellungen zweier Motoren nebeneinander vergleichen zu können, die auf demselben Grundbild beruhen, aber mit verschiedenen Werten durch verschiedenen Strukturen gefüllt sind |
Bild: Bild schließen |
Bestimmtes Bild schließen (z.B. Kindbild) |
Bild: Bild schließen numerisch |
Bestimmtes Bild schließen (Bildnummer = Wert einer numerischen Prozessvariablen) |
Bild: Bild schließen (alle Instanzen) |
Schließt alle Instanzen des Bildes die geöffnet wurden z.B. beide Motorenbilder die zum Vergleich nebeneinander geöffnet wurden |
Bild: Bild schließen numerisch (alle Instanzen) |
Schließt alle Instanzen des Bildes einer Bildnummer (=Wert einer numerischen Prozessvariablen) die geöffnet sind |
Bild: Bildwechsel |
In bestimmtes Bild wechseln |
Bild: Bildwechsel numerisch |
In bestimmtes Bild wechseln (Bildnummer = Wert einer numerischen Prozessvariablen) |
Bild: Bild drucken |
Bestimmtes Bild drucken |
Bild: Bild drucken numerisch |
Bestimmtes Bild drucken (Bildnummer = Wert einer numerischen Prozessvariablen) |
Important
Die Funktion „Drucken“ ruft den Druckdialog des Standardbrowsers auf. Hierin kann beispielsweise das Seitenformat und die Skalierung eingestellt werden. Ebenso können je nach Browser die Kopf- und Fußzeile, sowie Hintergrundgrafiken aktiviert oder deaktiviert werden. Standardmäßig werden in der Kopfzeile das aktuelle Datum und die Uhrzeit sowie der Titel der Seite angedruckt. In der Fußzeile sind die URL und die Seitennummer sowie -anzahl zu finden.
In den Browsern von Google und Microsoft kann ein automatischer Druck eingestellt werden. Dies erfordert jedoch eine Konfiguration des Standarddruckers. Der Browser muss über den Parameter –kiosk-printing beispielsweise über eine Verknüpfüung gestartet werden. In dieser muss dann im Feld „Target“ eingetragen werden

Sonstige Funktionen:
Funktion |
Beschreibung |
---|---|
Spezial: Programm aufrufen |
Externes Programm aufrufen (Übergabeparameter: Programm inklusive Pfad) |
Spezial: Sonderfunktion |
Aufruf einer Sonderfunktion (siehe Kapitel Sonderfunktionen) |
Text: Text1= Wert |
Textvariable wird auf festen Wert gesetzt |
Skript: Skript ausführen |
Selektiertes Skript ausführen |
Navigations-Funktionen:
Funktion |
Beschreibung |
---|---|
Navigiere zurück |
Navigiere zur vorherigen Sicht |
Navigiere vor |
Navigiere zur nächsten Sicht |
Navigiere zur Sicht |
Navigiere zur ausgewählten Sicht |
Datensatz-Funktionen:
Funktion |
Beschreibung |
---|---|
Datensatz: Senden |
Datensatz mit angegebenen Namen aus angegebener Datenbank lesen |
Datensatz: Erfassen |
Datensatz mit angegebenen Namen in angegebene Datenbank schreiben |
Datensatz: Löschen (über Variable) |
Datensatz aus Datenbank löschen, Variable enthält Datensatznamen |
Datensatz: Senden (über Variable) |
Datensatz aus Datenbank lesen, Variable enthält Datensatznamen |
Datensatz: Erfassen (über Variable) |
Datensatz in Datenbank schreiben, Variable enthält Datensatznamen |
Dynamisches Symbol¶
Um ein dynamisches Symbol zu erstellen kann ein beliebiges statisches Symbol zu einem dynamischen Symbol dynamisiert werden. Statische Texte werden zu konstanten oder dynamischen Texten dynamisiert.
Note
Statische Texte können auch als numerisches oder logisches Zahlenfeld dynamisiert werden. Rechteckige Symbole können als Balkendiagramm dynamisiert werden.
Important
Dynamische Symbole werden in der Toolbox als „Dynamisches Symbol“ abgelegt.

Ein statisches Symbol wird über den Eintrag „Dynamisieren“ -> „Dynamisches Symbol“ dynamisiert.

Das System öffnet automatisch den Klassendialog, in dem die Eigenschaften dieser Klasse des dynamischen Symbols festgelegt werden.

Hier werden dem Symbol die unterschiedlichen Eigenschaften zugewiesen. Die meisten Attribute wurden schon im vorherigen Kapitel beschrieben Das folgende Kapitel beschreibt die Attribute und deren Arbeitsweise des dynamischen Symbols.
Symbolwechsel¶
Der Symbolwechsel dient dazu, Symbole dynamisch austauschen zu können. Für den Symbolwechsel stehen mehrere Optionen zur Verfügung.
Konstant: Die Option „Konstant“ ist standardmäßig aktiv, sobald ein dynamisches Symbol erstellt wird. Dabei können die statischen Symbole, welche die Grundlage für die dynamische Klasse bilden, hier konstant festgelegt werden. Typischerweise ist hier das statische Symbol angegeben, das dynamisiert wurde.
Bereich Numerisch: Bei Auswahl der Option Bereich Numerisch wird die Symbolumschaltung über einen Bereich aus der Symbolliste durchgeführt.

„Symbol_1“ bildet dabei den Beginn und „Alarm“ das Ende des Bereiches aufeinanderfolgender Symbole. Der Wertebereich der numerischen Prozessvariablen wird im Laufzeitsystem linear auf die Symbolliste abgebildet. Beim Wertebereich von 0…9 und einer Liste von 5 Symbolen erfolgt für 0 und 1 die Darstellung des ersten für 2 und 3 die Darstellung des zweiten Symbols usw.
Bereich Logisch: Bei der Option „Bereich Logisch“ kann zwischen zwei Symbolen gewechselt werden. Symbol 1 wird dargestellt, wenn der Wert der zugehörigen Prozessvariablen 0 ist, Symbol 2 wird dargestellt, wenn der Wert der Prozessvariablen 1 ist.
Direkt Logisch: Bei der direkten Zuordnung wird eine Auswahl von zwei bis acht Symbolen jeweils einer eigenen logischen Prozessvariablen zugeordnet. Das anzuzeigende Symbol wird durch die Prozessvariable bestimmt. Die logische Prozessvariable, deren Wert auf 1 steht, bestimmt das anzuzeigende Symbol. Stehen mehrere Variablen auf 1, erfolgt eine Priorisierung entsprechend der Reihenfolge. Stehen alle Variablen auf 0, wird auch das höchstpriorisierte Element angezeigt. Trifft keine Bedingung für Logisch direkt zu, wird als Default das erste Element in der Liste zur Anzeige verwendet.
Direkt Numerisch: Der Wertebereich der zugehörigen numerischen Prozessvariablen wird linear auf die angegebenen Symbole abgebildet. Bei der Symbolumschaltung „Direkt Numerisch“ sind bis zu acht Symbole möglich.
Liste: Bei der Option Liste werden die Symbole ausgewählt, zwischen denen umgeschaltet werden soll. Abhängig vom Wert der zugewiesenen Prozessvariablen wird das entsprechende Symbol angezeigt.

Zahlenfelder¶
Neben der Möglichkeit Zahlenfelder aus statischen Texten zu generieren,
können diese über das Symbol „Zahlenfelder“ in der
Symbolleiste erstellt werden. Die Klassen der Zahlenfelder werden in der
Toolbox verwaltet. Nach dem Auswählen des Zahlenfeldtyps (Logisch oder
Numerisch) öffnet das System automatisch den Klassendialog des
Zahlenfeldes.

Unter Darstellung können folgende Punkte parametriert werden:
Wert: Prozessvariable, die dieses Zahlenfeld darstellen soll.
Tooltip Text: Der darzustellende Tooltip Text.
Aussehen: Auswahl, ob Standard-Zahlenfeld oder Design-Zahlenfeld. Bei Auswahl „Design“ muss zusätzlich ein Style (siehe Style-Guide im Kapitel Oberfläche) gewählt werden.
Transparent: Die Option „Transparent“ stellt den Hintergrund des Zahlenfeldes transparent dar.
Schriftart/Textfarbe/Hintergrundfarbe: Definition der Schriftart, Textfarbe und Hintergrundfarbe. Ist die Option „Transparent“ aktiv, wird die Hintergrundfarbe nicht ausgewertet.
Fixe Größe: Ist die Checkbox der fixen Größe aktiviert, hat man die Möglichkeit die Größe, Ausrichtung, Text Abstand und Zeilenangabe festzulegen.
Einheit: Gibt man hier eine Einheit an, wird diese direkt hinter der Zahl angegeben. Diese Einheit ist ein einfacher Text, der nicht mehrsprachig definiert werden kann. Im Gegensatz siehe dazu Einheiten an Tags.
Format¶
Über die Attribut-Gruppe „Format“ lässt sich festlegen, wie die anzuzeigende Prozessvariable formatiert wird.

Unter „Nummernsystem“ wird das benötigte Zahlenformat für das Zahlenfeld editiert. Folgende Auswahl steht zur Verfügung:
Dezimal
Hexadezimal
Binär
Oktal
Exponentiell
Datum/Uhrzeit
Zeit (Timer)
Note
Nur die Anzeige wechselt in das entsprechende Zahlensystem. Die Eingabe erfolgt weiter dezimal.
Important
Die Zahlenfeldanzeige im Format „Datum/Uhrzeit“ und die Systemvariable „$Current.UTCTime“ arbeiten mit Millisekunden-Werten. Im Gegensatz dazu arbeiten die Funktionen Time() und DateToStr() mit Sekunden-Werten. Hier muss also im Bedarfsfall eine Umrechnung erfolgen.
Bei dezimaler Darstellung durch Anwählen der „Vorkomma-Nullen“ wird im Zahlenfeld die Anzeige um die fehlenden Vorkommanullen ergänzt.
Note
Beim Arbeiten mit Vorkommanullen wird die Stelle für das Vorzeichen bei positiven Zahlenwerten ebenfalls mit einer Null belegt.
Unter „Format definieren“ kann der Benutzer für das Zahlenfeld festlegen, wie viele Stellen und Nachkommastellen das Feld besitzen soll. Ist die Checkbox „Format definieren“ nicht aktiviert, werden so viele Stellen verwendet, wie zur Darstellung der zugewiesenen Prozessvariable benötigt werden.
Attribut-Gruppe Eingabe¶
Bei Zahlenfeldern ist die Attribut-Gruppe „Eingabe“ um einige Attribute erweitert, die im Folgenden beschrieben werden.

Unter der Eigenschaft „Eingabe Spezifikation“ kann festgelegt werden, ob das Zahlenfeld eine Eingabebeschränkung erhalten soll. Die folgenden Optionen sind möglich:
Kein Eingabelimit: Bei der Option „Kein Eingabelimit“ wird als Eingabebereich der Wertebereich der zugewiesenen Prozessvariablen verwendet.
Statisches Eingabelimit: Wird die Option „Statisches Eingabelimit“ verwendet, kann der Benutzer konstante Werte als untere und obere Eingabegrenze angeben.
Dynamisches Eingabelimit: Das „dynamische Eingabelimit“ verwendet als Eingabegrenzwerte numerische Prozessvariablen. Der Grenzwert der unteren und oberen Grenze wird durch den Wert der zugewiesenen numerischen Prozessvariable bestimmt.
Note
Statische und Dynamische Eingabelimits sind nur für numerische Zahlenfelder sinnvoll.
Balkenanzeige¶
Die Balkenanzeige dient zur grafischen Anzeige von Prozesswerten. Die möglichen Eigenschaften, die der Klasse zugewiesen werden können, sind „Darstellung“, „Sichtbarkeit“, „Schwelle“ und „Blinken“. Eine Eingabe bzw. Eingabefunktion ist nicht möglich.
Bei „Schwelle“ besteht der Unterschied zum Zahlenfeld darin, dass der Balken bei Erreichen des Schwellwertes komplett oder nur zum Teil die Farbe wechselt. Alle weiteren Eigenschaften sind zu den bereits beschriebenen dynamischen Objektklassen analog. In der Attributgruppe „Darstellung“ kann ein Sollwert eingegeben werden, der auf dem Balken entsprechend angezeigt wird.

Statischer Text¶
Statische Texte dynamisieren¶
In PROCON-WEB hat der Benutzer die Möglichkeit die statischen Texte zu konstanten Texten, dynamischen Texten oder zu Zahlenfeldern zu dynamisieren. Dabei werden die statischen Texte durch die gleiche Vorgehensweise dynamisiert wie statische Symbole.

Dynamischer Text¶
Die Anzeige des dynamischen Textes in PROCON-WEB ist von dem Wert der zugewiesenen Textvariable abhängig.

Zusätzlich zur reinen Anzeige kann für dieses Textobjekt die Eigenschaft „Eingabe“ zugewiesen werden. Dadurch können zur Laufzeit dynamisch Texte geändert werden. Optionen wie Textfarbe, Hintergrundfarbe und Ausrichtung des Textes können unter „Darstellung“ konfiguriert werden.
Important
Hat ein Textfeld, keine feste Größe aber eine Eingabemöglichkeit hat, kann zur Verschiebung des Bildes, wenn beim Eingeben des Textes die Außenkante des Bildes erreicht wird bzw. darüber „hinaus“ geschrieben wird. Wird der Text wieder verkleinert, wird die Verschiebung rückgängig gemacht solange noch nicht gespeichert wurde. Danach kann die Verschiebung nur noch durch eine Aktualisierung (F5) behoben werden.
Format: Die Attribut-Gruppe „Format“, dient zur Eingabe verschiedener Textformate (Bsp. Text, Passwort, Uhrzeit, Datum, Datum-Uhrzeit).

Note
Das Attribut „Format“ bestimmt nur welcher Touch-Dialog aufgerufen wird. Es ist keine Formatierung manueller Eingaben in das Textfeld!
In der nachfolgenden Tabelle sind die Einstellungen der einzelnen Formate dargestellt.
Format |
Parameter |
Bedeutung |
---|---|---|
Text |
||
Passwort |
Passwortzeichen |
Als Parameter lässt sich das Zeichen eingeben, dass anstatt des Klartextes ausgegeben werden soll. |
Uhrzeit |
Uhrzeitformat |
Als Parameter kann man zwischen 24h und 12h Anzeige wählen. |
Datum |
Datumsformat |
Als Parameter können verschiedene Darstellung des Datums angegeben werden. |
Datum-Uhrzeit |
Uhrzeitformat/ Datumsformat/Trenn- zeichen/Anzeigeformat |
Als Parameter, können oben genannte Einstellungen getroffen werden, wie auch ein Trennzeichen zwischen den einzelnen Werten und die Reihenfolge bestimmt werden. |
Konstanter Text¶
Der „Konstante Text“ unterscheidet sich zum „dynamischen Text“ dahingehend, dass keine dynamischen Texteingaben vorgenommen werden können, bzw. der Text sich nicht dynamisch ändert. Alle weiteren Eigenschaften von dynamischen Textobjekten sind auch für den konstanten Text verfügbar.

Durch den objektorientierten Aufbau können für jede Instanz verschiedene konstante Texte definiert werden.
Dynamischer Inhalt: Für den konstanten Text können auch dynamische Inhalte hinzugefügt werden. Dies erlaubt dem Nutzer Prozessvariablenwerte im Text zu erwähnen. Die Platzhalter für Prozessvariablen wurden an den in der Alertdefinition verwendeten Schema angelehnt. Eine Prozessvariable lässt sich im Text wie folgt beschreiben:
Definition |
% |
Typ |
Name |
% |
---|---|---|---|---|
Beschreibung |
% |
N: numerisch l: logisch T: text |
Name der Prozess- variable |
% |
Beispiel |
% |
N |
Temperatur |
% |
Die Prozessvariable kann ebenso über das Kontextmenü an der selektierten Stelle hinzugefügt werden.
Label Text¶
Das Control „Label Text“ dient zur Anzeige verschiedener Attribute der zugewiesenen Variable bzw. der zugewiesenen Struktur.

Format: Über die Attribut-Gruppe Format wird festgelegt welches Attribut der zugewiesenen Variable bzw. der zugewiesenen Struktur angezeigt wird.
Note
Es sind nicht alle Kombinationen von „Format“ und zugewiesener Variable bzw. der zugewiesener Struktur sinnvoll.
Definition der Instanzwerte dynamischer Objektklassen¶
Die Vorgehensweise zur Definition der Instanzwerte verhält sich bei allen dynamischen Objektklassen identisch. Abhängig davon, welche Eigenschaften für die dynamische Objektklasse gewählt wurden, können dementsprechend die Instanzwerte zugewiesen werden.

Neben den Instanzen der dynamischen Eigenschaften können auch Instanzwerte statischer Eigenschaften parametrisiert werden. Die Ansicht im Eigenschaftsfenster kann zur schnelleren Parametrierung zwischen „Standard“, „Prozessvariablen“ und „Instanzwerte“ gewechselt werden. Unter „Prozessvariablen“ werden alle dynamischen Eigenschaften angezeigt, denen eine Prozessvariable zugewiesen soll. Unter „Instanzwerte“ werden alle möglichen Eigenschaften und die zugehörigen Instanzwerte angezeigt. In dieser Ansicht sind im Unterschied zur Ansicht „Standard“ Mehrfachänderungen möglich.
Important
Im Eigenschaftsfenster können nur Instanzen verändert werden! Die Eigenschaften können nur im Klassendialog der entsprechenden dynamischen Objektklasse geändert werden.
Note
Die Instanzwerte sollten nur im Eigenschaftsfenster definiert werden, da bei Definition bereits im Klassendialog jede Instanz der Objektklasse diesen Instanzwert besitzt.
Dynamic Expressions¶
DynamicExpressions fasst die Begriffe FreeConditions und FreeValues zusammen. Für beide steht für die Bearbeitung ein Editor zur Verfügung in dem JavaScript in eingeschränktem Umfang verwendet wird.

Die Syntax von Kommentaren ist dieselbe wie in C++ und in vielen anderen Sprachen:
// Einzeiliger Kommentar
/* Das ist ein langer,
*mehrzeiliger Kommentar */
/* Man kann keine Kommentare, /*Verschachteln */ SyntaxError */
Kommentare sind wie Whitespaces und werden bei der Ausführung von Skripten verworfen.
|
Eigenschaften (Variablenarray)** |
---|---|
length |
length |
pop() |
concat() |
push() |
join() |
concat() |
slice() |
join() |
indexOf() |
reverse() |
every() |
shift() |
some() |
slice() |
map() |
sort() |
filter() |
splice() |
reduce() |
unshift() |
reduceRight() |
indexOf() |
|
every() |
|
some() |
|
map() |
|
filter() |
|
reduce() |
|
reduceRight() |
Important
Beim Verwenden von Operatoren ist zu beachten, dass der Editor Case-sensitiv ist. D.h. es muss zwingend „true“ eingegeben werden, ein „True“ oder „TRUE“ führt zu einem Fehler beim Erzeugen des Projektes
Arrays innerhalb einer Struktur unterstützen keine Funktionen oder Eigenschaften. “tags.NumericTag.unitValue” ruft die Einheit des Werts ab. Bei Strukturen kann nur auf den Anzeigenamen des Tags mit “.displayName” zugegriffen werden und auf den Anzeigekommentar des Tags mit “.displayComment”. Hierzu muss mit einem „$name“ zugegriffen werden, um Namenskonflikte mit Elementen in der Struktur zu vermeiden. Beginnt ein Tag mit einem kleinen Buchstaben oder einem Unterstrich, wird er nicht farblich hinterlegt. Wenn beim Ausführen eines dynamischen Ausdrucks ein Fehler auftritt, wird der Standardwert für den entsprechenden Datentyp verwendet (false für FreeCondition/Bool FreeValue, 0 für Num FreeValue, “” für String FreeValue). Außerdem wird der Fehler in der Browserkonsole angezeigt:

Wenn TagArrays auf einen ungültigen Index zugreifen, gibt das Array ein Standard-Tag zurück, und in der Browserkonsole wird ein Fehler angezeigt. Das Default-Tag gibt immer den Default-Wert für value und unitValue des Datentyps zurück (false für Bool, 0 für Num, “” für String). Für ein numerisches Tag gibt min.value min.unitValue max.value max.unitValue decimalDigits.value und decimalDigits.unitValue 0 zurück.

Beim Bibliotheksimport von DynamicExpressions kann es passieren, dass diese anschließend nicht einwandfrei funktionieren. In diesem Falle wird in die DynamicExpression ein Kommentar geschrieben, damit diese manuell überprüft werden muss
Free Conditions¶
An jeder Stelle, an der Bedingungen für ein Attribut erfasst werden können, können FreeConditions verwendet werden. Aktuell sind die FreeConditions in folgenden Attributgruppen administrierbar:
Eingabe
Sichtbarkeit
Blinken
Funktionsicon 1
Funktionsicon 2
Eingerastet (Button)
Die Bedingung kann hier frei definiert werden, solange die Abfrage „Wahr“ oder „Falsch“ zurück gibt. Bei einer fehlerhaften Eingabe wird direkt eine Fehlermeldung ausgegeben und der Wert auf den zuletzt gültigen Wert gesetzt. Ebenso wenn eine nicht definierte Variable oder Funktion verwendet wird.

Syntax: Zugelassene Operatoren sind
Operator |
Funktion |
---|---|
< |
Kleiner als |
> |
Größer als |
=== |
Gleich |
!= |
Ungleich |
&& |
Und |
+ |
Addieren |
- |
Subtrahieren |
* |
Multiplizieren |
/ |
Dividieren |
Beispiel: 5 > 4
Numerische Literale: Ganze Zahlen können als Dezimal- (Basis 10), Hexadezimal- (Basis 16), Oktal- (Basis 8) und Binärzahl (Basis 2) ausgedrückt werden. Eine Dezimalzahlenliteral besteht aus einer Sequenz von Ziffern ohne eine führende 0. Eine führende 0 oder 0o (oder 0O) bei einem Zahlenliteral deutet eine Oktalzahl an. Oktalzahlen können nur die Ziffern 0 bis 7 enthalten.
Ein führendes 0x (oder 0X) deutet eine Hexadezimalzahl an. Hexadezimale Ganzzahlen können als Stellen Ziffern (0 - 9) und die Buchstaben a - f bzw. A - F enthalten. (Die Schreibweise des Buchstaben ändert nicht den Wert der Stelle. Z. B. 0xa = 0xA = 10 und 0xf = 0xF = 15.) Ein führendes 0b (oder 0B) deutet eine binäre Ganzzahl an. Binäre Ganzzahlen können nur die Ziffern 0 und 1 enthalten.
Gleitkomma Literale: Ein Gleitkomma Literal kann die folgenden Abschnitte beinhalten:
Eine dezimale ganze Zahl, die mit einem Vorzeichen (“+” oder “-”) versehen sein kann.
Einen Dezimalpunkt (“.”).
Eine Nachkommazahl (weitere Dezimalzahl).
Einen Exponenten.
Der Exponent besteht aus einem “e” oder “E” gefolgt von einer ganzen Zahl, die mit einem Vorzeichen (“+” oder “-”) versehen sein kann. Eine Gleitkommazahl muss mindestens aus einer Ziffer und entweder einem Dezimalpunkt oder einem “e” (oder “E”) bestehen. Kurz und knapp sieht die Syntax folgendermaßen aus:
[(+|-)][ziffern][.ziffern][(E|e)[(+|-)]ziffern]
String Literale: Ein String Literal besteht aus null oder mehr Zeichen, die von doppelten (“) oder einfachen (’) Anführungszeichen umschlossen sind. Ein String muss immer von gleichen Anführungszeichen umschlossen sein. Entweder von einfachen oder von doppelten Anführungszeichen.
Verwendung von Konstanten: Zahlen können direkt eingegeben, Strings müssen mit „“ gekennzeichnet werden. Beispiel: „Hallo“ != „Test“
Eingabe ins FreeCondition Feld |
Rückgabewert |
---|---|
5 < 10 |
True |
5 > 10 |
False |
5 === 10 |
False |
5 != 10 |
True |
5 + 5 === 10 |
True |
5 – 5 < 10 |
True |
5 + (10 * 3) != 100 |
True |
„Ich bin ein String“ === „Ich bin ein String“ |
True |
„Ich bin ein String“ != „Ich bin ein String“ |
False |
„Ich bin ein längerer String“ > „Ich bin ein String“ |
True |
„Ich bin ein längerer String“ < „Ich bin ein String“ |
False |
Bei der Verwendung von Variablen muss das Wort „tags“ mit Punkt vor den Variablennamen gestellt werden. Um den Wert zu verwenden, hinter den Variablennamen „.value“ setzen. Die Min/Max-Werte werden mithilfe von „max.value“/“.min.value“ angesprochen.
Beispiele:
Eingabe ins FreeCondition Feld |
Rückgabewert |
---|---|
tags.NumA.value < tags.NumB.value |
True |
tags.NumA.value > tags.NumC.max.value |
False |
tags.StringA.value === tags.NumB.value |
False |
tags.StringB.value != tags.NumC.decimalDigits.value |
True |
Die Verwendung von Arrays funktioniert folgendermaßen: Mit tags.Array1[5] spricht man die 5. Stelle des Array1 an. Mit tags.Array1[tags.Variable1.value].value erhalt man den Wert des Arrays von der Stelle, die auf der Variable1 gespeichert ist.
|
|
---|---|
tags.ArrayA[5].value |
tags.ArrayA[tags.NumA.value].value |
tags.TagWithoutArray.value |
Verwendung von Funktionen:
Math. Funktionen |
String Funktionen |
---|---|
Math.round() |
„StringTest“.charAt() |
Math.pow() gibt Wert der Zahl hoch 3 zurück |
„StringTest“.charCodeAt() |
Math.sqrt() gibt die Quadratwurzel einer Zahl zurück |
„StringTest“.concat() verbindet zwei oder mehr Strings |
Math.abs()gibt den absoluten Wert einer Zahl zurück |
„StringTest“.fromCharCode() konvertiert Unicode-Werte in Zeichen |
Math.ceil() rundet eine Zahl auf die nächste ganze Zahl auf und gibt das Ergebnis zurück |
„StringTest“.indexOf() gibt die Position des ersten Vorkommens eines angegebenen Werts in einer Zeichenfolge zurück |
Math.floor() rundet eine Zahl auf die nächste ganze Zahl ab und gibt das Ergebnis zurück |
„StringTest“.lastIndexOf() gibt die Position des letzten Vorkommens eines angegebenen Werts in einer Zeichenfolge zurück |
Math.sin() gibt den Sinus einer Zahl zurück |
„StringTest“.match() durchsucht einen String nach einer Übereinstimmung mit einem regulären Ausdruck und gibt die Übereinstimmungen als Array-Objekt zurück |
Math.cos() gibt den Kosinus einer Zahl zurück |
„StringTest“.replace() durchsucht eine Zeichenfolge nach einem angegebenen Wert oder einem regulären Ausdruck und gibt eine neue Zeichenfolge zurück, in der die angegebenen Werte ersetzt werden |
Math.min() gibt die Zahl mit dem niedrigsten Wert zurück |
„StringTest“.search() durchsucht einen String nach einem angegebenen Wert und gibt die Position der Übereinstimmung zurück |
Math.max() gibt die Zahl mit dem höchsten Wert zurück |
„StringTest“.slice() extrahiert Teile eines Strings und gibt die extrahierten Teile in einem neuen String zurück |
Math.random() gibt eine Zufallszahl von 0 (einschließlich) bis einschließlich 1 (ausschließlich) zurück |
„StringTest“.split() teilt einen String in ein Array von Teilstrings auf und gibt das neue Array zurück |
Math.acos() gibt den Arkuskosinus einer Zahl als Wert zwischen 0 und PI Radiant zurück |
„StringTest“.substr() sollte nicht verwendet werden sondern stattdessen substring() |
Math.asin() gibt den Arkussinus einer Zahl als Wert zwischen 0 und PI Radiant zurück |
„StringTest“.substring() extrahiert Teile einer Zeichenfolge, beginnend mit dem Zeichen an einer angegebenen Position, und gibt eine angegebene Anzahl von Zeichen zurück |
„StringTest“.toLowerCase() wandelt einen String in Kleinbuchstaben um |
|
„StringTest“.toUpperCase()wandelt einen String in Großbuchstaben um |
|
„StringTest“.startsWith() gibt zurück, true wenn eine Zeichenfolge mit einer angegebenen Zeichenfolge beginnt, andernfalls false |
Beispiele:
Eingabe ins FreeCondition Feld |
Rückgabewert |
---|---|
Math.max(10,20,30) > Math.min(10,20,30) |
True |
10 == Math.max(10,20,30) |
False |
„StringTest“.charAt(3) === „P“ |
False |
„Hello“.concat(„ World“) === „Hello World“ |
True |
Free Values¶
Free-Values können überall dort verwendet werden an denen Variablen eingesetzt werden, die nicht beschrieben werden und nicht bereits durch die Eingabemöglichkeit von FreeConditions abgedeckt sind. Die Syntax ist analog den FreeConditions, lediglich die Rückgabewerte unterscheiden sich hier. Rückgabewerte sind:
Logisch
Numerisch
Zeichenketten Hierfür wurden neue Icons eingeführt:
string
Für Numerische Variablen kann ein Free-Value mit einem numerischen Wert erstellt werden. Z.B.: - tags.MyNumber.value * 10 - 42 - tags.MyBoolean.value ? 100 : 0

Es erscheinen vier Eingabefelder für FreeValue. Der Wert, Min, Max, Dezimalstellen und die Einheitenauswahl. Das Verhalten der FreeValue Zelle entspricht der FreeCondition Zelle. Es kann direkt in die Zelle Skript-Code eingetragen werden. Wird die Zelle verlassen erfolgt die Überprüfung über den Type-Script Server. Ist der eingegebene Code gültig bleibt er bestehen, ist er nicht gültig öffnet sich der Editor. Es kann zu einer doppelten Einheitenumrechnung und somit fehlerhafter Werte in der Anzeige kommen, wenn auf „unitValue“ zugegriffen wird und am numerischen Feld ebenfalls eine Einheit hinterlegt ist.
Für einen Logischen Tag ein boolscher Wert. Z.B.:
tags.MyBoolean.value
Tags.MyNumber.value < 100
Tags.MyString.value.startsWith(Hello)
false

Das Verhalten der FreeValue Zelle entspricht der FreeCondition Zelle. Es kann direkt in die Zelle Skript-Code eingetragen werden. Wird die Zelle verlassen erfolgt die Überprüfung über den Type-Script Server. Ist der eingegebene Code gültig bleibt er bestehen, ist er nicht gültig öffnet sich der Editor
Für einen String Tag ein Tag mit einem entsprechenden String Ergebnis. Z.B.:
tags.MyNumber.value + _ + tags.MyString.value + !

Die Bedingung kann hier frei definiert werden, solange die Abfrage „Wahr“ oder „Falsch“ zurück gibt. Bei einer fehlerhaften Eingabe wird direkt eine Fehlermeldung ausgegeben und der Wert auf den zuletzt gültigen Wert gesetzt. Ebenso wenn eine nicht definierte Variable oder Funktion verwendet wird.
Aktuell sind die FreeValues in folgenden Controls administrierbar:
Dynamischer Text
Checkbox
Schiebeschalter
QRCode 1
Webbrowser
Dynamisches Symbol
Ternärer Ausdruck: In FreeValues darf kein „IF“ verwendet werden. Dies kann man mit einem sogenannten „Ternären Ausdruck“ umgehen um einer Variablen einen Wert zuweisen zu können oder eine Bedingung zu prüfen wie im Falle der FreeValues: Variable = (Bedingung) ? (Zuweisung wenn wahr) : (Zuweisung wenn falsch) (Bedingung) ? (Ausdruck wenn wahr) : (Ausdruck wenn falsch)
Beispiele: Sicherstellung Wert > 0
(tags.something.value > 0) ? tags.something.value : 0
- tags.DiagrammAnzeigemodus.value == 0 ? tags.DiagrammTagesverbrauchTag.value
tags.DiagrammAnzeigemodus.value == 1 ? tags.DiagrammTagesverbrauchMonat.value
tags.DiagrammAnzeigemodus.value == 2 ? tags.DiagrammTagesverbrauchJahr.value
tags.DiagrammAnzeigemodus.value == 3 ? tags.DiagrammTagesverbrauchGesamt.value
0
Einfache Controls¶
SlideIn¶
Ein SlideIn ist ein Control, das durch Touchberührung oder über eine Variable ein weiteres Bild augenscheinlich von außen in das aktuelle Bild hineinfahren lassen kann. Sobald das SlideIn zu 30 % geöffnet oder geschlossen ist, steuert der Gestenmanager das öffnen bzw. schließen des gesamten Controls automatisch.

Folgende Optionen können eingestellt werden:
Attribut |
Bedeutung |
---|---|
Symbol |
Legt das Symbol fest, welches das SlideIn darstellt. |
Bild |
Legt das Bild fest, welches dem Inhalt des SlideIns entspricht. |
Bildanordnung |
Legt fest, wo das oben angegebene Bild geöffnet werden soll. |
Position |
Legt fest, an welcher Position der oben angegebene Bildinhalt am SlideIn-Bild befestigt ist. |
Externe Variable |
Der SlideIn lässt sich mit einer Prozessvariablen ausfahren, wenn diese (boolean) = 1 oder einfahren, wenn die Variable den Wert 0 besitzt. |
Automatisch Schließen |
Legt fest, ob das SlideIn nach dem Loslassen automatisch wieder aus dem Bild fährt. |
ImageView¶
Ein ImageView ist ein Control das die unterschiedlichsten Arten von Bildern darstellen kann. Im Gegensatz zu einem Symbol kann ein ImageView z.B. auch animierte Gif’s darstellen.

Folgende Optionen können eingestellt werden:
Attribut |
Bedeutung |
---|---|
Dynamik |
Legt fest, ob ein einzelnes Bild oder eine Liste von Bildern abhängig von einer numerischen Variablen, abgezeigt werden. |
Bild |
Legt das Bild fest, welches durch das ImageView dargestellt wird, falls Konstante Darstellung gewählt wurde. |
Im Gegensatz zu Bildern in Symbolen werden animierte Gif´s auch als solche behandelt und in der Runtime entsprechend dargestellt. |
|
Bilderliste |
Auswahl der Bilderliste die anzezeigt werden soll, falls die Listendarstellung gewählt wurde. |
Im Gegensatz zu Bildern in Symbolen werden animierte Gif´s auch als solche behandelt und in der Runtime entsprechend dargestellt. |
|
Wert |
Numerische Variable die bestimmt, welches Bild der Bilderliste angezeigt wird. |
(0 = 1. Bild, 1 = 2. Bild, 2 = 3. Bild, …) |
SVG Element¶
Im Ribbon „Bildbearbeitung“ der Bildmontage unter Einfache Controls gibt es eine Auswahlliste „Images“. Darin enthalten sind das Grafik- und das SVG-Element.

Das SVG-Element hat die gleichen Attribute wie das ImageView. Zusätzlich besitzt es einen Farbwechsel. In der Attribute-Gruppe „Darstellung“ gibt es im Gegensatz zum ImageView unter Dynamik keine Listenauswahl. Das Control kann nur ein SVG anzeigen.
Attribut Farbwechsel: Der Farbwechsel ähnelt dem bekannten Farbwechsel von z.B. Zahlenfeld etc. Es gibt einen Unterschied wie sich der Farbwechsel auf den gewählten „Bereich“ verhält. Im SVGView kann ein Farbwechsel separat für die Linie, Füllung und den Hintergrund eingestellt werden. Beim Zahlenfeld z.B. ist der Farbwechsel für alle Auswahlmöglichkeiten gleich.

Die Einstellmöglichkeiten des Farbwechsels sind die gleichen wie bisher bekannt (Num/Log direkt, Num/Log Bereich, Log kodiert, Num Liste)

Important
Werden Bei den Attributen Linie, Hintergrund und Füllung in der Klasse Werte gesetzt, so greifen die Dynamisierungen in der Instanz nicht!
Important
Die Auswahl „Linie“ wirkt sich im SVG auf Linien und Texte aus. Eine Unterscheidung ist für eine spätere Ausbaustufe angedacht. Im Moment kann die Runtime die Unterscheidung nicht.
Checkbox¶
Checkboxen in PROCON-WEB können so aussehen, wie in der Grafik unten dargestellt. Es besteht die Möglichkeit die Eingaben und die Sichtbarkeit einer Checkbox dynamisch zu ändern. Weiterhin kann eine Eingabe-Funktion definiert werden.

Das Aussehen der Checkbox wird hauptsächlich durch den Style-Guide siehe Style-Guide im Kapitel Oberfläche bestimmt.
Important
Checkboxen können nur horizontal dargestellt werden, es ist keine Drehung möglich!

Im Feld „Angezeigter Wert“ wird die Beschriftung festgelegt, die die Checkbox im Bild haben soll. Die logische Prozessvariable, die beim Aktivieren der Checkbox zur Laufzeit gesetzt werden soll, kann unter dem Feld „Wert“ parametrisiert werden. XE “ImageView”
Combobox¶
Comboboxen in PROCON-WEB können wie in der Grafik unten dargestellt aussehen. Es besteht die Möglichkeit, die Eingaben und die Sichtbarkeit einer Combobox dynamisch zu ändern. Weiterhin kann eine Eingabe-Funktion definiert werden.

Das Aussehen der Combobox wird hauptsächlich durch den Style-Guide siehe Style-Guide im Kapitel Oberfläche bestimmt. Es sind maximal 256 feste Listenelemente in einer Combobox möglich.
Important
Comboboxen können nur horizontal dargestellt werden, es ist keine Drehung möglich!

Der Wert der Combobox kann entweder auf einen Numerischen Wert (= Index), oder auf einen String Wert (= angezeigter Text) geschrieben werden. Dies kann natürlich auch entgegengesetzt passieren. Wird die Prozessvariable auf den Wert -1 gesetzt, so ist kein Listenelement in der Combobox ausgewählt.
Die Parametrierung der Instanzwerte für die anzuzeigenden Listeneinträge wird bei der Eigenschaft „Angezeigter Wert“ vorgenommen. Durch Anwählen des Auswahl-Buttons öffnet sich ein weiterer Dialog, in dem die Listeneinträge angelegt und in der Reihenfolge verändert werden können.

Für jeden Eintrag in der Liste lässt sich ein definierter Index eingeben. Die Indizes dürfen nicht doppelt vorhanden sein, können aber Lücken haben.
Über die rechte Maustaste kann ein Dialog aufgerufen werden, mithilfe dessen hier als Wert eine weitere Variable eingetragen werden kann.
Listeneinträge können dynamisch über eine Prozessvariable sichtbar geschaltet werden. Standardmäßig wird keine Variable eingetragen, was mit sichtbar gleichzustellen ist.
Important
Listeneinträge können nur in der Default-Sprache gelöscht, bzw. neu hinzugefügt werden! Projektiert man in einer anderen Sprache, sind die Buttons inaktiv.
Schiebeschalter¶
Das Control „Schiebeschalter“ dient zum Steuern einer logischen Variable
und wird über das Icon in der Symbolleiste erstellt.

Folgende Optionen können eingestellt werden:
Attribut |
Bedeutung |
---|---|
Darstellung |
Unter Darstellung werden u. a. der zu steuernde Variablenwert, die Objektgröße, das Aussehen (Standard oder Style) und die Hintergrundfarbe definiert. |
Eingabe |
Unter Eingabe wird analog zu den anderen Controls die Eingabe abhängig von Bedingungen aktiviert. Außerdem kann ein Eingabelimit und die Spezialeingabe konfiguriert werden. |
Sichtbarkeit |
Sichtbarkeitsschaltung abhängig von der entsprechenden Bedingung |
Zusatzfunktion |
Analog zu den anderen Controls in PROCON-WEB kann mit der Zusatzfunktion bei Eingabe zur Laufzeit eine weitere Funktion ausgeführt werden. |
Schieberegler¶
Das Control „Schieberegler“ (Slider) dient zum Steuern einer numerischen
Variable und wird über das Icon in der Symbolleiste
erstellt.

Folgende Optionen können eingestellt werden:
Attribut |
Bedeutung |
---|---|
Darstellung |
Unter Darstellung werden u. a. der zu steuernde Variablenwert und die Objektgröße definiert. |
Das Aussehen des Schiebereglers wird hauptsächlich durch den Style-Guide (siehe Style-Guide im Kapitel Oberfläche bestimmt. |
|
Eingabe |
Unter Eingabe wird analog zu den anderen Controls die Eingabe abhängig von Bedingungen aktiviert. Außerdem kann ein Eingabelimit und die Spezialeingabe konfiguriert werden. |
Position |
Positionsverschiebung abhängig von der entsprechenden Bedingung |
Sichtbarkeit |
Sichtbarkeitsschaltung abhängig von der entsprechenden Bedingung |
Blinken |
Blinken abhängig von der entsprechenden Bedingung |
Eingabefunktion |
Analog zu den anderen Controls in PROCON-WEB kann mit der Zusatzfunktion bei Eingabe zur Laufzeit eine weitere Funktion ausgeführt werden. |
Tortendiagramm¶
Das Control „Tortendiagramm“ dient zur grafischen Anzeige von bis zu 10
Werten. Diese Werte können Konstant oder eine numerische Variable sein.
Erzeugt wird das Control über das Icon in der Symbolleiste.

Folgende Optionen können für die Darstellung eingestellt werden:
Attribut |
Bedeutung |
---|---|
Kreisanteil in Grad (90°-360°) |
Kreisanteil welcher das Tortendiagramm maximal darstellt. |
Innenabstand in Prozent |
Legt den inneren Bereich des Kreises fest der leer bleibt. |
Beschriftung anzeigen |
Anzeige der Beschriftung für die Werte. |
Textfarbe |
Farbe für den Beschriftungs-Text. |
Text-Anzeige-Schwelle |
Schwelle ab welchem Wert der Beschriftungs-Text angezeigt wird. |
Rahmenbreite der Sektoren |
Rahmenbreite der Sektoren in Pixel. |
Rahmenfarbe der Sektoren |
Legt die Rahmenfarbe der Sektoren fest |
Drehung im Uhrzeigersinn |
Legt die Drehrichtung, in der Ausrichtung dargestellt wird fest. |
Diagrammdrehung |
Hier wird eine Grunddrehung des Controls angegeben. |
Daten: Beim Tortendiagramm unterscheidet man zwischen normaler Darstellung und Fortschrittsanzeige. Die nachfolgenden Einstellungen sind vom Typ abhängig.
Normale Darstellung:
Attribut |
Bedeutung |
---|---|
Explosionsabstand |
Abstand in Pixel bei „Explodierter Darstellung“. |
Anzahl der Sektoren |
Anzahl der Werte die dargestellt werden (2 - 10). |
Sektor n Wertetyp |
Umschaltung konstanter oder dynamischer Wert. |
Sektor n Wert |
Eingabe des konstanten oder dynamischen Werts. |
Sektor n Farbe |
Farbe des Sektors. |
Sektor n Explodierte Darstelllung |
Festlegung ob der Sektor „explodiert“, also nach außen gerückt, dargestellt werden soll. |
Restfortschritts-Farbe |
Farbe des Restfortschritts bei Fortschrittsanzeige. |
Fortschrittsanzeige:
Attribut |
Bedeutung |
---|---|
Sollwert |
Abhängig von diesem Wert wird die Prozentanzeige berechnet. (Ist = 1000, Soll = 500 -> 50%) |
Auswahl des MinValue Type |
Festlegung, welcher Min-Wert verwendet werden soll |
„Kein Eingabelimit“: Es wird der Min-Wert des Tags verwendet |
|
„Statisches Eingeabelimit“: Es kann direkt ein fester Wert erfasst werden |
|
„Dynamisches Eingabelimit“: Der Min-Wert wird über eine numerische Variable gesetzt |
|
Auswahl des MaxValue Type |
Festlegung, welcher Max-Wert verwendet werden soll |
„Kein Eingabelimit“: Es wird der Max-Wert des Tags verwendet |
|
„Statisches Eingeabelimit“: Es kann direkt ein fester Wert erfasst werden |
|
„Dynamisches Eingabelimit“: Der Max-Wert wird über eine numerische Variable gesetzt |
|
Restfortschrittsfarbe |
Farbe des Bereiches, der nicht ausgefüllt wird. |
Sektor 1 Wert |
Dies ist der Istwert, der prozentual zum Sollwert dargestellt wird. |
Sektor 1 Farbe |
Die Fläche des Istwertes wird in dieser Farbe dargestellt. |
Es ist zu beachten, dass der ausgewählte MaxValue Typ nicht abhängig vom MinValue Typ ist. So kann man beispielsweise auch einen Tag als Min-Wert verwenden, währenddessen der Max-Wert eine statische Eingabe ist
Schwelle: Die Attribute Schwelle und Farbwechsel sind nur verfügbar, wenn bei Kategorie Daten die Fortschrittsanzeige aktiv ist. Es kann zwischen Bereichs- und Gesamtwechsel unterschieden werden. Der Bereichswechsel definiert verschiedene Farben für Sektoren des Fortschritts des Tortendiagramms. Der Gesamtwechsel hingegen tauscht den kompletten Sektor des Fortschritts aus.
Bedingungen für die Farbschwellen können für jede Farbe einzeln definiert werden. Hierbei unterscheidet man zwischen logischer, numerischer und konstanter Bedingung. Werden mehrere Bedingungen erfüllt, wird immer die Farbe gewählt, die einen höheren Wert in der Designerkonfiguration hat.
Attribut |
Bedeutung |
---|---|
Bereichswechsel |
Hier kann zwischen Gesamt- und Bereichswechsel unterschieden werden. Der Gesamtwechsel ändert das komplette Control während der Bereichswechsel nur den Wertebereich füllt. |
Anzahl |
Definiert die Anzahl von Farben |
Bedingung |
Bedingung der Schwelle |
Farbe |
Farbe der Schwelle |
Wert |
Wert der die Bedingung erfüllen muss |
Bildbereich¶
Das Control „Bildbereich“ entspricht im Prinzip einem Container vom Typ
„Bild“. Ein Bildbereich kann im Gegensatz zum Container wie ein ganz
normales Control in einem Bild verwendet werden (Container gibt es nur
in einem Layout!). Ein neues Element wird über das Icon in
der Symbolleiste erzeugt.

Das Bildbereich-Element hat ein zusätzliches Property in der Attribute-Gruppe „Darstellung“. Dies stellt eine Bilder-Liste da. Hier wählt man die Bilder aus, die in dem Picture Area-Element angezeigt werden. Ansonsten entsprechen die Attribute / Properties dem Container-Element vom Typ „Bild“
Funktionen zum Verändern der Picture Area: In den Funktionen (z.B. Button -> Drücken Funktion) gibt es 2 weitere Optionen.

Bildbereich: Füllen -> Hier wird ein Picture Area-Element angegeben und eine Bilder-Liste erstellt. Die Bilder-Liste des ausgewählten Elements wird durch die neue Bilder-Liste ersetzt.
Bildbereich: Füllen (alle Instanzen) -> Hier wird ein Picture Area-Element angegeben und eine Bilder-Liste erstellt. Die Bilder-Liste des ausgewählten Elements wird durch die neue Bilder-Liste ersetzt. Dies kann abhängig von einem Kontext sein, beispielsweise ein Bild mit einem AO dem diverse Strukturen hinzugefügt sind. Mit dem Befehl können alle Instanzen parallel in dem Bildbereich eingefügt werden.
Bildbereich: Leeren -> Hier wird das Picture Area-Element angegeben, dessen Bilder-Liste gelöscht werden soll. Bildbereich: Leeren (alle Instanzen) -> Hier wird das Picture Area-Element angegeben, dessen Bilder-Liste aller Instanzen unabhängig von eventuell vorhandenem Kontext gelöscht werden soll.
Das Zoom- und Scrollverhalten entspricht dem des Containers.
Container¶
Das Control „Container“ legt Bereiche im Bild fest, die später durch die
Navigation mit Navigationselementen bzw. Bildern gefüllt werden. Ein
Container wird über das Icon in der Symbolleiste
erzeugt.

Prinzipiell gibt es zwei verschiedene Typen von Containern, Bild-Container und Navigations-Container. In der folgenden Tabelle sind die wichtigsten Attribute des Container-Objects und deren Bedeutung aufgelistet.
Attribut |
Bedeutung |
---|---|
Rahmenbreite |
Breite des Rahmens um den Container oder 0 für keinen Rahmen |
Container-Typ |
Bild- oder Navigations-Container |
Anordnung |
Nur bei Bild-Container änderbar. |
Gefüllt: Das Bild wird in der Fläche des Containers angezeigt. |
|
Fließend: Es wurden alle gewählten Bilder hinzugefügt bis der Container voll ist. |
|
Abstand (X) |
Nur bei fließender Anordnung, Abstand zwischen den Inhalten |
Abstand (Y) |
Nur bei fließender Anordnung, Abstand zwischen den Inhalten |
Container-Verhalten |
Abhängig vom gewählten Container-Typ und Verhalten: |
Standard (Wish-Container), Scroll-Container oder Zoom-Container auswählbar |
|
Dynamische Größe |
Bei Scroll- und Zoom-Containern kann die Größe Während der Laufzeit verändert werden |
X-Scrollwert speichern |
Bei Scroll- und Zoom-Containern kann der Scrollwert auf eine Variable gespeichert werden |
Y-Scrollwert speichern |
Bei Scroll- und Zoom-Containern kann der Scrollwert auf eine Variable gespeichert werden |
X-Scrollgröße speichern |
Bei Scroll-Containern kann die Scrollgröße auf eine Variable gespeichert werden |
Y-Scrollgröße speichern |
Bei Scroll-Containern kann die Scrollgröße auf eine Variable gespeichert werden |
Extern scrollen |
Wird diese Funktion gewählt, kann ausschließlich über die festgelegten Variablen der Scrollwerte und -größe in einem Container gescrollt werden |
Scrollbar dauerhaft aktiv |
Bei Scroll- und Zoom-Container kann hierüber eine dauerhaft angezeigte Scrollbar während der Laufzeit aktiviert werden, sofern der anzuzeigende Inhalt größer wie der Container ist |
Zoomwert speichern |
Bei Zoom-Containern kann der Zoomwert auf eine Variable gespeichert werden |
Maximaler Zoomfaktor |
Bei Zoom-Containern kann ein maximaler Faktor erfasst werden, wird dies nicht getan, so kann theoretisch ins unendliche gezoomt werden. |
Navigationspunkte anzeigen |
Auswahl von Variablen die als Navigationspunkte dienen |
Navigationsindex speichern |
Legt fest, ob der Index gespeichert werden soll und auf welcher Variable |
Inhalt skalieren |
Legt fest, ob der Inhalt skaliert wird (und wie) oder nicht |
Hilfe ID |
Hier wird eine ID für das HilfeControl vergeben |
Ist kein Zoom- oder Scrollwert hinterlegt, so wird beim ersten Laden des Containers mit den Standardwerten befüllt. Beim nächsten öffnen, werden die Werte wiederhergestellt, sofern der Cache nicht geleert wurde.
Note
Nicht die Größe es Inhalts wird vergrößert/ verkleinert, sondern nur der Container. Das bedeutet, wenn man das Verhalten haben möchte, das man den „abgeschnittenen“ Bereich anwählen kann, muss man dazu das Containerverhalten auf entweder ScrollContainer oder ZoomContainer stellen und die Checkbox Dynamische Größe setzten.
Komplexe Controls¶
Grid-Control¶
Das Grid-Control dient zur Darstellung und Bearbeitung von Datensätzen
zur Laufzeit in einem Bild. Außerdem können die angezeigten Daten
beispielsweise nach MS Excel exportiert oder oder auch zur Laufzeit
gefiltert werden. Außerdem kann das Control über den Style-Guide dem
Erscheinungsbild des Projektes angepasst werden. Ein Grid wird über das
Symbol Grid in der Ribbonleiste unter Bildtools erstellt. Ein
Grid kann in verschiedenen Ausprägungen definiert werden:
Daten-Grid: zur Anzeige von Tabellen einer Datenbank
Meldungs-Grid: zur Anzeige von Meldungen
Notifikation-Grid: zur Anzeige von Notifikations
MDA-Grid: zur Anzeige der Maschinenzeiten
Meldungsstatistik-Grid: zur Anzeige der Alarm-& Meldungsstatistik
Benutzerverwaltungs-Grid: zur Anzeige der Alarm-& Meldungsstatistik
Voraussetzung für ein Grid ist eine bestehende Ansicht. Diese Ansicht kann entweder eine Datenverwaltungs-Ansicht (siehe hierzu Ansichten im Kapitel Daten, oder eine Meldungsansicht sein. Die Ansicht definiert beispielsweise, welche Spalten angezeigt werden sollen, welche Spaltenüberschriften angezeigt werden, welche Filter zum Einsatz kommen oder wie der einzelne Wert einer Zelle der Tabelle angezeigt werden soll.
Da die Definition der Ansichten Global erfolgt, hat das Grid den Vorteil, dass man meist nur eine Grid-Klasse benötigt. In der Instanz können somit verschiedene Ansichten referenziert werden, ohne die Eigenschaften des Grid-Controls zu verändern.
Daten-Grid¶
Neues Daten-Grid-Control erstellen: Über das Symbol Grid in
der Ribbonleiste unter Bildtools kann ein Grid erstellt werden. Es
öffnet sich der Klassen-Dialog in dem anschließend der Typ „Daten-Grid“
auszuwählen ist. Folgende Attribute sind verfügbar:
Darstellung: In der Darstellung kann die Ansicht, die Größe, das Aussehen, die Spaltenüberschrift und Style eigenstellt werden. Nach Zuweisung der Ansicht wird das Control mit einer Vorschau befüllt. Hierbei werden nur Testdaten eingefügt, es werden keine Daten der tatsächlichen Tabelle der Datenbank verwendet.
Über „Aussehen“ kann dem Daten-Grid ein spezieller Style zugewiesen werden. Die Styledefinition für das Daten-Grid ist unter Style-Guide genauer dargestellt.
Eigenschaften: Eigenschaften sind besondere Funktionalitäten, welche dem Daten-Grid hinzugefügt werden können.
Aktion |
Bedeutung |
---|---|
Filterzeile anzeigen |
Es wird in der Headerzeile eine Filterzeile eingeblendet |
Fußzeile anzeigen |
Am unteren Rand der Tabelle wird die Fußzeile mit der Anzahl der gezeigten Datensätze eingeblendet |
Spalten sortieren |
Sortiert die Spalten alphabetisch nach Ihrem Titelzeilenamen |
Spalten Größe ändern |
Es kann die Größe einer Spalte mit dem Klick zwischen zwei Headerspalten angepasst werden. |
Spalten Größenänderung aktiv |
Schaltet die Größenänderung frei |
Automatisch Speichern |
Speichert die Werteänderungen automatisch |
Anzahl Datensätze auf Variable aktiv |
Speichert die aktuelle Anzahl der geladenen Datensätze auf einer numerischen Variable |
Scrollbar dauerhaft aktiv |
Hierüber kann die Anzeige der Scrollbar während der Laufzeit aktiviert werden |
Aktionen: Durch das Attribut Aktionen, können über Variablen gesteuert bestimmte Aktionen ausgeführt werden.
Aktion |
Bedeutung |
---|---|
Aktualisieren Aktiv |
Angabe einer logischen Variable für die Aktualisieren-Aktion |
Wenn diese logische Variable gesetzt wird, aktualisiert das Daten-Grid automatisch seine Daten. Wurden die Daten erfolgreich aktualisiert, tritt ein Event auf (siehe dazu Ereignisse). |
|
Die logische Variable wird automatisch vom Daten-Grid nach Verwendung zurückgesetzt. |
|
Defaultvariablen werden ignoriert. |
|
Seite hoch/ Seite runter aktiv |
Angabe einer logischen Variable für die Seite hoch/runter-Aktion |
Wenn diese logische Variable gesetzt wird, blättert das Daten-Grid eine Seite hoch bzw. 1 Seite runter. |
|
Die logische Variable wird automatisch vom Daten-Grid nach Verwendung zurückgesetzt. |
|
Defaultvariablen werden ignoriert. |
|
PDF/Excel Export aktiv |
Angabe einer logischen Variable für die Export-Aktion |
Wenn diese logische Variable gesetzt wird, wird ein PDF-, bzw. Excel-Export angestoßen. Dies öffnet den browserspezifischen Download-Dialog. |
|
Selektierte Zeilen aktiv |
0: kein Eintrag selektiert |
1: Eintrag selektiert |
Ereignisse: Ereignisse sind Events, welche vom Daten-Grid an PROCON-WEB gesendet werden. Auf Ereignisse können nur Sonderfunktionen gesetzt werden.
Ereignis |
Bedeutung |
---|---|
Selektion verändert aktiv |
Wenn nun die Selektion im Daten-Grid-Control verändert wird, so wird diese Sonderfunktion ausgelöst. |
Das Ereignis kann durch Benutzereingabe, Aktionen oder Selektionsfilter ausgelöst werden. |
|
Daten gespeichert aktiv |
Wenn nun die Daten im Daten-Grid-Control gespeichert wurden, so wird diese Sonderfunktion ausgelöst. |
Das Ereignis kann durch Automatisches Speichern, Aktionen oder durch Bedienleisten Aktionen ausgelöst werden. |
|
Doppelklick aktiv |
Wenn nun im Daten-Grid auf eine Zeile ein Doppelklick ausgeführt wurde, so wird diese Sonderfunktion ausgelöst. |
Das Ereignis kann nur durch Benutzereingaben ausgelöst werden. |
|
Daten wurden geladen aktiv |
Wenn nun die Daten geladen wurden, so wird diese Sonderfunktion ausgelöst |
Das Ereignis tritt durch aktualisieren bzw. durch das erste Laden auf. |
|
Fehler aufgetreten aktiv |
Wenn ein Fehler bei der Kommunikation oder der Verarbeitung der Daten aufgetreten ist, wird dieses Event ausgelöst. |
Bedienleiste: Die Bedienleiste ist immer oberhalb des Daten-Grid-Controls. Diese lässt sich im Style-Guide anpassen. Jede Funktion der Bedienleiste lässt sich mit einem Recht versehen.
Funktion |
Bedeutung |
---|---|
Button „Speichern“ aktiv |
Dieser Button löst eine manuelle Speicherung der veränderten Daten aus. Anschließend wird das Ereignis „Daten wurden gespeichert“ ausgelöst. |
Button „Drucken“ aktiv |
Dieser Button öffnet den Druck-Dialog. |
Button „XLSX Export - nicht verknüpfte Tabelle“ aktiv |
Dieser Button stößt einen manuellen Export einer XLSX-Datei, der auf die aktuellen Filtereinstellung zutreffenden Daten, an. |
Button „Refresh“ aktiv |
Dieser Button löst ein manuelles Aktualisieren des Grids auf. Hierbei werden die Oberfläche aktualisiert und die Daten neu angefordert. |
„Überschrift“ aktiv |
Hierüber kann eine Spaltenüberschrift aktiviert und anschließend die Ausrichtung festgelegt werden. Zur Auswahl stehen links, rechts und Mitte |
Button „XML Export“ aktiv |
Dieser Button ermöglich einen Export der gespeicherten Rezepte als xml-Datei. |
Button „XML Import“ aktiv |
Dieser Button ermöglich den Import von gespeicherten Rezepte aus einer xml-Datei in die Dateiverwaltung. |
Button „XLSX Export - verknüpfte Tabelle“ aktiv |
Dieser Button ermöglich einen Export einer einzelnen, mehreren oder allen Zeilen der Ansicht in eine Excel-Datei. Verknüpfte Tabellen werden hierbei in eigenen Tabellenblättern dargestellt. |
Button „XLSX Import - nicht verknüpfte Tabelle“ aktiv |
Dieser Button ermöglich einen Import einer einzelnen, mehreren oder allen Zeilen der Ansicht in eine Excel-Datei. Verknüpfte Tabellen werden hierbei in eigenen Tabellenblättern dargestellt. |
Styledefinition Daten-Grid: Im Style-Guide unter Komplexe Controls lässt sich eine Styledefinition für das Daten-Grid anlegen.
Anzeige Daten-Grid-Control im Designer im Bild: Das Daten-Grid Control bietet eine Vorschau auf die Anzeige des Grids. Es werden vom Grid automatisch 3 Spalten hinzugefügt mit Zufallswerten. Diese Werte sind keine Anzeige der aktuellen Werte der Datenbank.

Funktionen zur Laufzeit:
Anzeige von Laden, Fehlerhafte Verbindungen: Wenn die Datenmenge größer bzw. die Datenbank Verbindung langsam ist, werden lange Ladezeiten mit Hilfe einer Ladeanzeige dargestellt. Die komplette Visualisierung kann während der Zeit problemlos genutzt werden.

Sollte die ODBC Verbindung falsch sein oder die Datenbank nicht verfügbar sein so wird dies grafisch dargestellt.

Bei korrekter Verbindung werden die Daten im Grid angezeigt.

Export von Datensätzen aus der Datenbank: Beim Runtime-Export können entweder alle Datensätze exportiert werden oder auch nur eine Selektion einzelner Datensätze. Wird keine Selektion getroffen, kommt die Rückfrage, ob die gesamte Datenbank exportiert werden soll.

Bei erfolgreichem Export wird die Datei „Recipe-export.xml“ heruntergeladen und kann anschließend bearbeitet werden. Die Datei ist wie folgt aufgebaut:
<dataRows>
<ExportDataRow>
<RecordName>Max2</RecordName>
<HeaderData>
<HeaderData ColumnName="Name">
<Value xsi:type="xsd:string">Max2</Value>
</HeaderData>
<HeaderData ColumnName="CreatedOn">
<Value xsi:type="xsd:dateTime">2018-11-15T14:50:06.58</Value>
</HeaderData>
<HeaderData ColumnName="CreatedBy">
<Value xsi:type="xsd:string">WebService</Value>
</HeaderData>
<HeaderData ColumnName="ChangedOn">
<Value xsi:type="xsd:dateTime">2018-12-12T15:17:38.823</Value>
</HeaderData>
<HeaderData ColumnName="ChangedBy">
<Value xsi:type="xsd:string">DataServer</Value>
</HeaderData>
</HeaderData>
<UserDefinedData>
<TagData TagGuid="2ec2bf5d-9d28-44c1-be13-8533d96efe7d" TagName="Alter">
<DisplayName>Alter</DisplayName>
<DisplayComment />
<Value xsi:type="xsd:double">0</Value>
</TagData>
<TagData TagGuid="f868ccb0-f299-4fa1-97d2-e8b307855c88"TagName="Nachname">
<DisplayName>Nachname</DisplayName>
<DisplayComment />
<Value xsi:type="xsd:string">Maier</Value>
</TagData>
<TagData TagGuid="45f21a4f-6beb-4d07-a54a-a29cf3420167" TagName="PLZ">
<DisplayName>PLZ</DisplayName>
<DisplayComment />
<Value xsi:type="xsd:double">0</Value>
</TagData>
<TagData TagGuid="6a8a06a9-1f71-4060-a673-b801025c08d6" TagName="Vorname">
<DisplayName>Vorname</DisplayName>
<DisplayComment />
<Value xsi:type="xsd:string">Max2</Value>
</TagData>
<TagData TagGuid="1115a42a-1502-4841-b52b-734912c25ae3" TagName="Wohnort">
<DisplayName>Wohnort</DisplayName>
<DisplayComment />
<Value xsi:type="xsd:string">Würzburg</Value>
</TagData>
<UserDefinedData>
</ExportDataRow>
In diesem Beispiel ist der Datensatzname der Block:
<recordname>max2</recordname>
<HeaderData ColumnName="Name">
<Value xsi:type="xsd:string">Max2</Value>
</HeaderData>
Import von Datensätzen in die Datenbank: Ist ein Datensatz (gleichlautender Datensatzname „ColumnName“) bereits in der Datenbank vorhanden, wird der komplette Datensatz mit den Daten aus dem Export-File aktualisiert.
Meldungs-Grid¶
Definition eines Meldungs-Grid-Controls: Das Meldungs-Grid zeigt Logbucheinträge, aktive und historische Meldungen oder das Aktionsprotokoll an. Über das Symbol  Grid in der Ribbonleiste unter Bildtools kann ein Grid erstellt werden. Es öffnet sich der Klassen-Dialog in dem anschließend unter Darstellung der Typ „Meldungs-Grid“ auszuwählen ist. Das Meldungs-Grid unterscheidet sich nur in wenigen Punkten zum Data-Grid.

Bedienleiste:

Hier gibt es womöglich den größten Unterschied zum Data-Grid. Hier gibt es zusätzlich folgende Buttons:
Funktion |
Bedeutung |
---|---|
Button „Meldung quittieren“ aktiv |
Der Button öffnet einen Dialog, welcher es dem Nutzer erlaubt die ausgewählte Meldung zu quittieren. |
Button „Meldung zurücksetzen“ aktiv |
Der Button öffnet einen Dialog, welcher es dem Nutzer erlaubt die ausgewählte Meldung zurückzusetzen. |
Button „Meldung kommentieren“ aktiv |
Der Button öffnet einen Dialog, welcher es dem Nutzer erlaubt die ausgewählte Meldung zu kommentieren. |
Button „Meldung spezifizieren“ aktiv |
Der Button erlaubt es, wenn das Feature „Maschinenzeiten“ freigeschaltet ist, die Meldung zu spezifizieren (siehe Maschinenzeiten). |
Funktionen zur Laufzeit: Hier werden die Funktionen des Meldungs-Grids erläutert. Einige der Funktionen/Buttons sind nur erreichbar wenn das Control im Designer entsprechend konfiguriert wurde! Die Funktionen zum Export und Aktualisieren verhalten sich identisch zum Daten-Grid. Die Zusatzfunktionen der Bedienleiste werden nun hier beschrieben:
Meldung quittieren: Wird der geöffnete Dialog mit „OK“ geschlossen wird im Meldungsprotokoll das quittiert Feld mit dem aktuellen Datum beschriftet.
Meldung zurücksetzen: Wird der geöffnete Dialog mit „OK“ bestätigt wird der/die gewählte Alarm/Meldung aus der Meldungsliste entfernt.
Meldung kommentieren: Wird der geöffnete Dialog im Kommentarfeld mit einem Kommentar versehen und anschließend mit „OK“ bestätigt, wird im Meldungsprotokoll in der Kommentarspalte der angegebene Kommentar angezeigt.
Meldung nachspezifizieren: Hierfür müssen grundlegende Kenntnisse über das Thema Maschinenzeiten vorhanden sein. Wählt man eine/n Meldung/Alarm zum Nachspezifizieren aus so öffnet sich ein Dialog mit allen zur Verfügbar stehenden Meldungen/Alarmen zum Auswählen aus. Bestätigt man den Dialog „OK“ so wird der zuvor selektierte Alarm durch den gewählten Alarm nachspezifiziert.
Notification-Grid¶
Über das Symbol Grid in der Ribbonleiste unter Bildtools kann ein
Grid erstellt werden. Es öffnet sich der Klassen-Dialog in dem
anschließend unter Darstellung der Typ „Notification-Grid“ auszuwählen
ist. Das Notification-Grid unterscheidet sich nur in wenigen Punkten zum
Data-Grid.
Bedienleiste:
Erläuterung der Schaltflächen:
Schaltfläche |
Bedeutung |
||
---|---|---|---|
Abbrechen: Durch betätigen der Schaltfläche werden die selektierten Notifications abgebrochen. Ist eine Weiterleitung bereits abgeschlossen, wird keine Aktion durchgeführt. |
|||
Inaktive Aufträge löschen: Löscht alle durchgeführten oder abgebrochenen Weiterleitungen |
|||
Abonnements verwalten: Öffnet einen Dialog, in dem alle Abonnements einsehbar und editierbar sind. |
|||
Notification-Gruppen verwalten: Öffnet einen Dialog, in der Notification Gruppen erstellt und vorhandene verändert werden können. |
|||
Schichten verwalten: Öffnet einen Dialog, zum Anlegen und ändern von Schichten |
Abonnements verwalten: In nachfolgender Tabelle sind alle Abonnements zu sehen. Ein Abonnement ist eine Zuordnung von einer Meldungsdefinition zur einer Notification-Gruppe. Das Deaktiv-Flag, der Empfänger und die Eskalations-Strategie kann direkt in der Tabelle modifiziert werden. Alle Änderungen werden sofort übernommen. Sind ein oder mehrere Abonnements selektiert, können diese durch die Schaltfläche „Abonnements löschen“ entfernt werden.

Durch den Klick auf die Schaltfläche „Neues Abonnement“ können ein oder mehre Abonnements hinzugefügt werden.

Zunächst müssen ein oder mehrere Meldungsdefinitionen selektiert werden. Im Anschluss müssen ein oder mehrere Notification-Gruppen selektiert werden. Wählen Sie zuletzt eine Eskalationsstrategie und klicken Sie auf „Speichern“. Für jede Kombination aus Meldungsdefinition und Notification-Gruppe wird ein Abonnement-Eintrag erstellt.
Schichten verwalten: Sind in der Konfiguration die Punkte „Notification“ und „Schichten“ aktiviert, kann in einem Notification-Grid in der Laufzeit die Schichtverwaltung aufgerufen werden.

Jede Schicht hat einen Namen, einen Zeitbereich (Beginn und Ende) indem sie aktiv bzw. inaktiv ist. Dies wird über die „Zeitraumart“ festgelegt. Daneben kann auch ein Start- und/oder Enddatum festgelegt werden. Es ist auch möglich, nur eines der beiden Felder zu füllen. Ebenso kann eine Kalenderwoche erfasst werden, in er diese Schicht gültig sein soll. Ist eine Kalenderwoche sowie Start-/Enddatum erfasst, müssen alle Kriterien erfüllt sein, damit die Sicht wirksam ist.
Ist das erfasst Schichtende kleiner als die Schichtbeginn, so endet die Schicht am nächsten Tag. Ist die Endzeit gleich der Startzeit geht die Schicht genau einen Tag. Jeder Schicht können verschiedene Wochentage zugewiesen werden. Geht eine Schicht über zwei Tage muss der Wochentag an dem sie beginnt angegeben werden.
Jeder Schicht können beliebig viele Benutzer zugeordnet werden. Ein Benutzer kann auch in mehreren Schichten hinterlegt werden. In diesem Beispiel werden Alarme jeden Tag an die anwesenden Mitarbeiter der Schicht „Frühschicht“ in der Zeit von 5:00 bis 13:00 ausgelöst werden, gesendet.

MDA-Grid¶
Das MDA Grid zeigt DIN Daten an. Über das Symbol Grid in der
Ribbonleiste unter Bildtools kann ein Grid erstellt werden. Es öffnet
sich der Klassen-Dialog in dem anschließend unter Darstellung der Typ
„MDA-Grid“ auszuwählen ist. Das MDA-Grid unterscheidet sich nur in
wenigen Punkten zum Data-Grid.
Benutzerverwaltungs-Grid¶
Das Benutzerverwaltungs Grid zeigt die Benutzer oder Benutzergruppen an.
Über das Symbol Grid in der Ribbonleiste unter Bildtools kann ein
Grid erstellt werden. Es öffnet sich der Klassen-Dialog in dem
anschließend unter Darstellung der Typ „Benutzerverwaltungs-Grid“
auszuwählen ist. Das Benutzerverwaltungs-Grid unterscheidet sich nur zum
Data-Grid da hier einige Attribute in den Attribut-Gruppen nicht zur
Verfügung stehen. D.h. nur die für die Benutzerverwaltung relevanten
Optionen stehen zur Verfügung.
Chart-Control¶
In ein Chart-Control können historische Trenddaten dargestellt werden. Bis zu 32 Trends können gleichzeitig in einem Chart-Control dargestellt werden. Die Diagramme können dynamisch zur Laufzeit zusammengestellt und gespeichert werden. Dazu erfolgt lediglich eine Verknüpfung der Datenrekorder-Spuren mit dem Diagramm zur Laufzeit. Neben Datenrekorder-Spuren können im Chart-Control auch XY-Kurven angezeigt werden.
Definition eines Chart-Controls¶
Um ein Chart-Control zu definieren, wird in der Symbolleiste das Icon
Chart angewählt, es öffnet sich der Klassendialog des
Chart-Controls.

Im folgenden Abschnitt werden die Optionen und Attribute des Controls näher erläutert.
Darstellung: Unter Darstellung konfiguriert der Benutzer die Größe und die Hintergrundfarbe des Controls. Unter Diagramm-Typ wird festgelegt, ob das Control Rekorder-Daten (Datenrekorder-Spuren) oder XY-Kurven anzeigt. Es kann ein, über den Style-Guide definierter, Style ausgewählt oder das Standardlayout genutzt werden (siehe Style-Guide im Kapitel Oberfläche)
Funktion |
Bedeutung |
---|---|
Größe (Breite) |
Definiert die absolute Breite des Elements |
Größe (Höhe) |
Definiert die absolute Höhe des Elements |
Diagramm-Typ |
Auswahl zwischen Recorder- & XY-Diagramm |
Auswahl-Typ (nur Rekorder Chart) |
Hier lässt sich zwischen Datenrekorder und Anlagenstruktur wählen. |
Style |
Style des Style-Guides wird referenziert |
Sichtbarkeit (%) |
Hier kann der Transparentgrad in % angegeben werden |
Fixe Breite für Legendeinträge |
Definiert die Breite für Legendeneinträge und Spuren-Auswahl |
Legende aktiviert |
Ein- und Ausblenden der Legende möglich |
Legende beim Start ausblenden (nur wenn Legende aktiviert) |
Beim initialen Öffnen ist die Legende ausgeblendet |
Tooltip aktivieren |
Tooltips werden für Spuren aktiviert |
Tooltip Zeitstempel anzeigen |
Nur bei Rekorder-Diagramm verfügbar |
Wird erst aktiviert, wenn Tooltip aktiviert ist. Zeitstempel des Wertes wird beim Tooltip angezeigt. Eine Formatierung ist nicht möglich. |
|
Zoom aktivieren |
Zoom kann für den Nutzer ktiviert werden. |
X-/Y-Achse deaktivieren |
Achsen können manuell ausgeblendet werden |
Alternative X-Achse definieren |
Aktiviert alternative X-Achse > ersetzt die zeitbasierte X-Achse durch Variable |
Spur für alternative X-Achse (nur wenn Alternative X-Achse definieren gewählt) |
Hier kann eine Rekordervariable ausgewählt werden, welche die X-Achse ersetzt |
Einheit für alternative X-Achse (nur wenn Alternative X-Achse definieren gewählt) |
Einheit, die an der alternativen Achse angezeigt werden soll |
Transparenz |
Im Attribut „Darstellung“ eines Diagramms gibt es sechsEinstellungen für die Transparenzwerte der Spuren im Diagramm |
Transparenz Hintergrund in % (Logisch) |
|
Transparenz Umrandung in % (Logisch) |
|
Transparenz Füllung in % (Logisch) |
|
Transparenz Füllung in % (Numerisch) |
|
Transparenz Charge in % (Text) |
|
Transparenz ausgewählte Charge in % (Text) |
|
Hilfe ID |
Eingabe einer ID für das HilfeControl |
Grenzabstand (Y) |
Abstand zu Zeichnungsbereichen in Pixel. Werte, die auf den Achsengrenzen liegen, werden entsprechend verschoben und werden damit nicht mehr von der X-Achse verdeckt |
Formatierung |
Festlegung des Formats für die X-Achse wie auch der Zeitbereichsauswahl. Je nach Zeit- bereich werden nur bestimmte Teile des an- gegebenen Formates angezeigt. Die möglichen Formate sind in der Übersicht über die Zeitbereiche weiter unten zu finden |
Kurvenauswahl: Unter Darstellung können zudem zwei Modi der Kurvenauswahl definiert werden. Die Standardauswahl wie bisher ist die Profil-Auswahl. Hier kann ein zur Designzeit vordefiniertes Profil oder ein zur Laufzeit erstelltes Profil ausgewählt werden. Als weitere Möglichkeit gibt es die Auswahl nach Anlagenstruktur. Hierzu muss ein Einstiegspunkt in die Anlagenstruktur vorgegeben werden. In der Laufzeit werden dann nur die Elemente, die dem ausgewählten Anlagenstruktur-Element oder diesen Unterelemente zugeordnet sind, angezeigt.
Bedienleiste: Unter Bedienleiste wird die Anzeige der Funktionen in der Benutzerleiste des Chart-Controls zur Laufzeit definiert. Außerdem können die Funktionen mit Benutzerberechtigungen verriegelt werden.
Funktion |
Bedeutung |
---|---|
Profilauswahl aktiv |
Zeigt eine Combobox mit den verfügbaren Profilen. Es können ebenso Profile selbst definiert werden. |
Zeitbereichs-Auswahl aktiv |
Zeigt den Zeitbereich der aktuell dargestellten Daten an. |
Zeitbereich |
Nach Aktivierung der Zeitbereichsauswahl, können hier die gewünschten Zeiten ausgewählt werden. Dieser wird mit abgespeichert und beim erneuten Laden des Profils wieder angezeigt. |
Chargen-Button aktiv |
Öffnet den Chargenauswahl-Dialog |
Grid Ansicht wechseln aktiv |
Wechselt zur tabellarischen Darstellung |
Grid Raster-Auswahl (nur wenn Grid Ansicht aktiv) |
Zeigt Zeitbereich, über den der Wertedurchschnitt gebildet wird |
Export-Button aktiv |
Öffnet einen Dialog, in der über Kompressionsrate, Zeitbereich und Name der Datei gewählt werden kann. Es wird anschließend eine .csv-Datei erzeugt. |
Drucken-Button aktiv |
Öffnet den Drucken-Dialog des Browsers |
Letzten Zoom zurücksetzen aktiv |
Stellt den zuletzt eingestellten Zoom wieder her (ist auch über einen Klick mit der rechten Maustaste im Chartbereich möglich |
Zoom zurücksetzen |
Setzt die komplette Anzeige zurück (auf den zuletzt gewählten Zeitbereich) |
Legende ein-/ausblenden |
Blendet die Legende (Spurnamen und Farbe) aus |
Alternative X-Achse umschalten |
Erlaubt zwischen der Standard-Zeit-Achse und der in der Darstellung definierten, alternativen X-Achse umzuschalten. Da der Logger inkrementell aufzeichnet, muss zur Erfassung der Daten eine Spur angegeben werden, welche einen numerischen Wert aufzeichnet, der bei Werteänderung erhöht wird. |
Eine weitere Voraussetzung für die Aufzeichnung mit alternativen X-Achse ist eine Chargen-Variable. Der Button wird nur freigeschaltet, wenn diese Charge im aktuellen Profil vorhanden ist. |
|
Sind Spuren ausgewählt, die zu einem anderen Datenrekorder gehören, werden diese in der alternativen Ansicht nicht angezeigt. In der normalen Zeit-Ansicht sind sie sichtbar. |
|
Logarithmische Anzeige umschalten |
Wendet den log(x) auf alle sichtbaren Werte an und zeigt diese im Chart an. |
Lineal dauerhaft einblenden |
Ermöglicht es, während der Laufzeit das Lineal weiterhin sichtbar zu schalten, auch wenn die Maus aus dem Chart heraus bewegt wird. |
Standard: Nein |
|
Messmodus aktiv |
Wird der Messmodus aktiviert können anschließend die weiteren Parameter die ausgewertet werden sollen festgelegt werden. Hierdurch können neben den in der Kurve dargestellten Werten noch Min/Max-Werte, Prozessfähigkeitsindizes etc angezeigt werden, abhängig davon, ob es sich um eine numerische oder boolsche Kurve handelt. |
Standard: Nein |
|
Messmodus Statistikwerte (Num) |
Über einen weiteren Dialog können die Werte Min/Max/AVG/cp/cpk zur Auswahl in der Laufzeit bei numerischen Kurven festgelegt werden |
Messmodus unterer Grenzwert (cp, cpk) |
Hier kann eine numerischen Variable ausgewählt werden, die den unteren Grenzwert darstellt |
Messmodus oberer Grenzwert (cp, cpk) |
Hier kann eine numerischen Variable ausgewählt werden, die den oberen Grenzwert darstellt |
Messmodus Statistikwerte (Bool) |
Über einen weiteren Dialog können die Werte Min/Max/AVG/Steigende Flanke/Fallende Flanke zur Auswahl in der Laufzeit bei boolschen Kurven festgelegt werden |
Daten: Unter Daten definiert der Projektierer, welche Datenrekorder-Sichten das Diagramm zur Laufzeit anzeigen soll, und welche von den vorgewählten Sichten initial angezeigt wird. Hier kann ebenso eine Standard Ansicht konfiguriert werden. Außerdem können bei Bedarf die Achsen zusammengefasst werden. Dies versucht die Bildelemente bei hoher Kurvenanzahl zu reduzieren. Hierfür müssen die Min/Max-Ggrenzen innerhalb einer Toleranz liegen die konfigurierbar ist. Folgende Eigenschaften werden beim Zusammenfassen noch berücksichtigt:
Ausrichtung (links, rechts, beidseitig)
Einheit
Logarithmische Darstellung
Invertierung
Wird eine Spur, dessen Achse in einem Achsen-Verbund liegt, gehighlightet, ändert sich die Farbe des Verbundes zur Farbe der Spur und bleibt erhalten, bis die nächste Achse gehighlightet wird. Schließlich lässt sich noch zur Aktualisierung der Darstellung ein Aktualisierungsintervall angeben.
Aktionen:
Diagrammauswahl aktiv: Mit Diagrammauswahl aktiv kann eine Textvariable für die Selektion des ausgewählten Diagramms zugewiesen werden. Wird der Wert der Prozessvariable verändert, versucht das Control ein Diagramm mit dem Namen zu finden. Hat das Control Erfolg, wird das entsprechende Diagramm ausgewählt. Die Kommunikation ist bidirektional. Ändert der Benutzer über das Control das Diagramm, wird der Name ebenfalls in die Prozessvariable geschrieben.
Zeitauswahl aktiv: Um den Zeitbereich vorgeben zu können, muss zunächst der Modus über die Variable des Attributs „Zeitbereichsmodus“ vorgegeben werden. Folgende Modi und Formatierungen sind möglich:
Value |
Zeitbereich |
Formatteile |
---|---|---|
Custom |
Unter 1 Sekunde |
Stunden, Minuten, Sekunden, Millisekunden, AM/PM |
LastOneMinute |
Letzte Minute |
Stunden, Minuten, Sekunden, AM/PM |
LastTwoMinutes |
Letzten 2 Minuten |
Stunden, Minuten, Sekunden, AM/PM |
LastThreeMinutes |
Letzten 3 Minuten |
Stunden, Minuten, Sekunden, AM/PM |
LastFiveMinutes |
Letzten 5 Minuten |
Stunden, Minuten, Sekunden, AM/PM |
LastTenMinutes |
Letzten 10 Minuten |
Stunden, Minuten, Sekunden, AM/PM |
LastOneHour |
Letzte Stunde |
Stunden, Minuten, AM/PM |
LastTwoHours |
Letzten 2 Stunden |
Stunden, Minuten, AM/PM |
LastEightHours |
Letzten 8 Stunden |
Stunden, Minuten, AM/PM |
LastTwentyFourHours |
Letzten 24 Stunden |
Stunden, Minuten, AM/PM |
ThisWeek |
Aktuelle Woche (Chartbreite < 400) |
Monat, Tag, Wochentag |
ThisWeek |
Aktuelle Woche (Chartbreite >= 400) |
Jahr, Monat, Tag, Wochentag |
ThisMonth |
Aktueller Monat (bis 28 Tage) |
Jahr, Monat, Tag, Wochentag, Stunden, Minuten, AM/PM |
Custom |
>= 28 Tage (Chartbreite < 400) |
Monat, Tag, Wochentag |
Custom |
>= 28 Tage (Chartbreite >= 400) |
Jahr, Monat, Tag, Wochentag |
Custom |
Benutzerdefniert (über Variablen) |
Jahr, Monat, Tag, Wochentag |
Today |
Heute |
Stunden, Minuten, AM/PM |
LastFifteenMinutes |
Letzten 15 Minuten |
Stunden, Minuten, AM/PM |
LastTwentyMinutes |
Letzten 20 Minuten |
Stunden, Minuten, AM/PM |
LastTwentyFiveMinutes |
Letzten 25 Minuten |
Stunden, Minuten, AM/PM |
LastThirtyMinutes |
Letzten 30 Minuten |
Stunden, Minuten, AM/PM |
LastThirtyFiveMinutes |
Letzten 35 Minuten |
Stunden, Minuten, AM/PM |
LastFortyMinutes |
Letzten 40 Minuten |
Stunden, Minuten, AM/PM |
LastFortyFiveMinutes |
Letzten 45 Minuten |
Stunden, Minuten, AM/PM |
LastFiftyMinutes |
Letzten 50 Minuten |
Stunden, Minuten, AM/PM |
LastFiftyFiveMinutes |
Letzten 55 Minuten |
Stunden, Minuten, AM/PM |
Wenn der Zeitbereichsmodus „Custom“ gesetzt ist, müssen zusätzlich die Variablen von „Zeitbereich Start“ und „Zeitbereich Ende“ gesetzt werden. Die Zeitangaben erfolgen über nummerische Variablen, die die Zeit in Millisekunden darstellen.
Abschließend muss immer das logische Flag von „Zeitauswahl setzen“ gesetzt werden. Anschließend übernimmt das Control die Zeiteinstellungen (falls der Modus gültig ist) und setzt das Flag wieder zurück.
Die Variablen werden bidirektional verwendet. Sie werden bei jeder Benutzeraktion mit den aktuellen Werten des Controls beschrieben.
Funktionen des Chart-Controls zur Laufzeit¶
Funktionen Bedienleiste: Die Icons können im Styelguide geändert werden
Symbol |
Funktion |
Bedeutung |
---|---|---|
Diagrammauswahl |
Combobox zum Auswählen des Diagramms, das in der Ansicht angezeigt werden soll |
|
Profil bearbeiten |
Button zum Bearbeiten und Erstellen von Profilen |
|
Profil speichern |
Button zum Speichern des aktuell ausgewählten Profils |
|
Profil löschen |
Löscht das aktuell ausgewählte Profil |
|
Chargenauswahl |
Öffnet Chargenauswahldialog Hier können protokollierte Chargen angezeigt werden. Dieser Button wird nur aktiv, wenn Chargendaten verwendet. |
|
Zeitbereich |
Mit den Buttons links bzw. rechts kann im Zeitbereich geblättert werden. Durch Auswählen des Zeitbereich-Buttons kann die Filtereinstellung für den Zeitbereich geändert werden. Die Darstellung ist dann auch die gewählte Formatierung abhängig. |
|
Druckt die aktuelle Anzeige des Diagrammbildes |
||
CSV-Export |
Exportiert die aktuell angezeigten Werte als Daten in eine MS Excel-Tabelle im CSV-Format |
|
Zoom |
Setzt aktuellen Zoom zurück |
|
Zoom auf letzte Ansicht zurücksetzen |
Stellt den zuletzt genutzten Zoom wieder her. |
|
X-Achse umschalten |
Wechselt zwischen der Standard -Zeit-Achse und der in der Darstellung definierten alternativen X-Achse. |
|
Logarithmische Darstellung |
Wechselt zur logarithmischen Darstellung |
|
Legende |
Zeigt den Spurnamen und die Spurfarbe für jede Spur an. Kann über den Stift konfiguriert werden: |
|
Die Farbe entspricht der Farbe der Spur. Wenn Editiermodus aktiv ist, wird zusätzlich ein Icon eingeblendet und über einen Klick öffnet sich das Kurveneinstellungsfenster. Klickt man auf den Spurnamen, wird die entsprechende Spur aus- und wieder eingeblendet |
||
Das „X“ für Entfernen ist nur sichtbar, wenn man im Editiermodus ist. Damit kann die Spur aus dem aktuellen Profil gelöscht werden. |
||
Lineal einblenden |
Bei Aktivierung bleibt das Lineal an der Stelle stehen, an der die Maus das Chart verlassen hat. Auch nach Bildwechsel ist das Lineal wieder an dieser Stelle zu sehen. |
|
Messmodus |
Es erscheinen je ein Lineal für die Start- und eines für die Endezeit. Die im ausgewählten Zeitraum gespeicherten zusätzlichen Werte werden unterhalb des Charts angezeigt und können exportiert werden. |
Messmodus in der Laufzeit: Ist der Messmodus aktiviert, erscheint unterhalb des Charts ein Grid mit den definierten Werten sowie weitere Möglichkeiten zur Einstellung.
Important
Ist das Chart zu klein, erscheint ein Hinweisdialog und der Messmodus wird ausgeblendet. Der Button hat dann, trotz Aktivierung im Designer, keine Funktion!

Funktion |
Bedeutung |
---|---|
Aktivierungsbutton |
Aktivieren/Deaktivieren des Messmodus in der Laufzeit |
Messbereichsbegrenzung |
Verschiebbar, um Grenzen für den Messbereich (Blau) und den Ausschnitt (Rot) festzulegen. Der AutoRefresher wird automatisch gestoppt, sofern er aktiviert wurde. |
Grenzen Messbereich |
Der Messbereich kann hier festgelegt/geändert werden. Sind die angegebenen Datumsangaben außerhalb der aktuellen Chart-Achsen-Grenzen, werden diese so angepasst, dass sie ins Chart passen. Sollte der Ausschnitt ganz oder zum Teil herausragen, wird dieser komplett entfernt |
Einstellungen Ausschnitt |
Aktivieren/Deaktivieren Messauschnitt inkl. Einstellbarkeit über Datum |
Öffnen/Schließen Datengrid |
Ein-/Ausblenden des Datengrids |
Umschaltung Daten |
2 separate Grids für numerische und boolsche Daten, die über diese Buttons gewechselt werden können.Sind für einen Typ keine Spuren vorhanden, so wir der zugehörige Button deaktiviert. |
Datengrid |
Anzeige der aktuellen Daten, die Werte die angezeigt werden können, können im Designer festgelegt werden |
Arbeiten mit dem Chart-Control¶
Mit dem Chart-Control können dynamisch zur Laufzeit die in Datenrekordern aufgezeichneten Werte abhängig von einem Zeitbereich dargestellt werden.
Um ein neues Profil zu erstellen wird der Button
„Profil editieren“ gewählt. Die linke Hälfte des Diagramms erweitert
sich um die Variablenauswahl.

Hier können die gewünschten Variablen der Datenrekorder ausgewählt
werden. Diese werden dann auch in der Legende aufgeführt. Über den
-Button einer Spur können Darstellungsart Farbe und die
Dezimalstellen konfiguriert werden.

Attention
An einer numerischen Spur in einem Datenrekorder können Dezimalstellen angegeben werden, sowohl im Designer (Datenrekorder Profil) als auch in der Runtime. Diese beeinflussen die Darstellung der Y-Achse und der Grid-Darstellung der Daten. Die Anzahl an Nachkommastellen an Achse und Grid sind also immer gleich.
Werden die Dezimalstellen im Designer nicht fest angegeben, werden zur Laufzeit so viele Nachkommastellen angezeigt, wie an der Variable konfiguriert sind. Ansonsten wird die konfigurierte Anzahl verwendet.
In der Profilbearbeitung zur Laufzeit sind die Nachkommastellen immer fest angegeben, deshalb richtet sich der Wert beim Zufügen einer neuen Spur zum Profil nach der konfigurierten Anzahl Dezimalstellen der Variable. Danach können sie frei gewählt werden.
Der Tooltip stellt eine Ausnahme dar, da die Anzahl der Nachkommastellen sich IMMER nach denen des Tags richtet, damit keine gerundeten, sondern die tatsächlich geloggten Werte angezeigt werden.
Wenn alle benötigten Variablen selektiert sind muss im Feld „Name“ ein Name für das Profil vergeben werden. Anschließend soll das Profil mit | dem | Profilspeichern | „Profil speichern“-Button speichern. Über den | | Buttonloeschen | „Profil löschen“-Button kann das aktuell gewählte | | Profile gelöscht werden, vorausgesetzt es wurde erst zur Laufzeit erstellt.
Attention
Bei XY-Kurven können Spuren mit unterschiedlichen X-Bereichen nicht dem gleichen Profil zugewiesen werden.
Weitere Funktion in Diagrammen:
Zoom: In dem erstellten Diagramm kann der Benutzer durch Aufziehen
eines Bereiches bei vorherig gewählter Zoomfunktion in dem Diagramm auf
zoomen. Durch einen Rechtsklick oder ein Klick auf den
„Zoom zurücksetzen“-Button kann der bestehende Zoom
zurückgesetzt werden.
Scrollen: Indem eine Achse angeklickt und gezogen wird, werden die Grenzwerte aller Achsen um die Größe des gezogenen Bereichs angepasst. Je nachdem, in welche Richtung die Bewegung erfolgt, wird der angezeigte Bereich kleiner oder größer. Werden die Achse-Grenzwerte dynamisch ermittelt, passiert dies nach dem Scrollvorgang nicht mehr und die Achsen ändern sich nicht, bis der Zoom zurückgesetzt wurde.
Grenzanpassungen der Y-Achse: Indem die oberste/unterste Kante einer Y-Achse verschoben wird, kann NUR der Max/Min Grenzwert der Achse angepasst werden. Während dem Ziehen wird am Cursor ein Label mit dem neuen Wert angezeigt. Funktioniert NICHT, wenn die Achsengrenzen dynamisch ermittelt werden.
ToolTip: Wird über den Zeichenbereich eines Charts gehovert, wird ein ToolTip mit den Werten zum Zeitpunkt der der Cursor-Position entspricht, angezeigt. Es wird der komplette Zeitstempel angezeigt. Eine Formatierung ist nicht möglich.
Report-Viewer¶
Konzept des Report-Viewers¶
Mit Hilfe von Reports, erstellt mit SAP Crystal Report, können Daten aus verschiedenen Quellen aufbereitet werden, um Informationen übersichtlicher und ansprechender darzustellen (z.B. Daten einer Produktionslinie über hergestellte Mengen, fehlerhafte Waren usw.). Um auf externe Tools und Programme zur Anzeige solcher Reports verzichten zu können, wurde ein neues Control eingeführt, das Report-Control. Es lässt sich frei platzieren und ähnlich konfigurieren wie andere Controls auch (Style, Größe etc.).
Da an Reports auch Parameter übergeben werden können, um z.B. die angezeigten Informationen zu filtern (z.B. zeige alle Werte an, die größer als ein bestimmter Grenzwert sind), wurden in PROCON-WEB neue Einstellungs-Möglichkeiten hinzugefügt, um diese Parametrierung konfigurieren zu können.
Konfiguration¶
Insgesamt gibt es drei Konfigurations-Menüs:
OLEDB-Verbindung: Hier können Einstellungen für Datenbank-Verbindungen vorgenommen werden.
Report-Konfiguration: Hier können Reports in das Projekt geladen und verschiedene Einstellungen zu den jeweiligen Parametern vorgenommen werden.
Profil-Konfiguration: Auf Basis einer Report-Konfiguration können Profile erstellt und konfiguriert werden, welche schlussendlich einem Report-Control zugewiesen werden, um sie zur Laufzeit anzuzeigen. Zuerst muss eine Datenbank-Verbindung erstellt werden, auf die sich der Report zur Füllung der Daten stützen kann. Das wird unter dem Punkt Report – OLEDB-Verbindung gemacht. Es sind lediglich die lokalen Datenbank Einstellungen anzugeben, die mithilfe des Verbindungsassistent eingestellt werden können.


Dieser Assistent hilft beim Erstellen einer Verbindung zu einer Datenquelle, auf die sich der Report zur Verarbeitung und Darstellung der Daten stützt. Zunächst kann ein sog. Provider ausgewählt werden. Für viele verschiedene Datenquellen steht ein Provider zur Verfügung, welcher einen Zugriff auf diese Daten ermöglich (z.B. für Oracle Datenbanken, SQL-Server usw.).
Anschließend können weitere Informationen zur Datenquelle (Server/Datenbank-Name) sowie LogIn-Informationen eingegeben werden, falls der Zugriff auf die Datenquellen mit einem Passwort geschützt ist. Abhängig vom Provider finden sich noch erweiterte Einstellungen, die verändert werden können, falls dies gewünscht ist (meist ist dies nicht nötig, bei Bedarf kann man diese Werte trotzdem ändern).
Nach einem Klick auf „OK“ werden die eingegebenen Informationen in einen Connectionstring umgewandelt, welcher alle Informationen enthält und vom Report verarbeitet werden kann.
Im nächsten Schritt, werden die in SAP Crystal Report angelegten Reports (.rpt) eingelesen und konfiguriert. Dies geschieht im Unterpunkt Report-Konfiguration. Durch Rechtsklick in die freie Fläche, kann ein neuer Report importiert werden. Je nachdem wie der Report erstellt wurde, können schon vorher Parameter übergeben werden, diese werden dann direkt aus dem Report ausgelesen. Es können allerdings auch noch im Designer weitere Parameter ergänzt werden.

Direkt nach dem Hinzufügen des Reports muss noch eine OLEDB-Verbindung ausgewählt werden. Dazu kann auf den Button in der Zelle unter „OLEDB-Verbindung“ geklickt werden, wodurch sich ein Auswahl-Dialog öffnet, in dem alle vorhanden Verbindungen angezeigt und die Gewünschte durch Doppelklick oder einen Klick auf „OK“ (nach vorheriger Selektierung) ausgewählt werden kann.
Neben dem Namen befindet sich die Spalte „Report“, in der der Pfad inklusive Dateiname der ausgewählten Report-Datei zu finden ist.
Daneben befindet sich eine Checkbox, mit der ausgewählt werden kann, ob der Report in der Projekt-Datenbank gespeichert werden soll.
Ist der Haken gesetzt, wird der Report zur Laufzeit aus dem Projektverzeichnis ausgelesen.
Ist der Haken nicht gesetzt, wird der Report vom eingestellten Pfad gelesen.
Das kann von Vorteil sein, wenn sich der Report noch nach der Projektierung ändert und so im Nachhinein ausgetauscht werden kann. Der Pfad kann durch Klicken in die Zelle noch verändert werden, falls sich der Report später an einer anderen Stelle befindet.
Anschließend können Einstellungen zu den Parametern vorgenommen werden:

Spalte |
Bedeutung |
---|---|
Name |
Der Name des Parameters. Über diesen erfolgt die Übergabe an den Report, deshalb sollte er nicht geändert werden, wenn er aus dem Report importiert wurde. |
Typ |
Der Typ des Parameters. Durch Änderung des Typs ändert sich das Bedienelement, welches bei der Parameter-Eingabe erscheint (z.B. bei Date erscheint ein Kalender-Control usw.) |
Eingabetext |
Dieser Text legt fest, was neben dem Eingabe-Bedienelement steht. Dies kann als Hinweis für die Eingabe verwendet werden (z.B. „Chargennummer eingeben“). |
SQL-Befehl |
Wird als Eingabe-Bedienelement „Combo“ oder „ListView“ ausgewählt, so wird dieses Feld aktiviert. Dann kann ein SQL-Befehl eingegeben werden, welcher benutzt wird, um diese Elemente zu füllen. So kann eine Combobox mit vorgefertigten Werten gefüllt werden, um eine lange Eingabe überflüssig zu machen. |
Optional |
Durch das Setzen des Hakens bei „Optional“ kann die Eingabe zu einem Parameter auch leer bleiben, es wird also kein Wert gefordert. |
Zeit als String |
Stützt sich ein Report zur Generierung auf Zeitangaben, welche allerdings als String in einem beliebigen Format vorhanden sind, so kann dieser Haken angeklickt werden. Allerdings nur, wenn als Parametertyp „Date“ oder „DateTime“ ausgewählt wurde. Somit erscheint ein Kalender-Bedienelement, welches die Auswahl eines Zeitpunkts erlaubt. Das ausgewählte Datum wird dann in ein anderes Format konvertiert. Wie dieses Format aussieht, kann im nächsten Feld festgelegt werden. |
Datumsformat |
Wird ein individuelles Datumsformat verwendet, kann in der letzten Spalte ein Muster definiert werden, wie dieses Format aufgebaut ist. Durch einen Rechtsklick auf die komplette Zeile und die Auswahl von „Überprüfe Datumsformat“, kann getestet werden, welches Format das eingegebene Muster erzeugt. Dazu wird das aktuelle Datum entsprechend dem Muster konvertiert und in einer Box ausgegeben. Beispielsweise erzeugt die Eingabe „dd/MM/yyyy“ nach einer Überprüfung die Ausgabe „05.07.12“. |

Durch einen Rechtsklick auf einen Report können Parameter hinzugefügt oder entfernt werden. Das Hinzufügen von Parametern dient dazu, dass das Füllen von dynamischen Bedienelemente, die durch einen SQL-Befehl gefüllt werden („Combo“, „ListView“), noch weiter gefiltert werden kann. Beispielsweise kann ein zusätzlicher Parameter „Anlagennummer“ erstellt werden. Im SQL-Befehl kann dieser Parameter dann verwendet werden (z.B.: SELECT * FROM Produktion WHERE Anlagen_ID = {?Anlagennummer}), er wird vor der Ausführung durch den ausgewählten Wert ersetzt. Dabei ist zu beachten, dass der Parametername in geschweiften Klammern stehen muss, angeführt von einem Fragezeichen ({?Parametername}).
Nach dem konfigurieren des Reports, wird ein Profil definiert, wieder durch Rechtsklick „Profil hinzufügen“. Diesem Profil wird dann der Report zugewiesen, welches die Möglichkeit besitzt ein Benutzerlevel festzulegen. Dies bringt den Vorteil mit sich, Reports die nicht für alle Benutzer ersichtlich sein sollen zu sperren.

Durch die Häkchen in der Spalte „Zur Laufzeit anzeigen“, kann bestimmt werden ob ein fester Wert als Parameter übergeben wird oder dieser zur Laufzeit veränderbar ist. Ein konstanter Parameter, wird dann in der Spalte Wert angegeben.
Zuweisung von Report Profil zu Report Control¶
Nachdem alles angelegt und konfiguriert wurde, kann der Report dem Control zugewiesen werden. Dies geschieht in der Bildmontage.

Es öffnet sich der Klassendialog:

Hier können nach dem Klasse-Instanz-Konzept, Einstellungen vorgenommen werden, die für alle Report Control dieser Klasse gelten. Die Konfiguration ist grob in 3 Teile gegliedert:
Darstellung: Hier kann das Erscheinungsbild verändert werden. Dazu zählen neben der Größe und der Position, auch die Schrift- sowie Buttongröße. Außerdem können hier Profile zugewiesen werden. Dazu wird in der Zeile „Profil auswählen“ auf den Button in der Spalte „Instanzwert“ geklickt. Es öffnet sich ein Dialog, in dem alle Profile angezeigt werden. Es können ein oder mehrere Profile ausgewählt werden (Multiselect!). Diese werden dann in der der Laufzeit zur Darstellung angeboten.
Bedienleiste: Die Bedienleiste mit den Buttons lässt sich konfigurieren. Die meisten der Bedienelemente (alle bis auf die Liste für die Auswahl des Profils, sowie Bedienelemente zum Wechseln der Seite) können aktiviert bzw. deaktiviert und mit einem Benutzerlevel versehen werden, welches nötig ist, um diese Bedienelemente bedienen zu können (Die Bedienelemente sind andernfalls deaktiviert, aber sichtbar).
Aktionen: Zuletzt gibt es noch die Möglichkeit, das Drucken des Reports durch das setzen einer logischen Variable zu veranlassen. Dazu wird der Haken bei „Drucken aktiv“ gesetzt und anschließend eine logische Prozess-Variable ausgewählt. Wird diese Variable auf logisch=1 gesetzt , so wird automatisch auf dem im System eingerichteten Standard-Drucker gedruckt. Um mehrfach zu Drucken, muss die Variable vor dem erneuten Setzen auf 1 zunächst auf 0 gesetzt werden! Im Instanz Dialog, kann dann ein Reportprofil zugewiesen werden. Anschließend, kann das Projekt exportiert und die Laufzeit gestartet werden, hierbei ist zu beachten, dass keine Verbindung und kein Profil auf Default-Werten steht. Auch der Name des anzuzeigenden Profils kann per Stringvariable zur Laufzeit bestimmt werden.
Bedienung zur Laufzeit¶
Wurde das Projekt gestartet und ein Bild mit einem Report Viewer ausgewählt, erscheint die ReportViewer-Oberfläche:

Oben links befindet sich die Profil-Leiste in der ein Profil ausgewählt werden kann. Durch eine Auswahl wird ein Dialog geöffnet um die Parameter, die im Designer konfiguriert wurden, anzugeben.

Für jeden Parameter wird der Eingabetext angezeigt sowie ein Bedienelement erzeugt (in diesem Fall ein einfaches Textfeld). Nachdem der(die) zu übergebende(n) Parameter eingegeben wurden, kann auf „Anzeigen“ geklickt werden. Das Fenster schließt sich und der Report wird geladen.
Die weiteren Buttons dienen zum neuen Anlegen, Editieren sowie Löschen von Profilen. Beim Anlegen und Editieren können nur die fest konfigurierten Werte verändert werden! Eine komplette Neu-Konfiguration ist nur im Designer möglich.
Daneben stehen Eingabe Felder zum Zoomen sowie zum Blättern (bei mehrseitigen Reports) zur Verfügung.
Wurden zwei Parameter als Zeitbereichs-Parameter markiert, so erscheint neben dem Seiten-Wechsel-Controls ein weiteres, um diese Parameter zu verändern, und so den Zeitbereich einfach zu verändern:
Dahinter stehen Tools zum Drucken, Exportieren und Durchsuchen zur Verfügung.
Webbrowser-Control¶
Das Webbrowser-Control bindet den Internetexplorer in die Visualisierungsapplikation ein, ohne ein externes Programm aufrufen zu müssen. Durch das Webbrowser-Control können neben Internetseiten auch beispielsweise Hilfedateien oder Handbücher zu Applikation im PDF-Format angezeigt werden. Die URL wird dabei über eine Textvariable übergeben.
Important
Manche Web-Seiten erlauben es nicht, über ein I-Frame geöffnet zu werden, diese können dementsprechend auch nicht mithilfe des Webbrowser-Controls geöffnet werden.
Important
Der Inhalt des Webbrowser-Controls kann nicht in einem Screenshot (Drucken-Taste) dargestellt werden.
Erstellen und Bearbeiten von Webbrowser-Controls¶
In der Ribbongruppe System Controls unter Bildbearbeitung kann das Webbrowser-Control mit der Option „Webbrowser“ erstellt werden. Wie von anderen Controls bekannt, öffnet sich ein Klassendialog für das Webbrowser-Control.

Im nachfolgenden Abschnitt sind die möglichen Attribute für das Webbrowser-Control erläutert
Darstellung: Unter Darstellung kann die Größe des Controls festgelegt und die Textvariable für die URL zugewiesen werden.
Aktionen: Unter Aktionen kann dem Control die Eigenschaft Aktualisieren aktiv zugewiesen werden. Dadurch kann getriggert durch eine Boolsche Variable die Aktualisierung der angezeigten Webseite durchgeführt werden.
Note
Bei Änderung der URL in der Textvariable wird die Ansicht des Webbrowser-Controls automatisch aktualisiert. Soll die gleiche Seite aktualisiert werden, so wird die Aktualisierung über die logische Variable verwendet
Wizard-Control¶
Das Wizard-Control erlaubt die Projektierung einer Abfolge von Schritten, welche nacheinander dargestellt werden. Ein Schritt kann dabei aus einem einfachen Hinweistext bestehen oder eines oder mehrere Prozessbilder enthalten, mit denen interagiert werden kann. Die Erstellung einer solchen Abfolge kann dazu genutzt werden, einen bestimmten Handlungsablauf vorzugeben. Zur zusätzlichen Steuerung und Kontrolle gibt es mehrere Funktionen:
Zu einer Wizard-Konfiguration können bis zu 3 Level angelegt werden. In einem höheren Level können einer oder mehrere Schritte des Basis-Levels ersetzt werden (mehr dazu weiter unten).
Schritte können gruppiert werden. Erst wenn alle Schritte einer Gruppe abgeschlossen wurden, kann zum Nächsten fortgefahren werden
Wird ein Schritt abgeschlossen, kann eine vorher festgelegte logische Variable auf „True“ gesetzt werden
Das Fortfahren von einem Schritt zum Nächsten kann von der Erfüllung einer Bedingung abhängig gemacht werden. Um einen Wizard benutzen zu können, muss zudem eine Wizard-Konfiguration unter „System-Controls“ -> „Wizard-Konfiguration“ angelegt werden.
Definition eines Wizard-Controls¶
Um ein Wizard-Control zu definieren, wird in der Symbolleiste das Icon
Wizard angewählt, es öffnet sich der Klassendialog des
Wizard-Controls.

Neben Einträgen zur Größe und zum Aussehen finden sich im Klassen-/Instanz-Dialog einige spezielle Punkte.
Darstellung:
Über „Wizard-Konfiguration“ kann die gewünschte Konfiguration ausgewählt werden.
„Zum aktiven Schritt springen“ scrollt automatisch zum aktiven Schritt. Dadurch muss nicht manuell gescrollt werden.
Es kann eine Statusleiste angezeigt werden.
Mehrere Texte („Schritt“, „Zurück“, „Weiter“) die angezeigt werden, können definiert werden.
Icons und Icongrößen: Hier können Icons für verschiedene Zustände und Status ausgewählt werden. Die größte Icongröße bestimmt die Höhe der Schritte!
Aktionen: Hier können mehrere Variablen festgelegt werden, die zum einen bestimmte Aktionen auslösen und zum anderen Informationen nach außen geben. Bevor diese Variablen ausgewählt werden können, muss jeweils ein Haken gesetzt werden.
Level-Variable: Numerische Variable, in welche das aktuelle Level (0-2) geschrieben wird.
Schritt-Variable: Numerische Variable, in welche die Position des aktuellen Schrittes geschrieben wird. Speichert auch die aktuelle Position, falls der Wizard zwischenzeitlich geschlossen wird.
Schrittanzahl-Variable: Numerische Variable, in welche die Anzahl der Schritte geschrieben wird.
Abgeschlossene-Variable: Logische Variable, die anzeigt ob der Wizard abgeschlossen ist (alle sichtbaren Schritte abgearbeitet). Speichert außerdem den „Abgeschlossen Zustand“ des Wizards, falls der dieser geschlossen wird.
Rücksetz-Variable: Wird diese logische Variable auf „true“ gesetzt, setzt sich der Wizard zurück. Anschließend wird die Variable zurück auf „false“ gesetzt. Beim Zurücksetzen werden alle Quittierungs-Variablen auf false gesetzt!
Testmodus-Variable: Ist diese Variable beim Öffnen des Wizards auf „true“ gesetzt, öffnet sich der Wizard in einem Testmodus. Es werden dabei Fortfahrbedingungen und Variablen ignoriert.
Variablen-Navigation: Ist dieser Punkt aktiviert, werden die Buttons im Wizard deaktiviert. Zu diesem Punkt gehören insgesamt 4 logische Variablen:
Vor / zurück: Navigieren im Wizard vor bzw. zurück (vorwärts nur dann, sofern es erlaubt ist).
Vor / zurück erlaubt: Gibt an ob vor- oder zurücknavigieren möglich ist. (Vorwärts ist nur erlaubt, wenn keine Fortfahrbedingung vorhanden bzw. wenn diese erfüllt ist, zurück ist außer beim ersten Schritt immer erlaubt).
Springe zu aktuellem Schritt: Scrollt zu aktivem Schritt, wenn auf „true“ gesetzt wird. Anschließend wird der Wert auf „false“ zurückgesetzt
Funktionen zur Laufzeit¶

Wird der Wizard zur Laufzeit angezeigt, erscheint eine Liste, welche alle beinhaltenden und sichtbaren Schritte enthält. Der aktive Schritt/die aktive Schrittgruppe wird dabei hervorgehoben. Wurden ein Prozessbild/mehrere Prozessbilder ausgewählt, schieben sich diese unterhalb des Schritt-Titels.
Ist die Tag-Navigation aktiv, werden keine Buttons im Wizard angezeigt (es müssen die logischen Variablen verwendet werden). Andernfalls findet sich bei den Schritten mit Bildern unterhalb der Bilder eine Leiste mit Buttons für die Navigation, bei Schritten ohne Bildern findet sich ein “Weiter“-Button neben dem Schritt-Text. Verfügt der Schritt über eine Quittierungs-Variable, so wird diese beim Druck des Weiter-Buttons auf „true“ gesetzt.
Verfügt der Schritt über eine Fortfahrbedingung, muss diese erfüllt werden, um weiter zu kommen. Bis sie erfüllt ist, wird der „Wartezustand“ durch ein drehendes Symbol neben dem Schritt-Text signalisiert:

Falls keine Quittierungs-Variable vorhanden ist, wird automatisch fortgefahren wenn die Bedingung erfüllt wird. Andernfalls muss sowohl die Bedingung erfüllt, als auch der Schritt manuell quittiert werden.
Wurde bei einem Schritt der Haken „Zurückgehen verhindern“ gesetzt oder verfügt er über eine Fortfahr-Bedingung, so gibt es beim Zurückgehen eine Einschränkung: Es kann zwar zu diesem Schritt navigiert werden, allerding kann nur „passiv angesehen“ werden. Dies bedeutet, es werden keine Fortfahrbedingungen beachtet, keine Quittierungsvariablen gesetzt und falls der Schritt Bilder enthält, können in diesen keine Eingaben vorgenommen werden (symbolisiert durch Überlagerung mit einem grau-durchsichtigen Overlay über den Bildern).
Help-Control¶
Über das Help-Control werden zur Laufzeit die Hilfethemen erstellt und bearbeitet.
Definition eines Help-Controls¶
Um ein Help-Control zu definieren, wird in der Symbolleiste das Icon
HelpControl angewählt, es öffnet sich der Klassendialog des
Help-Controls.

Hier werden die Standard-Parameter wie Größe und Farben definiert. Zudem kann noch festgelegt werden, welche Buttons zum Erstellen und Bearbeiten der Hilfethemen aktiv bzw. mit welchen Rechten verknüpft sind.
Laufzeit¶
Über das Help-Control selbst ist es zur Laufzeit möglich die Hilfethemen zu erstellen, bearbeiten bzw. anzupassen. Weitere Informationen zum Erstellen von Hilfethemen siehe Kapitel Hilfesystem.
QRCode-Control¶
Das QRCode-Control erlaubt die Anzeige eines QRCodes basierend auf einem
statischen Text oder einer String-Variable. Ein QRCode-Control wird über
das Icon in der Symbolleiste erzeugt.

Neben der Darstellung des QRCodes lässt sich auch die Position und die Sichtbarkeit des Controls konfigurieren.
Custom-Control¶
Definition im Designer¶
Das Custom-Control erlaubt die Einbindung von eigenen
JavaScript-Controls in die Oberfläche von PROCON-WEB. Ein Custom-Control
wird über das Icon in der Symbolleiste erzeugt.

Diese hier erzeugte Control wird auch im Designer gerendert und sollte sich so darstellen, wie zur Laufzeit. Wenn das System die zugehörige Funktion nicht finden kann, wird ein Platzhalter dargestellt.
Important
Im Attribut „Name JavaScript-Klasse“ muss exakt der Name der Funktion (Klasse) angegeben werden wie er in der External.js definiert ist.
Die PROCON-WEB Runtime erlaubt zudem das Custom-Control wie fast alle PROCON-WEB Controls zu dynamisieren. Zudem besteht die Möglichkeit eine Liste von Tags zu definieren, über die das Control mit der PROCON-WEB Runtime bzw. mit dem Prozess kommuniziert.
Implementierung in der „External.js”¶
Die Implementierung der Custom-Controls muss zwingend in der „External.js“ im WebVisu-Verzeichnis erfolgen.
function MyCustomControl($element, $innerDiv, opts) {
$element.css('background-color', 'lightblue').css('cursor', 'pointer');
// Beispiel für ein Click-Event
$element.click(function() {
alert("Hello! I'm a custom control :)");
});
// Beispiel für Verarbeitung von Tags
if (opts.tagList) {
var values = [];
for (var i = 0; i < opts.tagList.length; i++) {
tagManager.subscribe(opts.tagList[i], onTagUpdate, $element, i)
}
}
function onTagUpdate(value, state, args) {
values[args] = value;
print();
}
function print() {
$element.html(values.join('<br>'));
}
}
Obiges Beispiel zeigt wie eine Tag-Ankopplung sowie die Reaktion auf ein Klick-Event zu implementieren ist.
Akkordeon-Control¶
Ein Akkordeon ist ein Navigationselement, das im Inhaltsbereich einer Website verwendet wird. Es dient dazu umfangreiche Listen mit Inhalten platzsparend abzubilden. Normalerweise verfügt jedes Accordion-Eintrag über einen Titel und einen Inhalt. Per Klick auf den Titel wird der Inhalt eingeblendet. In PROCON-WEB wird unter einem Akkordeon eine Anreihung von Containern, welche mit PROCON-WEB Bildern befüllt werden, verstanden.
Konfiguration¶
Über das Icon im Bereich der komplexen Controls wird der Dialog mit dem Klasseneditor geöffnet.

Hier können neben der Größe und Anzeige auch zusätzliche Konfigurationen vorgenommen werden:
Zum offenen Eintrag scrollen: Bei Aktivierung wird in der Laufzeit beim Aufklappen eines Eintrages dieser an die oberste Stelle gesetzt.
Überschrift anzeigen: Blendet die oberset Leiste mit dem Titel und den beiden Icons ein oder aus.
Höhe der Überschrift: Höhe der Titelzeile
Titel: Inhaltstext der Titelzeile
Eintragshöhe der Überschrift: Höhe der Einträge im Akkordeon
Bilder-Liste: Auswahl der Bilder, die im Akkordeon dargestellt werden sollen.
Aktionen: Bei Aktivierung der Attribute „Alles öffnen“ oder „Alles schließen“ werden die Icons in der Titelleiste deaktiviert.
Über Boolsche Variablen können die Funktionen ausgeführt werden. Die Icons können z.B. Auf einen Button gelegt werden.
Important
Das Bild, in dem das Akkordeon ist, kann in der Bilderliste ebenfalls ausgewählt werden. Dies führt zu einer Endlosschleife!
Laufzeit¶
In der Laufzeit ist das Akkordeon entsprechend der Konfiguration beim Aufruf des Bildes in dem es liegt komplett geschlossen.

Sofern in der Konfiguration nicht ausgestellt, sind oben rechts in der Titelzeile des Akkordeons die Icons zum öffnen und schließen der einzelnen Einträge zu finden. Die Einträge sind mit dem Namen der Bilder betitelt und können dann geöffnet oder geschlossen werden. Der Anzeigename des Bild ist der Titel in der kopfzeile des Eintrages.
Ist ein Bild in seiner vertikalen Größe größer als das Akkordeon, verschieben sich die darunter liegenden Einträge weiter nach unten. Ist das Bild in seiner horizontalen Größe breiter als das Akkordeon, wird ein horizontaler Scrollbalken eingeführt.
Note
Der Scrollbalken geht nicht vom Akkordeon au, sondern vom hinterlegten Bild!
Wird ein Akkordeon geöffnet und die Sichtbarkeit verändert, so wird es beim nächsten öffnen im zuletzt definierten Zustand angezeigt.
Automationsobjekte¶
Definition Automationsobjekt¶
Ein Automationsobjekt besteht aus mehreren einzelnen statischen und dynamischen Objekten, die zu einer Gruppe zusammengefasst werden. Die Elemente können beispielsweise konstante Symbole, Textfelder, Zahlenfelder oder Balkendiagramme sein. Das Automationsobjekt beschreibt somit einen kompletten Anlagenteil, wie z.B. einen Tank oder Motor.

Erstellen eines Automationsobjektes¶
Um ein Automationsobjekt erstellen zu können, werden die jeweiligen Bildelemente mit dem Lasso ausgewählt. Im Kontextmenü der rechten Maustaste wird die Option „Gruppieren“ ausgewählt und der Name des Automationsobjektes definiert.
In der Toolbox unter „AO“ wird automatisch eine Klasse dieses Automationsobjektes angelegt, die mehrfach im Projekt verwendet werden können.
Sollen bestehende Automationsobjekte geändert oder erweitert werden, werden die benötigten Elemente über Drag´n Drop ins AO eingefügt. Zum Entfernen werden die zu entfernenden Elemente mit der „W-Taste“ einzeln selektiert und gelöscht. Um die Änderungen des Layouts eines Automationsobjektes auf alle anderen Instanzen des zugrundeliegenden AO’s zu übertragen, wählt man im Kontextmenü der rechten Maustaste die Option „Layout Instanz -> Klasse.“
Für die Position des AO wird das obere linke Element als Wert 0.0 herangezogen. Die übrigen Elemente erhalten ihre Positionswerte innerhalb des AOs relativ dazu. Wird ein einzelnes Element dieses AOs für ein anderes Bild verwendet, so kann es passieren, dass die bereits hinterlegten Werte außerhalb des Bildes liegen. In diesem Falle, müssen in der Instanz des Elementes die Werte manuell korrigiert werden. In der Klasse dieses Objektes empfiehlt es sich deshalb generell keine Werte zu hinterlegen.
Note
Kopieren einzelner Elemente aus einem Automationsobjekt ist nicht möglich. Es kann nur das komplette AO kopiert werden.Sichtbarke
Dynamisierung von Automationsobjekten¶
Neben der Dynamisierung die die einzelnen Objekte eines Automationsobjektes haben können, kann auch das Automationsobjekt selbst als Ganzes dynamisiert werden.

Aktuell sind mögliche Dynamisierungen:
Position
Skalierung
Sichtbarkeit
Rotation
Die Parametrierung der Dynamisierung erfolgt analog zu den Bildobjekten in PROCON-WEB. Allerdings ist bei den Parametern der AO-Dynamisierung selbst keine erweiterte Zuweisung, Zuweisung von Strukturelementen oder Dynamische Strukturzuweisung möglich.
Important
Der Test-Modus im Designer unterstützt aktuell die Dynamisierung des Automationsobjekt selbst noch nicht.
Zuordnung bei Automationsobjekten¶
Mit Zuordnungen können gleiche Parameter oder Parameter, die in einem bestimmten Zusammenhang mit anderen Parametern stehen, verbunden werden.

Im Eigenschaftsfenster können die Instanzwerte der Attribute einander zugeordnet werden. In der Abbildung soll jedem LED ein Bit zugewiesen werden. Dem ersten Element wird der erste Feldindex der Prozessvariablen zugewiesen. Mit der Zuordnung kann der Benutzer Elemente dem ersten Element zuordnen. Somit kann für jedes Element ein Feldindex automatisch zugewiesen werden. Wird der erste Instanzwert geändert, ändern sich automatisch alle zugeordneten Prozessvariablen. Unterschiedliche Zuordnungen werden mit verschiedenen Farben gekennzeichnet.
Die Zuordnungen werden über das Kontextmenü der rechten Maus über dem Element dem es zugeordnet werden soll vorgenommen.
Folgende Optionen sind im Kontextmenü verfügbar:
Option |
Bedeutung |
---|---|
Zeilen zuordnen |
Wird gewählt, wenn einem Element weitere Elemente zugewiesen werden sollen. |
Zuordnen erweitert |
Hierbei wird die Vorschrift direkt eingegeben z.B. +2 oder oft verwendete Vorschriften ausgewählt. Wird nichts eingetragen, so wird diese Spalte nicht zugeordnet. |
Zuordnung löschen |
Löscht die vorgenommene Zuordnung für das Automationsobjekt. |
Zuweisung von Struktur-Instanzobjekten bei Automationsobjekten¶
In PROCON-WEB kann jedem Automatisierungsobjekt ein Struktur-Instanzobjekt zugewiesen werden. Zunächst muss im Klassendialog dem Automatisierungsobjekt eine Struktur zugewiesen werden.

Dazu wird in die Ansicht für Automationsobjekte gewechselt und über das Kontextmenü die entsprechende Struktur ausgewählt. In der Spalte Instanzwert öffnet sich nun ein Dialog in dem das Strukturelement für das jeweilige Objekt des Automatisierungsobjektes ausgewählt werden kann.

Nach dem Schließen des Klassendialoges wird im Eigenschaftsfenster oder im Dynamik-Dialog in die Ansicht „Automationsobjekte“ gewechselt. Mit der Option „Instanz zuweisen“ öffnet sich ein Dialog, in dem die entsprechende Instanz für das AO ausgewählt werden kann.

Dem Automatisierungsobjekt werden dadurch automatisch die Prozessvariablen, die auf das Struktur-Instanzobjekt zeigen, zugeordnet. Um trotz dieser Strukturzuweisung Prozessvariablen zuweisen zu können, wird während der Auswahl die „SHIFT“-Taste betätigt. Damit öffnet sich statt dem Dialog für die Instanzauswahl der Prozessvariablenauswahldialog.
Dynamische Zuweisung von Strukturen bei Automationsobjekten¶
Auswahl von Struktur-Klassen in AO-Klasse¶
Die Auswahl einer Struktur in der AO-Klasse funktioniert wie bekannt über das Kontextmenü im Klasse-Instanz-Dialog in der Ansicht „Automationsobjekte“.
Hier öffnet sich der bekannte Struktur-Auswahldialog. Allerdings kann man nun mehrere Strukturklassen auswählen. Diese werden getrennt durch Kommas in der „Text“-Zeile dargestellt.

Wurde mehr als eine Strukturklasse zum AO zugewiesen, tauchen bei der Elementauswahl alle möglichen Strukturelemente der Strukturklassen auf. Im Beispiel sind zwei Klassen zugewiesen und entsprechend kann man die passenden Elemente auswählen.

Nach der Elementauswahl werden in der „Werte“-Spalte wie bisher die Strukturelemente dargestellt.

Auswahl von Struktur-Instanz in AO-Instanz¶
Die Auswahl der Strukturinstanz erfolgt wie bisher über:
das Kontextmenü im Bild
das Kontextmenü im Attribut-Grid (Bildmontage unten)
das Kontextmenü im Klasse-Instanz-Dialog
Ist in der AO-Klasse eine Strukturklasse zugewiesen worden, öffnet sich bei der Instanz-Auswahl der bekannte Strukturinstanz-Auswahldialog. Hier selektiert man eine Instanz woraufhin die Prozessvariablen, die auf die Strukturelemente gemapped sind, angezeigt werden.
Hat man in der AO-Klasse mehrere Strukturklassen ausgewählt verändert sich der Instanz-Auswahldialog. Er zeigt in der ersten Spalte die Strukturklassen an. In der zweiten Spalte kann eine entsprechende Instanz selektiert werden.

Dynamische Struktur¶
Statt eine Strukturinstanz in einer AO-Instanz auszuwählen, kann man auch das „Flag“ dynamische Struktur setzen. Sowohl im Strukturinstanz-Auswahldialog für eine Instanz als auch im Auswahldialog für mehrere Instanzen unterschiedlicher Strukturklassen befindet sich eine Checkbox. Wird diese angewählt, kann keine Strukturinstanz selektiert werden. Das Grid zeigt nun in der Spalte „Werte“ die entsprechenden Strukturklassen-Elemente an.
Zur Laufzeit kann so eine dynamische Zuweisung von Prozessvariablen erfolgen, z.B. in einem AO führt man eine Strukturzuweisung (mit Instanz) durch. In dem AO gibt es ein Element mit der Funktion „Bild öffnen“. In dem zu öffnenden Bild ist ebenfalls ein AO mit der gleichen Strukturzuweisung. Allerdings wurde hier das Flag „dynamische Struktur“ gesetzt. Wird nun das Bild geöffnet, bekommt es die Strukturinstanz-Information vom AO mitgegeben. So erfolgt das Mapping auf die Prozessvariablen.

Zuweisung von Tag-Properties¶
Im AO können Tag-Properties ähnlich der Strukturzuweisung zugewiesen werden. Hierzu wird über das Kontextmenü der Eintrag „Typ Prozessvariablen-Eigenschaften zuweisen“ ausgewählt. Im Anschluss erscheint ein Dialog in dem Typen von Prozessvariablen-Properties erstellt und mit einem Namen bezeichnet werden können (erfolgt alles über das Kontextmenü!)

Anschließend erfolgt die Zuweisung zu den einzelnen AO-Unterelementen wie bekannt von der Strukturelement-Zuweisung. Im Auswahldialog wird über eine Combobox das entsprechend Property ausgewählt. In der Zelle erscheint die Zuweisung wie bei der Zuweisung bei Controls. Allerdings ist hier nicht der Name der Prozessvariable zu sehen, sondern der des erzeugten Typs (z.B. „NumericType.Num. 1“).
Nach der Zuweisung in der AO-Klasse muss in der Instanz zu den Typen der Prozessvariablen-Properties jeweils eine konkrete Prozessvariable zugewiesen werden.

Das Mapping in den Elementen wird nun automatisch (wie bei der Strukturzuweisung) durchgeführt.


Alarme in AOs und AO-Instanzen¶
Alarm anlegen¶
In einer AO-Klasse kann man nun „Alarm“-Klassen erzeugen. Hierfür gibt es einen weiteren Reiter im Klassen-Instanz-Dialog („AO Meldungen“). Wechselt man zu diesem Reiter erhält man die aus der Meldungsverarbeitung bekannte Grid-Ansicht.

Zusätzlich zu den bekannten Spalten gibt es bei den Alarmklassen eine weitere Spalte „Res. Bereich“. Die Nummer der Alarmklasse wird als „Startnummer“ für die Instanzgenerierung hergenommen. Der reservierte Bereich definiert, wie weit die Alarmnummer hochgezählt wird. Dieser Wert ist für alle Alarme in einem AO gleich.
Beispiel: Alarmnummer = 1000 / Nummernbereich = 10 > Es werden Instanzen mit den Nummern 1000 bis 1009 erzeugt. Ist die maximale Alarmnummer (hier 1009) erreicht erhalten alle weiteren Alarminstanzen die gleiche Nummer (hier im Beispiel 1009)
Die Nummer der Alarmklasse wird als „Startnummer“ für die Instanzgenerierung hergenommen. Der Nummernbereich definiert, wie weit die Alarmnummer hochgezählt wird. In der Alarmklasse kann der reservierte Nummernbereich angezeigt werden. Hierzu muss im Alarmeditor der Klasseneditor aktiviert werden.



Strukturelement in AO¶
Ist im AO eine Struktur zugewiesen, können im Alarm Strukturelement verwendet werden (anstelle einer Prozessvariablenzuweisung). Das Mapping von Strukturelementen zu Prozessvariablen erfolgt analog zum bisher bekannten Verhalten nach einer Zuweisung einer Struktur in der AO-Instanz.
Alarme in AO-Instanzen¶
Hat man in einer AO-Klasse Alarme definiert, werden für jede AO-Instanz automatisch die Alarminstanzen generiert. Erzeugt man weitere AO-Instanzen, erstellt der Designer automatisch Alarminstanzen. Im Klassen-Instanz-Dialog können diese ebenfalls im Reiter „AO-Meldungen“ betrachtet und bearbeitet werden. Neue Alarme können aber nur über die AO-Klasse erzeugt werden!
Erfasste Texte können von der Klasse über das Auswahlmenü in die Instanzen durchgereicht werden. Auch die Nummern können in der Klasse angepasst und in den Instanzen aktualisiert werden.
Platzhalter im Alarmtext¶
Um Alarmtexte besser unterscheiden zu können, stehen Platzhalter für den Alarmtext zur Verfügung. Es gibt folgende Platzhalter:
Platzhalter |
Text |
---|---|
%AOI% |
Platzhalter für den AO-Instanznamen |
%SI% |
Platzhalter für Strukturinstanznamen. Gibt es mehrere Strukturzuweisungen, wird der Name der ersten Strukturinstanz verwendet |
%SI_StrukturKlassenname% |
Gibt es mehrfache Strukturzuweisungen in einem AO, kann durch die Eingabe eines Strukturklassennamens eine Deklaration erfolgen. |
Eine Aktualisierung ist im Grid über das Kontextmenü „Alle Meldungstexte aktualisieren“ möglich.

Löscht man eine AO-Instanz, werden die dazugehörigen Alarme mit gelöscht (wenn nicht weiter referenziert)
Im- und Export von Alarmen in AOs¶
Sowohl beim Ex- wie auch beim Import von Alarmen werden vorhandene Strukturelemente berücksichtigt. Beim Export wird anstelle des Strukturelementes die gemappte Variable in das XML-File geschrieben. Ist keine Variable hinterlegt, wird die Default-Variable eingestellt. Beim Import wird ebenfalls wenn eine Strukturzuweisung erkannt wird, eine eventuelle Änderung der Variable verarbeitet.
Tooltips¶
In PROCON-WEB können die Tooltips für Objekte im Designer verwaltet werden. Für dynamische Objekte und Controls können Tooltips angegeben werden. Der Tooltiptext wird im Instanzdialog unter Darstellung angegeben.

Note
Tooltips können mehrsprachig vergeben werden. Dazu siehe auch Text-Im/Export.
Über die Sonderfunktionen 422 und 423 können auch alle im Bild vorhandenen Tooltips angezeigt bzw. ausgeblendet werden. Dies kann insbesondere für Touch-Oberflächen von Vorteil sein (im Sinne einer Hilfe-Funktion).