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:

Logische

Prozessvariablen

Numerische

Prozessvariablen

Textvariablen

TagLogic

TagNumeric

TagString

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

Konfiguration

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

Einheiten

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.

Erstellen einer Einheit
  • 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.

Umrechnungseinheiten

Ü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)

Einheitensets

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

Sprachzuordnung

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.

Example

Standard Nachkommastellen Meter: 2 Darstellung: 1,00m Nachkommastellenverschiebung Yard: 3 Darstellung: 1,09361yd Nachkommastellenverschiebung Zentimeter: -1 Darstellung: 100,0cm

Nachkommastellenverschiebung

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.

Enums

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.

Auswählen der Enums in der Prozessvariablenliste

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.

Editor

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.

Varerstellen

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.

Nicht verwendete Prozessvariablen anzeigen

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!

Kontextmenü im Prozessvariablen-Editor

In diesem Kapitel werden die Optionen des Kontextmenüs im Prozessvariablen-Editor näher erläutert.

Optionen im Kontextmenü:

Schlüssel

Bedeutung

Metadaten anzeigen

Mit Metadaten anzeigen wird ein Dialog geöffnet, in dem die Erstellungshistorie der Variable sichtbar ist. Zusätzlich kann hier der Kommentar für die Variable angegeben werden.

Alle Referenzen anzeigen

Öffnet den Referenzen-Dialog. Anhand dieses Dialoges kann der Benutzer zu den verschiedenen Verwendungsorten der Variable springen

Treiberauswahl

Öffnet den Treiberauswahl-Dialog, in dem Treiber aktiviert/deaktiviert und parametriert werden.

Prozessvariable ausschneiden, kopieren einfügen, duplizieren, löschen

Standardfunktionen zum Arbeiten mit Prozessvariablen

Prozessvariablen erstellen

Option zum Erstellen der numerischen, logischen und Textvariablen

Prozessvariablen ohne Referenzen markieren

Mit dieser Option werden alle Variablen, die nicht im Projekt verwendet werden, markiert. Am Ende der Projektierung sollte man diese Option wählen, damit nicht benötigte Variablen entfernt 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.

Prozessvariableneditor

Durch eine entsprechende Definition der Parameter lässt sich eine Normierung projektieren.

Example

Ein Temperaturfühler hat einen Messbereich von -50°C bis +200°C. Dabei liefert er eine Spannung von -10.0V bis 10.0V. Ein 12-Bit AD-Wandler wandelt diese Spannung in Werte von -2048 bis 2047 um. Für diesen Fühler wird nun MinSPS auf -2048, MaxSPS auf 2047, MinPC auf -50 und MaxPC auf 200 gesetzt.

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.

SPS-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.

Mehrfachaenderung

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

Zahlenfeld

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.

Example

Beim Wertebereich von 0…9 und einer Liste von 5 Symbolen erfolgt für 0 und 1 die Darstellung des ersten Symbols, für 2 und 3 die Darstellung des zweiten Symbols usw.

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:

Properties

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

Parameter

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.

Auswahl der Variable mit Tag-Properties TagProperties

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.

Prozessvariablenexport

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.

Ribbontab Prozessvariablenimport

Ü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.

TreiberAuswahl

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:

ini-Datei

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.

Importeinstellungen

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

Projektauswahl

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.

Import der Variablen aus SPS-Projekt

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.

Strukturimport

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.

ImportStrukturen

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.

vorhandeneVariablen

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

Optionen

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.

Dialog

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.

Verbindungen

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.

treiberspezifischeParameter

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

EditorStrukt

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.

Strukturelement

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

Startadresse

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.

SubStruktur

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.

StrukturInstanzelemente

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

InstanzEditor

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

StrukturZuweisung

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“.

NeueInstanz

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.

Instanzloesch

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.

Elementwaehlen