Menu Unterpunkte
In der Engineering Sicht gibt es 2 abgedeckte Hauptaufgaben:
Die Server Konfiguration.
Hier finden sich Einstellungen, die entweder global im Hintergrund Relevanz haben, sowie Relevanz haben für die Sichten und Grafiken der Klientkonfiguration. Außerdem werden hier berechnete Variablen und Strukturen definiert die wir später abbilden möchten. Zu den Einstellungen gehören:
Die Klient Konfiguration, bestehend aus:
Server Konfiguration
Konstanten

Die Auswahloptionen der Variablen-Felder
Location
Medium
Source
Specialization
Value Bounds finden
finden wir im Menüpunkt Konstanten, wo wir teils vorhandenene aber auch neue hinzufügen können.
Folgende Unterpunkte finden wir bei den Konstanten:
Specialization

Specializations, sind wie ein Kommentar, innerhalb des Variablennamens, um eine gewisse Spezialiserung eines Ortes mit angeben zu können. Es kann z.B. sein, dass man an einem Messort 2 Messstellen hat, die an für sich redundant sind. Specialization dient hier zur Unterscheidung. Es ist des weiteren möglich, dass man z.B. für die Drehzahl an einem Auto an einem konkreten Rad 2 Wege zur Berechnung hat und damit 2 berechnete Variablen, die theoretisch den gleichen Wert haben sollten, dieser aber auf 2 unterschiedlichen Wegen berechnet wird. Auch hier kann specialization zur Differenzierung aushelfen.
Felder
Feld |
Beschreibung |
---|---|
Value |
Kürzel, wie später im Variablennamen enthalten |
Name |
Name ausformuliert |
Locations

Locations definieren Orte. Allerdings sind dies meist Orte, von denen es eine fixe Anzahl gibt, bei einem Auto z.B. die Räder vorne links, vorne rechts, hinten links, hinten rechts. Als Alternative zu Locations könnte man diese Orte auch mit Hilfe von Hierarchien von Objekten abbilden. So könnte es die Klasse Rad geben und dazu dann am Objekt Auto die Objekte Räder geber. In diesem Fall wären es in 99% der Fälle immer genau die erwähnten 4, die wir benötigen. Der Unterschied wäre, dass man, würde man wollen, auch ein Objekt mit nur 3 Räder definieren könnte, wobei eines davon dann vorne Mitte heißen würde, oder eventuell ein Fahrzeug-Objekt mit 6 Rädern. In Fällen, wo wir viele solcher Variationen erwarten müssten, sollten wir lieber Rad-Klassen benutzen. In Fällen wo wir wissen, dass es immer die gleiche Anzahl an Orten geben wird, eignet sich jedoch die Definition der Orte über die Locations.
Note
Wenn man die Anzahl kennt, sollte man Locations benutzen, wenn nicht Unterobjekte. Location sind einfacher anzulegen.
Felder
Feld |
Beschreibung |
---|---|
Value |
Kürzel, wie später im Variablennamen enthalten |
Name |
Name ausformuliert |
Mediums
Das Medium, z.B. CO2, Elektrische Energie
Sources

Sources definieren wo Daten von Variablen herkommen, stellen also Datenquellen dar. Die zwei wichtigsten Sources sind:
das Prozessleitsystem / OPC-UA Schnittstelldaten / Modbus
berechnete Variablen
Felder
Feld |
Beschreibung |
---|---|
Value |
Kürzel, wie später im Variablennamen enthalten |
Name |
Name ausformuliert |
Default Type |
Wird eine neue Variable anlegt, so werden die Instanzen automatisch mit diesem Typ initialisiert |
Default Supplement Value Strategy |
Ersatzwerte |
Feld Default Type
PLC heißt, dass bei der Variablen versucht wird über eine angegebene Adresse im Prozessleitsystem Werte abzufragen.
Calculated ist ein berechneter Wert
Custom ist ebenfalls ein berechneter Wert, allerdings über vorderfinierte Berechnungsalgorithmen die bereits im Code von EOS einprogrammiert wurden. Vorteil dieser Berechnungen ist, dass diese meist schneller sind und auch Iterationen enthalten können.
Feld Default Supplement Value Strategy
Die Variablen sind so konzipiert, dass erfasste oder berechnete Werte durch Ersatzwerte überblendet werden können. Dadurch besteht eine Korrekturmöglichkeit, oder eine Möglichkeit im Leitsystem fehlende Größen wie Energiepreise von Hand einzugeben. Eingabe von erwarteten Werten zur Prognoseberechnung für die Zukunft kann auf diesem Weg auch realisiert werden. Ob die Ersatzwerte bei einer Variable zugelassen sind, wird im Variablenparameter Supplement Strategy festgelegt. Hierbei wird zwischen zwei Strategien unterschieden:
Rasterized(Gerastert) – ein eingegebener Wert gilt genau für den Zeitbereich, fürden er eingegeben wurde. Ist dieser Zeitbereich länger als das Basisraster, wird der Wert entsprechend der angegebenen Aggregation bei Ausgabe interpoliert. Diese Strategie ist für Korrekturwerte, für Variablen mit ausschließlich Handeingabewerten und für die Eingabe prognostizierter Daten vorgesehen.
Unrasterized(Ungerastert) – Die hier eingegebenen Werte gelten von Gültigkeitsbeginn bis zum jeweils nächsten Wert. Diese Strategie ist für Parameter vorgesehen. Parameter zeichnen sich dadurch aus, dass sich ihre Werte nur selten ändern
Physikalische Größen



Physikalische Größen lassen sich am Menüknoten Physikalische Größen einsehen und bearbeiten. EOS liefert bereits mit der Installation viele physikalische Größen, kann aber um zusätzliche ergänzt werden.
Jede physikalische Größe hat zusätzlich untergeordnet Messeinheiten. Auch diese können bearbeitet und ergänzt werden.
Es gibt folgende Unterscheidung bei den physikalischen Größen:
vorderfinierte (schwarz)
eigene (blau)
Felder
Eine physikalische Größe besteht aus den Eigenschaften:
Feld |
Beschreibung |
---|---|
Key |
Bedeutung ausformuliert |
Name |
physikalisches Symbol |
Aggregation |
wie mehrere Wert über die Zeit aggregiert werden sollen |
Klappen wir eine physikalische Größe auf so sehen wir die Messeinheiten der jeweiligen physikalischen Größe.
Felder Messeinheit
Eine Messeinheit hat folgende Eigenschaften.
Feld |
Beschreibung |
---|---|
Physical Unit Key |
Name der physikalischen Größe |
Key |
Bedeutung der Messeinheit ausformuliert |
Common Code |
Name für Maßeinheit, wie es beim OCP-UA Leitsystem angegeben sein wird. |
Factor |
Bezogen auf SI Einheit. Ein numerischer Wert, der angibt mit welchem Faktor der einkommende Wert multipliziert werden muss um auf die SI-Einheit zu kommen |
Divisor |
Ein numerischer Wert, ähnlich dem Factor, allerdings für den Fall das eine Division nötig ist |
Addend |
|
Simple Display Unit |
Messeinheit als Kürzel |
Klassen
Klassen bilden das Grundgerüst der Abbildung unserer Anlage. Klassen stellen Modellvorlage, Typicals oder Blueprints dar. Im Abschnitt zur objektorientierten Modellierung gehen wir auf diese Bedeutung näher ein.
Datenfelder
Feld |
Beschreibung |
---|---|
Display Name |
Der Name des Knotens |
Extend Classes |
Erbschaftangaben (es kann von mehreren Klassen geerbt werden) |
Connected Classes |
Relevant für Objekthierarchie, ein Objekt der aktuellen Klassen darf Kinder untergeordnet |
Roles |
Eine, oder mehrere Rolen welche die Klassenobjekte haben dürfen. Die Rollenzuordnung ist für erweiterte |
Token |
Textkürzel der Klasse. Der Token wird im Variablennamen als Prefix verwendet, wie hier erläutert. |
Visual Order Position |
Position in der Navigation im Engineering |
Icon |
Icon welches bei der Auflistung in der Navigation angezeigt wird (im Engineering aber auch z.B. Monitoring) |
Description |
Weitere Beschreibung |
Unterpunkte
Klappen wir den Menüpunkt Klassen
auf. So sehen wir flach geordnet alle Klassen mit je drei Unterpunkten:
Objects - Listet Objekte / konkrete Instanzen der ausgewählten Klasse
Variables - Listet die an der Klasse definierten Variablen
Properties - Listet Eigenschaften der Klasse (Eigenschaften sind wie Variablen, jedoch nicht über Zeit verändernd)

Wir können die Objekte hier ebenso öffnen und bearbeiten wie über den Muttermenüpunkt Objekte.

Auch die Variablen können hier ebenso geöffnet und bearbeitet werden wie über den Muttermenüpunkt Variablen.

Note
Objekte und Variablen lassen sich über mehrere Wege betrachten und bearbeiten. Wir haben also wiederholende Elemente in den Menüpunkten Klassen, Objekte und Variablen.
Man könnte sagen: Der Betrachtungswinkel, bzw. der Fokus variiert, aber der Inhalt bleibt der gleiche.
Objekte
Objekte sind konkrete Realisierungen, bzw. Instanzen unserer Klassen. Sie sind also die Umsetzung unseres Blueprints. Im Abschnitt zur objektorientierten Modellierung gehen wir auf diese Bedeutung näher ein.
Datenfelder
Feld |
Beschreibung |
---|---|
Display Name |
Der Name des Knotens |
Key Identifier |
Ein eindeutiges Kürzel für das Objekt. Wird primär im Variableninterpreter, bzw. von der
Search Policy verwendet. |
Display Name |
Anzeigenamme des Objekts (Mehrsprachige angaben möglich) |
Structure Class |
Die zugrunde liegende Klasse (bzw. Objekt Typ) |
Parent Objects |
Vater-Objekte denen dieses Kindobjekt im Objekthierarchiebaum zugeordnet sein soll (mehrfache Auswahl möglich) |
Default UI Color |
Farbe |
Visual Order Position |
Position in der Navigation im Engineering in Bezug auf Geschwisterknoten |
Plc Alias Map |
Sollte an der Variablen ein Datasource Key Pattern mit einem integrierten Platzhalter hinterlegt sein,|br| so wird der dortige Platzhalter mit dem hier für den Platzhalter definierten Wert aufgefüllt. |
Description |
Weitere Beschreibung |
Unterpunkte
Klappen wir den Menüpunkt Objekte
auf. So sehen wir hierarchisch geordnet Objekte mit je einem Unterpunkt:
Instances - damit sind Variablen-Instanzen gemeint

Wir können die Variablen-Instanzen, die sich aus der Verknüpfung Klassen-Variable und konkretem Objekt ergeben, hier genauso betrachten, wie über den Muttermenüpunkt Variablen.

Note
Variablen-Instanzen lassen sich über den Menüpunkt Variablen, aber auch über den Menüpunkt Objekte betrachten und bearbeiten.
Variablen
Variablen sind ein Teil von Eigenschaften unserer Klassen. Während Klassen auch fixe, konstante Eigenschaften (z.B. Farbe) besitzen können, bilden Variablen Container für Datenreihen / Signale, mit Werten die sich über die Zeit verändern. Betrachten wir eine Variable an einem Objekt (welches die Variable durch die zugrundeliegende Klassendefinition besitzt), so sprechen wir von einer Variablen-Instanz.
Im Abschnitt zur objektorientierten Modellierung gehen wir auf die semantische Bedeutung der Variablen näher ein.
Datenfelder Variable
Eine Variable hat 4 Reiter:
PLC - Informationen, für den Datenbezug über das Prozessleitsystem
Calculation - Formeleditor, falls die Variable einen berechneten Wert darstellt
Custom
Reiter Haupteigenschaften

Feld |
Beschreibung |
---|---|
Id |
Identifikator |
Structure Class |
Die zugrunde liegende Klasse (bzw. Objekt Typ) |
Location |
die Position / Lokalisation innerhalb dieser Klasse |
Medium |
das Medium, das die Variable betrifft |
Physical Unit |
die physikalische Größe, die beschrieben wird |
Specialization |
die Spezialisierung der physikalischen Größe |
Source |
die Herkunft der Werte (berechnet, Prozesswert, Parameter usw.) |
Measuring Unit |
Maßeinheit |
Values Bounds |
gültiger Wertebereich (alles darunter oder darüber wird ungültig, betrifft auch Formeleditorabfrage isValid() ) |
Roles |
|
Aggregation |
je nach physikalischer Einheit wird automatisch anders aggregiert, jedoch kann man hier das Verhalten ändern. |
Description |
Beschreibung, wie sie nachher in der Legende in Charts auch verwendet wird |
Reiter PLC

Feld |
Beschreibung |
---|---|
Default source measuring unit |
Die Maßeinheit der eingehenden Werte |
PLC raw value aggregation |
Aggregation |
Default Data Group |
Die Lesegruppe |
Datasource Key Pattern |
Das Pattern welches von der Variableninstanz aufgegriffen und |
Reiter Calculation

Wir sind mit EOS nicht nur in der Lage vorhandene Werte zu betrachten, sondern auch Werte zu berechnen und diese dann zu betrachten, sowie berechnete Werte von anderen berechneten Werten aus anderen Variablen. Wir auf diese Weise sogar unglaublich tiefe und komplexe Berechnungsbäume erstellen.
Im einfachsten Falle haben wir z.B. die Variablen Eingangsdruck und Ausgangsdruck, die wir evtl. ins Verhältnis setzen möchten. Dies geht mit einer dritten erstellten aber berechneten Variable, bei der wir dann hier im Formeleditor die gewünschte Berechnung vornehmen und uns den berechneten Wert erzeugen lassen und genau so wie alle anderen Variablen mit eingelesenen Werte in Graphen, Tabellen und Berichten verwenden können.
Formeleditor
Im Reiter Kalkulation findet sich für diesen gewünschten Fall der Formeleditor, den wir allerdings in einem eigenen Kapitel erläutern.
Unterpunkte
Klappen wir den Menüpunkt Variablen
auf. So sehen wir flach geordnet alle Klassen mit jeweils allen Variablen
als Unterpunkte.
Jede Variable hat unter sich alle Objektnamen von Objekten gelistet, die sie durch die zugrundeliegende Klassendefinition diese Variable besitzt.
Wir haben 2 Klickmöglichkeiten:
1. Klicken wir eine Variable an, sehen wir die Definition der Variable (und den gleichen Inhalt, wie über Klassen->[Klasse]->Variables->[Variable]).
2. Klicken wir auf einen Objektnamen, sehen wir nicht das Objekt (!!), sondern die konkrete Variablen-Instanz, also die konkrete Realisierung der Variable am konkreten Objekt, (und damit den gleichen Inhalt, wie über den Objekte->[Object]->Instances->[Variablen-Instanz]).
Note
Variablen lassen sich über den Menüpunkt Variablen, aber auch über den Menüpunkt Klassen bei den Variable-Kindknoten der Klasse betrachten und bearbeiten.
Aufbau von Variablennamen

Aufbau eines Variablennamens
Jeder Variablenname bietet Rückschluss auf:
die Klasse, der er zugeordnet ist
die Position innerhalb dieser Klasse
das Medium, das die Variable beschreibt
die physikalische Größe, die beschrieben wird
die Spezialisierung oder ein Kommentarkürzel
die Herkunfg der Werte (berechnet, Prozesswert, Parameter usw.)
Variablen Charts anzeigen
Wie im Monitoring View, gibt es auch im Engineering View die Möglichkeit Charts zu den vorhandenen Werten von Variablen anzuschauen. Wir haben 2 Möglichkeiten Charts einzublenden.
Über Objekte->Instances->Variablen Instanz (rechts klick)
Über Variablen->Klasse->Variable->Objekt (rechts klick)
In beiden Fällen erhalten wir einen Graphen mit den visualisierten Werten der Variable vom Objekt. Das heißt aus unserer abstrakten Beschreibung der Klasse und der abstrakten Beschreibung der Eigenschaften (primär Variablen), können wir hier nun über den Pfad konkreter Objekte, die konkreten Werte der verknüpften Variablen(-instanzen) auslesen.

Vorraussetzung hierfür ist die Variableninstanz initialisiert ist. Bei PLC Variablen die Quelle der Werte, z.B. die OPC-UA Adresse oder eine Formel für die Berechnung über andere Variablen wurden angegeben.
Weiteren Chart hinzufügen
Per Drag & Drop kann man weitere Variablen-Werte auf einen Chart projezieren.


Weitere Funktionen
Natürlich haben wir hier auch die Möglichkeit, so wie im Monitoring Graphen Anpassungen vorzunehmen.

Kennlinien
Zeitschienen
Ereignisse
Terminplan
Benutzer und Gruppen
Resources
Process Interface
Process Interface anlegen
Wenn wir Daten über eine Quelle abfragen möchten, müssen wir die Quelle im Process Interface anlegen. Hier kann eine Anbindung an einen Server erfolgen, wobei diverse Protokolltypen zur Verfügung stehen.


Lesegruppe anlegen
Zusätzlich zur Konfiguration des Servers, können wir folgend eine Lesegruppe einrichten.


In einer Lesegruppe geben wir einmal den Namespace bekannt (um ihn später nicht immer wieder eintippen zu müssen) und mit dem Typen geben wir an, welcher Funktion diese Gruppe dient. In den meisten Fällen, möchten wir nur lesen und so erstellen wir meist eine Lesegruppe. Alternativ könnte man auch eine Gruppe mit Schreibrechten anlegen, falls wir auch Daten zum OPC-UA Server hochladen wollen würden. Dies ist allerdings nur selten der Fall.
Feld |
Beschreibung |
---|---|
Groupname |
Name, um die Gruppe später leichter zur Verwendung zu wieder zu erkennen |
Namespace |
Namespace der immer beim Zugriff auf Variablen verwendet werden soll |
Properties |
|
Type |
Lesen | Schreiben | Schreiben und Loggen |
Update Rate |
Die Update Rate |
Keep Alive Rate |
|
Sample Raster |
|
Disable Historical Import |
Import historischer Daten verbieten |
Sobald wir das eingestellt haben, können wir an einer PLC-Variable, an einer konkreten Objektinstanz im Unterreiter PLC die Gruppe aus der wir lesen sowie den Data Source Key angeben.
Feste OPC-UA Adresse
Möchten wir bei einer Variableninstanz Daten über eine fest vergebene OPC-UA Adresse vergeben, die evtl. keinem Muster folgt, so führen wir folgende Schritte aus.

An der Variableninstanz wird unter PLC im Feld
Data Group
die Lesegruppe ausgewählt.Im Feld
Datasource Key Pattern
wird die OPC-UA Adresse (ohne prefix) eingetragen.
Generische Data Source Keys
Neben den fest vergebenen OPC-UA Variablen Adressen können wir auch Pattern Schlüssel benutzen. Folgende Schritte sind nötig
An der Variablen wird unter PLC im Feld
Datasource Key Pattern
ein generischer Schlüssel eingetragen.
der generische Teil steht hierbei in geschweiften Klammern. Z.B.:
{kav_key}
An der Variablen wird eine Standard- Lesegruppe in
Default Data Group
angegeben

Am Objekt wird im Feld
Plc Alias Map
der im generischen Schlüssel zu verwendete Wert eingetragen
Z.B.:
kav_key = 29;

Klient Konfiguration
Sprachen
Hier können zu verwendete Sprachen angegeben werden.
Grafiken
In der Rubrik Grafiken definieren wir Graphen.
Dies können sein:
2D Charts
Linien Charts
Punktwolken Charts
Bar Charts
Pie Charts (Tortendiagramm)
Sankey Charts
3D Charts
Grafiken sind bestimmt für spezielle Klassen und haben im Fall von 2D Charts mindestens eine X und eine Y Achse, wobei die X Achse über die Zeit laufen aber auch andere Werte abbilden kann. Die Y Achse kann um beliebig weitere Y Achsen erweitert werden, wobei jede Y Achse eine andere physikalische Größe mit anderer Messeinheit besitzen kann.
Jede Achse hat weiter eine oder mehrere Datenreihen angebunden, welche Bezug nehmen auf die Werte einer Variablen.
Bei 3D Charts verhält es sich ähnlich.
Charts die wir definieren tauchen allerdings nicht von alleine auf, sondern müssen erst in einer Sicht eingegliedert werden.
Tabellen
Tabellen sind ähnlich wie Charts an Klassen gebunden. Auf Basis der Daten die aus Objekten der Klasse hervorgehen, also der vorhandenen Variablen können wir Spalten, Summen aber auch berechnete Spalten bilden.
Genauso wie Charts, erscheinen Tabellen aber auch nicht automatisch an allen Objekten jener Klasse, sondern erst über die entsprechende Platzierung in der Sichtenhierarchie
Schemas
Berichte
Um Berichte zu exportieren brauchen wir eine hinterlegte Vorlage. Dies geschieht über diesen Menüpunkt. Haben wir so eine Vorlage hinterlegt, können wir diverse Graphen und Tabellen in eine PDF oder Exceldatei exportieren. Hierfür nutzen wir dann einen der beiden Exportknöpfe wie hier gezeigt
Sichten
Die Sichten, oder Sichtenhierarchie definieren, was wir im Monitoring oder in anderen Hauptbereichen vom EOS sehen. Sie definieren in hierarchischer Form welche Objekte und welche Daten wir sehen wollen, wobei hier unsere zuvor definierten Charts und Tabellen eingebunden werden.
Split Screen Sicht
Statt in einem Fenster nur eine Grafik darzustellen, können wir eine Ansichtfläche zu einem Sichtknoten aber auch in 2 Teile teilen. Dies geschieht mit Hilfe von Split Containern für vertikales oder horizontales Teilen. Wir können SplitContainer in den Sichten außerdem durch weitere Knoten schachteln.
Um dies einen vertikal trennenden Splitcontainer zu erstellen fügen wir also einen Knoten hinzu, dessen ViewType
wir auf SplitContainer einstellen mit der Orientierung VERTICAL
.
Anschließend würden wir zwei weitere Knoten in diesen Knoten eingliedern, jedoch dort das Kästchen Is Tree Item
ausschalten um somit auszusagen, dass diese Knoten nicht als Kind (Baum) Knoten erscheinen sondern nur von
dem Splitcontainer verwendet werden sollen (für die jeweiligen Bereiche oben/unten, oder links/rechts).