================ Menu Unterpunkte ================ .. toctree:: :glob: :hidden: 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: - :ref:`Konstanten` - :ref:`Physikalische Größen` - :ref:`Klassen`, :ref:`Objekte`, :ref:`Variablen` - :ref:`Kennlinien` - :ref:`Zeitschienen` - :ref:`Ereignisse` - :ref:`Terminpläne` - :ref:`Benutzer und Gruppen` - :ref:`Resourcen` - :ref:`Schnittstellen Konfiguration (Process Interface)` - Die Klient Konfiguration, bestehend aus: - :ref:`Sprachen` - :ref:`Grafiken` - :ref:`Tabellen` - :ref:`Schemas` - :ref:`Berichte` - :ref:`Sichten` .. _link-const: ******************** Server Konfiguration ******************** Konstanten ========== .. container:: clearer .. image:: ../images/27.png :width: 600 :align: left 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: .. _link-const-specializations: Specialization -------------- .. figure:: ../cookbook/oilAndGas/images/85.png Specializations, sind wie ein Kommentar, innerhalb des :ref:`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 ~~~~~~ .. csv-table:: :header: "Feld", "Beschreibung" :widths: 20, 80 Value, "Kürzel, wie später im Variablennamen enthalten" Name, "Name ausformuliert" .. _link-const-locations: Locations --------- .. figure:: ../cookbook/oilAndGas/images/50.png 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 ~~~~~~ .. csv-table:: :header: "Feld", "Beschreibung" :widths: 20, 80 Value, "Kürzel, wie später im Variablennamen enthalten" Name, "Name ausformuliert" .. _link-const-mediums: Mediums ------- Das Medium, z.B. CO2, Elektrische Energie .. _link-const-sources: Sources ------- .. figure:: ../cookbook/oilAndGas/images/4.png 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 ~~~~~~ .. csv-table:: :header: "Feld", "Beschreibung" :widths: 20, 80 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: 1. 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. 2. 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 .. _link-const-phys: Physikalische Größen ==================== .. figure:: ../cookbook/oilAndGas/images/physical1.png .. figure:: ../cookbook/oilAndGas/images/physical2.png .. figure:: ../cookbook/oilAndGas/images/physical3.png 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: .. csv-table:: :header: "Feld", "Beschreibung" :widths: 20, 80 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. .. _link-const-measuringunit: Felder Messeinheit ------------------ Eine Messeinheit hat folgende Eigenschaften. .. csv-table:: :header: "Feld", "Beschreibung" :widths: 20, 80 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" .. _link-classes: Klassen ======= Klassen bilden das Grundgerüst der Abbildung unserer Anlage. Klassen stellen Modellvorlage, Typicals oder Blueprints dar. Im Abschnitt zur :ref:`objektorientierten Modellierung` gehen wir auf diese Bedeutung :ref:`näher ein`. Datenfelder ----------- .. csv-table:: :header: "Feld", "Beschreibung" :widths: 20, 80 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 |br| haben der hier angegebenen Klassen" Roles, "Eine, oder mehrere Rolen welche die Klassenobjekte haben dürfen. Die Rollenzuordnung ist für erweiterte |br| Auswertungsmöglichkeiten und für Schittstellen nach außen notwendig." Token, "Textkürzel der Klasse. Der Token wird im Variablennamen als Prefix verwendet, :ref:`wie hier erläutert`. |br| Der Token wird von der Elternklasse vererbt, falls hier nicht angegeben." 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) .. figure:: ../images/classes-objects-variables/class-class.png Wir können die Objekte hier ebenso öffnen und bearbeiten wie über den Muttermenüpunkt :ref:`Objekte`. .. figure:: ../images/classes-objects-variables/class-object.png Auch die Variablen können hier ebenso geöffnet und bearbeitet werden wie über den Muttermenüpunkt :ref:`Variablen`. .. figure:: ../images/classes-objects-variables/class-variable.png .. 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. .. _link-objects: Objekte ======= Objekte sind konkrete Realisierungen, bzw. Instanzen unserer Klassen. Sie sind also die Umsetzung unseres Blueprints. Im Abschnitt zur :ref:`objektorientierten Modellierung` gehen wir auf diese Bedeutung :ref:`näher ein`. Datenfelder ----------- .. csv-table:: :header: "Feld", "Beschreibung" :widths: 20, 80 Display Name, "Der Name des Knotens" Key Identifier, "Ein eindeutiges Kürzel für das Objekt. Wird primär im Variableninterpreter, bzw. von der :ref:`Search Policy` verwendet. |br| Bsp.: Der Key Identifier vom Verdichter VK03 ist 'vk03'. So kann eine Variableninstanz der Variable |br| VK_VS1.SGas.p_ein.vc am Verdichter 3 wie folgt adressiert werden: VK_VS1.SGas.p_ein.vc->vk03" 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 :ref:`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" .. todo: wo wird die UI Color verwendet ? Unterpunkte ----------- Klappen wir den Menüpunkt ``Objekte`` auf. So sehen wir **hierarchisch geordnet** Objekte mit je einem Unterpunkt: - Instances - damit sind Variablen-Instanzen gemeint .. figure:: ../images/classes-objects-variables/object.png 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 :ref:`Variablen`. .. figure:: ../images/classes-objects-variables/object-variable-instance.png .. note:: Variablen-Instanzen lassen sich über den Menüpunkt Variablen, aber auch über den Menüpunkt Objekte betrachten und bearbeiten. .. _link-variables: 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 :ref:`objektorientierten Modellierung` gehen wir auf die semantische Bedeutung der Variablen :ref:`näher ein`. Datenfelder Variable -------------------- Eine Variable hat 4 Reiter: - :ref:`Haupteigenschaften` - :ref:`PLC` - Informationen, für den Datenbezug über das Prozessleitsystem - :ref:`Calculation` - :ref:`Formeleditor`, falls die Variable einen berechneten Wert darstellt - Custom .. _link-variable-tab-main: Reiter Haupteigenschaften ~~~~~~~~~~~~~~~~~~~~~~~~~ .. figure:: ../images/classes-objects-variables/variable-variable.png .. csv-table:: :header: "Feld", "Beschreibung" :widths: 20, 80 Id, "Identifikator" Structure Class, "Die zugrunde liegende Klasse (bzw. Objekt Typ)" Location, "die :ref:`Position / Lokalisation` innerhalb dieser Klasse" Medium, "das :ref:`Medium`, das die Variable betrifft" Physical Unit, "die :ref:`physikalische Größe`, die beschrieben wird" Specialization, "die :ref:`Spezialisierung` der physikalischen Größe" Source, "die :ref:`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" .. todo: Roles .. _link-variable-tab-plc: Reiter PLC ~~~~~~~~~~ .. figure:: ../images/classes-objects-variables/variable-variable-plc.png .. csv-table:: :header: "Feld", "Beschreibung" :widths: 20, 80 Default source measuring unit, "Die Maßeinheit der eingehenden Werte" PLC raw value aggregation, "Aggregation" Default Data Group, "Die :ref:`Lesegruppe`" Datasource Key Pattern, "Das Pattern welches von der Variableninstanz aufgegriffen und |br| mit den Werten aus der :ref:`Plc Alias Map hinterlegt am konkreten Object` aufgefüllt wird" .. todo: wie unterscheidet sich diese Aggregation von der vom Hauptreiter .. _link-variable-tab-calculation: Reiter Calculation ~~~~~~~~~~~~~~~~~~ .. figure:: ../images/classes-objects-variables/variable-variable-calculation.png 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 :ref:`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 :ref:`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 :ref:`Objekte`->[Object]->Instances->[Variablen-Instanz]). .. figure:: ../images/classes-objects-variables/variable-instance.png .. 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. .. _link-variable-name: Aufbau von Variablennamen ------------------------- .. figure:: ../images/25.png :width: 400 :align: center 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.) .. _link-characteristics: 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. .. image:: ../images/engineering-show-chart.png 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. .. image:: ../images/engineering-drag-chart.png .. image:: ../images/engineering-combined-charts.png Weitere Funktionen ~~~~~~~~~~~~~~~~~~ Natürlich haben wir hier auch die Möglichkeit, so wie im :ref:`Monitoring Graphen Anpassungen` vorzunehmen. .. image:: ../images/engineering-edit-chart.png Kennlinien ========== .. _link-timelines: Zeitschienen ============ .. _link-events: Ereignisse ========== .. _link-schedules: Terminplan ========== .. _link-users: Benutzer und Gruppen ==================== .. _link-resources: Resources ========= .. _link-process-interface: 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. .. figure:: ../cookbook/oilAndGas/images/8.png .. figure:: ../cookbook/oilAndGas/images/9.png Lesegruppe anlegen ------------------ Zusätzlich zur Konfiguration des Servers, können wir folgend eine Lesegruppe einrichten. .. figure:: ../cookbook/oilAndGas/images/10.png .. figure:: ../cookbook/oilAndGas/images/11.png 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. .. csv-table:: :header: "Feld", "Beschreibung" :widths: 20, 80 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. .. _link-process-interface-key-pattern: 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. .. figure:: ../cookbook/oilAndGas/images/18.png 1. An der Variableninstanz wird unter PLC im Feld ``Data Group`` die Lesegruppe ausgewählt. 2. 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 1. 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}`` 2. An der Variablen wird eine Standard- Lesegruppe in ``Default Data Group`` angegeben .. figure:: ../cookbook/oilAndGas/images/19.png 3. Am Objekt wird im Feld ``Plc Alias Map`` der im generischen Schlüssel zu verwendete Wert eingetragen - Z.B.: ``kav_key = 29;`` .. figure:: ../cookbook/oilAndGas/images/21.png ******************** Klient Konfiguration ******************** .. _link-languages: Sprachen ======== Hier können zu verwendete Sprachen angegeben werden. .. _link-graphs: 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 :ref:`Sicht` eingegliedert werden. .. Datenfelder .. ----------- .. .. csv-table:: .. :header: "Feld", "Beschreibung" .. :widths: 20, 80 .. .. Group, .. Plot Type, "XY Plot | Ring Plot | Pie Plot | Bar Plot" .. Default Raster, Standard Raster - Besonders bei Bar Plot sinnvoll .. At Classes, Bei welchen Klassen die Grafik visualisiert werden darf. .. Name, "" .. Title, "" .. _link-tables: 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 :ref:`Sichtenhierarchie` .. _link-schemas: 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 :ref:`hier gezeigt` .. _link-views: 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).