Prozessankopplung¶
Die Komponente Prozessankopplung dient der Konfiguration der Datenbasis und deren Kommunikation mit dem Steuerungssystem. Zur Laufzeit wird dies über den TagServer ausgeführt, der hierzu über unterschiedliche PlugIns zur Kommunikation über verschiedene Protokolle verfügt. Es können bei einem Projekt bis zu acht unterschiedliche Treiber-PlugIns benutzt werden.
Die in den PlugIns realisierten Treiber benötigen teilweise spezifische Ausstattung (Feldbuseinsteckkarten, COM-Interfaces, …) und stehen nicht für alle Servervarianten zur Verfügung, weil diese PlugIns sehr betriebssystemspezifisch sind.
In PROCON-WEB existieren drei unterschiedliche Variablentypen:
Prozessvariablen |
Prozessvariablen |
Textvariablen |
---|---|---|
Zustand 0 oder 1 |
Zahlenwerte (intern als Float) |
Strings |
Alle Prozessvariablen werden mit einem symbolischen Namen bezeichnet, der dann innerhalb der Bilder, bei den Formeln oder den anderen Komponenten von PROCON-WEB bekannt ist. Diese Definitionen sind Bestandteil der Projektdaten und werden von allen Funktionsgruppen von PROCON-WEB verwendet. Alle programminternen Datenzugriffe werden über den symbolischen Namen realisiert (bzw. dem Index, zugeordnet vom System). Erst bei der Kommunikation zum Prozess werden die Treiberzuordnung und die treiberspezifischen Angaben ausgewertet. Damit ist PROCON-WEB ein vollständig steuerungsneutrales HMI- und SCADA-System. Der Datenaustausch vom Laufzeitsystem zum Prozess erfolgt über den steuerungsspezifischen Treiber. Treten während der Kommunikation mit der Steuerung Probleme auf (z.B. Kabel nicht gesteckt, Daten nicht vorhanden, Protokollfehler, …), werden diese als Systemalarme vom Laufzeitsystem gemeldet und angezeigt. Jeder Treiber benötigt spezifische Parametrisierungen und Einstellungen, um eine Kommunikation aufbauen zu können. Diese Angaben sind im Treiberhandbuch aufgeführt und bei der Installation zu berücksichtigen.
Konfiguration¶
Prozesskommunikation¶

Note
Die Standardwerte der Konfigurationseinstellung sind so gewählt, dass diese zu 90 % der Anwendungsfälle passend sind.
Schlüsselname |
Eingabe |
Bedeutung |
---|---|---|
Synchrones Lesen der Prozesswerte (Ja/Nein) |
Standardwert: nein |
Gibt an, ob die Prozesswerte synchron gelesen werden sollen. |
Synchrones Schreiben der Prozesswerte (Ja/Nein) |
Standardwert: nein |
Gibt an, ob die Prozesswerte synchron geschrieben werden sollen. |
TagServer Timeout Funktion |
Standardwert: 240000 |
Gibt die Dauer in Millisekunden an, bis die synchrone TagServer-Funktion in den Timeout läuft. |
TagServer Timeout Treiber-Funktion |
Standardwert: 100000 |
Gibt die Dauer in Millisekunden an, bis die synchrone Treiber-Funktion im TagServer in den Timeout läuft. |
TagServer Zykluszeit |
Standardwert: 50 |
Gibt die Zykluszeit in Millisekunden für synchrone Aufrufe im TagServer an. |
TagServer Timeout Treibercall |
Standardwert: 120000 |
Gibt die Dauer in Millisekunden an, bis ein Treiberaufruf im TagServer in den Timeout läuft. |
TagServer Zykluszeit Treibercall |
Standardwert: 100 |
Gibt die Zykluszeit in Millisekunden für die Ausführung von Treiberaufrufen an. |
TagServer Diagnoselevel |
0…5 Standardwert: 0 |
Stellt das <Diagnoselevel des TagServers auf den angegebenen Wert. |
Bei 0 wird kein Diagnoseprotokoll geführt. |
||
TagServer Diagnoseprotokoll |
Pfad mit Dateinamen |
|
Standardwert: „C:PROCON-WEBLogsTagServer.log“ |
Pfad und Name für die Diag nose-Protokoll-Datei. |
|
TagServer Treiberüberwachung |
Standardwert: 1 |
Gibt an, ob der Treiber überwacht werden soll. 0/1 heißt aktiviert. 2 heißt deaktiviert. |
Optimierten Prozessvariablen Export |
Standardwert: ja |
Wenn aktiv werden nur referenzierte, d.h. im Projekt benutzte Prozessvariablen exportiert. |
Fehlerhafte Schreibaufträge verwerfen |
Standardwert: nein |
Wenn aktiv, werden fehlerhafte Schreibaufträge vom Treiber zur Steuerung verworfen. Dies sorgt dafür, dass keine alten Aufträge übertragen werden z.B. wenn die Steuerung offline war oder gewechselt wurde |
Default Prozessvariable sind zur Laufzeit änderbar |
Standardwert: aktiv |
Schreibaufträge für Defaultvariablen werden verworfen |
Einheiten¶
Im Baum des PROCON-WEB-Designers gibt es unter „Prozessankopplung“ einen neuen Eintrag „Einheiten“. Hier können die Einheiten für numerische Prozessvariablen definiert werden. Einheiten teilen sich nun in eine „Basis“- und „Umrechnungs-Einheit“ auf. Wie bisher bekannt kann die „Basis-Einheit“ mit einem Namen, der Anzeigeeinheit und einer Beschreibung versehen werden. Eine „Basis-Einheit“ kann mehrere „Umrechnungs-Einheiten“ besitzen. Diese beinhalten die Anzeigeeinheit, eine Umrechnungsformel und eine Beschreibung

Hierdurch hat man die Möglichkeit länderspezifische Einheiten zu definieren, die auch bei der Sprachumschaltung berücksichtigt werden.
Important
Aktuell wird hierbei allerdings nur eine Sprachumschaltung durchgeführt und keine Einheiten-Umrechnung! Die Texte an sich sind nicht mehr mehrsprachig projektierbar!
Einheiten werden, wie fast jedes Element in PROCON-WEB in einem Grid definiert.

Im Bild zu sehen einen „Basis-Einheit“ (Masse_kg) und zwei „Umrechnungs-Einheiten“.
Anhand der Formel wird bei einer Einheitenumschaltung der Wert für die Anzeige berechnet. Dabei steht in der Formel das ’x‘ für den Basiswert. Es sind die Operationen ’+’,’-’,’/’,’*‘ erlaubt; des Weiteren können Klammern gesetzt werden. Sonstige Zeichen sind nicht erlaubt.

Über Rechtsklick „Neue Umrechnungseinheit“ können weitere Umrechnungseinheiten mit den jeweiligen Umrechnungsformeln sowie die Übersetzung der Einheit und eine Beschreibung erfasst werden.
Ein so genanntes Einheitenset enthält das „Mapping“ von „Umrechnungs-Einheit“ zu „Basis-Einheit“. Sprich mit welcher Formel der Wert später bei der Umschaltung berechnet und welche Einheit bei der Anzeige dargestellt wird. Bei den Mappings kann man immer nur einmal eine „Basis-Einheit“ mit einer „Umrechnungs-Einheit“ hinzufügen.
Beispielhaft hier ein Einheitenset „English“ mit den zwei „Basis-Einheiten“ (Strecke und Temperatur) mit ihren jeweiligen „Umrechnungs-Einheiten“ (i und K)

Im TagEditor kann die Einheit für numerische Prozessvariablen in der Spalte „Einheit“ ausgewählt werden. Diese kann man im Bild über ein Label-Control für die ausgewählte Variable anzeigen lassen. Die Einheitenumschaltung kann auf unterschiedliche Arten erfolgen.
Sprache Ein Einheitenset kann zu einer Sprache zugeordnet werden. Bei einem Sprachwechsel zur Laufzeit werden somit die Einheiten umgeschaltet / umgerechnet, die im Set definiert sind

Systemvariable Es gibt eine Systemvariable „__System_CurrentUnitSet“ über die man eine Einheitenumschaltung durchführen kann.
Auswahldialog Auf z.B. einen Button kann eine Funktion „Einheitenauswahl-Dialog öffnen“ gelegt werden. Zur Laufzeit wird nach betätigen des Buttons ein Auswahldialog der möglichen Einheitensets für die Umschaltung dargestellt.
Nachkommastellenverschiebung Es wurde eine neue Spalte mit der Bedeutung „Nachkommastellenverschiebung“ eingefügt. Es können Zahlenwerte zwischen -10 und 10 eingefügt werden. Der eingetragene Wert gibt an, um wie viele Nachkommastellen die umgerechnete Einheit verschoben werden soll. Dabei ist zu beachten, dass der eingegebene Wert nicht die neue Anzahl an Nachkommastellen ist, sondern den Standardwert verschiebt.

Enums¶
Allgemeines¶
Im Projektbaum im Bereich „Prozessankopplung“ gibt es einen Punkt „Enums“. In diesem können mehrsprachige Texte einer numerischen oder logischen Variablen zugeordnet werden. Diese werden im Logbucheintrag anstelle des Prozessvariablenwertes verwendet.
Definition der Enums¶
Einem Enum wird ein Name vergeben. Anschließend können Enumelement erzeugt werden. Diesen vergibt man einen Index und einen mehrsprachigen Text.

Important
Der Index des Enumelements muss eindeutig sein.
Erzeugte Enums können dann in der Prozessvariablenliste einer Variable zugeordnet werden. Hierzu wurde die neue Spalte „Enum“ hinzugefügt. In dieser öffnet sich über den Button ein Auswahldialog.

Important
Im Projekt gibt es einen Fehlertext, der verwendet wird, wenn der Wert der Prozessvariablen keinem Enum-Wert entspricht. Dieser Fehlertext ist in den Systemdialogen angelegt, und heißt „Ungültiger Enum-Wert“
Prozessvariablen¶
Allgemein¶
Im Prozessvariablen-Editor werden die Prozessvariablen angelegt, die im Projekt verwendet werden sollen. Eine Variable hat entweder eine Prozessankopplung über einen Kommunikationstreiber oder wird innerhalb des Visualisierungsprojektes als Hilfsgröße (Merker) verwendet.

Variablenzählung für Lizenzierung¶
Für die Lizenzierung von PROCON-WEB werden alle Prozessvariablen mit Treiberankopplung vom System gezählt. Davon ausgenommen sind alle Default-Prozessvariablen. Textvariablen mit Treiberankopplung zählen unabhängig von deren Länge als ein Datenpunkt. Bei numerischen und logischen Prozessvariablenfeldern zählt jeder Feldindex als ein Datenpunkt.
Arbeiten mit Prozessvariablen¶
Erstellen von Prozessvariablen¶
Im Prozessvariablen-Editor werden die Variablen über die Symbolleiste oder über das Kontextmenü der rechten Maustaste im Arbeitsbereich angelegt. Die Vorgehensweise zur Erstellung der Prozessvariablen ist für jeden Prozessvariablentyp analog. Außerdem können Prozessvariablen kopiert oder dupliziert werden. Beim Einfügen der Prozessvariablen wird der Name automatisch hochgezählt, um doppelte Benennungen zu vermeiden.
Über das Kontextmenü ist es auch möglich, eine gefilterte Variablenliste oder eine selektierte Auswahl an Variablen zu exportieren.

In der nachfolgenden Tabelle ist die Bedeutung der Spalten im Prozessvariableneditor aufgelistet.
Schlüssel |
Bedeutung |
---|---|
Name |
Name der Prozessvariablen |
Maximal 255 Zeichen, darf keine Leerzeichen oder Sonderzeichen enthalten; bei Namen länger als 32 Zeichen werden diese für den TagServer gekürzt. |
|
Der Name der Prozessvariablen muss eindeutig sein und nur darf einmalig definiert werden. |
|
Anlagenstruktur |
Name der zugewiesenen Anlagenstruktur |
Kommentar |
In der Kommentarspalte hat der Benutzer die Möglichkeit zu jeder Prozessvariablen einen Kommentar anzugeben. Es können max. 255 Zeichen vergeben werden. Der Kommentar dient als Hilfestellung bei der Projektierung und wird nur im Designer angezeigt. |
Anzeigename |
Hier kann ein Name angegeben werden, mit dem die Variable zur Laufzeit angezeigt werden soll (beispielsweise im Chartcontrol). Der Anzeigename hilft dem Laufzeit-Benutzer bei der Bedienung, da die projektierten Variablennamen für die Laufzeitbenutzer nicht unbedingt lesbar sind, bzw. nicht zugeordnet werden können. Dafür wird dann der Anzeigename verwendet. Es können max. 255 Zeichen vergeben werden |
Anzeigekommentar |
Hier kann ein Kommentar angegeben werden. Es können max. 255 Zeichen vergeben werden |
Global |
Legt fest, ob die Variable lokal oder global definiert ist. Global bedeutet, die Variable hat überall und in jedem Client den gleichen Wert. Lokale Definition bedeutet jeder Client hat hiervon seine eigene lokale Kopie. |
Eine Variable mit Treiber-Ankopplung ist grundsätzlich global definiert. |
|
[x] |
Die Feldgröße gibt an, wie viele Feldelemente mit gleicher Definition hinter der Prozessvariablen stehen. Bei einer Feldgröße von z.B. 10 erhält man 10 individuelle Werte, die jedoch alle die gleichen MinWerte, MaxWerte, Defaultwerte usw. haben. Angesprochen werden sie über den Feldindex der dem Variablennamen in eckigen Klammern angefügt wird, z.B. mit Temp[3] das vierte Feldelement. Das letzte Feldelement hat den Feldindex ‘Feldgröße - 1’. |
Will man eine Einzelvariable anlegen, so ist die Feldgröße auf ‘1’ festzusetzen Die Verwendung von Feldern ist z.B. für ASCII-Strings oder für Tabellen sinnvoll. |
|
Die maximale Feldgröße für Textvariablen beträgt 255 Zeichen, für numerische Variablen 9999 |
|
0.x |
Hier wird die Anzahl der Nachkommastellen bei numerischen Prozessvariablen angegeben. Maximal können 10 Stellen erfasst werden |
MinPC |
Gibt den kleinsten Wert an, der im Laufzeitsystem angezeigt wird. Maximal 16 Vorkomma- und 2 Nachkommastellen sind möglich. |
MaxPC |
Gibt den größten Wert an, der im Laufzeitsystem angezeigt wird. Maximal 16 Vorkomma- und 2 Nachkommastellen sind möglich. |
MinSPS |
Gibt den kleinsten Wert der Variablen auf der Steuerung an. Maximal 16 Vorkomma- und 2 Nachkommastellen sind möglich. |
MaxSPS |
Gibt den größten Wert der Variablen auf der Steuerung an. Maximal 16 Vorkomma- und 2 Nachkommastellen sind möglich. |
Important
Weitere Informationen zu den Parametern Min-/MaxSPS und Min-/MaxPC und zur Normierung siehe Kapitel Tag-Wertebereiche. Wenn keine Normierung notwendig ist, brauchen nur MinPC und MaxPC definiert zu werden. Diese Angaben werden dann gleichlautend für MinSPS und MaxSPS eingesetzt.
Schlüssel |
Bedeutung |
---|---|
Standard |
Gibt den Wert an, auf den die Prozessvariable bei Systeminitialisierung gesetzt wird |
Einheit |
Referenz auf eine Einheit (optional). Nur auswählbar für numerische Variablen. |
BaseTag |
Da in einer Client/Server-Anwendung die indirekte Adressierung für mehrere Clients vom globalen TagServer verwaltet wird und damit jedem Clients eigene Steuervariablensätze und eigene indirekt adressierte Prozessvariablen zur Verfügung stehen, müssen diese in der Prozessvariablenliste als BaseTag gekennzeichnet werden. Somit legt der globale TagServer Klone der Steuervariablensätze und der indirekt adressierten Prozessvariablen für jeden konfigurierten Client an. |
Num. Feld |
Numerisches Feld, in dem jeder Buchstabe einer Textvariablen als ASCII-Wert in jeweils einem Element gespeichert ist. |
Extern |
Falls PROCON-WEB bzw. der TagServer als OPC-UA-Server dienen soll, wird hier die Zugriffmöglichkeit von extern definiert. |
Treiber |
Gibt den Treiber an, mit dem die Kommunikation zum Steuerungssystem realisiert ist. |
I/O |
Gibt die Art der Prozessvariablen an. Mögliche Eingaben sind: |
BiDir: Schreib und Lesegröße (Vorzugsdefinition für Sollwerte) |
|
Eingang: Lesegröße (Istwerte) |
|
Ausgang: Schreibgröße (Sollwerte, die nicht zurückgelesen werden können) |
|
Treiberspezifische Spalten |
Die nachfolgenden Spalten verlangen treiberspezifische Angaben, die notwendig sind, um die Prozessvariable an die Steuerung zu übertragen (z.B. Datenbaustein-Nr., Nr. des Datenwortes, Darstellungsformat). Diese Angaben sind vom jeweiligen Treiber abhängig, und daher im entsprechenden Treiberhandbuch beschrieben. |
Markieren nicht verwendeter Prozessvariablen¶
Mit der Option „Prozessvariable ohne Referenz markieren“ kann der Benutzer sich alle nicht referenzierten Prozessvariablen anzeigen lassen.

Durch das Löschen aller selektierten Variablen, oder durch Auswahl bestimmter Prozessvariablen kann der Benutzer Projektoptimierungen durchführen.
Important
Es werden auch die durch die Oberfläche herausgefilterten Variablen selektiert und ebenfalls gelöscht.
Important
Damit die Projektdatenbank nach dieser Optimierung kleiner wird muss zudem noch „Datei->Datenbankreorganisieren“ ausgeführt werden!
Tag-Wertebereiche¶
Für jede Prozessvariable in PROCON-WEB müssen zwei Wertebereiche definiert werden. Diese sind zum einen für die Anzeige bzw. Verwendung der Prozessvariablen in der Oberfläche wichtig, zum anderen für die Kommunikation mit der SPS. Aufgrund unterschiedlicher Werte von Min/MaxPC und Min/MaxSPS lässt sich zudem eine Normierung abbilden.
Möglichkeiten der Definiton¶
Definition über Min/MaxPC und Min/MaxSPS Der Wertebereich einer Prozessvariablen lässt sich im PROCON-WEB Prozessvariableneditor festlegen. Die Spalten Min/MaxPC und Min/MaxSPS haben dabei folgende Bedeutung:
MinSPS |
Gibt den kleinsten gültigen Wert der Variablen auf der Steuerung an. |
---|---|
MaxSPS |
Gibt den größten gültigen Wert der Variablen auf der Steuerung an. |
MinPC |
Gibt den kleinsten gültigen Wert an, der im Laufzeitsystem angezeigt wird. |
MaxPC |
Gibt den größten gültigen Wert an, der im Laufzeitsystem angezeigt wird. |

Durch eine entsprechende Definition der Parameter lässt sich eine Normierung projektieren.
Falls keine Normierung gewünscht wird, so lassen sich zur besseren Übersichtlichkeit die Spalten „MinSPS“ und „MaxSPS“ auch ausblenden. Sind die Werte in den Spalten „MinPC“ und „MinSPS“ sowie „MaxPC“ und „MaxSPS“ gleich, so wird durch eine Änderung der Spalte „MinPC“ auch die Spalte „MinSPS“ geändert, ebenso wird bei einer Änderung der Spalte „MaxPC“ auch die Spalte „MaxSPS“ geändert.
Festlegung durch den SPS-Import Über den SPS-Import lassen sich Variablendefinitionen direkt von der SPS bzw. dem SPS-Programm in PROCON-WEB importieren. Bei einigen der zur Verfügung stehenden Imports werden hier auch die Wertebereiche korrekt importiert. Dies ist leider aus technischen Gründen nicht bei allen Treibern möglich. Abhilfe schafft hier zum einen die Definition einer weiteren Tag-Klasse als Basis für den Import.

Falls beim SPS-Import weder die erste noch die zweite angesprochene Möglichkeit zur Festlegung des Wertebereichs zum Erfolg führt, lassen sich die Werte auch noch per Mehrfachänderung anpassen.

Eingabelimit eines Zahlenfeldes An einem Zahlenfeld, das zur Änderung einer Prozessvariablen dient, lässt sich ein Eingabelimit festlegen.

Definition Zahlenfeld Hierbei stehen folgende Möglichkeiten zur Verfügung:
Kein Eingabelimit: ei 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.
Anwendungen der Wertebereiche¶
Allgemein Viele der Dynamisierungen in PROCON-WEB lassen sich als „Numerischer Bereich“ definieren. Diese Dynamisierungen sind z.B. Farbwechsel oder Symbolwechsel. Hierzu ist es für die Laufzeit äußerst wichtig den Wertebereich der Variable zu kennen um den Wechsel bzw. Farbumschlag entsprechend ausführen zu können.
Symbolwechsel Der Symbolwechsel dient dazu, Symbole anhand des Wertes einer Prozessvariablen dynamisch austauschen zu können. Bei der Dynamisierung des Symbols als „Bereich, Numerisch“ wird die Symbolumschaltung über einen Bereich aus der Symbolliste durchgeführt. Der Wertebereich der numerischen Prozessvariablen wird im Laufzeitsystem linear auf die Symbolliste abgebildet.
Farbwechsel Der Farbwechsel dient dazu, die Farbe von z.B. Symbolen oder Zahlenfelder anhand des Wertes einer Prozessvariablen dynamisch ändern zu können. Bei der Dynamisierung des Objekts als „Numerischer Bereich“ 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.
Balkenanzeige Die Balkenanzeige dient zur grafischen Anzeige von Prozesswerten. Dabei bedeutet – je nach Projektierung des Balkens – der Min-Wert bzw. der Max-Wert ein Vollausschlag des Balkens. Die Größe des Balkens für Werte dazwischen wird Anhand des Wertebereiches der Prozessvariablen berechnet.
Bereichsunter-/überschreitung In der Prozessvariablendefinition wird ein Wertebereich der Prozessvariablen angegeben. Wird dieser Wert unterschritten (Variablenwert kleiner Min-Wert) oder überschritten (Variablenwert größer Max-Wert), so wird dies in der Anzeige der Variable in der Oberfläche entsprechend gekennzeichnet.
Da diese Unter- bzw. Überschreitung des Wertebereiches normalerweise nicht vorkommen sollte, kann man hierdurch Rückschlüsse auf Fehler in der Anlage schließen, z.B. einen defekten Fühler.
Normierung in der Laufzeit¶
Lesender Zugriff Beim lesenden Zugriff erfolgt die Normierung über folgende Formel: Range = HighPC - LowPC; Limit = HighSPS - LowSPS; Result = LowPC + Range / Limit * (Incomming - LowSPS);
Schreibender Zugriff Beim schreibenden Zugriff erfolgt die Normierung über folgende Formel: Range = HighPC - LowPC; Limit = HighSPS - LowSPS; Result = LowSPS + Limit / Range * (Outgoing - LowPC);
Tag-Properties¶
Mit Hilfe dieser Tag-Properties können z.B. weitere Eigenschaften der Prozessvariablen zur Laufzeit festgelegt bzw. verändert werden. Standardmäßig hat jeder Tag, egal ob logisch, numerisch oder String, folgende neue Properties bekommen:
Num. 1 (numerisch)
Num. 2 (numerisch)
Num. 3 (numerisch)
Num. 4 (numerisch)
Bool 1 (logisch)
Bool 2 (logisch)
String 1 (String)
String 2 (String)
Der Name der neuen Properties und teilweise auch deren Parameter lassen sich per Kontextmenü bzw. Dialog ändern, wobei dies nicht nur für einen Tag, sondern für die komplette Spalte gilt:

Es öffnet sich ein Dialog in dem die Parameter geändert werden können:

Tag-Properties bearbeiten Neben der Verwendung in Bildelementen wie normale Prozessvariablen können die Tag-Properties über neue Treiber (DotNet) gelesen und beschrieben werden, bzw. über Skript-Befehle.
Tag Properties auslesen¶
Wird ein Tag Property bei einer Variablen hinzugefügt, so kann es in einem Control in der Laufzeit ausgelesen werden. Hierzu muss nach Selektion der Variable im Auswahlfenster der Reiter „Properties“ angeklickt und dann oben rechts das jeweilige Tag Property ausgewählt werden, dass angezeigt werden soll. Dieses wird dann in Verbindung mit dem Namen der Variablen im Control angezeigt.


In der Laufzeit wird dann ebenfalls der im Tag Property hinterlegte Wert ausgegeben.
Export und Import von Prozessvariablen¶
Neben der Bearbeitung der Prozessvariablen im Designer steht dem Benutzer der Variablenim- bzw. Variablenexport in eine Excel-Tabelle zur Verfügung. Das exportierte Dateiformat ist eine XML-Datei, die bereits aus dem Designer heraus aufgerufen werden kann.
Important
Wenn ein durch den Export erzeugtes XML-File mit Excel bearbeitet wird, ist darauf zu achten, dass wenn ich in einer Zelle den Wert löschen will, diesen unbedingt mit einem „ ‘ „ ersetzen muss. Sonst kommt es dazu das die komplette Variable gelöscht wird.

Beim Import von Prozessvariablen können in einem Dialog neben XML (PROCON-WIN 5.7 oder PROCON-WEB 6) auch CSV-Dateien aus älteren Versionen (nur aus der PROCON-WIN 3.10 bzw. PROCON-WIN 4.10 möglich!) ausgewählt werden.


Über „Durchsuchen“ kann im Dateiverzeichnis die zu importierende Datei gesucht und ausgewählt werden.
Es besteht die Möglichkeit, die importierten Variablen mit einem Präfix zu versehen, um beispielsweise die Herkunft dieser im Variablennamen zu hinterlegen. Eine fehlerhafte Eingabe im Feld „Präfix“ führt dazu, dass der OK-Button deaktiviert wird und eine Meldung mit dem Hinweis auf die fehlerhafte Eingabe erscheint.
Wird eine CSV-Datei importiert, so muss noch hinterlegt werden, ob die zu importierenden Variablen numerisch, logisch oder Strings sind. Für jede Art ist hier eine eigene CSV-Datei zu importieren! Folgende Informationen werden beim CSV-Import nicht berücksichtigt:
Strukturzuweisungen
Berechtigungen
PC-Name
VDMAXML_P
Einheit
Important
Einheit werden keine während des Importvorganges erzeugt. Ist eine Einheit im Projekt nicht vorhanden, so wird keine Einheit zugewiesen, allerdings nach dem Import eine Information ausgegeben, bei welcher Variable die Einheit nicht importiert werden konnte und wie deren Bezeichnung lautet. Sollen Variablen mit neuen Strukturen importiert werden, so ist dies nur mit einer Strukturebene möglich. Neue Strukturen mit Unterstrukturen werden beim Variablenimport nicht angelegt und die Variablen auch nicht importiert. Hierzu müssen zuerst die Stukturen in PROCON-WEB vorhanden sein
Externe Kopplung (Treiber)¶
Treiberankopplung (SPS)¶
Um eine Kopplung mit einer SPS konfigurieren bzw. herstellen zu können, muss zunächst im Designer der entsprechende Treiber ausgewählt werden. Zur Kopplung der gängigsten Systeme ist in PROCON-WEB eine Reihe von Treibern integriert.
Aufgerufen wird die Treiber-Auswahl im Prozessvariablen-Editor über den Eintrag im Ribbon-Menü oder über die Treiber-Spalte im Tag-Grid.

Durch Auswählen des Treibers durch die Checkbox kann der Treiber nach dem Bestätigen mit „OK“ im Projekt verwendet werden.
Important
In einem Projekt können je nach Lizenz bis zu acht unterschiedliche Treiber verwendet werden.
Damit die Ankopplung funktioniert müssen die Treiber teilweise noch weiter konfiguriert werden. Dies geschieht bei älteren Treibern durch eine treibereigene ini-Datei. Diese ini-Datei lässt sich ebenfalls über den Treiber-Auswahldialog bearbeiten:

Bei IP-basierten Treibern ist die z.B. die Adresse der Steuerung ggf. anzupassen. Weitere Informationen hierzu entnehmen Sie bitte aus dem Handbuch des entsprechenden Treibers.
Bei einigen Treibern besteht zudem die Möglichkeit, die auf der Steuerung verwendeten Variablendefinition direkt in PROCON-WEB zu übernehmen.
Bei neueren Treibern wird die Konfiguration durch ein neues Treiber-Interface besser unterstützt.
SPS-Import¶
Der SPS-Import dient dazu, die auf der Steuerung verwendeten Variablendefinition direkt in PROCON-WEB zu übernehmen. Eventuelle Fehldefinitionen oder Fehlkonfigurationen der Variablen können dadurch verhindert werden. Der SPS-Import steht nur bei den am häufigsten verwendeten Treibern zur Verfügung.
Über das Ribbon-Tool SPS-Import in den Tag-Tools wird der SPS-Import-Tab geöffnet.
Important
Der treiberabhängige Variablenimport ist nur möglich, wenn der entsprechende Treiber in der Treiberauswahl aktiviert ist.
Die Vorgehensweise beim treiberabhängigen Variablenimport wird hier beispielhaft für S5/S7-Combi RFC1006 beschrieben. Import von Variablen anderer SPS-Typen sind dem entsprechenden Treiberhandbuch zu entnehmen.
Das S7-Projekt, aus dem die Variablen importiert werden sollen, wird im Fenster „Importeinstellungen“ über die Schaltfläche „Hinzufügen“ ausgewählt.

Im folgenden Dialog wird das entsprechende S7-Projekt ausgewählt.

Nach dem Öffnen des S7-Projektes können die zu importierenden Merker, Eingänge, Ausgänge und DB´s ausgewählt werden. Unter der Spalte AG kann das AG bereits vordefiniert werden. Über „Symbole einlesen“ werden die ausgewählten Variablen aus dem Projekt in PROCON-WEB eingelesen.

Im rechten Bereich der Importeinstellungen können die zum ausgewählten Treiber angelegten Verbindungen eingesehen, verändert und gelöscht werden. Links neben den Quellen werden die Strukturen der eingelesenen Variablen angezeigt. Hierbei werden im nur SPS-Projekt vorhandene Strukturen in grün hinterlegt, Strukturen die sowohl in der Visu wie auch im SPS Projekt vorhanden sind grau wenn sie identisch sind, wenn sie unterschiedlich sind aber in beiden vorhanden, werden sie ohne Hintergrundfarbe angezeigt.
Die eingelesenen Variablen werden im Arbeitsbereich angezeigt. Über die Spalte „Aktion“ oder das Kontextmenü der rechten Maustaste wird ausgewählt, ob die Variable importiert werden soll.
Important
Einheit werden keine während des Importvorganges erzeugt. Ist eine Einheit im Projekt nicht vorhanden, so wird keine Einheit zugewiesen, allerdings nach dem Import eine Information ausgegeben, bei welcher Variable die Einheit nicht importiert werden konnte und wie deren Bezeichnung lautet.
Die verfügbaren Importoptionen und deren Bedeutung sind in der nachfolgenden Tabelle dargestellt.
Option |
Bedeutung |
---|---|
Num. Klasse, Log. Klasse, Text Klasse |
Auswahl der entsprechenden Variablenklassen für Import |
Klassen verwalten |
Erstellen und Bearbeiten von Variablenklassen |
Min/Max von SPS übernehmen |
Übernimmt die Min/Max-Werte von der Variable der SPS |
Nachkommastellen von SPS übernehmen |
Übernimmt die Nachkommastellen von der Variable der SPS |
Kommentar von SPS übernehmen |
Übernimmt die Kommentare der Variablen von der SPS |
Bausteinnamen abschneiden |
Mit dieser Option werden nur die Variablennamen in den DB’s angezeigt |
Identische anzeigen |
Zeigt die Variablen an, die im SPS- und PROCON-WEB Projekt identisch sind |
Nicht Identische anzeigen |
Zeigt die Variablen an, die im SPS- und PROCON-WEB Projekt unterschiedlich sind |
Neue Anzeigen |
Zeigt alle neuen Variablen an (noch nicht importierte) |
Gelöschte anzeigen |
Zeigt alle zuvor importierten Variablen an, die im PROCON-WEB Projekt gelöscht wurden |
Vorhandene Prozessvariablen automatisch den SPS-Symbolen zuordnen |
Wurden bereits Variablen projektiert, die eine identische Adressierung zu den SPS-Symbolen haben, werden diese hiermit automatisch zugeordnet |
SPS-Struktur-Import Bei Treibern wie z.B. 3S Arti, 3S PLC-Handler oder Beckhoff Symbol besteht die Möglichkeit, Strukturen, die im Steuerungsprogramm definiert sind, zu importieren und den entsprechend zugehörigen Variablen zu zuordnen. Dazu muss zuvor der Treiber in der Treiberauswahl ausgewählt werden.

Im Hauptfenster des SPS-Imports sind die im SPS-Projekt vorhandenen Strukturen angezeigt, nachdem die Symbole mit der Option „Strukturen anzeigen“ eingelesen wurden. Über die Checkboxen werden die benötigten Strukturen ausgewählt. Werden nicht alle Unterelemente benötigt, so kann die Struktur auch nur teilweise importiert werden. Nach der Strukturelement-Auswahl können die Strukturen mit „Strukturen importieren“ eingelesen werden.
Important
Der SPS-Struktur-Import kann je nach Verschachtelung einige Minuten dauern.

Die verschiedenen Farbvarianten haben hierbei folgende Bedeutung:
Grün: Strukturen oder deren Parameter sind noch nicht im Projekt importiert worden
Hellgrau: Strukturen oder deren Parameter sind bereits im Projekt importiert worden
Dunkelgrau: Strukturen oder deren Parameter sind bereits im Projekt importiert worden, jedoch mit Unterschieden z.B. in der Anzahl der Strukturelemente, oder Veränderungen bei den Unterstrukturen Nach dem Import der Strukturen steht die Option „Strukturen zu Variablen zuweisen“ zur Verfügung. Mit dieser Option erstellt das System beim Variablenimport die entsprechenden Instanzen der Struktur und weist diese den Variablen zu.
Important
Eine automatische Zuweisung der Variablen zu den Strukturen kann nur dann erfolgen, wenn erst die Strukturen importiert wurden. Werden die Variablen vor den Strukturen importiert, so muss die Zuordnung manuell erfolgen.
SPS-Import aktualisieren¶
Sind bereits Variablen in PROCON-WEB importiert oder erstellt worden und das zugehörige SPS-Programm wurde geändert, können durch einen weiteren Import die Variablen aktualisiert werden. Hierbei erkennt der Import ob die aus dem SPS-Programm zu importierenden Variablen bereits vorhanden sind oder nicht.

Je nachdem ob die Variable bereits vorhanden ist oder nicht, bietet der Import verschiedene Optionen wie man mit diesen Variablen verfahren kann.

Hierdurch ist es auch möglich Änderungen an Variablen die im SPS-Programm vorgenommen wurden ebenfalls in PROCON-WEB nach zu ziehen, z.B. Änderungen von Adressen etc.
Treiber-Interface¶
PROCON-WEB stellt für einige neuere Treiber ein Interface zur Verfügung. Dieses Interface soll eine engere Kopplung zwischen Designer und Treiber sowie eine Abkehr von der „Treiber.ini“ ermöglichen. Über den Treiber-Dialog lassen sich Verbindungen für die neuen Treiber anlegen und parametrieren.

Anlegen von Verbindungen¶
Falls der Treiber Verbindungen unterstützt, so lässt sich über den Treiber-Dialog bzw. über das Tag-Grid der Dialog zur Definition von Verbindungen öffnen. Neue Verbindungen werden entweder über das Kontextmenü oder über den Button „Neu“ angelegt.

Treiberspezifische Parameter¶
Für die Treiber basierend auf dem neuen Treiber-Interface kann es treiberspezifische Parameter geben, die für alle Verbindungen des Treibers gelten. Auch diese Parameter werden über einen Dialog bearbeitet.

Systemvariablen¶
Allgemeines Systemvariablen¶
Mit PROCON-WEB wurden Systemvariablen eingeführt. Diese Systemvariablen erlauben den Zugriff auf System-Informationen, die man früher entweder gar nicht oder nur über Skripte erhalten hat.
Einige Systemvariablen sind global definiert, d.h. sie haben überall und in jedem Client den gleichen Wert. Einige Systemvariablen sind lokal gültig, d.h. jeder Client hat hiervon seinen eigenen Variablenhaushalt.
Die Liste der Systemvariablen wird ständig ergänzt und kann daher jederzeit neue Möglichkeiten aufweisen. Systemvariable werden serverspezifisch bereitgestellt. In der folgenden Listen sind die Variablen die auch im Embedded System unterstützt werden mit einem „*“ gekennzeichnet.
Lokale Systemvariablen¶
Folgende Liste gibt einen kurzen Überblick über lokale Systemvariablen
Name |
Anzeigename |
Bedeutung |
---|---|---|
__Alert_LastClientAText* |
$Alert.LastClientAText |
Letzter Alarm-Text in der Clientsprache |
__Alert_LastClientIText* |
$Alert.LastClientIText |
Letzter Info-Text in der Clientsprache |
__Alert_LastClientLText* |
$Alert.LastClientLText |
Text zuletzt ausgelöst vom Typ „Logging“ in der Clientsprache |
__Alert_LastClientMText* |
$Alert.LastClientMText |
Letzter Meldungstext in der Clientsprache |
__Alert_LastClientSText* |
$Alert.LastClientSText |
Text zuletzt ausgelöst vom Typ „Status“ in der Clientsprache |
__Alert_LastClientText* |
$Alert.LastClientText |
Letzter Text aller anstehenden Alarme in der Clientsprache |
__Alert_LastClientTText* |
$Alert.LastClientTText |
Text zuletzt ausgelöst vom Typ „Times“ in der Clientsprache |
__Alert_LastClientVText* |
$Alert.LastClientVText |
Text zuletzt ausgelöst vom Typ „Verfügbarkeit“ in der Clientsprache |
__Alert_LastClientWText* |
$Alert.LastClientWText |
Letzter Warnungstext in der Clientsprache |
__Alert_LastClientZText* |
$Alert.LastClientZText |
Text zuletzt ausgelöst vom Typ „Maschinenzeiten“ in der Clientsprache |
__Client_Name |
$Client.Name |
Anzeige des Client-Namens |
__CurrentLanguage* |
$CurrentLanguage |
Anzeige der aktuell eingestellten Sprache |
__CurrentUser_FullName* |
$CurrentUser.FullName |
Vollständiger Name des aktuellen Benutzers |
__CurrentUser_InactiveSeconds |
$CurrentUser.InactiveSeconds |
Zeit in Sekunden seit der letzten Bedienaktion des aktuell angemeldeten Benutzers |
__CurrentUser_IsOnline* |
$CurrentUser.IsOnline |
Zeigt an, ob ein User online ist |
__CurrentUser_LastLogin* |
$CurrentUser.LastLogin |
Letzte Anmeldung des aktuellen Benutzers in Sekunden seit 1.1.1970 |
__Navigation_CurrentView |
$Navigation.CurrentView |
Nummer der aktuell angezeigten Sicht der Navigation |
__Navigation_ElementActive |
$Navigation.ElementActive |
Zeigt an, ob ein Navigationselement gerade aktiv (selektiert) ist |
__Navigation_ElementActivePost |
$Navigation.ElementActivePost |
Zeigt an, ob ein nachfolgendes Navigations-element gerade aktiv (selektiert) ist |
__Navigation_ElementActivePre |
$Navigation.ElementActivePre |
Zeigt an, ob ein vorheriges Navigations-element gerade aktiv (selektiert) ist |
__Navigation_ElementDisabled |
$Navigation.ElementDisabled |
Zeigt an, ob ein Navigationselement gerade gesperrt ist |
__System_MessageBoxDisable |
$System.MessageBoxDisable |
Messagebox aktiv oder nicht |
__System_UTCProjectExportDate |
$System.UTCProjectExportDate |
Der Zeitpunkt, wann das Projekt exportiert wurde als Zeitstempel in Millisekunden |
Globale Systemvariablen¶
Folgende Liste gibt einen kurzen Überblick über globale Systemvariablen
Name |
Anzeigename |
Bedeutung |
---|---|---|
__Alert_Ack* |
$Alert.Ack |
Globale Quittierungsvariable 1 = neueste Meldung, 2 = alle Meldungen |
__Alert_AckA* |
$Alert.AckA |
Quittierungsvariable für Alarme |
__Alert_AckL* |
$Alert.AckL |
Quittierungsvariable für Meldungen vom Typ „Logging“ |
__Alert_AckM* |
$Alert.AckM |
Quittierungsvariable für Meldungen |
__Alert_AckI* |
$Alert.AckI |
Quittierungsvariable für Meldungen vom Typ „Info“ |
__Alert_AckS* |
$Alert.AckS |
Quittierungsvariable für Meldungen vom Typ „Status“ |
__Alert_AckT* |
$Alert.AckT |
Quittierungsvariable für Meldungen vom Typ „Times“ |
__Alert_AckV* |
$Alert.AckV |
Quittierungsvariable für Meldungen vom Typ „Verfügbarkeit“ |
__Alert_AckW* |
$Alert.AckW |
Quittierungsvariable für Warnungen |
__Alert_AckZ* |
$Alert.AckZ |
Quittierungsvariable für Meldungen vom Typ „Maschinenzeiten“ |
__Alert_Count* |
$Alert.Count |
Anzahl aller anstehender Meldungstypen |
__Alert_CountA* |
$Alert.CountA |
Anzahl anstehender Alarme |
__Alert_CountI* |
$Alert.CountI |
Anzahl anstehender Meldungen vom Typ „Info“ |
__Alert_CountL* |
$Alert.CountL |
Anzahl anstehender Meldungen vom Typ „Logging“ |
__Alert_CountM* |
$Alert.CountM |
Anzahl anstehender Meldungen |
__Alert_CountS* |
$Alert.CountS |
Anzahl anstehender Meldungen vom Typ „Status |
__Alert_CountT* |
$Alert.CountT |
Anzahl anstehender Meldungen vom Typ „Times |
__Alert_CountV* |
$Alert.CountV |
Anzahl anstehender Meldungen vom Typ „Verfügbarkeit“ |
__Alert_CountW* |
$Alert.CountW |
Anzahl anstehender Warnungen |
__Alert_CountZ* |
$Alert.CountZ |
Anzahl anstehender Meldungen vom Typ „Maschinenzeiten“ |
__Alert_Language |
$Alert.Language |
Sprachvorgabe für globale Meldungstypen |
__Alert_LastANr* |
$Alert.LastANr |
Letzte Alarm-Nummer |
__Alert_LastAText* |
$Alert.LastAText |
Letzter Alarm-Text |
__Alert_LastATime* |
$Alert.LastATime |
Auslösezeit letzter Alarm |
__Alert_LastINr* |
$Alert.LastINr |
Letzte Meldungsnummer vom Typ „Info“ |
__Alert_LastIText* |
$Alert.LastIText |
Letzter Info-Text |
__Alert_LastITime* |
$Alert.LastITime |
Auslösezeit letzte Meldung vom Typ „Info“ |
__Alert_LastLNr* |
$Alert.LastLNr |
Nummer zuletzt ausgelöst Typ „Logging“ |
__Alert_LastLText* |
$Alert.LastLText |
Text zuletzt ausgelöst Typ „Logging“ |
__Alert_LastLTime* |
$Alert.LastLTime |
Auslösezeit zuletzt ausgelöst Typ „Logging |
__Alert_LastMNr* |
$Alert.LastMNr |
Letzte Meldungs-Nummer |
__Alert_LastMText* |
$Alert.LastMText |
Letzter Meldungs -Text |
__Alert_LastMTime* |
$Alert.LastMTime |
Auslösezeit letzte Melgung |
__Alert_LastNr* |
$Alert.LastNr |
Letzte Nummer aller anstehenden Alarme |
__Alert_LastSNr* |
$Alert.LastSNr |
Nummer zuletzt ausgelöst Typ „Status“ |
__Alert_LastSText* |
$Alert.LastSText |
Text zuletzt ausgelöst Typ „Status“ |
__Alert_LastSTime* |
$Alert.LastSTime |
Auslösezeit zuletzt ausgelöst Typ „Status“ |
__Alert_LastText* |
$Alert.LastText |
Letzter Text aller anstehenden Alarme |
__Alert_LastTime* |
$Alert.LastTime |
Auslösezeit letzter Alarm- |
__Alert_LastTNr* |
$Alert.LastTNr |
Nummer zuletzt ausgelöst Typ „Times“ |
__Alert_LastTText* |
$Alert.LastTText |
Text zuletzt ausgelöst Typ „Times“ |
__Alert_LastTTime* |
$Alert.LastTTime |
Auslösezeit zuletzt ausgelöst Typ „Times“ |
__Alert_LastVNr* |
$Alert.LastVNr |
Nummer zuletzt ausgelöst Typ „Verfügbarkeit“ |
__Alert_LastVText* |
$Alert.LastVText |
Text zuletzt ausgelöst Typ „Verfügbarkeit“ |
__Alert_LastVTime* |
$Alert.LastVTime |
Auslösezeit zuletzt ausgelöst Typ „Verfügbarkeit“ |
__Alert_LastWNr* |
$Alert.LastWNr |
Letzte Warnungs-Nummer |
__Alert_LastWText* |
$Alert.LastWText |
Letzter Warnungs -Text |
__Alert_LastWTime* |
$Alert.LastWTime |
Auslösezeit letzte Warnung |
__Alert_LastZNr* |
$Alert.LastZNr |
Nummer zuletzt ausgelöst Typ „Maschinenzeiten“ |
__Alert_LastZText* |
$Alert.LastZText |
Text zuletzt ausgelöst Typ „Maschinenzeiten“ |
__Alert_LastZTime* |
$Alert.LastZTime |
Auslösezeit zuletzt ausgelöst Typ „Maschinenzeiten“ |
__Alert_LastExt1* |
$Alert.LastExt1 |
Externe Info 1 des zuletzt ausgelösten globalen Typs |
__Alert_LastAExt1* |
$Alert.LastAExt1 |
Externe Info 1 des zuletzt ausgelösten Alarms |
__Alert_LastIExt1* |
$Alert.LastIExt1 |
Externe Info 1 des zuletzt ausgelösten Typs „Info“ |
__Alert_LastLExt1* |
$Alert.LastLExt1 |
Externe Info 1 des zuletzt ausgelösten Typs „Logging“ |
__Alert_LastMExt1* |
$Alert.LastMExt1 |
Externe Info 1 der zuletzt ausgelösten Meldung |
__Alert_LastSExt1* |
$Alert.LastSExt1 |
Externe Info 1 des zuletzt ausgelösten Status |
__Alert_LastTExt1* |
$Alert.LastTExt1 |
Externe Info 1 des zuletzt ausgelösten Typs „Times“ |
__Alert_LastVExt1* |
$Alert.LastVExt1 |
Externe Info 1 des zuletzt ausgelösten Typs „Verfügbarkeit“ |
__Alert_LastWExt1* |
$Alert.LastWExt1 |
Externe Info 1 des zuletzt ausgelösten Typs „Warnung“ |
__Alert_LastZExt1* |
$Alert.LastZExt1 |
Externe Info 1 des zuletzt ausgelösten Typs „Maschinenzeiten“ |
__Alert_LastExt2* |
$Alert.LastExt2 |
Externe Info 2 des zuletzt ausgelösten globalen Typs |
__Alert_LastAExt2* |
$Alert.LastAExt2 |
Externe Info 2 des zuletzt ausgelösten Alarms |
__Alert_LastIExt2* |
$Alert.LastIExt2 |
Externe Info 2 des zuletzt ausgelösten Typs „Info“ |
__Alert_LastLExt2* |
$Alert.LastLExt2 |
Externe Info 2 des zuletzt ausgelösten Typs „Logging“ |
__Alert_LastMExt2* |
$Alert.LastMExt2 |
Externe Info 2 der zuletzt ausgelösten Meldung |
__Alert_LastSExt2* |
$Alert.LastSExt2 |
Externe Info 2 des zuletzt ausgelösten Status |
__Alert_LastTExt2* |
$Alert.LastTExt2 |
Externe Info 2 des zuletzt ausgelösten Typs „Times“ |
__Alert_LastVExt2* |
$Alert.LastVExt2 |
Externe Info 2 des zuletzt ausgelösten Typs „Verfügbarkeit“ |
__Alert_LastWExt2* |
$Alert.LastWExt2 |
Externe Info 2 des zuletzt ausgelösten Typs „Warnung“ |
__Alert_LastZExt2* |
$Alert.LastZExt2 |
Externe Info 2 des zuletzt ausgelösten Typs „Maschinenzeiten“ |
__Alert_LastExt3* |
$Alert.LastExt3 |
Externe Info 3 des zuletzt ausgelösten globalen Typs |
__Alert_LastAExt3* |
$Alert.LastAExt3 |
Externe Info 3 des zuletzt ausgelösten Alarms |
__Alert_LastIExt3* |
$Alert.LastIExt3 |
Externe Info 3 des zuletzt ausgelösten Typs „Info“ |
__Alert_LastLExt3* |
$Alert.LastLExt3 |
Externe Info 3 des zuletzt ausgelösten Typs „Logging“ |
__Alert_LastMExt3* |
$Alert.LastMExt3 |
Externe Info 3 der zuletzt ausgelösten Meldung |
__Alert_LastSExt3* |
$Alert.LastSExt3 |
Externe Info 3 des zuletzt ausgelösten Status |
__Alert_LastTExt3* |
$Alert.LastTExt3 |
Externe Info 3 des zuletzt ausgelösten Typs „Times“ |
__Alert_LastVExt3* |
$Alert.LastVExt3 |
Externe Info 3 des zuletzt ausgelösten Typs „Verfügbarkeit“ |
__Alert_LastWExt3* |
$Alert.LastWExt3 |
Externe Info 3 des zuletzt ausgelösten Typs „Warnung“ |
__Alert_LastZExt3* |
$Alert.LastZExt3 |
Externe Info 3 des zuletzt ausgelösten Typs „Maschinenzeiten“ |
__Alert_LastExt4* |
$Alert.LastExt4 |
Externe Info 4 des zuletzt ausgelösten globalen Typs |
__Alert_LastAExt4* |
$Alert.LastAExt4 |
Externe Info 4 des zuletzt ausgelösten Alarms |
__Alert_LastIExt4* |
$Alert.LastIExt4 |
Externe Info 4 des zuletzt ausgelösten Typs „Info“ |
__Alert_LastLExt4* |
$Alert.LastLExt4 |
Externe Info 4 des zuletzt ausgelösten Typs „Logging“ |
__Alert_LastMExt4* |
$Alert.LastMExt4 |
Externe Info 4 der zuletzt ausgelösten Meldung |
__Alert_LastSExt4* |
$Alert.LastSExt4 |
Externe Info 4 des zuletzt ausgelösten Status |
__Alert_LastTExt4* |
$Alert.LastTExt4 |
Externe Info 4 des zuletzt ausgelösten Typs „Times“ |
__Alert_LastVExt4* |
$Alert.LastVExt4 |
Externe Info 4 des zuletzt ausgelösten Typs „Verfügbarkeit“ |
__Alert_LastWExt4* |
$Alert.LastWExt4 |
Externe Info 4 des zuletzt ausgelösten Typs „Warnung“ |
__Alert_LastZExt4* |
$Alert.LastZExt4 |
Externe Info 4 des zuletzt ausgelösten Typs „Maschinenzeiten“ |
__Alert_LastExt5* |
$Alert.LastExt5 |
Externe Info 5 des zuletzt ausgelösten globalen Typs |
__Alert_LastAExt5* |
$Alert.LastAExt5 |
Externe Info 5 des zuletzt ausgelösten Alarms |
__Alert_LastIExt5* |
$Alert.LastIExt5 |
Externe Info 5 des zuletzt ausgelösten Typs „Info“ |
__Alert_LastLExt5* |
$Alert.LastLExt5 |
Externe Info 5 des zuletzt ausgelösten Typs „Logging“ |
__Alert_LastMExt5* |
$Alert.LastMExt5 |
Externe Info 5 der zuletzt ausgelösten Meldung |
__Alert_LastSExt5* |
$Alert.LastSExt5 |
Externe Info 5 des zuletzt ausgelösten Status |
__Alert_LastTExt5* |
$Alert.LastTExt5 |
Externe Info 5 des zuletzt ausgelösten Typs „Times“ |
__Alert_LastVExt5* |
$Alert.LastVExt5 |
Externe Info 5 des zuletzt ausgelösten Typs „Verfügbarkeit“ |
__Alert_LastWExt5* |
$Alert.LastWExt5 |
Externe Info 5 des zuletzt ausgelösten Typs „Warnung“ |
__Alert_LastZExt5* |
$Alert.LastZExt5 |
Externe Info 5 des zuletzt ausgelösten Typs „Maschinenzeiten“ |
__Current_UTCTime* |
$Current.UTCTime |
Aktuelle UTC-Zeit in Millisekunden seit 1.1.1970 |
__TagServer_DriverCount* |
$TagServer.DriverCount |
Anzahl aktiver-Treiber im TagServer |
__TagServer_DriverXXXX_Name |
$TagServer.DriverXXXX_Name |
Namen des Treibers |
__TagServer_DriverXXXX_Number |
$TagServer.DriverXXXX_Number |
Nummer des Treibers |
__TagServer_DriverXXXX_CycleTime |
$TagServer.DriverXXXX_CycleTime |
Zykluszeit des Treibers |
__TagServer_DriverXXXX_IsDemo |
$TagServer.DriverXXXX_IsDemo |
Gibt an ob der Treiber als Demotreiber läuft |
__TagServer_DriverXXXX_IsNew |
$TagServer.DriverXXXX_IsNew |
Gibt an ob es ein neuer .NET-Treiber ist |
__TagServer_DriverXXXX_IsUsed |
$TagServer.DriverXXXX_IsUsed |
Gibt an ob er aktuell verwendet wird (es existieren Variablen, die dem Treiber zugeordnet sind) |
__System_UTCStartTime* |
$System.UTCStartTime |
Zeigt die Startzeit der Laufzeit (maßgeblich ist der TagServer) als UTC Zeit in Millisekunden seit 1.01.1970 an |
__System_ProjectName* |
$System.ProjectName |
Enthält den Projektnamen |
__System_ProjectPath* |
$System.ProjectPath |
Enthält den Projektpfad des Servers |
__System_ProjectVersion* |
$System.ProjectVersion |
Enthält die Projektversion als String |
__System_RuntimeVersion* |
$System.RuntimeVersion |
Enthält die Versionsnummer der Laufzeit (maßgeblich ist die Versionsnummer des TagServers) |
__Alert_TypeChar* |
$Alert.LastTypeChar |
Der Buchstabe der letzten Meldungsart. Wertebereich: A,V,I,L,Z,M,S,T,W (Text) |
Strukturen¶
Konzept¶
In Struktur-Editor können Datenstrukturen, die sich aus numerischen, logischen und Textvariablen zusammensetzen, angelegt werden. Von diesen Strukturen können beliebig viele Instanzen erzeugt werden. Diese Instanzen können in der Bildmontage so genannten Automationsobjekten zugewiesen werden. Ein Automationsobjekt besteht jeweils aus einer Gruppe von Dynamisierungselementen, die Strukturelementen zugeordnet sind. Die angezeigte Strukturklasse kann nicht bearbeitet werden.
Note
Datenstrukturen in PROCON-WEB dienen in erster Linie zur Reduzierung des Projektierungsaufwandes.
In Strukturen können gleichartige Informationen, wie Ist-, Sollwerte eines Mischers definiert werden. Von dieser Struktur kann über das System die entsprechende Anzahl der Instanzen und auch die entsprechenden Prozessvariablen erzeugt werden. In der Bildmontage wird das Automationsobjekt eines Mischers erstellt. Dazu werden die Elemente des Mischers wie Mischersymbol, Istwertanzeigen, Sollwerteeingaben zu einer Gruppe zusammengefasst und einer Struktur zugewiesen. Die Strukturelemente werden den dynamischen Gruppenelementen, wie z.B. einem Sollwert zugeordnet. Im letzten Schritt wird dem Automationsobjekt Mischer eine Instanz zugewiesen. Duplikate des Mischers können durch Kopieren des Automationsobjektes und Zuweisung der entsprechenden Instanz erzeugt werden.
Important
Struktur- und Instanzinformationen sollten bevorzugt über den Variablenimport erzeugt werden. Die früher teilweise genutzten Funktionen für ein Mapping von Variablen auf Steuerungsadressen (z.B. bei Simatic S5 in DBs) sind noch verfügbar aber nicht empfehlenswert und aufwendig!
Bearbeitung von Strukturen¶

Um Strukturen erstellen zu können, wird im Struktur-Editor über das Kontextmenü die Option „Struktur erstellen“ angewählt und ein Name für die Struktur vergeben. Jeder Struktur können logische, numerische und Textvariablenklassen zugewiesen werden. Weiterhin können auch schon vorhandene Strukturen zur Kaskadierung als SubStruktur eingefügt werden.

Solange keine Instanz einer Struktur erstellt wurde, kann die Reihenfolge der Strukturelemente geändert oder Strukturelemente gelöscht werden.
Bedeutung der Spalten eines Strukturelements Die Strukturelemente, die hier angelegt werden können, sind gleichzeitig Prozessvariablenklassen und dienen als Vorlage für die der Instanz zugewiesenen Variablen.
Spaltenname |
Bedeutung |
|||||
---|---|---|---|---|---|---|
Typ |
Typ |
des |
Strukturelementes |
(Numerisch, |
Logisch, |
Text) |
Name |
Festlegen |
des |
Strukturnamens |
und |
der |
Elemente |
In der Spalte „Name“ muss der Strukturname und der Strukturelementname festgelegt werden. Die Spalte „Typ“ gibt den Typ des Strukturelementes an (Logisch, Numerisch, Text) Die Inhalte aller weiteren Spalten dienen als Vorlage für die später über das System erzeugten Instanzen und deren Prozessvariablen.
Spaltenname |
Bedeutung |
---|---|
Feldgröße |
Die Feldgröße gibt an, wie viele Feldelemente XE “Feldelemente” mit gleicher Definition hinter diesem Strukturelement stehen. Bei einer Feldgröße von z.B. 10 erhält man 10 individuelle Elemente, die jedoch alle die gleichen MinWerte, MaxWerte, Defaultwerte usw. haben. |
Berechtigung |
Der Wert für die Benutzerberechtigung darf zwischen 0 und 255 liegen. |
Nachkommastellen |
Hier ist die Anzahl der gewünschten Nachkommastellen anzugeben. |
Min-SPS |
Kleinster möglicher Wert der Variablen auf der SPS |
Max-SPS |
Größter möglicher Wert der Variablen auf der SPS |
Min-PC |
Anzuzeigender Wert der im Laufzeitsystem angezeigt wird beim Vorliegen des Minimalwertes. |
Max-PC |
Anzuzeigender Wert der im Laufzeitsystem angezeigt wird beim Vorliegen des Maximalwertes |
Standard |
Standardwert des Strukturelementes. |
Treiber |
Kommunikationstreiber |
E/A |
Strukturelement kann Eingang, Ausgang oder Merker sein |
Feld 0 |
treiberspezifische Angaben |
Feld 1 |
treiberspezifische Angaben |
Feld 2 |
treiberspezifische Angaben |
Feld 3 |
treiberspezifische Angaben |
In den treiberspezifischen Spalten „Feld 0“ bis „Feld 3“ können Marken (A bis E) verwendet werden. Diese Marken dienen zur späteren Berechnung der resultierenden Prozessvariablen Adressen der Instanzen. In den Marken „A“ bis „E“ wird über die Startadresse und die Strukturlänge der entsprechende Adressindex abgebildet. Ihnen kann innerhalb eins Strukturelements ein Wert aufaddiert werden (z.B. A+1, oder A+10). Dieser Wert dient dazu die Startadressen der Prozessvariablen innerhalb einer Instanz festzulegen.
Falls nun mit Marken gearbeitet wird und die Prozessvariablen der ersten Instanz vom System angelegt werden, dann wird mit der festgelegten Startadresse dieser Marke begonnen die Variablen zu erzeugen. Bei den Prozessvariablen der zweiten Instanz wird die Marke mit der Adresse= Startadresse + Strukturlänge ersetzt. Alle weiteren Instanzen werden analog dazu erzeugt.
Die Startadresse und die Strukturlänge kann durch Anwählen der Struktur mit der rechten Maustaste bearbeitet werden. Die festgelegte Startadresse und die Strukturlänge wird in der obersten Strukturzeile in den entsprechenden Spalten Feld 1 bis Feld 4 dargestellt (z.B.: A=0; A:+10)
Im folgenden Dialog wird als Beispiel die Startadresse der ersten Instanz über die Marke „A“ festgelegt. Es wird auch die Strukturlänge der Marke „A“ für die Berechnung der nächsten Instanz festgelegt

Important
Marken sollten nicht in Spalten mit symbolischer Adressierung verwendet werden.
Struktur in Struktur¶
In PROCON-WEB hat der Benutzer die Möglichkeit, als Strukturelement ebenfalls vorhandene Strukturen zu verwenden. Die maximale Verschachtelungstiefe beträgt bis zu neun Sub-Strukturen.

Um eine Sub-Struktur einzufügen, wird über das Kontextmenü unter dem Eintrag „Strukturelement einfügen“ die Option „Struktur“ angewählt. Es öffnet sich der Strukturauswahl-Dialog, in dem alle im Projekt vorhanden Strukturen gelistet sind. Bei Auswahl einer Struktur wird intern ein Klon dieser Struktur erzeugt. Bei Änderungen an der Sub-Struktur bleibt so die Struktur, auf der die Sub-Struktur basiert, im Originalzustand belassen.
Struktur-Arrays (Array of Struct)¶
In PROCON-WEB hat der Benutzer die Möglichkeit, Arrays von Strukturen anzulegen. Dies geschieht analog über die Feldgröße wie z.B. bei den Variablen.

In der Zuweisung der Struktur-Instanzelemente im Prozessvariablen-Editor sind die Arrays mit eckigen Klammern entsprechend gekennzeichnet.

Bei der Struktur- und Instanz-Zuweisung, z.B. im Automationsobjekt, sind die Array ebenfalls entsprechend gekennzeichnet.

Löschen von Strukturen¶
Über das Kontextmenü der rechten Maustaste „Struktur löschen“ können Strukturen gelöscht werden. Zu beachten ist dabei, dass nur nicht referenzierte Strukturen gelöscht werden können. Existieren Instanzen einer Struktur müssen zunächst alle Instanzen der Struktur gelöscht werden.
Instanzen¶
Um Instanzen einer Struktur zu erstellen, wird die betreffende Struktur ausgewählt und im Kontextmenü die Option „Instanz dieser Struktur erstellen“ ausgewählt. Daraufhin öffnet sich der Dialog „Instanz hinzufügen“.

In diesem Dialog werden der Instanzname und die Anzahl der zu erstellenden Instanzen festgelegt. Bei mehreren Instanzen vergibt das System für jede weitere Instanz eine Nummerierung hinter dem Instanznamen. Außerdem können die Prozessvariablen für die neue Instanz angelegt werden. Das System vergibt hier als Variablennamen den Namen der Struktur und des Strukturelementes. In der Spalte „Struktur-Instanzelement“ in der Prozessvariablenliste ist die Zuweisung auf die entsprechende Instanz realisiert.
Mit „Gespeicherte Startadresse und Strukturlänge verwenden“ werden die in der Struktur festgelegte Startadresse und Strukturlänge für die Berechnung der Prozessvariablen Adressierung der Instanzen verwendet. Ist diese Option abgewählt, wird bei jeder Instanz die Startadresse erneut abgefragt. Dies ermöglicht es, Instanzen mit Prozessvariablen zu erzeugen, die nicht innerhalb der Strukturlänge nacheinander im Steuerungsprogramm abgelegt sind.
Löschen von Instanzen Um Instanzen von Strukturen zu löschen, wird die entsprechende Instanz ausgewählt und über die Option „Instanz löschen“ ausgewählt. Sind bereits Variablen auf die Instanz referenziert, erscheint der folgende Dialog.

Durch diesen Dialog kann der Benutzer auswählen, ob die referenzierten Variablen gelöscht werden sollen oder lediglich die Instanzinformationen entfernt werden sollen. Nach dem Auswählen der jeweiligen Option wird die Instanz gelöscht.
Important
Es können nur Instanzen gelöscht werden, die nicht einem Automationsobjekt zugewiesen sind!
Zuordnung von Instanzen im Prozessvariablen-Editor Im Prozessvariablen-Editor können Prozessvariablen über die Spalte „Struktur-Instanzelement“ der entsprechenden Struktur-Instanz zugewiesen werden.
