Inhalt - INOSOFT GmbH
Inhalt - INOSOFT GmbH
Inhalt - INOSOFT GmbH
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
VisiWinNET 2005<br />
Prozessanbindung<br />
VisiWin<br />
VisiWinNET 2005<br />
Allgemeines<br />
Klassenbibliothek<br />
Systeme<br />
Werkzeuge<br />
Technische Infos<br />
Inosoft OPCServer<br />
Grundlagen und Hilfsmittel<br />
Protokolle
VisiWinNET 2005<br />
Prozessanbindung<br />
VisiWin<br />
® by <strong>INOSOFT</strong> ®<br />
VisiWinNET Itemeditor in SMART
Ohne ausdrückliche schriftliche Erlaubnis der <strong>INOSOFT</strong> <strong>GmbH</strong> darf der <strong>Inhalt</strong> des<br />
Handbuches nicht anderweitig verwendet werden.<br />
Den <strong>Inhalt</strong> des Handbuches haben wir auf Übereinstimmung mit der beschriebenen<br />
Software geprüft. Trotzdem können Abweichungen nicht ausgeschlossen werden. Aus<br />
diesem Grund können wir für eine völlige Übereinstimmung keine Gewähr geben. Der<br />
<strong>Inhalt</strong> des Handbuches wird regelmäßig auf Änderungen geprüft. Korrekturen sind in<br />
der nachfolgenden Ausgabe vorhanden. Verbessungsvorschläge werden dankbar<br />
angenommen.<br />
Legende<br />
Um auf besondere Einstellungen aufmerksam zu machen, werden in den <strong>INOSOFT</strong>-<br />
Dokumentationen folgende Symbole verwendet:<br />
Achtung Absätze mit diesem Zeichen sollten Sie besonders<br />
aufmerksam lesen - und beachten.<br />
Hinweis Wichtige Einstellung<br />
"additional informations".<br />
Tipp Viele Wege führen nach Rom,<br />
hier finden Sie eine Abkürzung.<br />
In Arbeit Funktionen in Vorbereitung, bzw. bereits implementiert,<br />
jedoch noch nicht für die Dokumentation aufbereitet.<br />
Beispiel<br />
ausführen<br />
Beispiel<br />
beobachten<br />
Anweisungen, die in einem Beispiel auszuführen sind.<br />
Ergebnisse, die durch die Ausführung der<br />
Beispielanweisungen zu beobachten sind.<br />
© / / ®<br />
Windows®, Windows NT®, Windows 2000® , Windows XP®<br />
sind eingetragene Warenzeichen der Firma Microsoft.<br />
Weitere mit ® erwähnte Produktnamen sind Warenzeichen der betreffenden<br />
Herstellerfirmen.<br />
<strong>INOSOFT</strong> <strong>GmbH</strong><br />
VisiWinNETVersion: ab 6.04.0000<br />
erstellt am 18.10.2010
<strong>Inhalt</strong><br />
1 Vorwort ..................................................................................................................... 1<br />
2 Einführung in die Prozessanbindung ........................................................................ 2<br />
2.1 Die sechs Leben der Prozessvariablen ........................................................................... 5<br />
3 Projektierung ............................................................................................................ 9<br />
3.1 Start des Variableneditors ............................................................................................ 9<br />
4 Definitionen der Prozessanbindung........................................................................ 10<br />
4.1 Kommunikationskanal................................................................................................ 11<br />
4.1.1 Kommunikationskanäle bearbeiten ......................................................................................... 16<br />
4.1.2 Kommunikationskomponenten ............................................................................................... 17<br />
4.2 Prozessvariable ......................................................................................................... 25<br />
4.2.1 Prozessvariablen bearbeiten...................................................................................................26<br />
4.3 Gruppe..................................................................................................................... 28<br />
4.3.1 Gruppen bearbeiten............................................................................................................... 29<br />
4.3.2 Verwendung von Gruppen ..................................................................................................... 29<br />
4.4 Einheitenklasse ......................................................................................................... 36<br />
4.4.1 Einheitenklassen bearbeiten...................................................................................................37<br />
4.4.2 Einheitenumschaltungen implementieren ................................................................................ 38<br />
4.4.3 FAQ zu Einheitenklassen ........................................................................................................52<br />
4.5 Einheit ..................................................................................................................... 53<br />
4.5.1 Einheiten bearbeiten.............................................................................................................. 54<br />
4.6 Struktur ................................................................................................................... 55<br />
4.6.1 Strukturen bearbeiten............................................................................................................ 56<br />
4.6.2 Verwendung von Strukturen .................................................................................................. 56<br />
4.7 Strukturelement........................................................................................................ 62<br />
4.7.1 Strukturelemente bearbeiten.................................................................................................. 63<br />
4.8 Multiplexer ............................................................................................................... 64<br />
4.8.1 Multiplexer bearbeiten ........................................................................................................... 65<br />
4.8.2 Beispiel Multiplexer................................................................................................................ 66<br />
4.9 Variablenadapter....................................................................................................... 69<br />
4.9.1 Variablenadapter bearbeiten .................................................................................................. 71<br />
4.9.2 Beispiel Variablenadapter....................................................................................................... 72<br />
5 Parameter der Definitionen der Prozessanbindung................................................ 77<br />
5.1 Abtastzeit ................................................................................................................. 79<br />
5.2 Adresse.................................................................................................................... 80<br />
5.3 Aktivierungsmodus.................................................................................................... 81<br />
5.4 Alias ........................................................................................................................ 81<br />
5.5 Beschreibung............................................................................................................ 82<br />
5.6 Browser ................................................................................................................... 82<br />
5.7 Browsereigenschaften ............................................................................................... 84<br />
5.8 Bytetausch ............................................................................................................... 85<br />
5.9 Daten direkt aus der Hardware lesen .......................................................................... 86<br />
5.10 Datentyp................................................................................................................. 87<br />
5.11 Definition aktiv ........................................................................................................ 88<br />
5.12 Einheitenklasse (Anzeige)......................................................................................... 88<br />
5.13 Einheitenklasse (Prozess) ......................................................................................... 88<br />
5.14 Einheitentext........................................................................................................... 88<br />
5.15 Einzeln beschreibbar ................................................................................................ 89<br />
5.16 Einzelzugriff auf Feldelemente .................................................................................. 90<br />
5.17 Ersatzwert............................................................................................................... 91<br />
5.18 Ersatzwert Modus .................................................................................................... 92<br />
5.19 Feldgröße ............................................................................................................... 93<br />
5.20 Fließkomma-Konvertierung IEEE-S5/S7...................................................................... 94<br />
I
5.21 Hysterese................................................................................................................ 95<br />
5.22 ItemID ................................................................................................................... 95<br />
5.23 Kommaverschiebung................................................................................................ 96<br />
5.24 Kommentar ............................................................................................................. 96<br />
5.25 Konfigurationsstatus ................................................................................................ 97<br />
5.26 Konfiguration im OPC-Server speichern...................................................................... 97<br />
5.27 Lesen wiederholen bei Schreib-/ Lesekonflikt ............................................................. 98<br />
5.28 Lesezugriffe ............................................................................................................ 99<br />
5.29 Maximalwert ........................................................................................................... 99<br />
5.30 Minimalwert .......................................................................................................... 100<br />
5.31 Name ................................................................................................................... 101<br />
5.32 nur Data-Callback-Interface V1.0 benutzen .............................................................. 102<br />
5.33 OPC-Server hat Unicode-Strings.............................................................................. 103<br />
5.34 OPC-Shutdown-Interface nicht verbinden................................................................. 104<br />
5.35 OPC-Servername ................................................................................................... 105<br />
5.36 Ordnungsnummer.................................................................................................. 106<br />
5.37 Ordnungsnummer als Byteoffset ............................................................................. 106<br />
5.38 Rechnername........................................................................................................ 107<br />
5.39 Schreibzugriffe ...................................................................................................... 107<br />
5.40 Separatorzeichen................................................................................................... 108<br />
5.41 Sicherheit.............................................................................................................. 109<br />
5.42 Standardsprache.................................................................................................... 110<br />
5.43 Startwerte nicht synchron einlesen.......................................................................... 111<br />
5.44 Steuerobjekt ......................................................................................................... 113<br />
5.45 Strukturzugriff ....................................................................................................... 115<br />
5.46 Synchrone Kommunikation ermöglichen................................................................... 116<br />
5.47 Text ..................................................................................................................... 117<br />
5.48 Treibername ......................................................................................................... 118<br />
5.49 Umschaltvariable ................................................................................................... 119<br />
5.50 Umschaltkennung .................................................................................................. 119<br />
5.51 Umschaltzustände.................................................................................................. 120<br />
5.52 URL...................................................................................................................... 120<br />
5.53 Variablenoptionen.................................................................................................. 121<br />
5.54 Variablen statisch aktivieren ................................................................................... 123<br />
5.55 Variablenwerte bei OPC Quality BAD nicht übernehmen ............................................ 124<br />
5.56 Variablen beim Deaktivieren weiterlesen.................................................................. 124<br />
5.57 Verbindungsversuche nach Initialisierungsphase wiederholen .................................... 125<br />
5.58 Version ................................................................................................................. 125<br />
5.59 VWE erzeugt Items (CallR-Server)........................................................................... 126<br />
5.60 Worttausch VT_I4, VT_UI4..................................................................................... 127<br />
5.61 Worttausch VT_R4, VT_R8 ..................................................................................... 129<br />
5.62 x1 ........................................................................................................................ 131<br />
5.63 x2 ........................................................................................................................ 132<br />
5.64 y1 ........................................................................................................................ 132<br />
5.65 y2 ........................................................................................................................ 132<br />
5.66 Zeitzonendifferenz ................................................................................................. 132<br />
5.67 zu deaktivierende Kanäle........................................................................................ 133<br />
5.68 Zugriffsart............................................................................................................. 133<br />
5.69 Zugriffspfad .......................................................................................................... 134<br />
6 Variablen anbinden ............................................................................................... 135<br />
6.1.1 VWEngine-Fenster............................................................................................................... 135<br />
6.1.2 Variablenauswahldialog ....................................................................................................... 135<br />
6.1.3 Systemvariablen.................................................................................................................. 137<br />
6.1.4 Funktionen.......................................................................................................................... 138<br />
6.2 Initialverhalten beim Formularwechsel ...................................................................... 140<br />
II
1 Vorwort<br />
Zu diesem Handbuch<br />
Dieses Handbuch enthält spezifische Informationen zur VisiWinNET Prozessanbindung.<br />
Enthalten sind unter anderem die Erklärung der beteiligten Komponenten, die<br />
Bedienreferenz des Editors und die Beschreibung der Definitionen der Prozessanbindung.<br />
Fragen und Probleme<br />
Bei technischen Fragen und Problemen wenden Sie sich bitte an Ihre zuständige <strong>INOSOFT</strong><br />
Vertretung oder an den Support der <strong>INOSOFT</strong> <strong>GmbH</strong> unter Tel.:+49 (5221) 16 66 02 bzw.<br />
E-Mail: Support@<strong>INOSOFT</strong>.com<br />
Häufige Fragen und Probleme werden auch auf unserer Homepage unter www.inosoft.com<br />
behandelt.<br />
Dort finden Sie auch einen Supportbereich, in dem Sie sich mit Fragen direkt an unsere<br />
Zentrale wenden können.<br />
Vorwort 1
VisiWinNET 2005 Prozessanbindung<br />
2 Einführung in die Prozessanbindung<br />
Einführung in die Prozessanbindung / Die sechs Leben der Prozessvariablen / Kommunikationskanäle bearbeiten 2<br />
Eine Prozessvisualisierung stellt die Schnittstelle zwischen Mensch und Maschine dar.<br />
Prozessgrößen werden dargestellt, Benutzereingaben an Maschinen weitergeleitet. Die<br />
Ausgabe von Prozessgrößen soll allgemein verständlich, schnell erfassbar und handhabbar<br />
sein (grafische Darstellungen, Umrechnungen von Maschinengrößen in gebräuchliche<br />
Einheiten, textuelle Wiedergabe von Zuständen, ...). Eingabeelemente sollen den<br />
physikalische Ebenbildern entsprechen (Schalter, Taster, Schieberegler, ...).<br />
Die VisiWinNET-Prozessvisualisierung stellt Ein- und Ausgabeelemente in Form von<br />
Steuerelementen zur Verfügung. Jedes Steuerelement kann eine oder mehrere<br />
Informationen darstellen oder zur Maschinensteuerung übertragen. Dazu ist es nötig, die<br />
einzelnen Informationen zuzuordnen: Für jedes Steuerelement muss festgelegt werden,<br />
welche Prozessgröße es darstellen oder beeinflussen soll.<br />
Eine Prozessgröße ist eine Informationszelle, die zwischen Maschine und Visualisierung<br />
ausgetauscht wird. Die obenstehende Grafik zeigt nur die Endpunkte des<br />
Kommunikationsweges. Dazwischen gibt es eine Reihe von Zwischenstationen, die die<br />
Informationen empfangen und weiterleiten. Diese Zwischenstationen dienen als<br />
Verzweigungs- und Verbindungspunkte zu weiteren Systemen. Als Verbindungspunkte<br />
dienen sie zur Optimierung des Datentransfers. Als Verzweigungspunkte dienen die<br />
Zwischenstationen zur Verteilung von Daten an andere Systeme. Durch diesen Aufbau bleibt<br />
eine Modularität des Projektes erhalten, die die heute gängige Client-Server-Fähigkeit voll<br />
unterstützt, ohne ein übermäßiges Datenaufkommen zu erzeugen.
VisiWinNET 2005 Prozessanbindung<br />
Einführung in die Prozessanbindung / Die sechs Leben der Prozessvariablen / Kommunikationskanäle bearbeiten 3<br />
Anhand des folgenden Blockschaltbildes werden diese Zwischenstationen als Komponenten<br />
der Prozessanbindung vorgestellt. Weiterführende Informationen über die Komponenten<br />
werden als Querverweise angegeben.<br />
Komponenten der VisiWinNET Prozessanbindung<br />
Applikation<br />
Steuerelement<br />
e<br />
OPC Server<br />
Variablen-<br />
Client<br />
Komponente Beschreibung<br />
VisiWinNET-<br />
Steuerelemente/<br />
Klassen<br />
Kommunikationskomponenten<br />
Entwicklungsumgebung<br />
Browser<br />
OPC Server<br />
lokal<br />
oder<br />
Netzwerk<br />
COM/<br />
DCOM<br />
VisiWinNET Manager<br />
Variableneditor<br />
VWOPC<br />
Server<br />
Variablenkern<br />
Projektdatenbank<br />
Variablenauswahldialog<br />
Steuerelemente<br />
VisiWin-<br />
Treiber<br />
Die Steuerelemente gestalten die Oberfläche der<br />
Visualisierungsapplikation. Es gibt Steuerelemente zur<br />
numerischen oder grafischen Ein-/ Ausgabe von Prozessdaten. Die<br />
VisiWinNET-Klassen ermöglichen den Austausch von<br />
Informationen ohne grafische Anbindung (die Funktionen sind im<br />
Programmcode aufzurufen). Zur Laufzeit binden sich<br />
Steuerelemente und Klassen an den Variablenclient an. Zur<br />
Entwicklungszeit wird den Steuerelementen über den<br />
Variablenauswahldialog eine Projektierunterstützung zur<br />
Verfügung gestellt. Damit ist es möglich,<br />
Prozessvariablendefinitionen auszuwählen, die zur Laufzeit die<br />
darzustellenden Prozesswerte repräsentieren.<br />
VisiWinNET-<br />
Treiber
VisiWinNET 2005 Prozessanbindung<br />
Einführung in die Prozessanbindung / Die sechs Leben der Prozessvariablen / Kommunikationskanäle bearbeiten 4<br />
Weiterführende Informationen befinden sich im Handbuch<br />
"VisiWinNET Klassenbibliothek".<br />
Variablenclient Der Variablenclient sammelt die Datenanforderungen von<br />
Steuerelementen und VisiWinNET-Klassen einer<br />
Visualisierungsapplikation. Damit wird die gesamte Applikation als<br />
nur ein Client beim Variablenkern angemeldet. Der Austausch von<br />
Daten über den Variablenclient verläuft vollautomatisch. Einzig<br />
das Fehlerprotokoll des Variablenclients ist konfigurierbar.<br />
Variablenkern Der Variablenkern wird über den VisiWinNET Manager gestartet.<br />
Seine Aufgabe ist es, den in der Projektdatenbank definierten<br />
Datenaustausch zwischen den Kommunikationskomponenten und<br />
den angeschlossenen Visualisierungsapplikationen zu regeln.<br />
Außerdem dient er als Datenlieferant für andere Systeme (wie z.B.<br />
den Alarmserver). Eine ausführliche Beschreibung über die<br />
Möglichkeiten und Konfigurationseinstellungen befindet sich im<br />
Handbuch "VWNManager".<br />
(VW)OPC-Server OPC-Server stellen eine von zwei Kommunikationsmöglichkeiten<br />
mit einer SPS unter VisiWinNET dar. Sie benutzen ein<br />
hardwarespezifisches Protokoll zum Austausch von Daten mit der<br />
SPS. Die Verbindung zum Variablenkern ist über die OPC-<br />
Spezifikation festgelegt. Weitere Informationen über Eigenschaften<br />
und Möglichkeiten von OPC-Servern befinden sich im Handbuch<br />
"VWOPC-Server".<br />
VisiWin-Treiber Die andere Kategorie von Kommunikationskomponenten sind die<br />
VisiWin-Treiber. Zum Datenaustausch mit der SPS wird das<br />
hardwarespezifische Protokoll benutzt. Die Daten werden jedoch<br />
über einen geteilten Speicherbereich zum Variablenkern<br />
übermittelt. Daher müssen VisiWin-Treiber im Gegensatz zu OPC-<br />
Servern auch immer auf dem Rechner installiert werden, auf dem<br />
auch der Variablenkern läuft. Die Schnittstelle ist somit nur<br />
kompatibel mit VisiWin-Produkten.<br />
Weitere Informationen über Eigenschaften und Möglichkeiten von<br />
VisiWin-Treibern befinden sich im gleichnamigen Handbuch.<br />
VisiWinNET-Treiber VisiWinNET-Treiber als neueste Generation von<br />
Kommunikationskomponenten beinhalten ein den Funktionen von<br />
OPC-Servern ähnliches Kommunikationsmodell. Die Schnittstelle<br />
ist jedoch visualisierungsspezifisch. Mehr Informtionen dazu<br />
befinden sich im Handbuch "VisiWinNET-Treiber".<br />
Projektdatenbank Die Projektdatenbank enthält die Definitionen der<br />
Prozessanbindung. Diese werden in der Entwicklungsumgebung<br />
über den Variableneditor projektiert. Zur Laufzeit werden die<br />
Daten vom Variablenkern interpretiert. Weiter Informationen über<br />
die Definitionen der Prozessanbindung und deren Parameter<br />
befinden sich in den gleichnamigen Kapiteln in diesem Handbuch.
VisiWinNET 2005 Prozessanbindung<br />
Einführung in die Prozessanbindung / Die sechs Leben der Prozessvariablen / Kommunikationskanäle bearbeiten 5<br />
Variableneditor Der Variableneditor dient zur Projektierung der Definitionen der<br />
Prozessanbindung. Er ist in die Entwicklungsumgebung integriert.<br />
Die hier vorgenommenen Definitionen landen in der<br />
Projektdatenbank. Eine Bedienreferenz befindet sich im Kapitel<br />
"Projektierung" in diesem Handbuch.<br />
2.1 Die sechs Leben der Prozessvariablen<br />
Die OPC-Spezifikation beschreibt das Itemobjekt als Repräsentation eines Prozesswertes im<br />
OPC-Server: Über das Itemobjekt kann dieser Wert gelesen oder geschrieben werden,<br />
optionale Parameter ermöglichen z.B. Grenzwertüberwachungen, über Zusatzinformationen<br />
können Übertragungsfehler und Datenaustauschzeitpunkt ermittelt werden. In VisiWinNET<br />
wird diese Spezifikation voll unterstützt, durch den Systemaufbau werden jedoch folgende<br />
zusätzliche Erweiterungen möglich:<br />
• Betrieb von VisiWin-Treibern im Rahmen der Prozessvariablendefinitionen<br />
• Paralleler Betrieb von mehreren Kommunikationskomponenten (VisiWin-Treiber und<br />
OPC-Server), die aus der Sicht der Applikation nur einen einzigen Datenpool darstellen.<br />
• Optimierungsverfahren für den blockorientierten Datenzugriff über<br />
Datentyperweiterungen.<br />
• Optimierungsverfahren für mehrere Clients (Ausschluss von Mehrfachanfragen).<br />
• Umrechnung von Prozessvariablenwerten in Abhängigkeit von der aktuellen Sprache<br />
eines Clients oder von dem Wert einer Steuervariablen.<br />
Diese Möglichkeiten erfordern eine Erweiterung der Prozessvariablendefinition in<br />
VisiWinNET. Im Folgenden werden die wichtigsten Eigenschaften zum Zugriff auf eine<br />
Prozessvariable in den Komponenten der Prozessanbindung beschrieben.<br />
In der SPS<br />
In der SPS repräsentiert eine Prozessvariable einen Prozesswert, der über das<br />
Schnittstellenprotokoll ausgetauscht werden kann. Um Werte aus der SPS lesen oder<br />
schreiben zu können, muss die Startadresse und die Bytelänge bekannt sein.<br />
Die Startadresse kann bei einer SPS, die eine symbolische Adressierung unterstützt, ein<br />
Bezeichner sein, der eine Aussage über die Verwendung des Prozesswertes trifft. Die SPS<br />
ermittelt anhand einer Bezeichnertabelle die entsprechende Zelle im Speicher. Wird keine<br />
symbolische Adressierung unterstützt, so kann die SPS über die direkte Angabe einer<br />
spezifischen Adresskennung auf die angesprochene Speicherzelle zugreifen.<br />
Die Länge bestimmt die Anzahl von Bytes, die für die vollständige Übertragung des Wertes<br />
aus dem SPS-Speicher nötig sind.
VisiWinNET 2005 Prozessanbindung<br />
In der Kommunikationskomponente<br />
Einführung in die Prozessanbindung / Die sechs Leben der Prozessvariablen / Kommunikationskanäle bearbeiten 6<br />
Kommunikationskomponenten sind die Bindeglieder zwischen dem Variablenkern und der<br />
SPS-Schnittstelle. Die Aufgabe der Kommunikationskomponente ist es, Datenanforderungen<br />
des Kernels zu bedienen. SPS-seitig müssen die Prozesswerte über die für die SPS<br />
verständliche Adress-/ Längendefinition angesprochen werden. Auf der Seite des<br />
Variablenkerns zeigen OPC-Server und VisiWin-Treiber grundsätzlich verschiedene<br />
Verhalten:<br />
VisiWin-Treiber erwarten vom Variablenkern genau die SPS-verständlichen Informationen<br />
"Startadresse" und "Länge" zum Zugriff auf einen Prozesswert. Der Variablenkern muss also<br />
die in einer Prozessvariablendefinition enthaltenen Informationen passend aufbereiten.<br />
In OPC-Servern ist ein Prozesswert über die sogenannte "ItemID" anzusprechen. Die ItemID<br />
bezeichnet das Objekt, das den Prozesswert repräsentiert, im OPC-Server eindeutig. Sie<br />
kann entweder die Angabe der Startadresse (symbolisch oder nicht) oder ein neuer und<br />
damit verständlicherer Bezeichner für den Prozesswert sein. Die Länge des<br />
auszutauschenden Prozesswertes wird über den "Datentyp" geregelt. OPC-Server können die<br />
Angabe eines Datentyps verarbeiten. Um das Objekt jedoch instanzieren zu können, müssen<br />
diese Informationen vor dem eigentlichen Datenaustausch bekannt sein. Die Informationen<br />
über Items werden dem OPC-Server entweder in Form einer Definitionsliste während der<br />
Initialisierung (eigene Definitionsdatei/ OPC-Server-Projektdatei) oder zur Laufzeit (CallR-<br />
Server) zur Verfügung gestellt.<br />
Items werden zur Laufzeit Gruppen zugeordnet, die dazu dienen, den Datenaustausch zu<br />
steuern. So kann z.B. über die Deaktivierung einer Gruppe der Zugriff auf alle darin<br />
enthaltenen Items gestoppt werden.<br />
Sowohl VisiWin-Treiber als auch OPC-Server erschaffen ein Speicherabbild der SPS. Sie<br />
haben eigene Zykluszeiten, in denen die angeforderten Prozessvariablen aus der SPS<br />
ausgelesen werden. Diese Zykluszeit hat jedoch nichts mit der Rückgabe an den<br />
Variablenkern zu tun. Während VisiWin-Treiber im Zyklus des Variablenkerns ausgelesen<br />
werden, haben OPC-Server die Fähigkeit, asynchron mit einer einstellbaren Abtastzeit für<br />
jede Gruppe die angeforderten Daten zurückzumelden.<br />
In der Projektdatenbank<br />
Die Projektdatenbank enthält alle für das Projekt relevanten Daten. In der<br />
Entwicklungsumgebung werden Definitionen in den Editoren projektiert. Steuerelemente,<br />
die zur Laufzeit einen Bezug zu einer Definition herstellen sollen, können die in der<br />
Projektdatenbank enthaltenen Definitionen zur Auswahl auflisten. Zur Laufzeit werden die<br />
Definitionen von der zuständigen Serverkomponente interpretiert.
VisiWinNET 2005 Prozessanbindung<br />
Im Variablenkern<br />
Einführung in die Prozessanbindung / Die sechs Leben der Prozessvariablen / Kommunikationskanäle bearbeiten 7<br />
Der Variablenkern stellt das Bindeglied zwischen den Kommunikationskomponenten, den<br />
Visualisierungsapplikationen und anderen Systemen (Alarmsystem, Trends, ...) dar. Während<br />
der Initialisierung erstellt er anhand der Definitionen der Projektdatenbank ein<br />
Speicherabbild aller Prozessvariablen, die sogenannte Prozessdatenbank. Wird ein lesender<br />
oder schreibender Zugriff auf einen Prozesswert angefordert, aktiviert der Kernel den Zugriff<br />
auf die entsprechende Variable in der Kommunikationskomponente. Nach dieser<br />
Initialisierung werden die Daten zyklisch oder getriggert ausgetauscht.<br />
Die Anforderung eines Prozesswertes erfolgt über den Prozessvariablenbezeichner aus der<br />
Projektdatenbank und die Angabe der Kommunikationskomponente. Ein Prozesswert kann<br />
also insgesamt drei verschiedene Bezeichner haben:<br />
1) Die Adressangabe in der SPS,<br />
2) Die ItemID in der Kommunikationskomponente und<br />
3) Den Bezeichner in der Visualisierung.<br />
Dies ist jedoch nicht sinnvoll. Die Vergabe eines Bezeichners in der<br />
Projektdatenbankdefinition sollte nur dann genutzt werden, wenn die SPS keine symbolische<br />
Adressierung unterstützt und die Kommunikationskomponente keine Möglichkeit zur<br />
Verfügung stellt, den Prozesswert zu benennen. Dies ist z.B. bei VisiWin-Treibern der Fall.<br />
Die Definitionen in der VisiWinNET-Projektdatenbank enthalten die Möglichkeit, erweiterte<br />
Datentypen (Felder und Strukturen) zu projektieren. Über den Zugriff auf eine<br />
Prozessvariable mit Datentyperweiterung ist eine erhebliche Leistungssteigerung des<br />
Systems möglich. Prozesswerte können damit blockweise übertragen werden. Weitere<br />
Informationen über die Optimierung von Datenzugriffen durch erweiterte Datentypen finden<br />
sich im Kapitel "Optimierung der Kommunikation" (für VisiWin-Treiber) im Handbuch<br />
"VisiWin Treiber".<br />
Im Variablenclient<br />
Der Variablenclient verwaltet den Datenaustausch einer Visualisierungsapplikation.<br />
Geladene Steuerelemente oder instanzierte VisiWinNET-Klassen melden sich beim<br />
Variablenclient an. Dieser reicht die Anforderung von Prozesswerten zum Variablenkern<br />
weiter. Nach der Anmeldung wird der Datenaustausch je nach Bedarf zyklisch oder<br />
ereignisgesteuert ausgeführt. Auch der Variablenclient legt ein Prozessabbild an, jedoch nur<br />
für die von ihm benötigten Prozesswerte.<br />
Im Steuerelement<br />
Damit ein Steuerelement den Zugriff auf ein Prozesswert in der SPS erhält, sind folgende<br />
Informationen nötig:<br />
• An welche Serverkomponente muss die Anfrage gerichtet werden (Multiserverprojekt,<br />
Netzwerkpfad)?<br />
• Über welche Kommunikationskomponente kann der Prozesswert erreicht werden<br />
(Kommunikationskanal, Netzwerkpfad)?
VisiWinNET 2005 Prozessanbindung<br />
Einführung in die Prozessanbindung / Die sechs Leben der Prozessvariablen / Kommunikationskanäle bearbeiten 8<br />
• Wie muss die Prozessvariable in der Kommunikationskomponente angesprochen werden<br />
(ItemID)?<br />
• Wie ist der Index des Feldelementes, wenn die Prozessvariable als Feld definiert ist?<br />
• Wie ist der Name eines Strukturelementes, wenn die Prozessvariable als Struktur<br />
definiert wurde?<br />
Zur Entwicklungszeit werden die Definitionen der Projektdatenbank auf den<br />
Eigenschaftenseiten der "VWItem"-Eigenschaft aufgelistet. Ist eine Prozessvariable vom<br />
Datentyp einer Struktur oder eines Feldes, so werden unter der Prozessvariablendefinition<br />
die Struktur- und Feldelemente aufgelistet. Der Name und die Darstellung auf der<br />
Eigenschaftenseite suggerieren die Auswahl einer Prozessvariablen. Tatsächlich aber wird<br />
ein eindeutiger Bezeichner für den Prozesswert im System gewählt. Wird ein Eintrag<br />
selektiert, so erscheint als Ergebnis ein Bezeichner, der neben der ItemID auch noch den<br />
Namen des Kommunikationskanals und unter Umständen auch das gewählte Struktur-<br />
/Feldelement enthält. Das Handling in den Steuerelementen verhält sich also vollständig<br />
OPC-konform. Die Auflösung des gewählten Bezeichners muss jedoch in den verschiedenen<br />
Komponenten der Prozessanbindung vorgenommen werden.
VisiWinNET 2005 Prozessanbindung<br />
3 Projektierung<br />
3.1 Start des Variableneditors<br />
Projektierung / Start des Variableneditors / Kommunikationskanäle bearbeiten 9<br />
VisiWin stellt einen Editor zum Projektieren der Prozessanbindung zur Verfügung. Dieser<br />
wird bei der Installation von VisiWinNET in die Entwicklungsumgebung integriert. Die<br />
projektierten Definitionen werden in der Projektdatenbank gespeichert.<br />
Der Variableneditor wird im VisiWinNET-Projektexplorer durch das Symbol repräsentiert.<br />
Dies ist der Hauptzugriffsknoten auf die Definitionen der Prozessanbindung.<br />
Nach dem erstmaligen Anklicken des Knotens "Variablen" initialisiert sich der Editor im<br />
Projektexplorer. Es werden folgende Zugriffsknoten eingefügt:<br />
Kanäle Kanäle legen die Kommunikationskomponenten fest, über die mit<br />
den angeschlossenen Steuerungen kommuniziert wird. Die Kanäle<br />
werden als Unterknoten dargestellt. Die in den Kanälen<br />
projektierten Prozessvariablendefinitionen befinden sich im<br />
Tabelleneditor.<br />
Gruppierungen Hier werden als Unterknoten die Gruppendefinitionen des<br />
Projektes dargestellt. Im Tabelleneditor wird eine Ansicht auf die<br />
Prozessvariablen angezeigt, die der jeweiligen Gruppe zugeordnet<br />
ist.<br />
Einheitenklassen Enthält die Umrechnungsdefinitionen des Projektes. Eine<br />
Einheitenklasse kann variablenwert- oder sprachabhängig wirken.<br />
Die Angabe der Umrechnungswerte erfolgt über die Angabe von<br />
Einheitendefinitionen im Tabelleneditor.<br />
Strukturdefinitionen Die Strukturdefinitionen des Projektes werden als Unterknoten im<br />
Projektexplorer angezeigt. Die Elemente der jeweiligen Struktur<br />
sind im Tabelleneditor zu projektieren.
VisiWinNET 2005 Prozessanbindung<br />
4 Definitionen der Prozessanbindung<br />
Definitionen der Prozessanbindung / Start des Variableneditors / Kommunikationskanäle bearbeiten 10<br />
Im Folgenden eine Auflistung der Definitionen der VisiWinNET-Prozessanbindung.<br />
Zusätzlich wird die Information angegeben, in welcher Produktvariante die Definition<br />
vorhanden ist.<br />
Definition VisiWinNET<br />
Standard<br />
Kommunikationskanal (VisiWin<br />
Treiber)<br />
Kommunikationskanal (OPC-<br />
Server)<br />
Kommunikationskanal<br />
(VisiWinNET Treiber)<br />
Prozessvariable<br />
Gruppe<br />
Einheitenklasse<br />
(variablenabhängig)<br />
Einheitenklasse (sprachabhängig)<br />
Einheit<br />
Struktur<br />
Strukturelement<br />
Multiplexer<br />
Variablenadapter<br />
VisiWinNET<br />
Compact<br />
VisiWinNET Embedded
VisiWinNET 2005 Prozessanbindung<br />
4.1 Kommunikationskanal<br />
Definitionen der Prozessanbindung / Kommunikationskanal / Kommunikationskanäle bearbeiten 11<br />
Die Definition eines Kommunikationskanals legt fest, mit welcher<br />
Kommunikationskomponente Daten ausgetauscht werden sollen. Dabei sind mehrere<br />
Kategorien von Kommunikationskomponenten zu unterscheiden:<br />
• OPC-Server<br />
• OPC-UA Server<br />
• VisiWin-Treiber<br />
• VisiWinNET-Treiber<br />
Die Kategorie der Kommunikationskomponente muss beim Anlegen eines neuen<br />
Kommunikationskanals festgelegt werden.<br />
Je nach Kategorie bietet ein Kommunikationskanal u.a. folgende Funktionalität:<br />
OPC-Server/ OPC-<br />
UA-Server:<br />
• Festlegung des Netzwerkstandortes (von wo soll der OPC-<br />
Server gestartet werden)<br />
• Unterscheidung zwischen Standard und CallR<br />
• Festlegung der Feldelementezugriffe<br />
• Strukturierung der Ansicht<br />
VisiWin-<br />
• Aufruf des Konfigurationstools aus der Entwicklungsumgebung<br />
Treiber/VisiWinNET-<br />
Treiber<br />
• Automatische Auflistung aller installierten Treiber<br />
Aufgrund des unterschiedlichen Kommunikationsverhaltens von VisiWin-Treibern und<br />
OPC-Servern haben die Kommunikationskanäle der entsprechenden Kategorie<br />
unterschiedliche Parameter.<br />
VisiWin Treiber werden von der "Compact"-Produktvariante nicht<br />
unterstützt.
VisiWinNET 2005 Prozessanbindung<br />
Parameter des Kommunikationskanals<br />
Für OPC-Server<br />
Name Beschreibung<br />
Definitionen der Prozessanbindung / Kommunikationskanal / Kommunikationskanäle bearbeiten 12<br />
Beschreibung Gibt einen beschreibenden Text des OPC-Servers an.<br />
Browser Legt die Komponente zum Übernehmen von<br />
Variableninformationen fest<br />
Browser-<br />
eigenschaften<br />
Legt die Einstellungen für den Browser fest<br />
Bytetausch Optionale Datenkonvertierung beim Zugriff auf Strukturen als<br />
Bytestream.<br />
Daten direkt aus der<br />
Hardware lesen<br />
Bestimmt die Datenquelle beim synchronen Lesen.<br />
Definition aktiv Bestimmt, ob zur Laufzeit die Objektdefinition gültig ist.<br />
Einzelzugriff auf<br />
Feldelemente<br />
Fließkommakonvertierung<br />
IEEE-<br />
S5/S7<br />
Gibt an, ob der Zugriff auf Feldelemente einzeln erfolgen kann.<br />
Optionale Datenkonvertierung beim Zugriff auf Strukturen als<br />
Bytestream.<br />
Kommentar Wahlfreier Kommentar zur Definition.<br />
Konfiguration im<br />
OPC-Server-Projekt<br />
speichern<br />
Legt fest, wo die Konfigurationseinstellungen eines <strong>INOSOFT</strong> OPC-<br />
Servers gespeichert werden<br />
Konfigurationsstatus Gibt an, ob ein Konfigurationsdialog aus der<br />
Entwicklungsoberfläche zu starten ist und ob der OPC-Server<br />
bereits konfiguriert wurde.<br />
Lesen wiederholen<br />
bei Schreib-/<br />
Lesekonflikt<br />
Schützt vor Datenverlusten bei einem Schreib-/Lesekonflikt im<br />
Variablenkern.<br />
Name Bezeichner der Definition.<br />
nur Data-Callback-<br />
Interface V1.0<br />
benutzen<br />
Zugriffsvariante auf das Interface des OPC-Servers.<br />
OPC-Servername Registrierter Name des OPC-Servers<br />
OPC-Server hat<br />
Unicode-Strings<br />
OPC-Shutdown-<br />
Interface nicht<br />
verbinden<br />
Optionale Datenkonvertierung beim Zugriff auf Strukturen als<br />
Bytestream.<br />
Bestimmt, wie sich der Variablenkern beim Beenden der OPC-<br />
Serverapplikation verhält.<br />
Rechnername Netzwerkname des Rechners, auf dem der OPC-Server installiert<br />
ist und von dem er gestartet werden soll.
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Kommunikationskanal / Kommunikationskanäle bearbeiten 13<br />
Separatorzeichen Trennzeichen für die Namensräume im Variableneditor.<br />
Startwerte nicht<br />
synchron einlesen<br />
Optionale Optimierung beim Starten des Projektes.<br />
Strukturzugriff Entscheidet, wie auf Prozessvariablen vom Datentyp einer Struktur<br />
zugegriffen werden soll.<br />
Variablen statisch<br />
aktivieren<br />
Variablenwerte bei<br />
OPC Quality BAD<br />
nicht übernehmen<br />
Verbindungs-<br />
versuche nach<br />
Initialisierungsphase<br />
wiederholen<br />
Worttausch VT_I4,<br />
VT_UI4<br />
Worttausch VT_R4,<br />
VT_R8<br />
Bestimmt den Datenaustausch zwischen Variablenkern und OPC-<br />
Server.<br />
Legt fest, welcher Wert in den Variablenkern geschrieben wird,<br />
wenn eine Variable vom OPC-Server übertragen wird, deren<br />
Quality-Flag nicht "QUALITY_GOOD" ist.<br />
Legt fest, ob nach der Initialisierungsphase weiterhin versucht<br />
wird, eine Verbindung zum OPC-Server aufzubauen<br />
Optionale Datenkonvertierung beim Zugriff auf Strukturen als<br />
Bytestream.<br />
Optionale Datenkonvertierung beim Zugriff auf Strukturen als<br />
Bytestream.<br />
Version Registrierte Versionsnummer des OPC-Servers<br />
VWE erzeugt Items<br />
(CallR-Server)<br />
Legt fest, ob der OPC-Server als CallR-Server<br />
Prozessvariablendefinitionen aus der Projektdatenbank bezieht.
VisiWinNET 2005 Prozessanbindung<br />
Für OPC-UA-Server<br />
Name Beschreibung<br />
Definitionen der Prozessanbindung / Kommunikationskanal / Kommunikationskanäle bearbeiten 14<br />
Beschreibung Gibt einen beschreibenden Text des OPC-Servers an.<br />
Browser Legt die Komponente zum Übernehmen von<br />
Variableninformationen fest<br />
Browser-<br />
eigenschaften<br />
Legt die Einstellungen für den Browser fest<br />
Definition aktiv Bestimmt, ob zur Laufzeit die Objektdefinition gültig ist.<br />
Einzelzugriff auf<br />
Feldelemente<br />
Gibt an, ob der Zugriff auf Feldelemente einzeln erfolgen kann.<br />
Kommentar Wahlfreier Kommentar zur Definition.<br />
Lesen wiederholen<br />
bei Schreib-/<br />
Lesekonflikt<br />
Schützt vor Datenverlusten bei einem Schreib-/Lesekonflikt im<br />
Variablenkern.<br />
Name Bezeichner der Definition.<br />
OPC-Servername Registrierter Name des OPC-Servers<br />
Separatorzeichen Trennzeichen für die Namensräume im Variableneditor.<br />
Sicherheit Sicherheitseinstellungen für die Verbindung und Kommunikation<br />
zwischen Kern und UA-Server.<br />
Startwerte nicht<br />
synchron einlesen<br />
Optionale Optimierung beim Starten des Projektes.<br />
URL Verbindungsendpunkt des OPC-UA-Servers.<br />
Variablen statisch<br />
aktivieren<br />
Variablenwerte bei<br />
OPC Quality BAD<br />
nicht übernehmen<br />
Variablen beim<br />
Deaktivieren<br />
weiterlesen<br />
Verbindungs-<br />
versuche nach<br />
Initialisierungsphase<br />
wiederholen<br />
Bestimmt den Datenaustausch zwischen Variablenkern und OPC-<br />
Server.<br />
Legt fest, welcher Wert in den Variablenkern geschrieben wird,<br />
wenn eine Variable vom OPC-Server übertragen wird, deren<br />
Quality-Flag nicht "QUALITY_GOOD" ist.<br />
Legt fest, das Variablen, die nicht mehr von der Applikation<br />
benötigt und deshalb im Variablenkern abgemeldet werden,<br />
trotzdem aus der Kommunikationskomponente weiter angefordert<br />
werden.<br />
Legt fest, ob nach der Initialisierungsphase weiterhin versucht<br />
wird, eine Verbindung zum OPC-Server aufzubauen
VisiWinNET 2005 Prozessanbindung<br />
Für VisiWin/VisiWinNET-Treiber<br />
Name Beschreibung<br />
Definitionen der Prozessanbindung / Kommunikationskanal / Kommunikationskanäle bearbeiten 15<br />
Beschreibung Gibt einen beschreibenden Text des VisiWin-Treiber an.<br />
Browser Legt die Komponente zum Übernehmen von<br />
Variableninformationen fest<br />
Browser-<br />
eigenschaften<br />
Legt die Einstellungen für den Browser fest<br />
Definition aktiv Bestimmt, ob zur Laufzeit Daten mit dem VisiWin-Treiber<br />
ausgetauscht werden.<br />
Kommentar Wahlfreier Kommentar zum Objekt<br />
Konfigurationsstatus Gibt an, ob ein Konfigurationsdialog aus der<br />
Entwicklungsoberfläche zu starten ist und ob der VisiWin-Treiber<br />
bereits konfiguriert wurde.<br />
Name Bezeichner des Objektes<br />
Separatorzeichen Trennzeichen für die Namensräume im Variableneditor.<br />
Startwerte nicht<br />
synchron einlesen<br />
Optionale Optimierung beim Starten des Projektes.<br />
Treibername Registrierter Name des VisiWin-Treibers
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Kommunikationskanal / Kommunikationskanäle bearbeiten 16<br />
4.1.1 Kommunikationskanäle bearbeiten<br />
Kommunikationskanäle werden im Projektexplorer unter dem Knoten "Kanäle" dargestellt.<br />
Jeder Kanal beinhaltet:<br />
• einen editierbaren Parametersatz: Hier können verschiedene Kommunikationsverhalten<br />
eingestellt werden.<br />
• ggf. Prozessvariablendefinitionen: Prozessvariablen werden im Tabelleneditor angezeigt.<br />
Sie beinhalten die Informationen zum Zugriff auf die Variablen der angeschlossenen<br />
Steuerungen.<br />
Die Funktionen zum Projektieren von Kommunikationskanälen stehen im Tabelleneditor<br />
nach dem Markieren des Knotens "Kanäle" zur Verfügung:<br />
Neu erzeugen Über den Eintrag "Neu" im Kontextmenü des Knotens<br />
"Variablen→Kanäle" öffnet sich ein Dialog zum Festlegen der<br />
grundlegenden Eigenschaften des neuen Kommunikationskanals.<br />
Hier sind folgende Einstellungen vorzunehmen:<br />
Parameter<br />
bearbeiten<br />
• Name: Ein wahlfreier Name für den Kanal. Der Name muss<br />
innerhalb der Kommunikationskanäle des Projektes eindeutig<br />
sein. Verweise auf Prozessvariablen in der Applikation<br />
beziehen diesen Namen ein (z.B. "Ch1.w0" bezeichnet die<br />
Variable "wo" im Kommunikationskanal mit dem Namen "Ch1".<br />
• Kanaltyp: Entweder OPC oder Treiber. Die Einstellung ist<br />
abhängig von der zur Verfügung stehenden<br />
Kommunikationskomponente.<br />
• OPC-Server/ Treiber: Über die -Schaltfläche wird ein Dialog<br />
geöffnet, der die installierten Kommunikationskomponenten<br />
des gewählten Kanaltyps auflistet. Über diesen Dialog kann<br />
eine Kommunikationskomponente ausgewählt werden.<br />
Nach diesen Arbeitsschritten können Prozessvariablendefinitionen<br />
manuell oder über die Browse-Funktion in dem entsprechenden<br />
Kanal projektiert werden.<br />
Für jeden Kanal wird ein Knoten im Projektexplorer angezeigt.<br />
Über diesen Knoten wird zu den Prozessvariablendefinitionen des<br />
Kommunikationskanals navigiert.<br />
Nach dem Markieren eines Kommunikationskanals im<br />
Tabelleneditor zeigt die VisiWinNET-Eigenschaftenseite die<br />
Parameter des Kanals an. Hier vorgenommene Änderungen<br />
werden in der Projektdatenbank gespeichert.
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Kommunikationskanal / Kommunikationskomponenten 17<br />
Löschen Eine oder mehrere Kommunikationskanäle können gelöscht<br />
werden, indem:<br />
• zuerst die zu löschenden Kanäle im Tabelleneditor markiert<br />
werden (Klick auf die Selektorspalte am linken Tabellenrand<br />
ggf. bei gehaltener Strg- oder Shift-Taste für eine<br />
Mehrfachselektion)<br />
• Anschließend im Kontextmenü des Tabelleneditors der Eintrag<br />
"Löschen" gewählt wird.<br />
Browsen Variablendefinitionen können ggf. über eine Browser-Komponente<br />
in das Projekt übernommen werden. (Siehe auch Parameter<br />
"Browser"). Im Kontextmenü des Kommunikationskanalknotens<br />
wird die Browse-Funktion aufgerufen.<br />
4.1.2 Kommunikationskomponenten<br />
Als Kommunikationskomponenten bezeichnet die VisiWin-Literatur die Gerätetreiber,<br />
die das spezifische Protokoll einer SPS unterstützen und mit dem Variablenkern der<br />
Visualisierung Prozesswerte austauschen.<br />
Die entscheidenden drei Faktoren zum Finden der passenden<br />
Kommunikationskomponenten sind:<br />
• Die SPS, mit der kommuniziert werden soll. Die Kommunikationskomponente muss auf<br />
das spezifische Protokoll angepasst sein.<br />
• Das verwendete Gerät, über das die Kommunikation stattfindet. Einige Steuerungen<br />
beinhalten mehrere Schnittstellen oder es gibt Adapter, die die vorhandenen<br />
Schnittstellen adaptieren.<br />
• Natürlich auch die Verfügbarkeit unterschiedlicher Kommunikationskomponenten, die<br />
zur SPS und zum Kommunikationsweg passen. Denn nur wer die Wahl hat, hat auch die<br />
Qual.<br />
Stehen also verschiedene Kommunikationskomponenten zur Wahl, muss eine<br />
Entscheidung getroffen werden.
VisiWinNET 2005 Prozessanbindung<br />
Kriterien zur Entscheidungsfindung<br />
Definitionen der Prozessanbindung / Kommunikationskanal / Kommunikationskomponenten 18<br />
Der VisiWinNET Variablenkern unterstützt drei verschiedene Kategorien von<br />
Kommunikationskomponenten:<br />
VisiWin-Treiber Seit Windows 95 in nahezu unveränderter Form im Einsatz.<br />
Unterstützen Einzelvariablen und Strukturen zum blockweisen<br />
übertragen von Daten. Prozesswerte werden Gruppen<br />
zugeordnet, die den Datentransfer über einstellbare Zyklen oder<br />
Trigger steuern.<br />
OPC-Server Universelle, visualisierungsunabhängige Schnittstelle, durch die<br />
OPC-Foundation spezifiziert. Beinhaltet zur Datenübernahme<br />
das "Browser"-Interface, über das sich projektierte<br />
Prozessgrößendefinitionen im Idealfall aus der SPS-<br />
Entwicklungsumgebung direkt in die Projektdatenbank<br />
übernehmen lassen. Netzwerkfähige Schnittstelle über DCOM<br />
oder eigenen Protokollstack (OPC UA).<br />
VisiWinNET-Treiber Auf Basis des .NET Framework implementiert. Garantieren<br />
damit eine größtmögliche Durchgängigkeit in den<br />
unterschiedlichen Betriebssystemen XP/CE. Beinhalten optional<br />
zur Datenübernahme einen "Browser"-ähnlichen Mechanismus<br />
und weitere Unterstützungen zur Entwicklungszeit. Das<br />
Verhalten zur Laufzeit ist speziell auf die Beseitigung von<br />
Synchronisationsproblemen bei OPC-Servern optimiert.<br />
OPC-Server werden üblicherweise vom entsprechenden Steuerungshersteller<br />
angeboten. Gegebenenfalls haben auch Drittanbieter alternative Angebote. Eine breite<br />
Palette von Steuerungen kann über VisiWin-Treiber angesprochen werden. Hier lohnt<br />
sich ein Blick in die <strong>INOSOFT</strong>-Preisliste. Die Palette von zur Verfügung stehenden<br />
VisiWinNET-Treibern beschränkt sich nicht nur auf die <strong>INOSOFT</strong>-Produktion. Hier steht<br />
ein Treiber-Toolkit zur Verfügung, das die Implementierung eigener Protokolle auf Basis<br />
der Programmiersprache C# ermöglicht.<br />
Die oben in der Reihenfolge ihrer Entstehungsgeschichte aufgeführten Kategorien<br />
unterscheiden sich bezüglich Betriebssystem, Netzwerkfähigkeit und Funktion. Im<br />
Folgenden die wichtigsten Eckdaten zur Entscheidungsfindung als Stichworte.<br />
Fragenkatalog zur Entscheidungsfindung<br />
Betriebssystem Unter welchem Betriebssystem soll der Anschluss an die SPS<br />
erfolgen?<br />
Netzwerkfähigkeit Befindet sich die Anbindung auf dem Visualisierungsrechner<br />
oder einem anderen Rechner im Netzwerk?<br />
Projektier-<br />
unterstützung<br />
Visualisierungs-<br />
unabhängigkeit<br />
Ist die Menge der zu visualisierenden Daten umfangreich oder<br />
ändert sie sich im Verlauf der Entwicklung noch? Wie<br />
komfortabel können vom SPS-Programmierer geänderte Daten<br />
im Projektverlauf mit der Visualisierung abgeglichen werden?<br />
Müssen ggf. andere Applikationen mit der<br />
Kommunikationskomponente direkt Daten austauschen?
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Kommunikationskanal / Kommunikationskomponenten 19<br />
Datenkonsistenz Sind sequenzielle Kommunikationsabläufe mit Timing zu<br />
implementieren, die die üblichen Anforderungen der Konsistenz<br />
zwischen Anzeige und SPS-Speicher überschreiten?<br />
Optimierungen Belastet das zu übertragende Datenvolumen die<br />
Kommunikationsschnittstellen, so dass Optimierungsverfahren<br />
bei der Übertragung zu wählen sind?<br />
Die hier aufgeführten Kriterien werden in den folgenden Kapiteln näher erläutert.<br />
4.1.2.1 Betriebssystem<br />
Auf den Standard-Betriebssystemen sind keine Einschränkungen zu erwarten. In Bezug<br />
auf Windows CE sind folgende Einschränkungen zu nennen:<br />
• VisiWin-Treiber sind nicht unter CE lauffähig.<br />
• OPC-Server sind unter CE als spezielle Varianten generell zu verwenden. Nicht alle OPC-<br />
Server unterstützen jedoch diese Konstellation. Gegebenenfalls ist Rücksprache mit dem<br />
Hersteller zu nehmen.<br />
• VisiWinNET Treiber sind gerade unter dem Gesichtspunkt entwickelt worden, auch<br />
unter Windows CE zu arbeiten. Jedoch sind hier etwaige Hardwareabhängigkeiten zu<br />
beachten, die in der Preisliste und der spezifischen Treiberdokumentation aufgeführt<br />
werden.
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Kommunikationskanal / Kommunikationskomponenten 20<br />
4.1.2.2 Netzwerkfähigkeit<br />
Kommunikationskomponenten sollen ggf. nicht lokal auf dem Visualisierungsrechner laufen,<br />
sondern über ein Netzwerk angesprochen werden.<br />
Generell gilt:<br />
• VisiWin-Treiber sind nicht netzwerkfähig<br />
• OPC-Server sind als netzwerkfähig spezifiziert. Bis zur Spezifikation 3.0 (OPC-DA)<br />
verwenden OPC-Server für ihre Netzwerkfähigkeit DCOM (Distributed COM). Gerade<br />
DCOM aber stellte sich in den letzten Jahren als eklatante Sicherheitslücke im Windows-<br />
Betriebssystem dar und wird von Microsoft selbst nicht mehr weiterentwickelt. In der<br />
Praxis ist der Einsatz dieser OPC-Server im Netzwerk also unter sicherheitsrelevanten<br />
Gesichtspunkten kritisch zu betrachten.<br />
OPC-Server der neueren Generation (OPC UA) stellen dagegegen einen eigenen<br />
Kommunikationsstack zur Verfügung, dessen Sicherheitslinien weitestgehend<br />
betriebssystemunabhängig zu konfigurieren sind.<br />
Netzwerkkonstellation *) Standard-Laufzeit<br />
Einzelplatzsystem<br />
Visualisierung und Kommunikationskomponente<br />
laufen auf dem gleichen Rechner<br />
Verbindung zur SPS<br />
Kommunikation über ein<br />
Netzwerk<br />
Visualisierung verbindet sich über ein Netzwerk mit<br />
der Kommunikationskomponente<br />
Verbindung zur<br />
Kommunikationskomponente<br />
Visualisierung als OPC-Server<br />
Visualisierung verbindet sich über ein Netzwerk mit<br />
einer anderen Visualisierung, die als OPC-Server<br />
fungiert<br />
Verbindung zur<br />
Visualisierung über OPC<br />
Verbindung zur SPS<br />
Verbindung zur SPS<br />
(Windows XP)<br />
• VisiWin-Treiber<br />
• OPC-Server<br />
• VisiWinNET-<br />
Treiber<br />
• OPC-Server<br />
• VisiWin-Treiber<br />
• OPC-Server<br />
• VisiWinNET-<br />
Treiber<br />
Compact-Laufzeit<br />
(Windows CE)<br />
• OPC-Server<br />
• VisiWinNET-Treiber<br />
-<br />
-
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Kommunikationskanal / Kommunikationskomponenten 21<br />
*) Visualisierungen als Client-Server-Projekte werden hier nicht aufgeführt. Sie beinhalten<br />
die Netzwerkverbindung nicht zwischen Variablenkern und Netzwerkverbindung, sondern<br />
zwischen Visualisierungsoberfläche und Variablenkern. Natürlich kann diese zusätzliche<br />
Netzwerkfähigkeit mit den oben aufgeführten Möglichkeiten kombiniert werden.<br />
4.1.2.3 Projektierunterstützung<br />
Schon während der Erstellung eines SPS-Programmes muss in der Visualisierung eine<br />
Auswahl der verwendeten Prozessgrößen vorgenommen werden.<br />
Dabei müssen Informationen über Datentyp, Zugriff und Adresse jeder Prozessgröße in die<br />
Projektdatenbank der Visualisierung angegeben werden. Viele SPS-<br />
Programmierumgebungen generieren eine Liste von Prozessvariablen, deren Übernahme<br />
über einen Auswahldialog die Arbeit des Visualisierungsprojekteurs erleichtert. Auch hier<br />
sind Unterschiede für die möglichen Kommunikationskomponenten zu nennen:<br />
• VisiWin-Treiber beinhalten keine Übernahmeschnittstelle. Hier müssen die<br />
Informationen für jede Prozessgröße manuell in die Projektdatenbank eingegeben<br />
werden.<br />
• Die OPC-Spezifikation beinhaltet das "Browser"-Interface. Hier können die<br />
Variablendefinitionen über einen Auswahldialog in das Visualisierungsprojekt<br />
übernommen werden. Anzumerken hierbei ist jedoch, dass das Browsen teilweise mit<br />
Randbedingungen verknüpft ist. So erwarten einige OPC-Server beispielsweise beim<br />
Browsen eine angeschlossene SPS. Bei der Datenübernahme über ein Netzwerk können<br />
Schwierigkeiten mit der richtigen DCOM-Konfiguration auftreten und schließlich bleibt<br />
es jedem Hersteller eines OPC-Servers überlassen, ob er das Browsen überhaupt<br />
unterstützt.<br />
• Auch VisiWinNET-Treiber beinhalten eine (optionale) Schnittstelle zur einfachen<br />
Variablenübernahme. Zusätzlich wird hier auch das manuelle Anlegen von Variablen in<br />
der Projektdatenbank durch einen Dialog vereinfacht, der eine Maske für die<br />
unterstützten Adressen und Datentypen der SPS beinhaltet.<br />
4.1.2.4 Visualisierungsunabhängigkeit<br />
Wird eine möglichst hohe Unabhängigkeit angestrebt, weil z.B. sowohl die SPS als auch die<br />
Programmteile der Visualisierung austauschbare Elemente eines Gesamtkonzeptes sein<br />
sollen, sind folgende Unterschiede zu nennen:<br />
Sowohl VisiWin- als auch VisiWinNET-Treiber sind kommunikationstechnisch fest mit den<br />
Visualisierungssystemen der VisiWin-Familie verknüpft. OPC ist ein verbreiteter Standard,<br />
der von den Applikationen, die mit der SPS Daten austauschen nur die Implementierung<br />
einer OPC-Client-Schnittstelle erwarten. Soll also beispielsweise ein optionales<br />
Datenerfassungssystem SPS-Werte speichern, kann es dies gegebenenfalls direkt über einen<br />
OPC-Server erledigen, ohne dabei andere Applikationsteile, wie z.B. die Visualisierung, zu<br />
verwenden.<br />
In der Praxis zwingen aber nur sehr wenige Gründe den Projekteur, einen OPC-Server zu<br />
verwenden. Insbesondere sei darauf verwiesen, dass auch die Visualisierung selbst die über<br />
einen VisiWin-Treiber bezogenen Daten als OPC-Server für andere Anwendungen zur<br />
Verfügung stellt. Eine Anbindung weiterer Applikationen über OPC ist also nicht unbedingt<br />
ein K.O.-Kriterium für VisiWin-Treiber.
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Kommunikationskanal / Kommunikationskomponenten 22<br />
4.1.2.5 Optimierungen<br />
Die in VisiWinNET implementierten Optimierungsverfahren reduzieren mithilfe von zwei<br />
Mechanismen die Anzahl der Anfragen und damit das auszutauschende Datenvolumen:<br />
• Über Gruppen kann der Austausch von Variablenwerten blockweise oder einzeln<br />
gesteuert werden. Dabei kann entschieden werden, ob die Variablen synchron oder<br />
asynchron abgefragt werden und in welchem Zyklus die Abfrage bei der Steuerung<br />
erfolgt. Die Abfrage kann gezielt für eine Gruppe gestartet oder gestoppt werden, so<br />
dass beispielsweise die Visualisierung erst dann Variablen mit der SPS austauscht, wenn<br />
diese für die aktuelle Applikationsseite relevant sind.<br />
• Strukturen und Felder reduzieren die Übertragung des Protokollrahmens und die Anzahl<br />
der Anfragen bei der SPS. Felder fragen dabei einen Block von Variablen gleichen Typs<br />
ab. Strukturen beinhalten die Übertragung von Variablen unterschiedlicher Datentypen.<br />
Um auf erträgliche Übertragungszeiten zu kommen, müssen diese beiden<br />
Optimierungsverfahren bei bestimmten Kommunikationskomponenten eingesetzt<br />
werden.<br />
Beispiel:<br />
Die Übertragung von 100 Datenworten über einen den VisiWin-Treiber "S7 MPI" (RS 485-Schnittstelle) dauert ca. 2s,<br />
wenn jedes einzelne Datenwort als Variable in VisiWinNET definiert wurde. Liegen die Datenworte in der SPS in einem<br />
zusammenhängenden Speicherbereich, können die Variablen als Feld oder als Struktur definiert innerhalb von ca. 100<br />
ms abgefragt werden.<br />
Konzeptionell hat der Treiber und damit das System durch die Definition als<br />
Variablenfeld an zwei Stellen Zeit gewonnen:<br />
• Die Anfrage beinhaltet nur einmalig das Rahmenprotokoll, die Adresse sowie die Länge<br />
des abzufragenden Datenblockes. Weitere Rahmenprotokolle müssen nicht übertragen<br />
werden.<br />
• Die Wartezeit zwischen Anfrage, Antwort und erneuter Abfrage entfällt.<br />
Die Gruppensteuerung wird von VisiWinNET-Treibern und OPC-Servern auf jeden Fall<br />
unterstützt. Einschränkungen gelten hier für VisiWin-Treiber: Das synchrone Lesen wird<br />
erst ausgeführt, wenn alle Schreibaufträge ausgeführt wurden.<br />
Bei OPC-Servern ist zu überprüfen, ob der Zugriff über Felder oder Strukturen möglich<br />
ist. Dazu müssen Datenblöcke entweder als Startadresse eines Byteblockes oder über<br />
IEC1131 zu adressieren sein.<br />
VisiWin(NET)-Treiber gewährleisten diesen Zugriff in den Standard-Projekttypen.
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Kommunikationskanal / Kommunikationskomponenten 23<br />
4.1.2.6 Datenkonsistenz<br />
Ein typisches Beispiel fehlerhafter Datenkonsistenz ist das Setzen eines Trigger, der in<br />
der SPS eine Aktion startet und dort auch automatisch zurückgesetzt wird. In der Praxis<br />
führt dies oftmals zum Fehler in der Anzeige und zu der Vermutung, dass<br />
Wertänderungen von der Visualisierung "verschluckt" werden.<br />
Beispiel "verlorener" Werte:<br />
Aktionen (in chronologischer<br />
Reihenfolge)<br />
Bitwert<br />
Steuer-<br />
element<br />
Variablen<br />
-<br />
kern<br />
OPC-<br />
Server<br />
(Lese-<br />
Cache)<br />
OPC-<br />
Server<br />
(Schreib-<br />
puffer)<br />
Ausgangszustand 0 0 0 - 0<br />
Bediener setzt Bit 1 0 0 - 0<br />
Anforderung wird<br />
weitergereicht an<br />
Variablenkern<br />
Anforderung wird<br />
weitergereicht an OPC-Server<br />
OPC-Server reicht<br />
Anforderung im Schreibcache<br />
an SPS weiter<br />
SPS verarbeitet die Aktion<br />
und setzt den Wert zurück auf<br />
0<br />
.<br />
.<br />
.<br />
Endzustand: Beim nächsten<br />
Lesen vergleicht der OPC-<br />
Server den gelesenen Wert<br />
mit dem Wert im Lesecache,<br />
stellt fest, dass keine<br />
Änderung vorgenommen<br />
wurde und gibt keine<br />
weiteren Nachrichten an den<br />
Variablenkern ab.<br />
1 1 0 - 0<br />
1 1 0 1 0<br />
1 1 0 1 1<br />
1 1 0 - 0<br />
1 1 0 - 0<br />
Der hier gezeigte Ablauf entspricht genau der OPC-Spezifikation mit der Anforderung eines<br />
getrennten Schreib- und Lesepuffers. Tatsächlich ist es so, dass eine Menge Supportfälle von<br />
der <strong>INOSOFT</strong> bearbeitet werden, die genau dieses völlig unerwünschte Verhalten zeigen.<br />
SPS
VisiWinNET 2005 Prozessanbindung<br />
Abhilfen:<br />
Definitionen der Prozessanbindung / Kommunikationskanal / Kommunikationskomponenten 24<br />
• Der Hersteller eines OPC-Servers kann gegen die Spezifikation verstoßen und eine<br />
Verbindung zwischen Schreib- und Lesecache einbauen, d.h. er müsste den geänderten<br />
Wert nach dem Versenden in den Lesecache übertragen. Allerdings sind solche<br />
Informationen üblicherweise nicht aus dem Datenblatt zu ersehen und müssen ggf.<br />
genau mit dem Hersteller abgesprochen sein.<br />
• Eine andere Möglichkeit besteht darin, genau diese Konstellationen des beidseitigen<br />
Schreibens auf eine Variable zu vermeiden. Möglicherweise hilft ein inkrementierender<br />
Zähler, der als Trigger an die SPS übersendet wird. Eine Quittierung der SPS über Start<br />
oder Ende einer Aktion sollte auf einer anderen Variablen zurückgegeben werden.<br />
Letztlich erkauft man sich so eine Datenkonsistenz durch erhöhten Programmieraufwand<br />
in SPS und Visualisierung.<br />
VisiWin-Treiber beinhalten übrigens diese Verbindung zwischen Lese- und Schreibcache.<br />
Werte, die geschrieben wurde, werden auch gleich in den Lesecache übertragen und dort als<br />
geändert markiert.<br />
Auch VisiWinNET-Treiber beinhalten diese Rückmeldung des geschriebenen Wertes.<br />
Hier wird der geschriebene Wert in etwaig anstehende Rückmeldungen von<br />
Lesezugriffen gepatcht.
VisiWinNET 2005 Prozessanbindung<br />
4.2 Prozessvariable<br />
Definitionen der Prozessanbindung / Prozessvariable / Kommunikationskomponenten 25<br />
Prozessvariablen repräsentieren in der Visualisierung Prozessdaten (Werte, die von der SPS<br />
als Speicherzellen zur Verfügung gestellt werden). Dabei sind als wichtigste Informationen<br />
die Adresse (ItemID) und die Repräsentationsform (Datentyp) des angesprochenen SPS-<br />
Speicherbereiches in der Prozessvariablendefinition enthalten.<br />
Zusätzlich zur reinen Übertragung von Prozessdaten unterstützt eine<br />
Prozessvariablendefinition in VisiWinNET u.a. folgende Sonderfunktionen:<br />
• Angabe von Grenzwerten (Maximal-/Minimalwert), die die Itemqualität beeinflussen<br />
können<br />
• Angabe eines Ersatzwertes<br />
• Zugriff auf Datenfelder<br />
• Zugriff auf Strukturen<br />
• Sprach-/Prozessvariablenwertabhängige Umrechnung von Prozessvariablenwerten<br />
(Einheitenklassen)<br />
Parameter der Prozessvariablendefinition<br />
Name Beschreibung<br />
Adresse Bezeichner der Prozessvariablen aus der<br />
Kommunikationskomponente (für VisiWin-Treiber).<br />
Alias Bezeichner des Objektes.<br />
Datentyp Bestimmt den Aufbau und die Länge des Prozessvariablenwertes.<br />
Definition aktiv Bestimmt, ob zur Laufzeit die Objektdefinition gültig ist.<br />
Einheitenklasse<br />
(Anzeige)<br />
Einheitenklasse<br />
(Prozess)<br />
Verweis auf eine sprach- oder variablenabhängige Umrechnung.<br />
Verweis auf eine variablenabhängige Umrechnung.<br />
Einzeln beschreibbar Legt fest, ob die Elemente einer Prozessvariablen eines komplexen<br />
Datentyps einzeln zur Kommunikationskomponente geschrieben<br />
werden können.<br />
Ersatzwert Wert, der anstelle des wahren Prozesswertes weitergereicht wird.<br />
Ersatzwert Modus Legt fest, wann der Ersatzwert weitergereicht wird.<br />
Feldgröße Anzahl der Prozessvariablen bei blockweisem Zugriff.<br />
ItemID Bezeichner der Prozessvariablen aus der<br />
Kommunikationskomponente (für OPC-Server).<br />
Kommentar Wahlfreier Kommentar zum Objekt.
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Prozessvariable / Prozessvariablen bearbeiten 26<br />
Maximalwert Oberer Grenzwert, den die Prozessvariable annehmen darf.<br />
Minimalwert Unterer Grenzwert, den die Prozessvariable annehmen darf.<br />
Text Sprachumschaltbarer Text zur Prozessvariablen<br />
Variablenoptionen Bitcodierte Einstellungen zur Prozessvariablen<br />
Zugriffsart Lese-/Schreibrechte auf die Prozessvariable.<br />
Zugriffspfad Optionale hardwarespezifische Datenwegbeschreibung für die SPS.<br />
4.2.1 Prozessvariablen bearbeiten<br />
Prozessvariablen werden in Kommunikationskanälen projektiert und im Tabelleneditor<br />
angezeigt. Jede Prozessvariablen beinhaltet einen editierbaren Parametersatz: Hier werden<br />
der Name, die Quelle in der Steuerung und weitere Funktionen eingestellt.<br />
Der Tabelleneditor der Prozessanbindung wird über einen Klick auf einen entsprechenden<br />
Knoten im Projektexplorer geöffnet.<br />
Neben der flachen Darstellung (alle Prozessvariablen werden als eine Liste aufgezeigt)<br />
beinhaltet der Editor die Strukturierung in Namensräumen. Dabei werden die<br />
Prozessvariablenbezeichner durch ein Separatorzeichen zerlegt. Aus den einzelnen<br />
Namensbestandteilen werden Strukturierungsknoten gebildet, die im Projektexplorer als<br />
Navigationshilfe angezeigt werden. Das Separatorzeichen kann vom Projekteur als<br />
Parameter des Kommunikationskanals geändert werden.<br />
Der Editor bietet folgende Funktionen zum Projektieren von Prozessvariablen:<br />
Neu erzeugen Über Eintrag "Neu" im Kontextmenü des Tabelleneditors wird eine<br />
neue Prozessvariablen in das Projekt eingefügt. Dieses manuelle<br />
hinzufügen von Prozessvariablen wird üblicherweise verwendet:<br />
• Wenn interne Prozessvariablen definiert werden.<br />
• Wenn Prozessvariablen in VisiWin-Treibern definiert werden<br />
müssen<br />
• Wenn der OPC-Server oder VisiWinNET-Treiber nicht über<br />
eine Browse-Schnittstelle verfügt<br />
Alternativ zum manuellen Hinzufügen können Prozessvariablen<br />
auch aus einem bestehenden OPC-Server-Projekt gelesen werden.<br />
Das Lesen erfolgt über die sogenannte Browse-Schnittstelle<br />
(Bestandteil der OPC-Spezifikation oder spezielle Komponente für<br />
einen VisiWinNET-Treiber). In einem Variablenauswahldialog<br />
werden dabei die dem OPC-Server bekannten Variablen des<br />
Steuerungsprogramms aufgelistet. Von hier aus können<br />
Prozessvariablen direkt in das Projekt übernommen werden. Der<br />
Browse-Dialog wird (wenn von der Kommunikationskomponente<br />
unterstützt) aus dem Kontextmenü des Kanalknotens im<br />
Projektexplorer aufgerufen.
VisiWinNET 2005 Prozessanbindung<br />
Parameter<br />
bearbeiten<br />
Definitionen der Prozessanbindung / Prozessvariable / Prozessvariablen bearbeiten 27<br />
Die VisiWinNET-Eigenschaftenseite zeigt die Parameter der im<br />
Tabelleneditor markierten Prozessvariablendefinition an. Das<br />
Bearbeiten der Parameter ist aber auch direkt in den Feldern des<br />
Tabelleneditors erlaubt.<br />
Löschen Eine oder mehrere Prozessvariablen können gelöscht werden,<br />
indem:<br />
• zuerst die zu löschenden Definitionen markiert werden (Klick<br />
auf die Selektorspalte am linken Tabellenrand ggf. bei<br />
gehaltener Strg- oder Shift-Taste für eine Mehrfachselektion)<br />
• Anschließend im Kontextmenü des Tabelleneditors der Eintrag<br />
"Löschen" gewählt wird.<br />
Prozessvariablen werden über den gleichnamigen Parameter einer Gruppe zugeordnet.<br />
Die Gruppendefinitionen des Projektes werden im Projektexplorer angezeigt. Sie<br />
beinhalten Informationen, die den Datenaustausch mit der Kommunikationskomponente<br />
steuern. Im Tabelleneditor werden nach dem Markieren eines Gruppenknotens die<br />
zugeordneten Prozessvariablen dargestellt. In dieser Darstellung können<br />
Prozessvariablen bearbeitet, jedoch nicht gelöscht oder neu eingefügt werden.
VisiWinNET 2005 Prozessanbindung<br />
4.3 Gruppe<br />
Definitionen der Prozessanbindung / Gruppe / Prozessvariablen bearbeiten 28<br />
Gruppendefinitionen dienen zur Steuerung des Datenaustausches: Prozessvariablen aus<br />
verschiedenen Kommunikationskanälen können einer Gruppe zugeordnet werden. Die<br />
Gruppendefinition enthält die Information, in welchem Zyklus oder auf welches Ereignis die<br />
Prozessvariablenwerte zwischen Variablenkern und Kommunikationskomponente<br />
ausgetauscht werden.<br />
Damit der Datenaustausch überhaupt funktioniert, muss jede<br />
Prozessvariable in einer Gruppe vorhanden sein. Daher werden<br />
automatisch alle in ein VisiWinNET-Projekt neu eingefügte<br />
Prozessvariablen in die Gruppe "Standard" eingetragen.<br />
Gruppen stellen folgende Funktionalitäten zur Verfügung:<br />
• synchroner oder asynchroner Datenaustausch einzeln für Lese- und Schreibzugriffe<br />
einstellbar.<br />
• Prozessvariablenwert-gesteuerte Aktivierung des Datenaustausches aller<br />
Prozessvariablen über eine Steuervariable.<br />
Parameter des Gruppenobjektes<br />
Name Beschreibung<br />
Abtastzeit Zykluszeit des Datenaustausches<br />
Definition aktiv Bestimmt, ob zur Laufzeit die Definition gültig ist.<br />
Aktivierungsmodus Datenaustausch automatisch oder Variablenwert-gesteuert<br />
Hysterese Änderungsgrad von Prozessvariablenwerten, bei dem ein<br />
Leszugriff ausgelöst wird.<br />
Kommentar Wahlfreier Kommentar zum Objekt<br />
Lesezugriffe synchroner oder asynchroner Datenaustausch für lesende Zugriffe<br />
Name Bezeichner des Objektes<br />
Schreibzugriffe synchroner oder asynchroner Datenaustausch für schreibende<br />
Zugriffe<br />
Steuerobjekt in Abhängigkeit vom Aktivierungsmodus gewähltes Objekt zum<br />
Steuern der Gruppenfunktionalität<br />
Zeitzonendifferenz Korrektur der Prozessvariablen-Zeitstempel bei Überschreiten<br />
einer Zeitzonengrenze
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Gruppe / Gruppen bearbeiten 29<br />
4.3.1 Gruppen bearbeiten<br />
Gruppen werden im Projektexplorer unter dem Knoten "Kommunikation→Gruppierungen"<br />
dargestellt. Jede Gruppe beinhaltet:<br />
• einen editierbaren Parametersatz: Hier kann der Name oder beispielsweise die<br />
Abtastzeit eingestellt werden.<br />
• ggf. Verknüpfungen zu Prozessvariablendefinitionen: Prozessvariablen werden über den<br />
gleichnamigen Parameter einer Gruppe zugeordnet. Im Tabelleneditor werden nach dem<br />
Markieren eines Gruppenknotens die zugeordneten Prozessvariablen dargestellt.<br />
Der Editor bietet folgende Funktionen zum Projektieren von Gruppen:<br />
Neu erzeugen Über Eintrag "Neu" im Kontextmenü des Knotens "Gruppierungen".<br />
Parameter<br />
bearbeiten<br />
Ein Klick auf einen Gruppenknoten lädt die entsprechenden<br />
Parameter in die VisiWinNET-Eigenschaftenseite. Hier können die<br />
Parameterwerte der Gruppendefinition bearbeitet werden.<br />
Löschen Über den Eintrag "Löschen" im Kontextmenü eines<br />
Gruppenknotens wird die Definition gelöscht. Dabei werden alle<br />
Verknüpfungen zu Prozessvariablen zurückgelenkt auf die Gruppe<br />
"Standard".<br />
Damit der Datenaustausch überhaupt funktioniert, muss jede<br />
Prozessvariable in einer Gruppe vorhanden sein. Daher werden<br />
automatisch alle in ein VisiWinNET-Projekt neu eingefügte<br />
Prozessvariablen in die Gruppe "Standard" eingetragen.<br />
4.3.2 Verwendung von Gruppen<br />
Nicht alle Kommunikationskomponenten der Firma <strong>INOSOFT</strong><br />
unterstützen die hier genannten Funktionen vollständig. Lesen Sie<br />
bitte auch die spezifische Dokumentation der entsprechenden<br />
Treiber/ OPC-Server.<br />
Bei OPC-Servern von Fremdherstellern lesen Sie die einschlägige<br />
Dokumentation bzw. nehmen Sie Rücksprache mit dem Hersteller.<br />
Das natürliche Verhalten freilaufender Prozessvariablen in VisiWinNET schließt ein, dass<br />
jede Variable einer Gruppe zugeordnet ist. Über die Gruppe wird festgelegt, wann bzw. in<br />
welchem Abtastzyklus die zugeordneten Prozessvariablen zwischen Variablenkern und<br />
Kommunikationskomponente ausgetauscht werden sollen.
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Gruppe / Verwendung von Gruppen 30<br />
Implizit kategorisiert der Projekteur die Variablen durch die Zuordnung zu Gruppen mit<br />
unterschiedlichen Einstellungen nach Verwendung und Wichtigkeit. Dabei stehen in der<br />
Praxis folgende Fragen im Raum:<br />
• Wann wird eine Variable gebraucht?<br />
• Welche Latenzzeit ist maximal zulässig (Wie lange darf der Prozessvariablenwert in der<br />
Oberfläche falsch angezeigt bleiben, wenn sich der Originalwert in der SPS ändert)?<br />
• Welche Änderungsrate erwarte ich für einen Wert. (sich minütlich ändernder<br />
Temperaturwert gegenüber Lichtschranke, durch die im 100 ms-Raster ein produziertes<br />
Teil fährt)?<br />
Nach dem Anlegen einer neuen Prozessvariablen wird durch die Entwicklungsumgebung<br />
automatisch die Zuordnung zur Gruppe "Standard" hergestellt.<br />
Diese Gruppe ist eine Definition aus dem Zweig "Variablen→Gruppierungen". Sie beinhaltet<br />
die Zykluszeit "250 ms" und ist als "automatisch aktiv" angegeben. Damit wird die Gruppe<br />
aktiviert, sobald eine darin enthaltene Variable (z.B. durch das Laden eines<br />
Applikationsformulars) beim Variablenkern angefordert wird.<br />
Die Parameter einer Gruppendefinition lassen im wesentlichen drei Einstellungen zur<br />
Kommunikationssteuerung zu:<br />
Zyklus Legt fest, in welchem Zyklus die Daten von der<br />
Kommunikationskomponente zurückgegeben werden sollen.<br />
In der Praxis werden Variablen, deren Änderungsrate langsam ist,<br />
gemeinsam in eine Gruppe mit einer langsamen Zykluszeit<br />
gepackt. Dies entlastet die Kommunikation. Es macht keinen Sinn,<br />
einen Sensorwert im Millisekundentakt abzutasten, wenn eine<br />
Wertänderung physikalisch maximal alle 10 Sekunden erfolgen<br />
kann.
VisiWinNET 2005 Prozessanbindung<br />
automatisch/<br />
getriggert<br />
Definitionen der Prozessanbindung / Gruppe / Verwendung von Gruppen 31<br />
Abhängig von der verwendeten Kommunikationskomponente hat<br />
die Zykluszeit folgende Funktion:<br />
• OPC-Server: Laut OPC-Spezifikation gibt die Zykluszeit an, in<br />
welchem Takt die Wertänderungen der Variablen einer Gruppe<br />
an den Client (hier der Variablenkern der Visualisierung)<br />
zurückgegeben werden.<br />
• VisiWin-Treiber: Der Variablenkern aktiviert im in der Gruppe<br />
angegebenen Zyklus eine Neuanforderung auf die enthaltenen<br />
Variablen. Dabei ist zu beachten, dass der Variablenkern selber<br />
einen Grundzyklus enthält. Dieser Grundzyklus (einstellbar im<br />
Projektexplorerknoten "Projektkonfiguration→Laufzeit",<br />
Einstellung "Zykluszeit") steht in einem neuen Projekt auf 100<br />
ms. Er bildet das Basisraster für mögliche Anforderungen an<br />
VisiWin-Treiber. Wird z.B. eine Gruppenzykluszeit kleiner<br />
eingestellt, als der Zyklus des Variablenkerns ist, hat dies<br />
keinen Effekt.<br />
• VisiWinNET-Treiber: Gruppen- und Variablendefinitionen<br />
werden vom Variablenkern zum Treiber übergeben. Der<br />
Treiber organisiert selbstständig seine Leseanforderungen in<br />
den in den Gruppen angegebenen Zyklen. Gelesene Daten<br />
werden dem Variablenkern zur Verfügung gestellt, der in<br />
seinem eigenen Zyklus die Daten weiterverteilt.<br />
Müssen Variablen immer zur Verfügung stehen?<br />
Typische Anwendungen für Variablen, die der Visualisierung<br />
während der gesamten Laufzeit zur Verfügung stehen müssen,<br />
sind:<br />
• Variablen, die Alarme signalisieren<br />
• Kontinuierlich aufgezeichnete oder überwachte Werte (Trend,<br />
Prozessdatenüberwachung)<br />
• Variablen, die immer (also auf allen Bildschirmseiten) sichtbar<br />
sind<br />
Daneben gibt es eine Reihe von Variablen, die nicht immer<br />
ausgetauscht werden müssen, wie z.B.:<br />
• Variablen, die nur auf einer Applikationsseite in der<br />
Visualisierung erscheinen (z.B. Serviceseite)<br />
• Getriggerte Aufzeichnungen<br />
• Rezepte<br />
Die Variablen, die nicht kontinuierlich benötigt werden, lassen sich<br />
in Gruppen anordnen, die durch einen Trigger aktiviert werden.<br />
Der Trigger lässt dabei zwei Möglichkeiten zu:<br />
• Das Ein-/Ausschalten des zyklischen Zugriffs<br />
• Das Einmalige Lesen/ Schreiben
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Gruppe / Verwendung von Gruppen 32<br />
Über den Trigger lässt sich der Austausch von Variablen einer<br />
Gruppe also gezielt steuern. So können z.B. die Variablen eines<br />
Formulars oder eines Rezeptes in einer Gruppe zusammengefasst<br />
werden. Über die Ansteuerung des Triggers wird aus der<br />
Applikation heraus die Gruppe erst aktiviert, wenn die<br />
entsprechende Funktion in der Visualisierung benötigt wird.<br />
Implizit enthält das System zwei weitere Mechanismen, die sich<br />
teilweise mit der Funktion der Gruppenaktivierung überschneiden:<br />
• In der Standard-Laufzeit werden grundsätzlich auch Variablen<br />
einzeln aktiviert/deaktiviert. Wird ein neues Formular geladen,<br />
melden sich die Steuerelemente einzeln mit ihren<br />
Variablenanforderungen beim Variablenkern an. Die OPC-<br />
Spezifikation beinhaltet zusätzlich zur Gruppenaktivierung<br />
auch eine Variablenaktivierung. Der Variablenkern der<br />
Standard-Laufzeit verwendet diese Funktion, wenn eine<br />
Prozessvariable von der Applikation angefordert wird. So<br />
können z.B. Variablen aus mehreren Formularen einer Gruppe<br />
zugeordnet sein und trotzdem werden nur die in den<br />
geladenen Formularen angegebenen Variablen über die<br />
Kommunikationskomponente ausgetauscht.<br />
Die Compact-Laufzeit arbeitet bei OPC-Servern nicht mit der<br />
Aktivierung auf Variablenebene. Hier wird die Aktivierung nur<br />
auf Gruppenebene gesteuert, d.h. wird eine Variable<br />
angefordert, werden alle in der Gruppe enthaltenen Variablen<br />
über den OPC-Server ausgetauscht..<br />
• Ab der Version 6.2 unterstützt VisiWinNET eine optimierte<br />
Form der Aktivierung einzelner Variablen. Bisher konnte es<br />
passieren, dass durch die Aktivierung einzelner Variablen in<br />
bestimmten Kommunikationskomponenten immer wieder<br />
zeitaufwändige Aufgaben zur Optimierung des Datentranfers<br />
durchgeführt wurden. Z.B. versuchen verschiedene<br />
VisiWinNET-Treiber, die zum Datenaustausch angeforderten<br />
Variablen zu Blöcken zusammenzufassen, die einen geringeren<br />
Protokollaufwand verursachen. Bei jeder Variablenan-<br />
/abmeldung werden diese Blöcke neu berechnet. Schicken<br />
beispielsweise die Steuerelemente eines Formulars<br />
nacheinander mehrere neue Variablenanforderungen an den<br />
Variablenkern, werden die entsprechenden Variablen in der<br />
Kommunikationskomponente einzeln aktiviert. Damit werden<br />
in der Kommunikationskomponente auch immer wieder die<br />
gleichen Optimierungsroutinen ausgeführt.<br />
Abhilfe schafft hier die blockweise Variablenaktivierung, die<br />
z.B. in 'BaseForm' verwendet wird. Dabei werden die<br />
Optimierungsmechanismen in der<br />
Kommunikationskomponente solange unterdrückt, bis alle<br />
Variablenaktivierungen, die durch das Laden oder Aktivieren<br />
des Formulars verursacht wurden, beim Variablenkern und<br />
damit bei der Kommunikationskomponente angekommen sind.
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Gruppe / Verwendung von Gruppen 33<br />
In der Standard-Laufzeit funktioniert dieser Mechanismus auch<br />
mit OPC-Servern.<br />
synchron/asynchron Wann ist es sinnvoll, Daten direkt ohne Wartezeiten mit der SPS<br />
auszutauschen?<br />
Grundsätzlich gilt:<br />
• Beim asynchronen Datenaustausch gibt der Variablenkern<br />
einen Auftrag. Wann die Kommunikationskomponente diesen<br />
Auftrag ausführt, bleibt ihr selbst überlassen. Das Ergebnis des<br />
Auftrages (beim Lesen der zurückgelesene Wert, beim<br />
Schreiben ggf. eine Quittierung) stellt die<br />
Kommunikationskomponente nach der Bearbeitung entweder<br />
ereignisgesteuert oder in Form einer gemeinsam genutzten<br />
Variablenliste zur Verfügung.<br />
• Beim synchronen Datenaustausch schickt der Variablenkern<br />
die Datenanforderung ab und wartet solange, bis das Ergebnis<br />
eintrifft. Um die Wartezeiten kurz zu halten, werden synchrone<br />
Aufträge von VisiWin- und VisiWinNET-Treibern bearbeitet,<br />
sobald der aktuell anstehende asynchrone Auftrag beendet<br />
wurde. Nachfolgende asynchrone Aufträge werden erst wieder<br />
bearbeitet, sobald keine synchronen Aufträge mehr anstehen.<br />
Beim Anlegen einer neuen Gruppe wird VisiWinNET von der<br />
Entwicklungsumgebung das asynchrone Lesen und das synchrone<br />
Schreiben als Vorgabewert gewählt. Implizit wird hier davon<br />
ausgegangen, dass beim sich regelmäßig wiederholenden Lesen<br />
die Latenzzeit (von der Wertänderung in der SPS bis zur Änderung<br />
einer Anzeige in der Visualisierung) keine wesentliche Rolle spielt,<br />
beim Schreiben aber der Wert so schnell wie möglich in die SPS<br />
gelangen soll. In der Praxis funktioniert dieses System, weil der<br />
Anteil der Schreibaufträge gegenüber den Leseaufträgen gering<br />
ist.<br />
Leitsatz:<br />
Jeder synchrone Zugriff blockiert den Variablenkern und damit<br />
auch die Applikation bis zur Abarbeitung. Halten Sie daher<br />
synchrone Aufrufe so kurz wie möglich und vermeiden Sie den<br />
regelmäßigen zyklischen Gebrauch.<br />
In bestimmten Fällen wird ungeachtet der Einstellung<br />
"synchron/asynchron" vom Variablenkern immer eine synchrone<br />
Datenübertragung ausgeführt:<br />
• Beim Lesen und Schreiben von Rezepten<br />
• Beim Lesen eines Variablenwertes über die Funktion 'VWGet',<br />
wenn der Übergabeparameter 'avoidCache' den Wert 'true' hat.
VisiWinNET 2005 Prozessanbindung<br />
FAQ<br />
Definitionen der Prozessanbindung / Gruppe / Verwendung von Gruppen 34<br />
• Frage: Meine Kommunikation läuft langsam und stockend,<br />
warum?<br />
Antwort: Teilen Sie die Variablen Ihres Projektes in<br />
verwendungsbezogene Gruppen auf. Wählen Sie dabei<br />
realistische Zykluszeiten. Aktivieren Sie jeweils zu einem<br />
Zeitpunkt nur die Gruppen, deren Variablen sie gerade in der<br />
Visualisierung verwenden.<br />
• Frage: Gibt es neben Gruppen noch andere<br />
Optimierungsmöglichkeiten für die Kommunikation?<br />
Antwort: Neben Gruppen können auch Strukturen einen<br />
wesentlichen Anteil an der Performanceoptimierung<br />
einnehmen (siehe Kap. "Verwendung von Strukturen")..<br />
• Frage: Ich verwende einen VisiWin-Treiber. Nach mehreren<br />
Versuchen habe ich mein Projekt auf eine einzige Variable<br />
abgespeckt. Und trotzdem wird die angegebene Zykluszeit von<br />
50 ms nicht eingehalten. Warum?<br />
Antwort: Überprüfen Sie in der Projektkonfiguration die<br />
Zykluszeit des Variablenkerns. Der Wert dafür steht bei einem<br />
neuen Projekt auf 100ms. ÜBerprüfen sie außerdem die<br />
Kommunikationszeit des zuletzt kommunizierten Objektes in<br />
dem Fensteroberfläche des Treibers (Siehe Dokument<br />
"VisiWin-Treiber"). Ein entsprechender Diagnosedialog ist auch<br />
in VisiWinNET-Treibern implementiert.<br />
• Frage: Ich habe einen VisiWinNET-Treiber und zwei Gruppen.<br />
Der Großteil der Variablen liegt in der Standardgruppe mit 2s<br />
Zyklus. Einige Variablen aber brauche ich für eine<br />
Messwertaufnahme im 50 ms-Zyklus. Die habe ich in eine<br />
Extra-Gruppe mit der entsprechenden Zykluszeit gepackt. Die<br />
Variablen kommen aber nicht zuverlässig im angegeben<br />
Zyklus.<br />
Antwort: Tatsächlich arbeitet der VisiWinNET-Treiber erst alle<br />
Aufträge einer Gruppe ab. Wenn die Abarbeitungszeit den<br />
Zyklus einer anderen Gruppe überschreitet, kommt das<br />
Ergebnis für die Variablen der anderen Gruppe entsprechend<br />
später. Überlegen Sie, ob Sie die aufgenommenen Messwerte<br />
in der SPS in einen Felddatentyp (z.B. Feld mit 1000<br />
Elementen vom Datentyp VT_R4) packen können. Beschreiben<br />
Sie die Elemente der Variable im SPS-Programm mit den<br />
aufgenommenen Werten. Lesen Sie in der Visualisierung die<br />
Feldvariable als Datenblock aus. Für die Darstellung und<br />
Verwaltung als Messkurve z.B. unterstützt der Client<br />
Funktionen, über die auch Felder programmatisch in ein<br />
Trendobjekt übertragen werden können.
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Gruppe / Verwendung von Gruppen 35<br />
• Frage: Ich verwende den OPC-Server "Simatic NET". Trotzdem<br />
ich alle Prozessvariablen formularweise einzelnen Gruppen<br />
zugeordnet habe, dauert das Laden der Formulare sehr lange.<br />
Wie optimiere ich die Ladezeiten der Formulare?<br />
Antwort: Hier ist das Aktivieren der einzelnen Variablen das<br />
Problem. Verwenden sie den blockweisen<br />
Variablenaktivierungsmechanismus durch die Verwendung von<br />
'BaseForm'.
VisiWinNET 2005 Prozessanbindung<br />
4.4 Einheitenklasse<br />
Definitionen der Prozessanbindung / Einheitenklasse / Verwendung von Gruppen 36<br />
Einheitenklassen ermöglichen die Variablenwert-/ oder sprachabhängige Umrechnung von<br />
Prozessvariablen durch den Variablenkern. Der Bezug einer Prozessvariablen auf eine<br />
Einheitenklasse wird dabei durch die Parameter Einheitenklasse (Prozess)/ (Anzeige)<br />
hergestellt. Die Umrechnung kann zu zwei Zeitpunkten erfolgen.<br />
• Beim Datenaustausch zwischen Kommunikationskomponente und Variablenkern durch<br />
eine variablenabhängige Einheitenklasse: Der umgerechnete Wert wird im gesamten<br />
System als Prozessvariablenwert verteilt. Eine Archivierung z.B. würde nur den<br />
umgerechneten Wert speichern.<br />
• Beim Datenaustausch zwischen Variablenkern und Visualisierung durch eine sprach-<br />
oder eine variablenabhängige Einheitenklasse: Nur die Visualisierung bekommt den<br />
umgerechneten Wert. Dies ist z.B. sinnvoll bei einer sprachabhängigen<br />
Einheitenumschaltung (Meter/Inch) insbesondere in einem Client-/Serversystem mit<br />
mehreren Clients unterschiedlicher Sprache.<br />
Einheitenklassen beinhalten u.a. folgende Funktionalität:<br />
• Umschaltung in Abhängigkeit von der aktuellen Spracheinstellung eines Clients.<br />
• Umschaltung in Abhängigkeit von einer Prozessvariablen.<br />
Parameter der Einheitenklasse<br />
Einheitenklasse (variablenabhängig)<br />
Name Beschreibung<br />
• Eine sprachabhängige Einheitenklasse kann nicht im Parameter<br />
"Einheitenklasse (Prozess) einer Prozessvariablen verwendet<br />
werden.<br />
• Wird eine variablenabhängige Einheitenklasse im Parameter<br />
"Einheitenklasses (Anzeige) einer Prozessvariablen angegeben,<br />
ist es in einem Client-Server-System fast immer sinnvoll, die<br />
Umschaltvariable der Einheitenklasse als "clientintern" zu<br />
markieren. (Siehe Parameter "Variablenoptionen").<br />
Kommentar Wahlfreier Kommentar zum Objekt<br />
Name Bezeichner des Objektes<br />
Umschaltvariable Variable zum Umschalten zwischen den Einheitenobjekten<br />
Einheitenklasse (sprachabhängig)<br />
Name Beschreibung<br />
Kommentar Wahlfreier Kommentar zum Objekt<br />
Name Bezeichner des Objektes<br />
Standardsprache Legt die zu benutzende Einheit fest, wenn für die aktuelle Sprache<br />
kein Einheitenobjekt definiert wurde
VisiWinNET 2005 Prozessanbindung<br />
4.4.1 Einheitenklassen bearbeiten<br />
Einheitenklassen werden im Projektexplorer unter dem Knoten<br />
"Kommunikation→Einheitenklassen" in zwei Kategorien unterteilt:<br />
variablenabhängig Umschaltung über einen Variablenwert<br />
Definitionen der Prozessanbindung / Einheitenklasse / Einheitenklassen bearbeiten 37<br />
sprachabhängig Umschaltung über die im Projekt aktive Sprache<br />
Jede Einheitenklasse beinhaltet:<br />
• einen editierbaren Parametersatz: Hier kann der Name und die Umschaltung<br />
parametriert werden.<br />
• ggf. Verknüpfungen zu Einheitendefinitionen: Im Tabelleneditor werden nach dem<br />
Markieren einer Einheitenklasse die zugehörigen Einheitenumrechnungen dargestellt.<br />
Prozessvariablendefinitionen nehmen über die Parameter "Einheitenklasse (Prozess)" und<br />
"Einheitenklasse (Anzeige)" bezug auf die Einheitenklassendefinitionen.<br />
Der Editor bietet folgende Funktionen zum Projektieren von Einheitenklassen:<br />
Neu erzeugen Über Eintrag "Neu" im Kontextmenü der Knoten<br />
"variablenabhängig" und "sprachabhängig" .<br />
Parameter<br />
bearbeiten<br />
Ein Klick auf eine Einheitenklasse lädt die entsprechenden<br />
Parameter in die VisiWinNET-Eigenschaftenseite. Hier können die<br />
Parameterwerte bearbeitet werden.<br />
Löschen Über den Eintrag "Löschen" im Kontextmenü eines<br />
Einheitenklassenknotens wird die Definition gelöscht. Dabei<br />
werden auch die enthaltenen Einheitenumrechnungen gelöscht.
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Einheitenklasse / Einheitenumschaltungen implementieren 38<br />
4.4.2 Einheitenumschaltungen implementieren<br />
Einheitenumschaltungen basieren in VisiWinNET auf Umrechnungen von<br />
Prozessvariablenwerten anhand linearer Gleichungen. Ein typisches Beispiel hierfür ist die<br />
physikalische Größe "Temperatur", die länderspezifisch im europäischen Raum über die<br />
Einheit "Celsius" angegeben, im amerikanischen Raume jedoch über "Fahrenheit" dargestellt<br />
wird.<br />
Umrechnung physikalischer Größen<br />
Die Umrechnung der Größe "Temperatur" von "Celsius" auf "Fahrenheit" erfolgt nach<br />
folgender Formel:<br />
°C = (°F - 32) / 1,8<br />
oder umgekehrt:<br />
°F = °C × 1,8 + 32<br />
In VisiWinNET wird diese lineare Gleichung über zwei Punkte eines linearen Kurvenverlaufs<br />
angegeben. Dazu werden die Werte von zwei berechneten Punkten in einer<br />
Einheitendefinition angegeben. Ausgehend von der Größe °C sieht die Rechnung<br />
exemplarisch wie folgt aus:<br />
Für 0 °C ergibt sich: 0 x 1,8 +32 = 32 (°F)<br />
Für 100 °C ergibt sich 100 x 1,8 + 32 = 212 (°F)<br />
Anzugeben sind dann als X-Koordinaten die Werte der Berechnungs-Ausgangsgröße, hier als<br />
0 und 100. Als Y-Koordinaten werden die jeweiligen berechneten Werte angegeben, hier<br />
also 32 und 212.<br />
In der Entwicklungsumgebung sieht die Eingabe der berechneten Daten dann so aus:<br />
Im oben dargestellten Bild sind zwei Einheitenumrechnungen definiert. Für "German" wird<br />
der Wert quasi nicht beeinflusst, da die X/Y-Wertepaare identisch sind.<br />
Der Verlauf der linearen Gleichung über die beiden Koordinaten (0:0) und (1:1) ergibt eine<br />
Gerade, die mit der Steigung 1 durch den Nullpunkt geht, d.h. X und Y sind für alle Punkte<br />
der Geraden identisch.<br />
In der "English"-Umrechnung sind die oben berechneten Werte in die entsprechenden<br />
Parameterfelder eingegeben worden.<br />
Dieses Beispiel funktioniert aber nur, wenn die umzurechnenden Prozessvariablen direkt<br />
den Temperaturwert als °C zurückgeben. Ist das nicht der Fall, muss die spezifische<br />
Sensorauflösung über eine Sensoranpassung in die Berechnung einbezogen werden.
VisiWinNET 2005 Prozessanbindung<br />
Sensoranpassungen<br />
Definitionen der Prozessanbindung / Einheitenklasse / Einheitenumschaltungen implementieren 39<br />
Beispiel: Eine von der SPS aufgenommene Strecke von 0..1000 mm soll in der Applikation<br />
dargestellt werden. Dabei stehen zwei verschiedene Sensortypen mit folgenden<br />
Ausgabebereichen zur Verfügung<br />
Typ Messbereich Ausgabewertebereich<br />
A 0..2000 mm 0..32000<br />
B 0.. 100 inch 0..32000<br />
Die Umrechnung für mm in inch lautet:<br />
1 in. = 25,4 mm<br />
Die zu erwartenden Wertebereiche für die Strecke 0..1000 mm sind also für:<br />
• Typ A: 0..16000 (1000/2000 =x/32000)<br />
• Typ B: 0..12599 (1000/100*25,4 = x/32000)<br />
Die beiden Sensoren haben also unterschiedliche Wertebereiche. Eine Anpassung in der<br />
Visualisierung kann über eine variablenabhängige Einheitenklasse realisiert werden. Die<br />
Umrechnung soll dabei zwischen Kommunikationskomponente und Variablenkern erfolgen,<br />
so dass im Variablenkern ein sensorunabhängiger Messwert zur Verfügung gestellt wird.<br />
Die entsprechende Einheitenbeschreibung sieht in der Entwicklungsumgebung so aus:<br />
Wieder wird für einen Zustand quasi keine Umrechnung angegeben, weil die X- und Y-<br />
Wertepaare gleich sind. Die zweite Umschaltung enthält die oben berechneten Werte.<br />
Auf diesem Weg können sensorspezifische Werteanpassungen realisiert werden.<br />
Merke: Hier geht es erst einmal nur darum, die SPS-Werte für die<br />
unterschiedlichen Sensoren im Variablenkern anzugleichen, so<br />
dass es für die weitere Behandlung egal ist, welcher Sensor<br />
angeschlossen ist. Eine sprachumgeschaltete Umrechnung ist hier<br />
noch nicht realisiert. Über eine zusätzliche Umrechnung kann dann<br />
die länderspezifische Umschaltung zwischen "mm" und "inch" für<br />
die Applikation erfolgen.
VisiWinNET 2005 Prozessanbindung<br />
Umschaltung von Einheiten<br />
Definitionen der Prozessanbindung / Einheitenklasse / Einheitenumschaltungen implementieren 40<br />
In VisiWinNET werden die projektierten Einheitenumrechnungen zu sogenannten<br />
"Einheitenklassen" zusammengefasst. Eine Einheitenklasse beinhaltet mehrere<br />
Umrechnungen und einen Schalter, der eine der enthaltenen Umrechnungen aktiviert.<br />
• Bei sprachabhängigen Einheitenklassen ist der Schalter die im Projekt aktive Sprache.<br />
Jede enthaltene Einheitenumrechnung wird einer Sprache zugeordnet. Durch die<br />
Umschaltung der Sprache zur Laufzeit wird automatisch zur entsprechenden<br />
Einheitenrechnung gewechselt.<br />
• Variablenabhängige Einheitenklassen beinhalten als Schalter eine Prozessvariable. Hier<br />
beinhaltet jede Einheitenumrechnung den Parameter "Umschaltzustand" der zur Laufzeit<br />
mit dem Wert der als "Schalter" angegebenen Prozessvariablen verglichen wird. Im<br />
obigen Beispiel der Sensoranpassung liegt die Umschaltvariable üblicherweise als<br />
interne Variable vor, die beim Einrichten der Visualisierung auf den entsprechenden<br />
Wert für den verwendeten Sensor konfiguriert wird.<br />
Funktionale Verknüpfung<br />
In VisiWinNET werden die Prozessvariablendefinitionen direkt mit Einheitenklassen<br />
verknüpft. Implizit wird hier davon ausgegangen, dass schon die Definition einer<br />
Prozessvariablen das Merkmal einer physikalischen Einheit mit einschließen sollte. Gibt die<br />
Prozessvariable beispielsweise einen Temperaturwert wieder, kann die physikalische Größe<br />
mit Einheitentext und länderspezifische Umrechnungsformel direkt bei der Definition der<br />
Variablen angegeben werden.<br />
Dies hat den Vorteil, dass bei der Darstellung der Prozessvariablen, sei es als Wertausgabe,<br />
als Trendaufzeichnung oder als Bestandteil eines Reports jedes mal die<br />
Einheiteninformationen ohne weiteren Projektieraufwand als Bestandteil der Variable mit<br />
einbezogen werden.
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Einheitenklasse / Einheitenumschaltungen implementieren 41<br />
Die Angabe der zu verwendenden Einheitenklassen erfolgt in der Variablendefinition in den<br />
Parametern "Einheitenklasse (Prozess)" und "Einheitenklasse (Anzeige)":.<br />
• Die Einheitenklasse (Prozess) gibt die Berechnungsformeln an, die bei der Übertragung<br />
des Variablenwertes zwischen Kommunikationskomponente und Variablenkern<br />
angewendet werden. Diese Formeln werden üblicherweise verwendet, wenn eine<br />
Anpassung unterschiedlicher Sensortypen auf einen einheitlichen Wertebereich erfolgen<br />
soll. Diese Umrechnungsformeln können nur aus Einheitenklassen vom Typ<br />
"variablenabhängig" bezogen werden. Die Umschaltung zwischen den einzelnen<br />
Umrechnungsformeln kann also nur über einen Variablenwert erfolgen.<br />
• Die Einheitenklasse (Anzeige) wird vom System bei der Übertragung des<br />
Variablenwertes zwischen Variablenkern und Visualisierungsoberfläche angewendet. Sie<br />
kann sowohl sprachabhängig als auch variablenabhängig sein. Über die Verwendung von<br />
sprachabhängigen Einheitenklassen wird die typische Umschaltung länderspezifischer<br />
Einheitenumrechnungen realisiert. Über die Verwendung von variablenabhängigen<br />
Einheitenklassen als "Einheitenklasse (Anzeige)" können zusätzlich spezifische<br />
Sonderanforderungen in der Applikationsoberfläche realisiert werden. Soll<br />
beispielsweise eine Streckenangabe in der Applikation in den Größen "mm", "cm", "inch"<br />
und "mil." erfolgen, so lässt sich das nicht alleine durch die Umschaltung der Sprache<br />
realisieren.<br />
Kommaverschiebung/Nachkommastellen<br />
Die Funktion des in der Einheitendefinition angegebenen Parameters "Kommaverschiebung"<br />
ist abhängig vom Datentyp der Prozessvariablen, die die Einheitenklasse verwendet:<br />
• Für ganzzahlige Prozessvariablen gilt: Mit der Kommaverschiebung kann eine<br />
Dezimalverschiebung von ganzzahligen Werten realisiert werden. Der Wert 112 wird<br />
z.B. als "11.2" dargestellt, wenn die Kommaverschiebung mit 1 angegeben wurde. Gibt<br />
ein ganzzahliger Datentyp aus der SPS beispielsweise eine Temperatur in 100stel Grad<br />
an, kann über die Kommaverschiebung "2" in der Darstellung das Komma an die richtige<br />
Stelle geschoben werden.<br />
• Ist eine Prozessvariable als Fliesskommazahl definiert, gibt die Kommaverschiebung als<br />
Formatierungsanweisung die Zahl der darzustellenden Nachkommastellen an.<br />
Für ganzzahlige Variablentypen (VT_I2, VT_I4, ...) gilt: Die Kommaverschiebung ist eine<br />
gute Lösung, Rundungsfehlern aus dem Weg zu gehen. Intern behandelt das System einen<br />
ganzzahligen Prozessvariablenwert, der mit einer Einheitenumschaltung verknüpft ist, wie<br />
einen Fliesskommawert. Beim Lesen des Wertes wird der Wert aus der SPS im Variablenkern<br />
über die lineare Umrechnung auf eine Fliesskomavariable umgerechnet. Bei der Eingabe des<br />
Wertes muss diese Konvertierung umgekehrt durchgeführt werden. Wird hier die lineare<br />
Gleichung verwendet, muss der Wert ggf. gerundet werden. In der Applikation tritt dann in<br />
ungünstigen Fällen der Fall ein, dass der Bediener einen Wert in ein Steuerelement schreibt<br />
und nach dem Senden der Wert im Steuerelement auf den nächsthöheren/-niedrigeren Wert<br />
umspringt Dieses Phänomen tritt bei der alleinigen Verwendung der Kommaverschiebung<br />
nicht auf.
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Einheitenklasse / Einheitenumschaltungen implementieren 42<br />
Die Kommaverschiebung kann für eine Prozessvariable an drei verschiedenen Stellen<br />
angewendet werden:<br />
• In der Einheitenklasse (Prozess)<br />
• In der Einheitenklasse (Anzeige)<br />
• In einem variablengebundenen Steuerelement (Eigenschaft VWItem.DecPoint)<br />
Dabei addieren sich die drei Angaben der einzelnen Kommaverschiebungen in der Anzeige.<br />
Beispiele:<br />
Angegebene<br />
Kommaverschiebungen<br />
Einheiten-<br />
klasse<br />
Prozess<br />
Einheiten-<br />
klasse<br />
Anzeige<br />
Werte in der SPS Angezeigte Werte<br />
Steuerelement VT_I4 VT_R4 VT_I4 VT_R4<br />
1 1 1 1234 1,2345 1,234 1,234<br />
3 0 1 12 12 0,0012 12,0000<br />
0 0 2 880 0,8 8,8 0,80<br />
Darstellung<br />
VarIn/ VarOut Die typische Darstellung eines einheitenbehafteten Wertes<br />
beinhaltet in den Steuerelementen 'VarIn' und 'VarOut' den<br />
Einheitentext und den umgerechneten und formatierten Wert.<br />
Die Steuerelemente beinhalten mehrere Eigenschaften, die die<br />
Darstellung der Einheitenumschaltung betreffen, die als<br />
Einheitenklasse (Anzeige) in der verknüpften Prozessvariablen<br />
angegeben ist:<br />
• Im oben gezeigten 'VarIn'-Steuerelement wird über die<br />
Eigenschaft 'VWItem.UnitConversion' bestimmt, ob die<br />
'Einheitenklasse (Anzeige)' im Steuerelement verwendet<br />
werden soll. Dadurch werden sowohl die Umrechnungsformel<br />
als auch die Kommaverschiebung aktiviert.<br />
• Der in der Einheitendefinition angegebene Einheitentext kann<br />
über die Eigenschaft 'UseItemUnit' im Steuerelement zur<br />
Anzeige gebracht und über die Eigenschaft 'Unit' in Aussehen<br />
und Anzeige parametriert werden.<br />
• Zusätzlich lassen sich die Nachkommastellen des Wertes über<br />
die Eigenschaft 'VWItem.DecPoint' formatieren, wenn die<br />
angebundene Prozessvariable eine Fliesskommazahl darstellt.
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Einheitenklasse / Einheitenumschaltungen implementieren 43<br />
Bar/ExtendedSlider In den genannten Steuerelementen ist eine Skala enthalten, über<br />
die der angebundenen Prozesswert abzulesen ist. Der Bereich der<br />
Skala und der Wertanzeige wird über die Eigenschaften 'MinValue'<br />
und 'MaxValue' eingestellt.<br />
'MinValue' und 'MaxValue' sind dabei Werte die unabhängig von<br />
der verwendeten Einheitenklasse im Steuerelement angegeben<br />
werden. Ist die Eigenschaft 'VWItem.UnitConversion' auf 'true'<br />
eingestellt, nimmt das Steuerelement aber trotzdem eine<br />
Umrechnung der Skalenwerte vor.<br />
Die Anzeige eines Einheitentextes kann über die Eigenschaft<br />
'UseItemUnit' eingestellt werden. Dadurch wird der Einheitentext<br />
aus der verwendeten Einheitenklasse in der Skala angezeigt.<br />
Scale Das 'Scale'-Steuerelement hat keine Anbindung an eine<br />
Prozessvariable und damit auch keine indirekte Verbindung zu<br />
einer Einheitenklasse. Über die Eigenschaft 'UnitClass' lässt sich<br />
aber eine direkte Verbindung zu einer Einheitenklasse herstellen,<br />
die die Skalenwerte entsprechend umrechnet.<br />
Grenzwertüberprüfung und Einheitenklassen<br />
Im 'VarIn'-Steuerelement können über Einheitenklassen umgerechnete Prozesswerte vom<br />
Benutzer eingegeben werden. Die Eingaben sind dabei auf einen Eingabebereich<br />
einschränkbar.<br />
• über die Eigenschaften 'LimitMax' und 'LimitMin' werden oberer und unterer Grenzwert<br />
angegeben. Zusätzlich ist dabei noch die Eigenschaft 'LimitCheck' auf 'true' zu stellen.<br />
• über die Eigenschaft 'UseItemLimits' werden Max- und MinValue aus der<br />
Prozessvariablendefinition gelesen (optional können hier die Eingabegrenzen über die<br />
Parameter "Maximalwert"./"Minimalwert" angegeben werden).<br />
Bei beiden Möglichkeiten gilt: Als Eingabegrenzwert wird der nicht in der Anzeige<br />
umgerechnete Grenzwert erwartet. Repräsentiert z.B. ein Variablenwert (Bereich 0..32000)<br />
eine Strecke von 0..25,4 mm oder 0..1 Inch und soll der Eingabebereich auf 0,5 Inch<br />
begrenzt werden, so ist als 'LimitMax' der Wert 16000 anzugeben.<br />
Bei der Umschaltung der Einheitenumrechnung wird auch die Begrenzung des<br />
Eingabebereiches automatisch berücksichtigt.<br />
• Bei der Verwendung einer Bildschirmtastatur (Komponente 'TouchKeyboard') werden die<br />
Grenzwerte in der NumPad-Tastatur (numerische Eingabe) in umgerechneter Form<br />
angezeigt.<br />
• Auch die 'PopupInfo'-Komponente unterstützt die Ausgabe der Grenzwerte.
VisiWinNET 2005 Prozessanbindung<br />
4.4.2.1 Beispiel<br />
Definitionen der Prozessanbindung / Einheitenklasse / Einheitenumschaltungen implementieren 44<br />
<strong>Inhalt</strong> Das folgende Beispiel zeigt drei typische Anwendungen für<br />
Einheitenklassen:<br />
• Sensoranpassung<br />
• Sprachumschaltbare Einheitenumschaltung<br />
• variablenabhängige Einheitenumschaltung in der Anzeige am<br />
Beispiel mm/cm/Mil/inch<br />
Szenario Das Szenario beschreibt folgenden Fall:<br />
Eine von der SPS aufgenommene Strecke von 0..1000 mm soll in<br />
der Applikation dargestellt werden. Dabei stehen zwei<br />
verschiedene Sensortypen mit folgenden Ausgabebereichen zur<br />
Verfügung<br />
Typ Messbereich Ausgabewertebereich<br />
A 0..2000 mm 0..32000<br />
B 0.. 100 inch 0..32000<br />
In der Applikation soll der einzusetzende Sensor über eine<br />
variablenabhängige Einheitenklasse umgeschaltet werden können.<br />
Außerdem ist die landesspezifische Darstellung der Einheit<br />
(cm/inch) nachzuvollziehen. Hierzu wird eine sprachabhängige<br />
Einheitenklasse verwendet<br />
Als Erweiterung soll zusätzlich eine Umschaltung zwischen<br />
cm/mm/inch/mil gezeigt werden. Die Umschaltung erfolgt über<br />
eine zweite variablenabhängige Einheitenklasse.<br />
Als Definitionen werden für das Beispiel benötigt:<br />
• zwei interne Variablen, die jeweils als Steuervariablen die variablenabhängigen<br />
Einheitenklassen umschalten<br />
• die drei oben genannten Einheitenklassen<br />
• eine externe Variable aus dem Demo-Treiber, die den umzuschaltenden Wert simuliert
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Einheitenklasse / Einheitenumschaltungen implementieren 45<br />
Das Blockschaltbild zeigt den systematischen Aufbau des Beispiels:<br />
Das Design des Beispiels umfasst die einzelnen Ansichten und die Steuerelemente zum<br />
Umschalten der Einheiten<br />
Für das Designs werden folgende Elemente benötigt:<br />
• Vier Eingabeelemente (VarIn), die die einzelnen Stufen der Umrechnungen zeigen (SPS-<br />
Wert, normierter Wert der Sensoranpassung, sprachumgeschalteter Wert, Wert der<br />
variablenabhängigen Umrechnung cm/mm/inch/mil<br />
• zwei Schaltflächen für die Sprachumschaltung<br />
• zwei Schalter, die die Steuervariablen der variablenabhängigen Einheitenklassen<br />
manipulieren.<br />
Zur Vereinfachung ist die Reihenfolge der durchzuführenden Schritte so angeordnet, dass<br />
sich die Definitionen und Objekte einfach miteinander verknüpfen lassen:<br />
Definitionsebene Anlegen und Verknüpfen der Definitionen in der Projektdatenbank<br />
Design Oberflächenelemente platzieren und parametrieren<br />
Testlauf Ansicht des Ergebnisses
VisiWinNET 2005 Prozessanbindung<br />
4.4.2.2 Definitionsebene<br />
Definitionen der Prozessanbindung / Einheitenklasse / Einheitenumschaltungen implementieren 46<br />
• Legen sie zwei interne Variablen vom Datentyp VT_I2 an. Markieren Sie dazu den<br />
Projektexplorerknoten "Variablen→Kanäle→Intern". Öffnen sie den Tabelleneditor zu<br />
dem "Intern"-Kanal durch einen Doppelklick auf den Knoten. Markieren Sie den<br />
Tabelleneditor durch eine Mausklick und fügen sie die beiden Variablendefinitionen<br />
durch Drücken der Taste "F8" ein. Ändern Sie die Namen der beiden Variablen auf<br />
"DistanceSensorAdaptionSwitch" und "DistanceSensorExtendedSwitch".<br />
• Legen Sie zwei variablenabhängige Einheitenklassen an. Wechseln Sie dazu im<br />
Projektexplorer zum Knoten "Variablen→Einheitenklassen→variablenabhängig".<br />
Drücken Sie im Projektexplorer direkt die Taste "F8" zum Anlegen einer neuen<br />
Definition. Passen sie die Parameter der Einheitenklassen in der VisiWinNET-<br />
Eigenschaftenseite wie folgt an:<br />
Parameter Einheitenklasse 1 Einheitenklasse 2<br />
Name DistanceSensorAdaption LenghtConversionExtended<br />
Umschaltvariable DistanceSensorAdaptionSwitch DistanceSensorExtendedSwitch<br />
• Markieren sie den Knoten der Einheitenklasse "DistanceSensorAdaption" und fügen sie<br />
im Tabelleneditor zwei neue Einheitendefinitionen mit folgenden Parametern ein:<br />
Parameter 1. Einheit 2. Einheit<br />
Umschaltkennung 0 1<br />
X1 0 0<br />
X2 1 12599<br />
Y1 0 0<br />
Y2 1 16000<br />
• Wechseln sie im Projektexplorer zur Einheitenklasse "LenghtConversionExtended" und<br />
fügen sie hier im Tabelleneditor vier neue Einheitendefinitionen mit folgenden<br />
Parametern ein:<br />
Parameter 1. Einheit 2. Einheit 3. Einheit 4. Einheit<br />
Umschaltkennung 0 1 2 3<br />
X1 0 0 0 0<br />
X2 16000 16000 16000 16000<br />
Y1 0 0 0 0<br />
Y2 100 39,37 1000 39370<br />
Einheitentext cm in. mm mil.<br />
• Legen Sie eine sprachabhängige Einheitenklasse an. Wechseln Sie dazu im<br />
Projektexplorer zum Knoten "Variablen→Einheitenklassen→sprachabhängig". Drücken<br />
Sie im Projektexplorer direkt die Taste "F8" zum Anlegen einer neuen Definition. Ändern<br />
Sie den Namen der Einheitenklasse in "LengthConversion".
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Einheitenklasse / Einheitenumschaltungen implementieren 47<br />
• Markieren sie den Knoten der Einheitenklasse "LengthConversion" und fügen sie im<br />
Tabelleneditor zwei neue Einheitendefinitionen mit folgenden Parametern ein:<br />
Parameter 1. Einheit 2. Einheit<br />
Umschaltkennung German (1031) English (1033)<br />
X1 0 0<br />
X2 16000 16000<br />
Y1 0 0<br />
Y2 100 39,34<br />
Einheitentext cm in.<br />
• Legen Sie die umzurechnende Variable fest. Fügen Sie dazu über den<br />
Projektexplorerknoten "Variablen→Kanäle" einen neuen Kommunikationskanal vom Typ<br />
VisiWinNET Treiber an. Legen Sie im Parameter "Treibername" den Demo Treiber fest.<br />
Öffnen Sie über den Kontextmenüeintrag "Variablen Browsen" des neu eingefügten<br />
Treiberkanal-Knoten den BrowserDialog. Wählen Sie hier die Variable<br />
"DataTypesSingle→Real" aus und bestätigen die Auswahl über die OK-Taste.<br />
• Markieren Sie den Knoten "Variablen→Extern→Ch1:Demo→DataTypesSingle" mit<br />
einem Doppelklick.<br />
• Fügen Sie zwei neue Variablendefinitionen in den Kommunikationskanal ein, indem sie<br />
zweimal auf dem Tabelleneditor die Taste "F8" drücken. Ändern sie die folgenden<br />
Parameter der drei Variablen:<br />
Parameter Variable 1 Variable 2 Variable 3<br />
Alias Distance_Real_Raw Distance_Real_Sensor-<br />
Independent<br />
Distance_Real_Sensor-<br />
Independent_Ext<br />
ItemID (schon angegeben) (wie Variable 1) (wie Variable 1)<br />
Datentyp schon angegeben (wie Variable 1) (wie Variable 1)<br />
Einheiten-<br />
klasse<br />
(Prozess)<br />
Einheiten-<br />
klasse<br />
(Anzeige)<br />
DistanceSensorAdaption DistanceSensorAdaption<br />
LenghtConversion LenghtConversionExtended<br />
Erklärungsbedarf?<br />
Bei allen drei Variablendefinitionen soll die ItemID identisch sein.<br />
Damit greift die Visualisierung über drei verschiedene<br />
Variablendefinitionen auf den selben Wert in der<br />
Kommunikationskomponente zu.<br />
Frage: Warum das alles?<br />
Antwort: Wird ein Variablenwert über eine Einheitenklasse<br />
(Prozess) zwischen Kommunikationskomponente und<br />
Variablenkern umgerechnet, steht der Rohwert aus der<br />
Kommunikationskomponente nirgendwo mehr zur Verfügung. Die<br />
einzige Chance, die Umrechnung der Einheitenklasse (Prozess) in
VisiWinNET 2005 Prozessanbindung<br />
4.4.2.3 Design<br />
Definitionen der Prozessanbindung / Einheitenklasse / Einheitenumschaltungen implementieren 48<br />
der Ansicht zu umgehen, ist die Definition einer zweiten Variablen,<br />
die keine Einheitenklasse (Prozess) verwendet, aber auf die gleiche<br />
Variable in der Kommunikationskomponente zugreift. Um die<br />
Umrechnung in der Applikation zu zeigen, wird in den folgenden<br />
Schritten auch der nicht umgerechnete Wert als Anzeigewert in<br />
der Applikation implementiert.<br />
• Legen Sie, wie in der Grafik gezeigt, folgende Steuerelemente auf ein Formular:<br />
Legen Sie die Eigenschaften der Steuerelemente, wie folgt, fest:<br />
Für VarIn1<br />
Eigenschaft Wert<br />
VWItem Ch1.Distance_Real_Raw<br />
Label.Text.Text Sensor raw value<br />
Für VarIn2<br />
Eigenschaft Wert<br />
VWItem Ch1.Distance_Real_SensorIndependent<br />
Label.Text.Text Distance (sensor independent)<br />
Für VarIn3<br />
Eigenschaft Wert<br />
VWItem Ch1.Distance_Real_SensorIndependent<br />
VWItem.Unit-<br />
Conversion<br />
True<br />
Label.Text.Text Distance (sensor independent)<br />
UseItemUnit True
VisiWinNET 2005 Prozessanbindung<br />
Für VarIn4<br />
Eigenschaft Wert<br />
Definitionen der Prozessanbindung / Einheitenklasse / Einheitenumschaltungen implementieren 49<br />
VWItem Ch1.Distance_Real_SensorIndependent_Ext<br />
VWItem.Unit-<br />
Conversion<br />
True<br />
Label.Text.Text Language dependent distance (ext.)<br />
UseItemUnit True<br />
Für Switch1<br />
Eigenschaft Wert<br />
VWItem DistanceSensorAdaptionSwitch<br />
LocalizedText.Text Type A<br />
LocalizedText.TextOn Type B<br />
Für Switch2<br />
Eigenschaft Wert<br />
VWItem DistanceSensorExtendedSwitch<br />
VWItem.BitNumber 1<br />
LocalizedText.Text Normal<br />
LocalizedText.TextOn Milli<br />
Für CommandButton1<br />
Eigenschaft Wert<br />
Events Verknüpfung des Click-Ereignisses mit zwei Systemfunktionen:<br />
LocalizedText.Text DE<br />
Für CommandButton2<br />
Eigenschaft Wert<br />
• ChangeLanguage mit Parameter LCID= 1031<br />
• ResetBit mit Parameter<br />
Name = "DistanceSensorExtendedSwitch"<br />
Events Verknüpfung des Click-Ereignisses mit zwei Systemfunktionen:<br />
LocalizedText.Text GB<br />
• ChangeLanguage mit Parameter LCID= 1033<br />
SetBit mit Parameter<br />
Name = "DistanceSensorExtendedSwitch"
VisiWinNET 2005 Prozessanbindung<br />
Die so parametrierten Steuerelemente haben folgende Funktion:<br />
Definitionen der Prozessanbindung / Einheitenklasse / Einheitenumschaltungen implementieren 50<br />
VarIn1 Hat ohne Umrechnungen eine Verknüpfung auf den SPS-Wert.<br />
Hier kann der SPS-Wert simuliert eingegeben werden.<br />
Switch1 Schaltet die Umschaltvariable der Einheitenklasse<br />
"DistanceSensorAdaption" und damit die Anpassung an den<br />
entsprechenden Sensortypen.<br />
VarIn2 Verwendet die Variablendefinition, die die Umrechnung zur<br />
Normierung der beiden Sensortypen beinhaltet. Die ebenfalls<br />
verknüpfte sprachabhängige Umrechnung wird im Steuerelement<br />
jedoch nicht verwendet, weil 'VWItem.UnitConversion' auf 'False'<br />
(Defaultwert) steht.<br />
Hier wird also nur der normierte Wert angezeigt<br />
CommandButton1 Auf ein Klick werden zwei Vorgänge ausgelöst:<br />
• Die Sprache wird umgestellt auf Deutsch<br />
• In der Umschaltvariablen für die Einheitenklasse<br />
"LenghtConversionExtended" wird das Bit 0 auf "0" gesetzt<br />
CommandButton2 Auch hier wieder zwei Funktionen:<br />
• Die Sprache wird umgestellt auf Englisch<br />
• In der Umschaltvariablen für die Einheitenklasse<br />
"LenghtConversionExtended" wird das Bit 0 auf "1" gesetzt<br />
Das Setzen der Umschaltvariablen wird im Zusammenspiel mit der<br />
Funktion des Switch2-Steuerelementes durchgeführt<br />
VarIn3 Verwendet die gleiche Variablendefinition, wie VarIn2 und damit<br />
die Einheitenklasse (Prozess). Zusätzlich ist hier die<br />
Einheitenklasse (Anzeige) über 'VWItem.UnitConversion' aktiviert<br />
.Über die Eigenschaft ''UseItemUnit' wird zusätzlich der<br />
sprachabhängige Einheitentext angezeigt<br />
Switch2 Manipuliert Bit 1 in der Umschaltvariablen für die Einheitenklasse<br />
"LenghtConversionExtended". Zusammen mit den beiden<br />
'CommandButton'-Steuerelementen ergeben sich für die<br />
Steuervariable folgende Kombinationen:<br />
Sprache Funktion<br />
Switch2<br />
Wert der Umschalt-<br />
variablen (bitkombiniert)<br />
DE Normal 0 (00) cm<br />
GB Normal 1 (01) in.<br />
DE Milli 2 (10) mm<br />
GB Milli 3 (11) mil.<br />
Angezeigte Einheit
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Einheitenklasse / Einheitenumschaltungen implementieren 51<br />
VarIn4 Verwendet die Variablendefinition<br />
"Ch1.Distance_Real_SensorIndependent_Ext" und damit die<br />
Einheitenklasse "LenghtConversionExtended". Hier wird der Wert<br />
angegeben, der sowohl über die Sprache als auch über das<br />
"Switch2"-Steuerelement umzuschalten ist.<br />
4.4.2.4 Testlauf<br />
Starten Sie das Projekt und führen Sie folgende Schritte aus:<br />
Anweisung Beobachtung<br />
Geben Sie im VarIn1<br />
den Wert 16000 ein<br />
Ändern Sie den Wert<br />
auf 12599 (max. Wert<br />
für den Sensortyp B)<br />
und drücken Sie auf<br />
Switch1<br />
Schalten Sie die<br />
Sprache auf Englisch<br />
In VarIn2 wird der Wert übernommen (Die entsprechend aktive<br />
Einheitendefinition beschreibt eine Gerade ohne Offset mit der<br />
Steigung 1<br />
In VarIn3/4 wird der entsprechende Wert "100 cm" angegeben<br />
In VarIn2 wird wieder 16000 angezeigt. diesmal über die<br />
Umrechnung der Einheitenklasse "DistanceSensorAdaption"<br />
errechnet<br />
In VarIn3/4 wird der entsprechende Wert "100 cm" angegeben<br />
Die Anzeige in VarIn3/4 springt jeweils zur Einheit Inch<br />
Drücken Sie Switch2 In VarIn4 wechselt die Anzeige zum Wert für die Einheit "mil."
VisiWinNET 2005 Prozessanbindung<br />
4.4.3 FAQ zu Einheitenklassen<br />
Ich möchte eine<br />
Einheitenumschaltung in einer<br />
Struktur verwenden. Wie geht das?<br />
Nach einer Eingabe in ein 'VarIn'-<br />
Steuerelement, dass eine<br />
Einheitenumschaltung verwendet,<br />
springt der Wert um. Eine Variable<br />
vom Datentyp VT_I4 wird dabei<br />
verwendet<br />
Die Einheitenumschaltung im<br />
'VarIn'-Steuerelement wird nicht<br />
ausgeführt<br />
Definitionen der Prozessanbindung / Einheitenklasse / FAQ zu Einheitenklassen 52<br />
Die beiden Parameter "Einheitenklasse (Anzeige)"<br />
und "Einheitenklasse (Prozess)" in der<br />
Prozessvariablendefinition haben keine Funktion<br />
mehr, wenn die Variable vom Datentyp einer<br />
Struktur ist.<br />
Jedes Strukturelement beinhaltet aber Pendants<br />
zu den beiden Parameter.<br />
Übrigens: ist eine Prozessvariable als Datenfeld<br />
definiert (Feldgröße> 0) werden auf alle<br />
Feldelemente die in der<br />
Prozessvariablendefinition angegebenen<br />
Einheitenklassen angewendet.<br />
Höchstwahrscheinlich ein Quantisierungsfehler.<br />
Der Variablenkern rechnet automatisch bei<br />
einheitenbehafteten Variablen intern im<br />
Fliesskommazahlenbereich. Spätestens aber,<br />
wenn der Wert auf die SPS zurückgeschrieben<br />
wird, kann es zu einem auf- oder abrunden<br />
kommen. Der gerundete Wert wird nach dem<br />
Schreiben zurückgemeldet an das Steuerelement.<br />
dass dann in der Anzeige umspringt.<br />
Abhilfe: Fließkommazahlen in der SPS verwenden<br />
und Bruchrechnungen in der Einheitenklasse<br />
vermeiden.<br />
Überprüfen Sie folgende Einstellungen:<br />
• Sind in der erwarteten Einheitenklasse<br />
wirklich unterschiedliche<br />
Einheitenumrechnungen mit sinnvollen<br />
Werten für X1, X2, XY und Y2 vorhanden?<br />
• Ist die im 'VarIn' angebundene<br />
Prozessvariable mit der Einheitenklasse<br />
verknüpft?<br />
• Ist im 'VarIn' die Eigenschaft<br />
'VWItem.UnitConversion' auf 'true'<br />
eingestellt?<br />
• Ist die Bedingung für die erwartete<br />
Einheitenumrechnung, also der Schalter, der<br />
die Einheit in der Einheitenklasse auswählt<br />
(Sprache oder Wert der Steuervariablen),<br />
erfüllt?
VisiWinNET 2005 Prozessanbindung<br />
4.5 Einheit<br />
Definitionen der Prozessanbindung / Einheit / FAQ zu Einheitenklassen 53<br />
Einheitenobjekte repräsentieren die Umschaltmöglichkeiten einer Einheitenklasse. Die<br />
wesentlichen Informationen dabei sind die Formel zur Umrechnung und die Angabe des<br />
Zustandes (Sprache oder Prozessvariablenwert), der eingenommen werden muss, damit die<br />
Formel aktiv wird.<br />
Einheitenobjekte beinhalten u.a. folgende Funktionalität:<br />
• Eingabe der Umrechnung über eine Zweipunktedefinition (Geradengleichung über x1,<br />
y1, x2, y2).<br />
• Zusätzliche Angabe eines Einheitentextes<br />
• Verschiebung von Dezimalstellen, so dass ganzzahlige Werte als Fließkommawerte in<br />
der Visualisierung erscheinen<br />
Parameter des Einheitenobjektes<br />
Name Beschreibung<br />
Einheitentext Zusätzlich zu übergebender Text, der in der Visualisierung<br />
angezeigt werden soll.<br />
Kommaverschiebung Verschiebung von ganzzahligen Werten um Dezimalstellen<br />
Umschaltkennung Beschreibt den Zustand, damit diese Einheit in der Einheitenklasse<br />
als Umrechnung benutzt wird.<br />
x1 Beschreibt den 1. Rohwert der Geradengleichung<br />
x2 Beschreibt den 2. Rohwert der Geradengleichung<br />
y1 Beschreibt den 1. Umrechnungswert der Geradengleichung<br />
y2 Beschreibt den 2. Umrechnungswert der Geradengleichung
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Einheit / Einheiten bearbeiten 54<br />
4.5.1 Einheiten bearbeiten<br />
Einheiten werden in Einheitenklassen projektiert und im Tabelleneditor angezeigt. Jede<br />
Einheitendefinition beinhaltet einen editierbaren Parametersatz: Hier wird festgelegt, wann<br />
eine Einheit in der Einheitenklasse aktiv ist. Auch werden hier die Informationen zur<br />
Einheitenumrechnung hinterlegt.<br />
Der Tabelleneditor der Prozessanbindung wird über einen Klick auf einen entsprechenden<br />
Knoten im Projektexplorer geöffnet.<br />
Der Editor bietet folgende Funktionen zum Projektieren von Einheiten:<br />
Neu erzeugen Über Eintrag "Neu" im Kontextmenü des Tabelleneditors wird eine<br />
neue Einheitendefinition in das Projekt eingefügt<br />
Parameter<br />
bearbeiten<br />
Die VisiWinNET-Eigenschaftenseite zeigt die Parameter der im<br />
Tabelleneditor markierten Einheitendefinition an. Das Bearbeiten<br />
der Parameter ist aber auch direkt in den Feldern des<br />
Tabelleneditors erlaubt.<br />
Löschen Eine oder mehrere Einheitendefinitionen können gelöscht werden,<br />
indem:<br />
• zuerst die zu löschenden Definitionen markiert werden (Klick<br />
auf die Selektorspalte am linken Tabellenrand ggf. bei<br />
gehaltener Strg- oder Shift-Taste für eine Mehrfachselektion)<br />
• Anschließend im Kontextmenü des Tabelleneditors der Eintrag<br />
"Löschen" gewählt wird.
VisiWinNET 2005 Prozessanbindung<br />
4.6 Struktur<br />
Strukturdefinitionen repräsentieren erweiterte Datentypen für<br />
Prozessvariablendefinitionen.<br />
Prozessvariablen bieten verschiedene Zugriffsarten auf Daten einer SPS:<br />
Definitionen der Prozessanbindung / Struktur / Einheiten bearbeiten 55<br />
• Einzelzugriff (einfache Datentypen): Die Anforderung eines Prozessvariablenwertes löst<br />
dabei zwischen Kommunikationskomponente und SPS einen Protokollaufruf aus.<br />
Allgemein gilt, dass die Übertragung von Daten zwischen der SPS und dem PC in<br />
umfangreichen Applikationen ein zeitkritisches Nadelöhr sein kann. Jeder Lese-<br />
/Schreibzugriff auf den SPS-Speicher benötigt ein Rahmenprotokoll.<br />
• Blockweiser Zugriff (Felder einfacher Datentypen): Dabei wird ein Speicherbereich<br />
übertragen, der Speicherzellen vom Datentyp der Prozessvariablen enthält. Dies hat den<br />
Vorteil, dass für die Übertragung des gesamten Speicherbereiches nur ein<br />
Rahmenprotokoll benötigt wird.<br />
• Erweiterter blockweiser Zugriff (Strukturen): Auch hier wird ein Speicherbereich<br />
übertragen. Der Variablenkern löst diesen Speicherbereich jedoch in einzelne<br />
Prozessvariablen auf, die der zugeordneten Strukturdefinition entsprechen. Während<br />
ein Feld also nur Daten des gleichen Datentyps (z.B. VT_I4) enthalten kann, darf eine<br />
Struktur Speicherzellen verschiedener Datentypen enthalten (VT_I2, VT_I4, VT_R4,...).<br />
Parameter der Strukturdefinition<br />
Name Beschreibung<br />
Kommentar Wahlfreier Kommentar zum Objekt<br />
Name Bezeichner der Definition<br />
Ordnungsnummer Die Ordnungsnummer der Strukturelemente wird entweder als<br />
als Byteoffset Byteoffset oder als Reihenfolgenummer interpretiert
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Struktur / Strukturen bearbeiten 56<br />
4.6.1 Strukturen bearbeiten<br />
Strukturen werden im Projektexplorer unter dem gleichnamigen Knoten dargestellt. Jede<br />
Strukturdefinition beinhaltet:<br />
• einen editierbaren Parametersatz: Hier kann der Name und die Interpretation der<br />
Ordnungsnummer der Strukturelemente eingestellt werden.<br />
• ggf. Strukturelemente: Im Tabelleneditor werden nach dem Markieren einer Struktur die<br />
zugehörigen Elemente dargestellt.<br />
Strukturen werden zur Beschreibung von komplexen Datentypen in Prozessvariablen<br />
verwendet. Die Namen der projektierten Strukturen finden sich in der Auswahlliste des<br />
Parameters "Datentyp" von Prozessvariablen wieder.<br />
Der Editor bietet folgende Funktionen zum Projektieren von Strukturen:<br />
Neu erzeugen Über Eintrag "Neu" im Kontextmenü des Knotens "Strukturen".<br />
Parameter<br />
bearbeiten<br />
Ein Klick auf eine Struktur lädt die entsprechenden Parameter in<br />
die VisiWinNET-Eigenschaftenseite. Hier können die<br />
Parameterwerte bearbeitet werden.<br />
Löschen Über den Eintrag "Löschen" im Kontextmenü eines Strukturknotens<br />
wird die Definition gelöscht. Dabei werden auch die enthaltenen<br />
Elemente gelöscht.<br />
4.6.2 Verwendung von Strukturen<br />
Strukturen in VisiWinNET beschreiben einen zusammenhängenden Speicherbereich in der<br />
SPS, in dem einzelne Prozessvariablen gleicher oder unterschiedlicher Datentypen<br />
aufeinander folgen.<br />
Typischerweise bilden diese Datenblöcke in der SPS einzelne Visualisierungsfunktionen ab,<br />
wie z.B:<br />
• Regler: Die einzelnen Reglerparameter werden in einem physikalisch<br />
zusammenhängenden Speicherbereich abgebildet<br />
• Rezepte: Alle Werte, die z.B. eine Chargenproduktion parametrieren, werden<br />
nacheinander im SPS-Speicher angeordnet<br />
• Anlagenkomponenten: Besteht die zu visualisierende Maschine aus mehreren (ggf. auch<br />
baugleichen) Komponenten, deren Funktion jeweils auf einer einzelnen Applikationsseite<br />
(Formular) dargestellt wird, sollten entsprechende Speicherblöcke vom SPS-<br />
Programmierer vorgesehen werden.
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Struktur / Verwendung von Strukturen 57<br />
Strukturen optimieren die Kommunikation dahingehend, dass mehrere Prozessvariablen im<br />
Rahmen eines Speicherblocks mit nur einem Protokollrahmen gelesen werden, d.h.:<br />
• Ist auf ein oder mehrere Elemente einer Struktur eine Leseanforderung aktiv, werden<br />
alle Elemente der Struktur durch einen blockweisen Zugriff aus der SPS gelesen.<br />
• Das Schreiben auf ein Strukturelement wird in einem Protokollrahmen nur auf die<br />
entsprechende Speicherzelle in der SPS ausgeführt.<br />
DB10.0<br />
DB10.1<br />
DB10.2<br />
DB10.3<br />
DB10.4<br />
DB10.5<br />
DB10.6<br />
DB10.7<br />
DB10.8<br />
DB10.9<br />
DB10.10<br />
DB10.11<br />
DB10.12<br />
DB10.13<br />
DB10.14<br />
SPS<br />
Flags (VT_UI1)<br />
Value (VT_I2)<br />
Diff (VT_R4)<br />
Int (VT_R4)<br />
Prop (VT_R4)<br />
READ<br />
Startadresse = ItemID<br />
Länge = Länge der Struktur<br />
*) Für OPC-Server: Der schreibende Zugriff auf einzelne<br />
Strukturelemente ist nur möglich, wenn im Kommunikationskanal<br />
die Option "Einzelzugriff auf Feldelemente" aktiv ist<br />
Kommunikationskomponente<br />
Protokollrahmen "Lesen"<br />
DB10.0 DB10.1 ... DB10.14<br />
Protokollrahmen "Schreiben"<br />
DB10.11 ... DB10.14<br />
Zuordnung zu<br />
Strukturelementen<br />
Struktur im Variablenkern<br />
WRITE *)<br />
Startadresse = ItemID+Offset des Elementes<br />
Länge = Länge des Datentyps<br />
Flags (VT_UI1)<br />
Value (VT_I2)<br />
Diff (VT_R4)<br />
Int (VT_R4)<br />
Prop (VT_R4)<br />
Im obigen Beispiel bilden die Prozessvariablen "Flags", "Value", "Diff", "Int" und "Prop" einen<br />
zusammenhängenden Speicherbereich in der SPS. In der Visualisierung wird beim Lesen der<br />
gesamte Datenblock über einen Protokollrahmen geholt. Im Variablenkern werden die<br />
gelesenen Bytes den entsprechenden Variablen im Prozessabbild zugeordnet. Von hier aus<br />
werden die Werte (z.B.. über Steuerelementeanbindungen) auf der Visualisierungsoberfläche<br />
abgebildet. Wird ein Wert im Rahmen der Visualisierungsapplikation geändert, berechnet<br />
der Variablenkern die Adresse für den Schreibauftrag über den Offset der Variablen<br />
innerhalb der Struktur und der Startadresse, also der ItemID der Variablendefinition.<br />
Es obliegt immer dem SPS-Programmierer, die Prozessvariablen<br />
sinnvoll in Datenblöcken anzuordnen. Er hat damit entscheidenden<br />
Einfluss auf die Performance der Kommunikation zwischen SPS<br />
und Visualisierung, da Strukturen als Datenblöcke ausgetauscht<br />
werden.<br />
Dem SPS-Programmierer stehen zur blockweisen Anordnung der<br />
Prozessvariablen verschiedene Mittel zur Verfügung:<br />
• Definition von Strukturen in der SPS (z.B. CoDeSys, Allen<br />
Bradley): Der Zugriff ist hier üblicherweise auf die gesamte<br />
Struktur oder auf die einzelnen Elemente möglich.<br />
• Deklarationsreihenfolge innerhalb eines Datenbausteines (z.B.<br />
STEP 7): Nacheinander deklarierte Variablen belegen hier<br />
einen zusammenhängenden Speicherbereich<br />
• Deklaration von Variablenfeldern: Sicherlich die<br />
unkomfortabelste Lösung, weil dem SPS-Programmierer nur
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Struktur / Verwendung von Strukturen 58<br />
noch der indizierte Zugriff auf die Feldelemente zur Verfügung<br />
steht und er damit die Auflösung in die verschiedenen<br />
beinhalteten Datentypen selbst managen muss.<br />
In der Praxis muss in Visualisierungsapplikationen mit vielen<br />
Variablen fast immer optimiert werden. Dabei ist auch die<br />
gewählte Kommunikationskomponente ein Kriterium für die<br />
Verwendung von Strukturen:<br />
• VisiWin-Treiber: Verwendung von Strukturen nahezu<br />
zwingend erforderlich. Die kennen keine Blockung/keine<br />
Protokolloptimierung. Variablen, die nacheinander in einem<br />
physikalisch zusammenhängenden Speicherbereich angeordnet<br />
sind, können als Block (Byte-/Wort-Array) übertragen werden.<br />
In der Visualisierung werden über die Strukturdefinition die<br />
einzelnen Bytes wieder den entsprechenden Datentypen<br />
zugeordnet.<br />
• OPC-Server: Ein als Bytearray übertragener Speicherbereich<br />
wird in der Visualisierung über eine Strukturdefinition in<br />
Variablen aufgeteilt. Nicht immer zwingend notwendig, wenn<br />
z.B. der OPC-Server intern eine Blockung (Zusammenfassung<br />
der einzelnen Lese-/Schreibauftäge zu Datenblöcken)<br />
unterstützt. Auch muss der OPC-Server die Übertragung als<br />
Bytearray unterstützen.<br />
• VWN-Treiber: Bei Treibern, die keine Blockung unterstützen,<br />
kann der Datenaustausch wie bei den klassischen VisiWin-<br />
Treibern optimiert werden. Ob der Treiber eine Blockung<br />
unterstützt, wird in der treiberspezifischen Hilfedatei<br />
aufgeführt.<br />
In der Entwicklungsumgebung sind Strukturen als Datentypvorgaben auf Variablen<br />
anzuwenden, d.h. die im Projekt definierten Strukturen erweitern die Liste der einfachen<br />
Datentypen von Prozessvariablen.<br />
Die Projektierung gliedert sich in zwei Schritte:<br />
Definition der<br />
Struktur<br />
Unter dem Zweig "Strukturen" im VisiWinNET Projektexplorer wird<br />
eine Struktur definiert. Eine Struktur beinhaltet im wesentlichen<br />
einen Namen und natürlich Elemente, die die elementaren<br />
Datentypen verwenden und damit den Aufbau des Datenblockes<br />
bestimmen. Wird die Länge der einzelnen Elemente (in Bytes)<br />
aufsummiert, muss das Ergebnis der Datenblocklänge in der SPS<br />
entsprechen.
VisiWinNET 2005 Prozessanbindung<br />
Anlegen einer<br />
Variablen<br />
Definitionen der Prozessanbindung / Struktur / Verwendung von Strukturen 59<br />
Innerhalb des entsprechenden Kommunikationskanals ist eine<br />
Variable anzulegen. Die ItemID der Prozessvariablen legt die<br />
Startdresse des Datenblocks in der SPS fest. Über die Auswahl der<br />
Struktur im Feld "Datentyp" wird die Lage der einzelnen Variablen<br />
im Datenblock bestimmt.<br />
Manche Kommunikationskomponenten (hier z.B. OPC Server S7<br />
TCPIP von der <strong>INOSOFT</strong>) erwarten zusätzlich die Länge des<br />
Datenblocks als Angabe in der ItemID (hier "[15]").
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Struktur / Verwendung von Strukturen 60<br />
Die einzelnen Elemente im Datenblock können z.B. bei der Anbindung an Steuerelemente<br />
wie gewohnt im Variablenauswahldialog angesprochen werden. Syntaktisch werden hier bei<br />
der Auswahl die Elemente in spitze Klammern eingefasst.<br />
Weitere Hinweise:<br />
• Strukturen dürfen geschachtelt werden, d.h. ein<br />
Strukturelement darf auch vom Datentyp einer Struktur sein.<br />
Die maximale Verschachtelungstiefe beträgt 10.<br />
• Bei der Definition der Strukturen und der Datenblöcke ist das<br />
sogenannte "Alignment" (die Verschiebung von Speicherzellen<br />
auf gerade Adressen, häufig entsteht z.B. ein Loch im linearen<br />
Speicherbereich, wenn ein Wort (VT_I2) eigentlich auf eine<br />
ungerade Adresse geschoben werden soll, weil es auf ein Byte<br />
auf einer geraden Adresse folgt) in der SPS zu beachten.<br />
Strukturdefinitionen in VisiWinNET dürfen Löcher (quasi nicht<br />
belegte Bytes) enthalten. Über den Parameter<br />
"Ordnungsnummer als Byteoffset" in der Strukturdefinition<br />
kann der Offset eines Elementes direkt als Byteoffset<br />
angegeben werden.
VisiWinNET 2005 Prozessanbindung<br />
FAQ<br />
Definitionen der Prozessanbindung / Struktur / Verwendung von Strukturen 61<br />
• Frage: Was ist der Unterschied zwischen einem Feld und einer<br />
Struktur?<br />
Antwort: Während Variablenfelder nur Elemente des gleichen<br />
Datentyps enthalten können, ist eine Struktur ein Mix aus<br />
Elementen unterschiedlicher Datentypen<br />
• Frage: Warum sind die beiden Worte in meinem als VT_I4<br />
definierten Strukturelement offensichtlich vertauscht?<br />
Antwort: Das typische Datenorganisations-Problem. Manche<br />
SPSen organisieren die beiden 16-Bit-Worte eines Langwortes<br />
aus der Perspektive des Betriebssystems falsch herum. Eine<br />
entsprechende Einstellung zur Korrektur dieses Fehlers<br />
befindet sich A) entweder in der Konfiguration der<br />
Kommunikationskomponente oder B) in der Definition des<br />
Kommunikationskanals.<br />
• Frage: Was ist der Perfomancegewinn bei der Verwendung von<br />
Strukturen gegenüber dem Zugriff auf einzelne Variablen?<br />
Antwort: Wir können keine Aussage treffen. Aber hier ein<br />
Extrembeispiel: Lesen von 1000 Worten. Wenn ein Lesebefehl<br />
z.B. aus 1 Byte Anweisung, 2 Byte Adresse, 2 Byte Länge<br />
besteht, zu jedem Leseaufruf die entsprechende Rückantwort<br />
aus 5 Byte erfolgt, werden bei der Anfrage auf 1000 Wörter<br />
10kB Daten übertragen. Davon sind 2kB Nutzdaten (Verhältnis<br />
5/1). Das Verhältnis Protokolldaten/Nutzdaten wird durch die<br />
Blockweise Übertragung nahezu auf 1 reduziert. Als<br />
zusammenhängender Block über einen gemeinsamen<br />
Lesebefehl könne die 2kB Nutzdaten mit nur einem<br />
Protokollzugriff übertragen werden. Bei einer langsamen<br />
Verbindung (z.B. serielle Kommunikation mit 9600 Baud) kann<br />
der Performancegewinn entscheidend sein.
VisiWinNET 2005 Prozessanbindung<br />
4.7 Strukturelement<br />
Definitionen der Prozessanbindung / Strukturelement / Verwendung von Strukturen 62<br />
• Frage: Beim Browsen über den S7 OPC-Server bekomme ich<br />
alle Variablen einzeln in mein Projekt. Genieße ich jetzt noch<br />
den Vorteil des blockweisen Zugriffs?<br />
Antwort: Nicht, wenn der OPC-Server intern keine Blockung<br />
unterstützt. Dann muss manuell eine Strukturdefinition im<br />
Projekt angelegt werden, die den Aufbau des entsprechenden<br />
Datenbausteines wiedergibt. Über die Definition einer<br />
Variablen vom Typ der Struktur und der Adresse, die den<br />
Datenblock beschreibt (Datenbaustein, Startadresse und<br />
Länge, siehe Dokumentation des OPC-Servers) muss der<br />
blockweise Zugriff erst wieder ermöglicht werden.<br />
• Frage: Etwas passt beim Aufbau meiner Struktur nicht. Werte,<br />
die sich offensichtlich in der SPS ändern, werden nicht in der<br />
Visualisierung angezeigt oder Änderungen wirken sich auf ein<br />
falsches Strukturelement aus.<br />
Antwort: Ist in der Strukturdefinition der Parameter<br />
"Ordnungsnummer als Byteoffset" aktiv, wird eine<br />
Doppelbelegung des Parameters "Ordnungsnummer" in den<br />
Strukturelementen nicht mehr überprüft. Kontrollieren Sie<br />
diesen Parameter genau (auch in Hinblick auf das Alignment).<br />
Strukturelemente definieren die Speicherzellen einer Strukturdefinition. Als wichtigste<br />
Informationen werden dabei der Datentyp und der Offset innerhalb der Struktur<br />
angegeben.<br />
Strukturelemente beinhalten u.a. folgende Funktionalität:<br />
• Unterstrukturierung mit Hilfe des Datentyps<br />
• Zugriff auf Datenfelder<br />
• Sprach-/Variablenwert-abhängige Umrechnung von Prozessvariablenwerten<br />
(Einheitenklassen)<br />
Parameter des Strukturelementobjektes<br />
Name Beschreibung<br />
Datentyp Bestimmt den Aufbau und die Länge des Strukturelementwertes<br />
Einheitenklasse<br />
(Anzeige)<br />
Verweis auf eine sprach- oder variablenabhängige Umrechnung<br />
Einheitenklasse<br />
(Prozess)<br />
Verweis auf eine Variablenwert-abhängige Umrechnung<br />
Ersatzwert Wert, der anstelle des wahren Prozesswertes weitergereicht wird<br />
Feldgröße Anzahl der Prozessvariablen bei blockweisem Zugriff<br />
Variablenoptionen Bitcodierte Einstellungen zur Prozessvariablen<br />
Kommentar Wahlfreier Kommentar zur Definition
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Strukturelement / Strukturelemente bearbeiten 63<br />
Maximalwert Oberer Grenzwert, den das Strukturelement annehmen darf<br />
Minimalwert Unterer Grenzwert, den das Strukturelement annehmen darf<br />
Name Bezeichner des Objektes<br />
Ordnungsnummer Byteoffset oder Reihenfolgennummer des Elementes im<br />
Strukturspeicherbereich<br />
Text Sprachumschaltbarer Text zur Variablen<br />
4.7.1 Strukturelemente bearbeiten<br />
Strukturelemente werden in Strukturen projektiert und im Tabelleneditor angezeigt. Jedes<br />
Element beinhaltet einen editierbaren Parametersatz: Hier wird unter anderem festgelegt,<br />
welchen Datentyp das Element beschreibt und wo sich das Element in der Struktur befindet.<br />
Der Tabelleneditor der Prozessanbindung wird über einen Klick auf einen entsprechenden<br />
Knoten im Projektexplorer geöffnet.<br />
Der Editor bietet folgende Funktionen zum Projektieren von Strukturelementen:<br />
Neu erzeugen Über Eintrag "Neu" im Kontextmenü des Tabelleneditors wird ein<br />
neues Strukturelement in das Projekt eingefügt<br />
Parameter<br />
bearbeiten<br />
Die VisiWinNET-Eigenschaftenseite zeigt die Parameter des im<br />
Tabelleneditor markierten Strukturelementes an. Das Bearbeiten<br />
der Parameter ist aber auch direkt in den Feldern des<br />
Tabelleneditors erlaubt.<br />
Löschen Eine oder mehrere Elemente können gelöscht werden, indem:<br />
• zuerst die zu löschenden Definitionen markiert werden (Klick<br />
auf die Selektorspalte am linken Tabellenrand ggf. bei<br />
gehaltener Strg- oder Shift-Taste für eine Mehrfachselektion)<br />
• Anschließend im Kontextmenü des Tabelleneditors der Eintrag<br />
"Löschen" gewählt wird.
VisiWinNET 2005 Prozessanbindung<br />
4.8 Multiplexer<br />
Visualisierung<br />
(Steuerelemente, ...)<br />
Ausgabevariablen<br />
ItemOut1<br />
ItemOut2<br />
ItemOut3<br />
Definitionen der Prozessanbindung / Multiplexer / Strukturelemente bearbeiten 64<br />
Multiplexer<br />
Umschaltvariable<br />
Eingangsvariablen<br />
ItemIn11<br />
ItemIn12<br />
ItemIn13<br />
ItemIn11<br />
ItemIn12<br />
ItemIn13<br />
ItemIn11<br />
ItemIn12<br />
ItemIn13<br />
Technisch gesehen ist ein Multiplexer ein Mehrfachumschalter. In der Praxis wird über<br />
Multiplexer eine Umschaltung von Variablengruppen erreicht. Liegen beispielsweise Daten<br />
mehrerer Regler in der SPS, kann in der Applikation über einen Multiplexer ein Formular<br />
projektiert werden, dass jeweils die Daten eines Reglers anzeigt, dabei aber über einen<br />
Umschalter zwischen den Reglern wechseln kann.<br />
Die Umschaltung wird mithilfe der Umschaltvariable realisiert. Zu definieren ist zusätzlich:<br />
• welche Ausgabevariablen sollen die Daten enthalten, die in der Applikation angezeigt<br />
werden?<br />
• welche Werte muss die Umschaltvariable einnehmen, damit zu einem Satz<br />
Eingangsvariablen gewechselt wird?<br />
• welche Eingangsvariablen liefern die Daten für welchen Zustand der<br />
Umschaltvariablen?<br />
Der Variableneditor repräsentiert diese Daten in Form einer Tabelle mit einer vom<br />
Projekteur zu definierenden Anzahl von Spalten und Zeilen. Durch das Hinzufügen einer<br />
Zeile wird eine neue Ausgabevariable definiert. In der ersten Tabellenspalte steht der Name<br />
der Ausgabevariablen.<br />
Jede weitere Spalte beschreibt über den Wert der Umschaltvariablen im Spaltenkopf einen<br />
Umschaltzustand. In den Feldern dieser Spalten werden die Eingangsvariablen erwartet, die<br />
für diesen Zustand mit der Ausgabevariablen der entsprechenden Zeile verbunden sein<br />
sollen.<br />
Parameter der Multiplexerdefinition<br />
Name Beschreibung<br />
Kommentar Wahlfreier Kommentar zur Definition<br />
Name Bezeichner der Definition<br />
Umschaltvariable Legt die Variable fest, deren Wert als Schalter zwischen den<br />
Umschaltzuständen verwendet wird<br />
Umschaltzustände Legt fest, zu welchen Variablen gewechselt wird, wenn die<br />
Umschaltvariable den Wert ändert.
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Multiplexer / Multiplexer bearbeiten 65<br />
4.8.1 Multiplexer bearbeiten<br />
Multiplexer werden im Projektexplorer unter dem gleichnamigen Knoten dargestellt. Jede<br />
Multiplexdefinition beinhaltet:<br />
• einen editierbaren Parametersatz: Hier wird der Name und die Umschaltvariable<br />
festgelegt. Außerdem wird über die Definition von Umschaltzuständen bestimmt, welche<br />
Werte die Umschaltvariable einnehmen kann.<br />
• die Variablenzuordnung: Über eine Zuordnungstabelle werden Variablensätze<br />
projektiert. Jeder Variablensatz beinhaltet einen Alias und ein Feld für jeden<br />
Umschaltzustand. Über den Alias wird der Variablensatz an Steuerelemente<br />
angebunden. In den Feldern der Umschaltzustände wird eingetragen, welche Variable<br />
zum Alias umgelenkt wird.<br />
Der Editor bietet folgende Funktionen zum Projektieren von Multiplexern:<br />
Neu erzeugen Über Eintrag "Neu" im Kontextmenü des Knotens "Multiplexer".<br />
Parameter<br />
bearbeiten<br />
Ein Klick auf einen Multiplexer lädt die entsprechenden Parameter<br />
in die VisiWinNET-Eigenschaftenseite. Hier können die<br />
Parameterwerte bearbeitet werden.<br />
Löschen Über den Eintrag "Löschen" im Kontextmenü eines<br />
Multiplexerknotens wird die Definition gelöscht. Dabei werden<br />
auch die enthaltenen Variablensätze gelöscht.<br />
Die Variablensätze im Tabelleneditor werden über den Parameter "Umschaltzustände"<br />
des Multiplexers parametriert. Jeder neu hinzugefügte Umschaltzustand erweitert die<br />
Variablensatzztabelle um eine entsprechende Spalte. Hier werden die Variablen<br />
eingetragen, die zur Laufzeit über den projektierten Alias angesprochen werden.<br />
Variablensätze werden über die Funktionen im Kontextmenü des Tabelleneditors als<br />
Tabellenzeilen neu eingefügt oder gelöscht.
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Multiplexer / Beispiel Multiplexer 66<br />
4.8.2 Beispiel Multiplexer<br />
Eine typische Anwendung eines Multiplexers kann anhand des Demo-OPC-Servers<br />
gezeigt werden. Hier sind drei gleichartige Datenstrukturen (DistillationDevice.Unit1..3)<br />
enthalten, die über einen Multiplexer umschaltbar darzustellen sind.<br />
Über die Verwendung eines Multiplexers wird der Aufbau der Applikationsoberfläche<br />
vereinfacht. Es müssen nur noch für eine Datenstruktur Steuerelemente projektiert<br />
werden. Das wiederholte Platzieren und Parametrieren von Steuerelementen, die sich<br />
nur in der Variablenanbindung (VWItem-Eigenschaft) unterscheiden, entfällt.<br />
Der Demo-OPC-Server ist als Kanal in ein Projekt einzufügen.<br />
Anschließend sind die Variablen des Namensraumes<br />
"DistillationDevice" über den "Browse"-Dialog in das Projekt zu<br />
übernehmen.<br />
Anschließend ist im Variableneditor eine interne Variable mit<br />
dem Namen "SwitchDistillationDeviceUnit" (Datentyp<br />
"VT_I2)anzulegen.<br />
Unter dem Knoten "Multiplexer" im Projektexplorer ist eine<br />
neue Multiplexdefinition anzulegen. Auf der Karteikarte<br />
"Standard" in der VisiWinNET-Eigenschaftenseite sind folgende<br />
Parameter anzupassen:<br />
Name Wert<br />
Name MuxUnits<br />
Umschalt-<br />
variable<br />
SwitchDistillationDeviceUnit<br />
Auf der Karteikarte "Erweitert" sind drei neue<br />
Umschaltzustände mit den Werten 1, 2 und 4 anzulegen.
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Multiplexer / Beispiel Multiplexer 67<br />
Über die "Hinzufügen"-Schaltfläche werden neue Zeilen in der<br />
Liste erzeugt, anschließend können die Werte direkt in den<br />
Listenfeldern bearbeitet werden.<br />
Im Tabelleneditor der neuen Definition sind über den<br />
Kontextmenüeintrag "Neu" zwei neue Variablensätze anzulegen<br />
Im "Alias"-Feld sind die Werte "Kondensation" und "WaterTank"<br />
einzutragen.<br />
In den Feldern der Umschaltzustände ist über den<br />
Variablenauswahldialog die Zuordnung zu den entsprechenden<br />
Variablen aus dem OPC-Server festzulegen:<br />
Tabellenspalte "1"<br />
Alias Wert<br />
Kondensation DistillationDevice.Unit1.Kondensation<br />
WaterTank DistillationDevice.Unit1.WaterTank<br />
Tabellenspalte "2"<br />
Alias Wert<br />
Kondensation DistillationDevice.Unit2.Kondensation<br />
WaterTank DistillationDevice.Unit2.WaterTank<br />
Tabellenspalte "4"<br />
Alias Wert<br />
Kondensation DistillationDevice.Unit3.Kondensation<br />
WaterTank DistillationDevice.Unit3.WaterTank<br />
Die Variablen "Kondensation" und "WaterTank" sind über zwei<br />
'VarOut'-Steuerelemente in der Applikation anzubinden.<br />
Drei 'Switch'-Steuerelemente sind mit den Bits 0,1 und 2 der<br />
internen Umschaltvariable "SwitchDistillationDeviceUnit" zu<br />
verbinden. Die 'OptionGroup'-Eigenschaft der drei<br />
Steuerelemente ist jeweils auf den Wert 0 zu setzen.
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Multiplexer / Beispiel Multiplexer 68<br />
Die drei Switch-Steuerelemente werden über die 'OptionGroup'-<br />
Eigenschaft so konfiguriert, dass immer nur ein Bit in der<br />
Variablen "SwitchDistillationDeviceUnit" aktiv ist. Damit nimmt<br />
die Variable bei Bedienung über die 'Switch'-Steuerelemente<br />
den Wert 1,2 oder 4 ein. Dies sind die Werte, die im Multiplexer<br />
als Umschaltzustände projektiert wurden. Im folgenden wird<br />
diese Variable zur Umschaltung des Multiplexers verwendet.<br />
Das Projekt ist zu starten. Der Multiplexer ist über die drei<br />
'Switch'-Steuerelemente zu den jeweils festgelegten Variablen<br />
umzuschalten.<br />
Eine so projektierte Anwendung erlaubt die Umschaltung<br />
zwischen gleichartigen Variablenblöcken. Das wiederholte<br />
Platzieren und Parametrieren von Steuerelementen, die sich nur<br />
in der Variablenanbindung unterscheiden, entfällt.
VisiWinNET 2005 Prozessanbindung<br />
4.9 Variablenadapter<br />
Definitionen der Prozessanbindung / Variablenadapter / Beispiel Multiplexer 69<br />
Der Zugriff auf Variablenwerte aus VisiWinNET-Applikationen erfolgt über den<br />
vollständigen Bezeichner von Prozessvariablen. Dieser Bezeichner beinhaltet den<br />
Kanalnamen, den Alias der Prozessvariablen, sowie ggf. die Auflösung von Feld- und/oder<br />
Strukturelementen.<br />
Variablenadapter entkoppeln diese Anbindung durch die Einführung eines weiteren Alias.<br />
Zusätzlich beinhalten Variablenadapter eine konfigurierbare Umschaltung. Jedem Alias<br />
können zur Entwicklungszeit mehrere in den Kommunikationskanälen definierte<br />
Prozessvariablendefinitionen zugeordnet werden. Über einen Konfigurationseintrag wird zur<br />
Initialisierungsphase des Projektes festgelegt, welche Variablen tatsächlich über den Alias<br />
angesprochen wird.<br />
Problemstellung<br />
Variablenadapter werden als Lösung von folgenden Problemen verwendet:<br />
• Zur Zeit der Erstellung des Projektes ist nicht klar, welche Anbindungskonstellation<br />
gewählt werden muss (Anschluss aller Steuerungen über einen Kommunikationskanal /<br />
über mehrere Kommunikationskanäle): In der Praxis kann es sein, dass sich die<br />
Anbindung über nur einen Treiber als wenig performant erweist. Alle Anbindungen in<br />
der Applikation ("VWItem-Eigenschaft) beinhalten aber den Kanalbezeichner. Eine<br />
spätere Umstellung von einem auf mehrere Kommunikationskanäle erweist sich als<br />
äußerst arbeitsintensiv, da beispielsweise die Variablenanbindungen in den<br />
Steuerelementen auch angepasst werden müssen.<br />
• Es ist abzusehen, dass die Visualisierung unterschiedliche Steuerungen verwenden<br />
muss. Die Variablenbenennung ist aber auf keine Weise kompatibel zu halten: Ein<br />
typischer Fall hierfür ist die Anbindung über einen OPC-Server für die eine Steuerung<br />
und die Verwendung eines VisiWin-Treibers für die alternative Steuerung. Aufgrund<br />
des optimierten Austausch über Strukturen sind bei VisiWin-Treibern die<br />
Variablennamen in der Applikation nicht mehr kompatibel, da das Strukturelement<br />
durch spitze Klammern eingefasst mit in den Bezeichner der angebundenen Variable<br />
einfließt.<br />
Beide Probleme konnten bislang dazu führen, dass dieselbe Visualisierung für<br />
unterschiedliche Steuerungen auch mithilfe von mehreren Projekten parallel gepflegt<br />
werden musste.
VisiWinNET 2005 Prozessanbindung<br />
Projektierung<br />
Definitionen der Prozessanbindung / Variablenadapter / Beispiel Multiplexer 70<br />
Um einen Variablenadapter in Betrieb zu nehmen, sind in der Entwicklungsumgebung<br />
folgende Schritte durchzuführen:<br />
• Definition aller Variablen, die in den unterschiedlichen Varianten vorkommen können,<br />
in mehreren Kommunikationskanälen. Variablen aus unterschiedlichen Varianten<br />
dürfen dabei nicht in einem Kanal definiert werden.<br />
• Erzeugen eines Variablenadapters im Projektexplorer<br />
• Festlegung der Variablen der ersten Umschaltvariante durch Hinzufügen von<br />
Variablensätzen im Tabelleneditor des Adapters. Jeder Variablensatz setzt sich in dieser<br />
Phase durch einen Standardwert und einen Alias zusammen. Ist die Applikation bereits<br />
mit Variablen verbunden, sollten diese als Standardwert ausgewählt werden. Eine<br />
weitere Applikationsanpassung erübrigt sich dadurch, da der Alias vom Editor aus dem<br />
Namen der Standardvariablen bildet.<br />
• Definition eines neuen Umschaltzustandes: In der Entwicklungsumgebung wird über<br />
das Hinzufügen eines Umschaltzustandes eine Spalte zur Tabelle hinzugefügt. Die<br />
Felder dieser Spalte sind leer. Hier müssen jetzt die Variablen eingefügt werden, die<br />
den Bezeichner in der Standard-Spalte ersetzen, wenn zu einer anderen Steuerung<br />
umgeschaltet wird.<br />
• Aktivierung des passenden Umschaltzustandes: Um Irrtümern vorzubeugen, eines<br />
gleich vorweg. Die Umschaltung kann zwar vor dem Applikationsstart konfiguriert<br />
werden, ist aber nicht mehr zur Laufzeit änderbar, also kein dynamisches Feature. Ggf.<br />
sind dem Techniker, der die Visualisierung vor Ort einrichtet, die Schritte zur<br />
Konfiguration der angeschlossenen Steuerungen detailliert zu beschreiben.<br />
Steuerelement Itemadapter-Definition<br />
VWItem-Eigenschaft<br />
Verknüpfungen über Itemadapter<br />
Alias Standard<br />
.<br />
.<br />
.<br />
Umschaltzust. 2<br />
Item-Definition (Kanal)<br />
Alias ItemID<br />
Alias ItemID<br />
.<br />
.<br />
.<br />
Items (OPC-Server)<br />
ItemID Name<br />
ItemID Name<br />
.<br />
.<br />
.
VisiWinNET 2005 Prozessanbindung<br />
Parameter der Variablenadapter<br />
Name Beschreibung<br />
Definitionen der Prozessanbindung / Variablenadapter / Variablenadapter bearbeiten 71<br />
Definition aktiv Bestimmt, ob die Definition zur Laufzeit gültig ist.<br />
Kommentar Wahlfreier Kommentar zum Objekt<br />
Name Bezeichner der Definition<br />
Umschaltzustände Legt fest, zu welchen Variablen gewechselt wird, wenn die<br />
Konfiguration des Variablenadapters den Wert ändert.<br />
zu deaktivierende<br />
Kanäle<br />
Legt für jeden Eintrag in der "Umschaltzustände"-Liste fest, welche<br />
Kommunikationskanäle deaktiviert werden, wenn der<br />
entsprechende Umschaltzustand aktiv ist.<br />
4.9.1 Variablenadapter bearbeiten<br />
Variablenadapter werden im Projektexplorer unter dem gleichnamigen Knoten dargestellt.<br />
Jede Variablenadapterdefinition beinhaltet:<br />
• einen editierbaren Parametersatz: Hier wird der Name festgelegt. Außerdem wird über<br />
die Definition von Umschaltzuständen bestimmt, zu welchen Werten der Adapter<br />
konfiguriert werden kann.<br />
• die Variablenzuordnung: Über eine Zuordnungstabelle werden Variablensätze<br />
projektiert. Jeder Variablensatz beinhaltet einen Alias und ein Feld für jeden<br />
Umschaltzustand. Über den Alias wird der Variablensatz an Steuerelemente<br />
angebunden. In den Feldern der Umschaltzustände wird eingetragen, welche Variable<br />
zum Alias umgelenkt wird.<br />
Der Editor bietet folgende Funktionen zum Projektieren von Variablenadaptern:<br />
Neu erzeugen Über Eintrag "Neu" im Kontextmenü des Knotens<br />
"Variablenadapter".<br />
Parameter<br />
bearbeiten<br />
Ein Klick auf einen Variablenadapter lädt die entsprechenden<br />
Parameter in die VisiWinNET-Eigenschaftenseite. Hier können die<br />
Parameterwerte bearbeitet werden.<br />
Löschen Über den Eintrag "Löschen" im Kontextmenü eines<br />
Variablenadapterknotens wird die Definition gelöscht. Dabei<br />
werden auch die enthaltenen Variablensätze gelöscht.<br />
Die Variablensätze im Tabelleneditor werden über den Parameter "Umschaltzustände"<br />
des Variablenadapters parametriert. Jeder neu hinzugefügte Umschaltzustand erweitert<br />
die Variablensatztabelle um eine entsprechende Spalte. Hier werden die Variablen<br />
eingetragen, die zur Laufzeit über den projektierten Alias angesprochen werden.<br />
Variablensätze werden über die Funktionen im Kontextmenü des Tabelleneditors als<br />
Tabellenzeilen neu eingefügt oder gelöscht.<br />
Im Knoten Variablen→Variablenadapter→Konfiguration wird für jeden Variablenadapter<br />
der aktive Umschaltzustand festgelegt.
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Variablenadapter / Beispiel Variablenadapter 72<br />
4.9.2 Beispiel Variablenadapter<br />
Das Beispiel zeigt, wie eine Applikation zu erstellen ist, wenn alternativ zu einer S7-<br />
Anbindung (über einen VisiWin-Treiber) eine Allen Bradley-Steuerung (über einen OPC-<br />
Server) an die Applikation angeschlossen werden soll. Die Anbindung über den Treiber<br />
ist dabei zusätzlich durch Strukturen optimiert.<br />
Die Lösung<br />
Die Beispieldefinition zeigt eine Prozessvariable in der S7-Syntax:<br />
Die zugehörige Strukturdefinition (Der Datentyp der<br />
Prozessvariablen, der den blockweisen Datenaustausch über den<br />
Treiber ermöglicht) hat folgenden Aufbau:<br />
Die Anbindung eines Steuerelementes (VWItem-Eigenschaft) auf<br />
den "Temperature"-Wert einer S7-Steuerung hat dann den Namen<br />
"Ch1.DB3"<br />
Die Allen Bradley-Steuerung erwartet eine andere Syntax. Hier<br />
sind Strukturen unbekannt. Prozessvariablen werden direkt in der<br />
Prozessvariablentabelle über symbolische Namen angesprochen:<br />
Die Anbindung eines Steuerelementes auf den "Temperature"-<br />
Wert der Allen Bradley-Steuerung hat dann den Variablennamen<br />
"Ch1.Temperature"<br />
Die in der Applikation zu verwendenden "VWItem"-<br />
Eigenschaftenwerte sind für die beiden Steuerungen also nicht<br />
kompatibel. Auch die ItemID hat einen anderen <strong>Inhalt</strong>. Der<br />
Versuch, den Alias der Allen-Bradley-Prozessvariablen auf<br />
"DB3" zu ändern, wird spätestens beim Start des<br />
Projektes durch einen Fehler quittiert. Das Laufzeitsystem<br />
scheitert an der Strukturauflösung (durch spitze Klammern<br />
gekennzeichnet). Spätestens hier steht der Projekteur vor dem<br />
Problem, das Projekt zu duplizieren und alle kommenden<br />
Änderungen in zwei Projekten nachzupflegen.<br />
Beide Kanäle können innerhalb eines Projektes angelegt werden. Die Anpassung erfolgt<br />
mithilfe eines Variablenadapters.<br />
Die Prozessvariablen der Steuerungen S7 sind unter dem<br />
Kommunikationskanal "S7" anzulegen. Die Prozessvariablen für die<br />
Allen Bradley-Steuerung sind in einem zweiten<br />
Kommunikationskanal "AB" zu definieren.<br />
Über das Kontextmenü des Knoten "Variablenadapter" ist ein neuer<br />
Adapter anzulegen.<br />
Im Eigenschaftendialog des neuen Adapters sind folgende
VisiWinNET 2005 Prozessanbindung<br />
Änderungen vorzunehmen:<br />
Parameter Wert<br />
Definitionen der Prozessanbindung / Variablenadapter / Beispiel Variablenadapter 73<br />
Name AdaptS7_AB<br />
Umschaltzustände Hinzufügen eines Umschaltzustandes<br />
mit dem Namen "AB"<br />
zu deaktivierende<br />
Kanäle bei<br />
Standardeinstellung<br />
Der Umschaltzustand "Default" ist in der<br />
Liste der Umschaltzustände zu<br />
markieren, anschließend ist in der "zu<br />
deaktivierende Kanäle" der<br />
Kommunikationskanal "AB"<br />
anzukreuzen.<br />
Für den neu angelegten<br />
Umschaltzustand "AB" ist der Kanal "S7"<br />
zu deaktivieren.<br />
Der so erzeugte Adapter definiert eine Umschaltung von Variablen<br />
aus zwei unterschiedlichen Steuerungen. In den Eigenschaften<br />
wird zusätzlich angeboten, einen oder mehrere Kanäle für jeden<br />
Umschaltzustand zu deaktivieren. Die hier gewählten<br />
Kommunikationskanäle werden dann vom Laufzeitsystem nicht<br />
mehr angesprochen, wenn die entsprechende Konfiguration<br />
gewählt wurde.
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Variablenadapter / Beispiel Variablenadapter 74<br />
Über den Knoten "AdaptS7_AB" ist zur entsprechenden Tabelle zu<br />
wechseln.<br />
Im Tabelleneditor ist auf die leere Tabelle zu klicken.<br />
Über den Eintrag "Variablensatz neu" des Kontextmenüs öffnet sich<br />
ein Auswahldialog, der das Einfügen mehrerer Prozessvariablen<br />
erlaubt. Hier sind die Variablen der ersten Umschaltvariante<br />
auszuwählen:<br />
Die Auswahl wird in die Tabelle des Adapters eingetragen, wobei<br />
aus dem Standardwert der Alias gebildet wird.<br />
Bei einem bestehenden Projekt, in dem Steuerelemente bereits mit<br />
Variablen verbunden sind, empfiehlt es sich, hier die bereits<br />
angebundenen Variablen auszuwählen. Die Applikation kann ohne<br />
Änderungen in den Steuerelementen über den Variablenadapter<br />
um eine zweite Steuerung erweitert werden.<br />
In der Tabelle sind über den Variablenauswahldialog in den<br />
Feldern des hinzugefügten Umschaltzustandes "AllenBradley" die<br />
alternativen Prozessvariablen der Allen Bradley-Steuerung<br />
einzutragen.
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Variablenadapter / Beispiel Variablenadapter 75<br />
Der Alias stellt nun den Bezeichner dar, der in der Applikation als<br />
VWItem-Eigenschaft verwendet werden kann. Die Spalten<br />
"Standard" und "AllenBradley" geben die<br />
Prozessvariablendefinitionen an, die real verwendet werden.<br />
Abschließend ist zu klären, wie der Adapter konfiguriert wird, um<br />
zwischen den Zuständen "Standard" und "AllenBradley"<br />
umzuschalten.<br />
Der Knoten Variablen→Variablenadapter→Konfiguration ist im<br />
Projektexplorer zu markieren. In der VisiWinNET-<br />
Eigenschaftenseite ist in der Liste für den Variablenadapter<br />
"AdaptS7_AB" der Umschaltzustand "AB" zu wählen.
VisiWinNET 2005 Prozessanbindung<br />
Definitionen der Prozessanbindung / Variablenadapter / Beispiel Variablenadapter 76<br />
Die Auswahlliste des "aktiven Umschaltzustandes" beinhaltet die<br />
Standardkonfiguration ("Default") und zusätzlich alle selbst<br />
projektierten Umschaltzustände.<br />
Die Auswahl des "AB"-Umschaltzustandes aktiviert die<br />
Variablendefinitionen, die in der entsprechenden Spalte angegeben<br />
wurden.<br />
Das Laufzeitsystem behandelt die hier projektierten Informationen<br />
in folgenden Schritten:<br />
• Der aktive Umschaltzustand des Adapters wird gelesen<br />
• anhand der Informationen des aktiven Zustandes werden ggf.<br />
einzelne Kommunikationskanäle deaktiviert. Das<br />
Laufzeitsystem versucht erst gar nicht, eine Verbindung zu den<br />
entsprechenden Kommunikationskomponenten aufzunehmen.<br />
Dies verhindert das Auftreten von Fehlermeldungen, wenn die<br />
entsprechende Kommunikationskomponente oder der<br />
Anschluss an die SPS nicht vorhanden ist.<br />
• Für eine Variablenwertanforderung aus der Applikation<br />
überprüft der Variablenkern zuerst die Alias-Angaben der<br />
Variablensätze im Variablenadapter. Ist hier kein<br />
entsprechender Alias zu finden, wird die Variable direkt im<br />
Kommunikationskanal gesucht. Wird der Alias aber in der<br />
Tabelle gefunden, wird über den konfigurierten<br />
Umschaltzustand die tatsächlich angeforderte<br />
Variablendefinition ermittelt. Anschließend werden nach dem<br />
normalen Verfahren die Daten ausgetauscht.
VisiWinNET 2005 Prozessanbindung<br />
Parameter der Definitionen der Prozessanbindung / Variablenadapter / Beispiel Variablenadapter 77<br />
5 Parameter der Definitionen der Prozessanbindung<br />
Im Folgenden eine alphabetische Auflistung der Parameter. Zusätzlich noch die Information,<br />
von welcher VisiWinNET-Produktvariante der Parameter unterstützt wird.<br />
Parametername VisiWinNET<br />
Standard<br />
Abtastzeit<br />
Adresse<br />
Aktivierungsmodus<br />
Alias<br />
Beschreibung<br />
Browser<br />
Browsereigenschaften<br />
Bytetausch<br />
Daten direkt aus der Hardware lesen<br />
Datentyp<br />
Definition aktiv<br />
Einheitenklasse (Anzeige)<br />
Einheitenklasse (Prozess)<br />
Einheitentext<br />
Einzeln beschreibbar<br />
Einzelzugriff auf Feldelemente<br />
Ersatzwert<br />
Ersatzwert Modus<br />
Feldgröße<br />
Fließkomma-konvertierung IEEE-S5/S7<br />
Hysterese<br />
ItemID<br />
Kommaverschiebung<br />
Kommentar<br />
Konfiguration im OPC-Server-Projekt<br />
speichern<br />
Konfigurationsstatus<br />
Lesen wiederholen bei Schreib-<br />
/Lesekonflikt<br />
VisiWinNET<br />
Compact<br />
VisiWinNET<br />
Embedded
VisiWinNET 2005 Prozessanbindung<br />
Lesezugriffe<br />
Maximalwert<br />
Minimalwert<br />
Name<br />
nur Data-Callback-Interface V1.0<br />
benutzen<br />
OPC-Servername<br />
OPC-Server hat Unicode-Strings<br />
OPC-Shutdown-Interface nicht<br />
verbinden<br />
Ordnungsnummer<br />
Ordnungsnummer als Byteoffset<br />
Rechnername<br />
Schreibzugriffe<br />
Separatorzeichen<br />
Sicherheit<br />
Standardsprache<br />
Startwerte nicht synchron einlesen<br />
Steuerobjekt<br />
Strukturzugriff<br />
Synchrone Kommunikation ermöglichen<br />
Text<br />
Treibername<br />
Umschaltkennung<br />
Umschaltvariable<br />
Umschaltzustände<br />
URL<br />
Variablenoptionen<br />
Variablen beim Deaktivieren weiterlesen<br />
Variablen statisch aktivieren<br />
Variablenwerte bei OPC Quality BAD<br />
nicht übernehmen<br />
Verbindungsversuche nach<br />
Initialisierungsphase wiederholen<br />
Version<br />
Parameter der Definitionen der Prozessanbindung / Variablenadapter / Beispiel Variablenadapter 78
VisiWinNET 2005 Prozessanbindung<br />
VWE erzeugt Items (CallR-Server)<br />
Worttausch VT_I4, VT_UI4<br />
Worttausch VT_R4, VT_R8<br />
x1<br />
x2<br />
y1<br />
y2<br />
Zeitzonendifferenz<br />
zu deaktivierende Kanäle<br />
Zugriffsart<br />
Zugriffspfad<br />
5.1 Abtastzeit<br />
Parameter für Gruppe<br />
Parameter der Definitionen der Prozessanbindung / Abtastzeit / Beispiel Variablenadapter 79<br />
Beschreibung Die Abtastzeit bestimmt, wie oft die Kommunikationskomponente<br />
geänderte Werte von Prozessvariablen in dieser Gruppe an den<br />
Variablenkern zurückgibt. Wird die Abtastzeit kleiner eingestellt,<br />
als die Zykluszeit der Kommunikationskomponente, so werden die<br />
Daten im Zyklus der Kommunikationskomponente zurückgegeben<br />
(da eine Änderung maximal im Zyklus des OPC-Servers auftreten<br />
kann). Sinnvoll ist die Einstellung jedoch, wenn die Abtastzeit ein<br />
vielfaches der Zykluszeit der Kommunikationskomponente ist,<br />
insbesondere, wenn eine schnelle Anzeige in der Applikation nicht<br />
benötigt wird. In diesem Fall werden geänderte Werte aus der<br />
Kommunikationskomponente in der eingestellten Abtastzeit an den<br />
Variablenkern zurückgemeldet. Dies führt zu einem reduzierten<br />
Datenaufkommen zwischen Kommunikationskomponente und<br />
Variablenkern.
VisiWinNET 2005 Prozessanbindung<br />
5.2 Adresse<br />
Parameter für Prozessvariable (VisiWin-Treiber)<br />
Parameter der Definitionen der Prozessanbindung / Adresse / Beispiel Variablenadapter 80<br />
Beschreibung Beschreibt den Zugriff auf den Prozesswert in einem VisiWin-<br />
Treiber. VisiWin-Treiber kommunizieren über die Angabe der<br />
Speicheradresse mit einer SPS.<br />
Der Aufbau der Adressangabe ist abhängig von der verwendeten<br />
Steuerung.<br />
Beispiel (für eine Adressangabe bei Siemens S5)<br />
Bei einer Siemens S5-Steuerung sollen fünf Datenworte des<br />
Datenbausteins 20 ab Adresse 2 eingelesen werden.
VisiWinNET 2005 Prozessanbindung<br />
5.3 Aktivierungsmodus<br />
5.4 Alias<br />
Parameter für Gruppe<br />
Parameter der Definitionen der Prozessanbindung / Aktivierungsmodus / Beispiel Variablenadapter 81<br />
Beschreibung Bestimmt, wann Daten zwischen Kommunikationskomponente und<br />
Variablenkern ausgetauscht werden.<br />
Einstellung Beschreibung<br />
automatisch Der Austausch der Daten wird durch die<br />
Anforderung einer<br />
Visualisierungsapplikation oder eines<br />
Systemservers (z.B. Alarmserver) an den<br />
Variablenkern automatisch aktiviert.<br />
Visualisierungsapplikationen melden<br />
Prozessvariablen zum Datenaustausch an,<br />
wenn z.B. ein Formular geladen wird, auf<br />
dem Variablenwerte angezeigt werden.<br />
Wird das Formular entladen, werden die<br />
Anmeldungen der entsprechenden<br />
angebundenen Prozessvariablen beim<br />
Variablenkern zurückgenommen. Damit<br />
wird auch der Datenaustausch gestoppt.<br />
Systemserver fordern üblicherweise die<br />
Aktivierung des Datenaustausch zu<br />
kontinuierlichen Überwachungszwecken<br />
direkt nach der Initialisierung an. Solange<br />
ein Systemserver läuft, bleibt der<br />
Datenaustausch der angeforderten<br />
Prozessvariablen aktiv.<br />
Trigger Der Datentransfer wird über die den<br />
Zustand einer Variablen gesteuert (Siehe<br />
auch Parameter "Steuerobjekt").<br />
Anwendungsgesteuert<br />
Parameter für Prozessvariable<br />
Der Datentransfer wird über Aufrufe aus<br />
den Visualisierungsapplikationen (Siehe<br />
auch Parameter "Steuerobjekt") gesteuert.<br />
immer Sobald der Variablenkernel initialisiert<br />
wurde, beginnt der Datentransfer.<br />
Die Einstellungen "Trigger" und "Anwendungsgesteuert" stehen in<br />
der "Compact"-Laufzeit nicht zur Verfügung<br />
Beschreibung Bezeichnet das Objekt in der Visualisierungsapplikation und im<br />
Variablenkern. Der Alias wird z.B. in der Eigenschaft VWItem der<br />
VisiWinNET-Steuerelemente als Bezug zur Prozessvariablen<br />
genutzt.
VisiWinNET 2005 Prozessanbindung<br />
5.5 Beschreibung<br />
5.6 Browser<br />
Parameter der Definitionen der Prozessanbindung / Beschreibung / Beispiel Variablenadapter 82<br />
Parameter für Kommunikationskanal (OPC-Server), Kommunikationskanal<br />
(VisiWin-Treiber)<br />
Beschreibung Gibt einen beschreibenden Text der Kommunikationskomponente<br />
an. Die Beschreibung ist nicht editierbar. Sie wird automatisch von<br />
VisiWinNET beim Einsetzen einer ProgID ermittelt. Sie beschreibt<br />
in lesbarer Form die Kommunikationskomponente. Die<br />
Beschreibung wird im Projektexplorer zusätzlich zum<br />
Kommunikationskanalnamen angezeigt.<br />
Parameter für Kommunikationskanal<br />
Beschreibung Legt die spezifische Komponente zum Lesen von<br />
Variablendefinitionen aus Projektdateien, der SPS oder anderen<br />
Quellen fest.<br />
Nach dem Einfügen eines neuen Kanals wird der "Browser"-<br />
Parameter auf einen Kommunikationskomponenten-spezifischen<br />
Wert gesetzt, d.h. ist ein Browser für die<br />
Kommunikationskomponente verfügbar, wird dieser auch direkt<br />
eingetragen.<br />
Variableninformationen, wie z.B. die ItemID sind stark abhängig<br />
von der verwendeten Kommunikationskomponente. Änderungen<br />
an dem "Browser"-Parameter und damit das Browsen von Daten<br />
aus einer anderen Kommunikationskomponente erfordern genaue<br />
Kenntnisse über die erforderlichen syntaktischen Informationen in<br />
den unterschiedlichen Kommunikationskomponenten.<br />
Soll der Browser also trotzdem gezielt umgelenkt werden, kann<br />
über die -Schaltfläche ein Browser über einen Auswahldialog<br />
ausgewählt werden.<br />
Quasi als Standard installiert ist immer der Browser für OPC-<br />
Server "VisiWinNET.Opc.Brw.dll". Weitere aufgelistete Browser<br />
werden üblicherweise durch die Installation einer<br />
Kommunikationskomponente entsprechend registriert und im<br />
Dialog angezeigt.
VisiWinNET 2005 Prozessanbindung<br />
Parameter der Definitionen der Prozessanbindung / Browser / Beispiel Variablenadapter 83<br />
Ein Browser ist ein einfach zu bedienenden Dialog, der die<br />
öffentlichen Variablen einer Steuerung oder eines SPS-<br />
Programmes anzeigt. Geöffnet wird der Browserdialog über das<br />
Kontextmenü eines Kommunikationskanals. Durch die Auswahl<br />
einzelner Variablen auf dem Dialog werden die Prozessgrößen<br />
markiert, die für die Visualisierung relevante Informationen<br />
beinhalten. Nach der Übernahme der Daten aus dem Browserdialog<br />
werden die entsprechenden Variableninformationen (Zugriff,<br />
Datentyp, Alias, ...) in die Projektdatenbank der Visualisierung<br />
geschrieben.<br />
Danach stehen sie zur Verfügung, um in Steuerelementen oder<br />
zusätzliche Funktionen, wie z.B..Alarmen angebunden zu werden.<br />
Die Fähigkeit, Variablen über einen Browserdialog abrufen zu<br />
können, hängt von verschiedenen Faktoren ab:<br />
Unterstützt die Kommunikationskomponente das Browsen?<br />
• OPC-Server beinhalten per Spezifikation eine<br />
Browserschnittstelle. Im Allgemeinen sollten also<br />
Variableninformationen zu browsen sein.<br />
• Für bestimmte VisiWinNET-Treiber wird eine zusätzliche<br />
Komponente angeboten, die das Browsen von<br />
Variableninformationen über SPS-spezifische Projektdateien<br />
erlauben.<br />
• VisiWin-Treiber beinhalten im allgemeinen keine<br />
Browserschnittstelle.<br />
Woher kommen die Daten?<br />
• Aus den Quellen des SPS-Programms.<br />
• Aus speziell exportierten Listen<br />
• Aus der angeschlossenen Steuerung<br />
• Aus einer Projektdatei, die von der<br />
Kommunikationskomponente verwaltet wird (OPC-Server)<br />
• Aus dem Visualisierungsprogramm (CallR-Server)<br />
Auf jeden Fall sind für die erfolgreiche Datenübernahme aus dem<br />
Browser die Randbedingungen zu klären. Daher ist die Lektüre der<br />
spezifischen Dokumentation unabdingbar.<br />
Einige Browser erfordern für die Datenübernahme weitere<br />
Konfigurationsschritte. Browser, die von der <strong>INOSOFT</strong> erstellt<br />
wurden, können über den Parameter "Browsereigenschaften"<br />
konfiguriert werden.<br />
Der Standard OPC-Browser "VisiWinNET.Opc.Brw.dll" hinterlegt<br />
hier z.B. den Namen des OPC-Servers.
VisiWinNET 2005 Prozessanbindung<br />
5.7 Browsereigenschaften<br />
Parameter für Kommunikationskanal<br />
Parameter der Definitionen der Prozessanbindung / Browsereigenschaften / Beispiel Variablenadapter 84<br />
Beschreibung Beinhaltet Informationen, die der Browser zum Lesen von<br />
Variableninformationen benötigt. Die über "Browser" festgelegte<br />
Browse-Komponente hat hier die Möglichkeit, eigene<br />
Konfigurationseinstellungen abzuspeichern. Sowohl das Format als<br />
auch die Darstellung über einen Dialog sind individuelle Merkmale<br />
der Browser-Komponente. Eine Beschreibung ist daher der<br />
entsprechenden Dokumentation zu entnehmen.<br />
Hinterlegt die Browser-Komponente also ihre Konfigurationswerte<br />
in diesem Feld, kann über die -Schaltfläche der entsprechende<br />
Konfigurationsdialog aufgerufen werden.<br />
Der Standard OPC-Browser "VisiWinNET.Opc.Brw.dll" hinterlegt<br />
hier z.B. den Namen des OPC-Servers. Über die -Schaltfläche<br />
kann ein anderer OPC-Server ausgewählt werden.
VisiWinNET 2005 Prozessanbindung<br />
5.8 Bytetausch<br />
Parameter für Kommunikationskanal (OPC-Server)<br />
Parameter der Definitionen der Prozessanbindung / Bytetausch / Beispiel Variablenadapter 85<br />
Beschreibung Der Aufbau von Prozesswerten in der SPS ist für jeden SPS-Typ<br />
individuell. So kann es vorkommen, dass einzelne Datentypen<br />
unterschiedlich aufgebaut sind. Beim Austausch von einzelnen<br />
Prozessvariablenwerten wird die Anpassung zur Visualisierung<br />
üblicherweise von der Kommunikationskomponente ausgeführt.<br />
Wird über eine Struktur blockweise (über eine Prozessvariable, die<br />
den Datentyp einer Struktur hat) "als Bytestream" (→Parameter<br />
"Strukturzugriff") auf Daten der SPS zugegriffen, kann die<br />
Kommunikationskomponente diese Anpassung nicht mehr<br />
ausführen, da Sie über den Aufbau des Byteblocks nicht informiert<br />
ist. Daher muss im Variablenkern diese Anpassung erfolgen.<br />
Der Parameter "Bytetausch" bewirkt, dass die jeweils zwei<br />
aufeinander folgenden Bytes eines als Bytestream übertragenen<br />
Byteblocks miteinander getauscht werden.<br />
Einstellung Beschreibung<br />
True Beim Lesen aus der SPS wird vom Variablenkern ein<br />
Byteblock über die Kommunikationskomponente<br />
angefordert. Nach Erhalt des Blocks werden jeweils<br />
zwei aufeinander folgende Bytes getauscht. Erst dann<br />
wird der interne Prozessvariablencache gemäß dem<br />
Aufbau der Struktur mit den Bytes des empfangenen<br />
Blocks gefüllt.<br />
Beim Schreiben wird ein Byteblock gemäß den<br />
Angaben der Struktur aus dem internen<br />
Prozessvariablencache zusammengestellt. Danach<br />
werden die jeweils zwei aufeinanderfolgenden Bytes<br />
getauscht. Anschließend wird der Block zur SPS<br />
übertragen.
VisiWinNET 2005 Prozessanbindung<br />
Parameter der Definitionen der Prozessanbindung / Daten direkt aus der Hardware lesen / Beispiel Variablenadapter 86<br />
False Beim Lesen aus der SPS wird vom Variablenkern ein<br />
Byteblock über die Kommunikationskomponente<br />
angefordert. Der interne Prozessvariablencache wird<br />
ohne Bytetausch gemäß dem Aufbau der Struktur mit<br />
den Bytes des empfangenen Blocks gefüllt.<br />
Beim Schreiben wird ein Byteblock gemäß den<br />
Angaben der Struktur aus dem internen<br />
Prozessvariablencache zusammengestellt. Danach wird<br />
dieser Block direkt zur SPS übertragen.<br />
Die Verwendung des Parameters "Bytetausch" ist abhängig von der<br />
verwendeten SPS. Sie ist nur sinnvoll, wenn der Parameter<br />
"Strukturzugriff" auf "als Bytestream" eingestellt ist und Strukturen<br />
als Datentypen für Prozessvariablen verwendet werden.<br />
Weitere Anpassungsmöglichkeiten für diese Zugriffsart:<br />
→Parameter "Fließkomma-Konvertierung IEEE-S5/S7"<br />
→Parameter "Worttausch VT_R4, VT_R8"<br />
→Parameter "Worttausch VT_I4, VT_UI4"<br />
→Parameter "OPC-Server hat Unicode-Strings"<br />
5.9 Daten direkt aus der Hardware lesen<br />
Dieser Parameter wird von der "Compact"-Produktvariante nicht<br />
unterstützt.<br />
Parameter für Kommunikationskanal (OPC-Server)<br />
Beschreibung Bestimmt beim synchronen Lesen, ob der OPC-Server die Werte<br />
aus dem internen Prozessvariablencache oder direkt aus der<br />
Hardware lesen soll.<br />
Einstellung Beschreibung<br />
True Der OPC-Server spricht nach der Leseanforderung zum<br />
nächstmöglichen Zeitpunkt die Hardware an, um den<br />
angeforderten Prozesswert zu lesen.<br />
False Der OPC-Server übergibt den Prozesswert aus seinem<br />
internen Prozessvariablencache.
VisiWinNET 2005 Prozessanbindung<br />
5.10 Datentyp<br />
Parameter für Prozessvariable, Strukturelement<br />
Parameter der Definitionen der Prozessanbindung / Datentyp / Beispiel Variablenadapter 87<br />
Beschreibung Bestimmt den Aufbau und die Länge der Prozessvariablen. Im<br />
Parameter "Datentyp" kann entweder ein einfacher Datentyp oder<br />
der Name einer in VisiWinNET definierten Struktur eingegeben<br />
werden.<br />
Datentypen Einstellung Wert Beschreibung<br />
VT_I2 2 Ganzzahliger Wert (2 Byte)<br />
VT_I4 3 Ganzzahliger Wert (4 Byte)<br />
VT_R4 4 Fließkommazahl (4 Byte)<br />
VT_R8 5 Fließkommazahl (8 Byte)<br />
VT_DATE 7 Datumsformat<br />
VT_BSTR 8 Text von der Länge der im Parameter<br />
"Feldgröße" eingestellten Anzahl<br />
VT_BOOL 11 Boolean-Wert<br />
VT_VARIANT Variant-Datentyp<br />
VT_I1 16 1 Byte vorzeichenbehaftet<br />
VT_UI1 17 1 Byte vorzeichenlos<br />
VT_UI2 18 2 Byte vorzeichenlos<br />
VT_UI4 19 4 Byte vorzeichenlos<br />
VT_BIT 256 Hilfsdatentyp zum Zugriff auf einzelne<br />
Bits in einer Strukturdefinition, die den<br />
Parameter "Ordnungsnummer als<br />
Byteoffset" aktiviert hat. In der<br />
Ordnungsnummer wird bei der Wahl<br />
dieses Datentyps eine erweiterte<br />
Beschreibung des Offsets erwartet:<br />
Die Vorkommastelle dient weiterhin zur<br />
Festlegung des Byteoffsets in der<br />
Struktur. Die Nachkommastelle gibt 0indiziert<br />
das gewünschte Bit an.<br />
<br />
- Name einer Strukturdefinition
VisiWinNET 2005 Prozessanbindung<br />
5.11 Definition aktiv<br />
Parameter der Definitionen der Prozessanbindung / Definition aktiv / Beispiel Variablenadapter 88<br />
Parameter für Gruppe, Prozessvariable, Kommunikationskanal (OPC-Server),<br />
Kommunikationskanal (VisiWin-Treiber), Variablenadapter<br />
Beschreibung Beschreibt, ob die Objektdefinition gültig ist. Wird der Parameter<br />
deaktiviert, so wird beim Programmstart die Objektdefinition vom<br />
Variablenkern ignoriert.<br />
5.12 Einheitenklasse (Anzeige)<br />
Parameter für Prozessvariable, Strukturelement<br />
Beschreibung Verweist auf eine sprach- oder variablenabhängige<br />
Einheitenklasse.<br />
Die hier angegebene Umrechnung wird zwischen Applikation und<br />
Variablenkern vorgenommen, d.h. in einem Client-Server-System<br />
ist die Umrechnung für jede Visualisierungsapplikation individuell<br />
einzustellen.<br />
5.13 Einheitenklasse (Prozess)<br />
Parameter für Prozessvariable, Strukturelement<br />
Beschreibung Verweist auf eine variablenabhängige Umrechnungsformel. Bei<br />
einer Wertänderung der Variablen wird die entsprechende<br />
Gleichung der Einheitenklasse dazu genutzt, den<br />
Prozessvariablenwert beim Datenaustausch zwischen<br />
Variablenkern und Kommunikationskomponente umzurechnen.<br />
Diese Umrechnung ist insbesondere nützlich, wenn ohne<br />
Anpassung des SPS-Programms Maschinenteile ausgetauscht<br />
werden sollen (z.B. Tausch von Laufrollen unterschiedlicher Radien<br />
und Anzeige der Laufgeschwindigkeit in der Visualisierung).<br />
5.14 Einheitentext<br />
Parameter für Einheit<br />
Beschreibung Mit dem Parameter "Einheitentext" kann ein zusätzlicher Text<br />
angegeben werden, der zur Laufzeit an die Steuerelemente zur<br />
Anzeige übergeben wird und dort die physikalische Größe der<br />
Einheit beschreibt.<br />
Beginnt der Einheitentext mit einem "@"-Zeichen, wird der Wert<br />
als Bezeichner eines Indextextes interpretiert. In der Anzeige wird<br />
dann der entsprechende Text in der aktuell in der Applikation<br />
eingestellten Sprache zurückgegeben. Die Vergabe eines<br />
sprachabhängigen Einheitentextes ist dann sinnvoll, wenn eine<br />
Einheit über eine Variable umgeschaltet werden soll und zusätzlich<br />
die textuelle Angabe sprachabhängig ist.<br />
Der hier projektierte Text hat keinerlei Funktionen in der<br />
Einheitenumrechnung zwischen Variablenkern und<br />
Kommunikationskomponente (Einheitenklasse (Prozess)).
VisiWinNET 2005 Prozessanbindung<br />
5.15 Einzeln beschreibbar<br />
Parameter für Prozessvariable<br />
Parameter der Definitionen der Prozessanbindung / Einzeln beschreibbar / Beispiel Variablenadapter 89<br />
Beschreibung Der Parameter "Einzeln beschreibbar" bestimmt, ob nach dem<br />
schreibende Zugriff auf ein Feld- oder Strukturelement die neuen<br />
Daten sofort zur Kommunikationskomponente übertragen werden.<br />
Einstellung Beschreibung<br />
True Der Datentransfer zur Kommunikationskomponente<br />
wird im Variablenkern direkt nach dem schreibenden<br />
Zugriff auf ein Struktur-/Feldelement ausgelöst.<br />
False Der Datentransfer zur Kommunikationskomponente<br />
wird im Variablenkern wird erst ausgelöst, nachdem<br />
der Datentransfer für das gesamte Feld ausgelöst<br />
wurde. Dies ist zum Beispiel dadurch möglich, dass die<br />
Prozessvariable in einer Gruppe ist, die durch einen<br />
Trigger explizit den Schreibauftrag zur<br />
Kommunikationskomponente schickt (siehe auch<br />
Parameter "Steuerobjekt"<br />
Dieser Parameter wird von der "Compact"-Produktvariante nicht<br />
unterstützt.
VisiWinNET 2005 Prozessanbindung<br />
5.16 Einzelzugriff auf Feldelemente<br />
Parameter für Kommunikationskanal<br />
Parameter der Definitionen der Prozessanbindung / Einzelzugriff auf Feldelemente / Beispiel Variablenadapter 90<br />
Beschreibung Der Parameter "Einzelzugriff auf Feldelemente" bestimmt, ob der<br />
schreibende Zugriff auf ein Feld- oder Strukturelement das<br />
gesamte Feld/die gesamte Struktur auf die<br />
Kommunikationskomponente zurückschreibt.<br />
Einstellung Beschreibung<br />
True Nur das geänderte Feld-/Strukturelement wird<br />
zurückgeschrieben.<br />
False Der gesamte durch die Struktur/das Feld definierte<br />
Speicherblock wird auf die SPS zurückgeschrieben.<br />
VisiWin-Treiber: Schreibende Zugriffe auf Struktur-/Feldelemente<br />
werden immer unterstützt.<br />
OPC-Server: Das Schreiben von einzelnen Struktur-/Feldelementen<br />
muss vom OPC-Server unterstützt werden. Ob der benutzte OPC-<br />
Server diese Funktion unterstützt, ist aus der OPC-Server-<br />
Dokumentation zu entnehmen.<br />
Dieser Parameter wird von der "Compact"-Produktvariante nicht<br />
unterstützt.
VisiWinNET 2005 Prozessanbindung<br />
5.17 Ersatzwert<br />
Parameter für Prozessvariable, Strukturelement<br />
Parameter der Definitionen der Prozessanbindung / Ersatzwert / Beispiel Variablenadapter 91<br />
Beschreibung Gibt den Wert an, der in den durch den Parameter "Ersatzwert<br />
Modus" beschriebenen Fällen anstelle des realen<br />
Prozessvariablenwertes übertragen wird.<br />
Der Ersatzwert lässt sich in verschiedenen Szenarien verwenden:<br />
Datentyp String<br />
Standardwert ""<br />
• Wird der Ersatzwert beim Start in eine Prozessvariable<br />
eingetragen, kann damit ein Variableninitialisierung realisiert<br />
werden.<br />
• Im Fall einer Verbindungsunterbrechung zur SPS kann ein<br />
entsprechender Ersatzwert einen Fehler signalisieren<br />
• Wird der Ersatzwert beim Beenden der Applikation gesendet,<br />
kann die SPS entsprechend reagieren.
VisiWinNET 2005 Prozessanbindung<br />
5.18 Ersatzwert Modus<br />
Parameter für Prozessvariable<br />
Parameter der Definitionen der Prozessanbindung / Ersatzwert Modus / Beispiel Variablenadapter 92<br />
Beschreibung In bestimmten Fällen ist es möglich, anstelle des wahren<br />
Prozessvariablenwert einen Ersatzwert zu übertragen. Der<br />
"Ersatzwert Modus" beschreibt, wohin und in welchen Fällen der<br />
Ersatzwert (Kap.: 5.17) anstelle des wahren<br />
Prozessvariablenwertes übertragen wird.<br />
Die Einstellungen beschreiben gemeinsam den<br />
Übertagungszeitpunkt und das Übertragungsziel für den<br />
Ersatzwert.<br />
Übertragungs-<br />
zeitpunkt<br />
Einstellung Beschreibung<br />
Beim Start senden Der Ersatzwert wird beim Start des<br />
Variablenkerns geschrieben. Dies kann<br />
zum Initialisieren einer Prozessvariablen<br />
dienen.<br />
Bei Kommunikations-<br />
abbruch senden<br />
Der Ersatzwert wird bei einer<br />
Kommunikationsstörung in die<br />
Prozessvariable im Variablenkern<br />
geschrieben. Die Übertragung an den<br />
OPC-Server hat hier keine Funktion (da<br />
die Prozessvariable im OPC-Server bei<br />
einer Kommunikationsstörung nicht<br />
beschrieben werden kann).<br />
Beim Beenden senden Der Ersatzwert wird beim Beenden des<br />
Variablenkerns in die Prozessvariable im<br />
OPC-Server geschrieben. Dies kann als<br />
Nachricht an die SPS genutzt werden,<br />
dass alle Visualisierungsapplikationen<br />
beendet worden sind. Eine Übertragung<br />
des Ersatzwertes in die Prozessvariable<br />
im Variablenkern ist nicht vorgesehen, da<br />
dieser gerade beendet wurde, das "I"-Bit<br />
hat also keine Funktion.<br />
Übertragungsziel In Variable eintragen Der Ersatzwert wird zum<br />
Übertragungszeitpunkt in die<br />
Prozessvariable im Variablenkern<br />
geschrieben. Applikationssteuerelemente<br />
zeigen in diesem Fall den Ersatzwert an.<br />
An den Quell-OPC-<br />
Server senden<br />
Der Ersatzwert wird zum festgelegten<br />
Übertragungszeitpunkt in die<br />
Kommunikationskomponente<br />
geschrieben.
VisiWinNET 2005 Prozessanbindung<br />
5.19 Feldgröße<br />
Parameter für Prozessvariable, Strukturelement<br />
Parameter der Definitionen der Prozessanbindung / Feldgröße / Beispiel Variablenadapter 93<br />
Beschreibung Anzahl der Datenzellen des definierten Datentyps.<br />
Die Feldgröße ermöglicht den blockweisen Zugriff auf einen<br />
Speicherbereich, der eine Folge von Daten gleichen Typs<br />
beinhaltet. Als Vorgabe ist im Parameter "Feldgröße" der Wert "0"<br />
angegeben, d.h. es wird eine einzelne Prozessvariable angefordert.<br />
Werte >"0" definieren den Zugriff auf ein Datenfeld. Bezüge auf<br />
ein Element eines Datenfeldes werden in VisiWinNET nach<br />
folgender Syntax definiert:<br />
Kommunikationskanalname.VariableName.<br />
Beispiel: Das erste Element der Prozessvariablen "arr0" (Feldgröße<br />
= 5) im Kommunikationskanal "Ch1" soll in einem VarOut-<br />
Steuerelement angezeigt werden:<br />
Der Eigenschaftenseite der Eigenschaft "VWItem" ermöglicht die<br />
Auswahl dieser Prozessvariablen. Als Wert wird in die Eigenschaft<br />
folgender Variablenbezeichner übertragen:<br />
Ch1.arr0.<br />
Der Zugriff auf Feldelemente erfolgt 0-indiziert (das erste Feld hat<br />
also den Index 0).<br />
Feldindizes werden in eckigen Klammern dargestellt.<br />
VisiWin-spezifische Variablenbezeichner werden in spitze<br />
Klammern eingefasst.
VisiWinNET 2005 Prozessanbindung<br />
Parameter der Definitionen der Prozessanbindung / Fließkomma-Konvertierung IEEE-S5/S7 / Beispiel Variablenadapter 94<br />
5.20 Fließkomma-Konvertierung IEEE-S5/S7<br />
Parameter für Kommunikationskanal (OPC-Server)<br />
Beschreibung Der Aufbau von Prozesswerten in der SPS ist für jeden SPS-Typ<br />
individuell. So kann es vorkommen, dass einzelne Datentypen<br />
unterschiedlich aufgebaut sind. Beim Austausch von einzelnen<br />
Prozessvariablenwerten wird die Anpassung zur Visualisierung<br />
üblicherweise von der Kommunikationskomponente ausgeführt.<br />
Wird über eine Struktur blockweise (über eine Prozessvariable, die<br />
den Datentyp einer Struktur hat) "als Bytestream" (→Parameter<br />
"Strukturzugriff") auf Daten der SPS zugegriffen, kann die<br />
Kommunikationskomponente diese Anpassung nicht mehr<br />
ausführen, da Sie über den Aufbau des Byteblocks nicht informiert<br />
ist. Daher muss im Variablenkern diese Anpassung erfolgen.<br />
Der Parameter "Fließkomma-Konvertierung IEEE-S5/S7" bewirkt,<br />
dass Strukturelemente vom Datentyp VT_R4/VT_R8 in einem<br />
übertragenen Byteblock in ein gültiges Format konvertiert werden.<br />
Einstellung Beschreibung<br />
True Beim Lesen aus der SPS wird vom Variablenkern ein<br />
Byteblock über die Kommunikationskomponente<br />
angefordert. Der interne Prozessvariablencache wird<br />
gemäß dem Aufbau der Struktur mit den Bytes des<br />
empfangenen Blocks gefüllt. Ist ein angesprochenes<br />
Strukturelement dabei vom Datentyp VT_R4 /VT_R8,<br />
so wird die Fließkommazahl vom SPS-spezifischen<br />
IEEE-Format in ein für die Visualisierung<br />
verständliches Format gewandelt.<br />
Beim Schreiben wird ein Byteblock gemäß den<br />
Angaben der Struktur aus dem internen<br />
Prozessvariablencache zusammengestellt. Dabei<br />
überprüft der Variablenkern, ob ein Strukturelement<br />
den Datentyp VT_R4/VT_R8 einnimmt. Ist dies der Fall,<br />
wird der Wert aus dem internen Prozessvariablencache<br />
in das SPS-spezifische IEEE-Format gewandelt.<br />
Anschließend wird der Block zur SPS übertragen.<br />
False Beim Lesen aus der SPS wird vom Variablenkern ein<br />
Byteblock über die Kommunikationskomponente<br />
angefordert. Der interne Prozessvariablencache wird<br />
ohne weitere Anpassungen gemäß dem Aufbau der<br />
Struktur mit den Bytes des empfangenen Blocks gefüllt.<br />
Beim Schreiben wird ein Byteblock gemäß den<br />
Angaben der Struktur aus dem internen<br />
Prozessvariablencache zusammengestellt. Danach wird<br />
dieser Block direkt zur SPS übertragen.
VisiWinNET 2005 Prozessanbindung<br />
5.21 Hysterese<br />
5.22 ItemID<br />
Parameter für Gruppe<br />
Parameter der Definitionen der Prozessanbindung / Hysterese / Beispiel Variablenadapter 95<br />
Die Verwendung des Parameters "Fließkomma-Konvertierung<br />
IEEE-S5/S7" ist abhängig von der verwendeten SPS. Sie ist nur<br />
sinnvoll, wenn der Parameter "Strukturzugriff" auf "als Bytestream"<br />
eingestellt ist und Strukturen als Datentypen für Prozessvariablen<br />
verwendet werden.<br />
Weitere Anpassungsmöglichkeiten für diese Zugriffsart:<br />
→Parameter "Bytetausch<br />
→Parameter "Worttausch VT_R4, VT_R8"<br />
→Parameter "Worttausch VT_I4, VT_UI8"<br />
→Parameter "OPC-Server hat Unicode-Strings"<br />
Dieser Parameter wird von der "Compact"-Produktvariante nicht<br />
unterstützt.<br />
Beschreibung Die Hysterese gibt an, um wie viel Prozent sich ein<br />
Prozessvariablenwert in der Kommunikationskomponente ändern<br />
muss, damit er als geändert an den Variablenkern zurückgesendet<br />
wird. Der Parameter "Hysterese" hat nur eine Bedeutung, wenn der<br />
Parameter "Aktivierungsmodus" auf "automatisch" eingestellt ist.<br />
Parameter für Prozessvariable (OPC-Server)<br />
Beschreibung Identifiziert die Prozessvariable im OPC-Server. Der Zugriff auf<br />
eine Prozessvariable im OPC-Server erfolgt über die ItemID.
VisiWinNET 2005 Prozessanbindung<br />
5.23 Kommaverschiebung<br />
Parameter für Einheit<br />
Parameter der Definitionen der Prozessanbindung / Kommaverschiebung / Beispiel Variablenadapter 96<br />
Beschreibung Bei der Verwendung von Fließkommazahlen gibt die<br />
Kommaverschiebung die Anzahl der Nachkommastellen an.<br />
Bei der Verwendung von ganzzahligen Datentypen ist es über die<br />
Kommaverschiebung möglich, in den VisiWinNET-<br />
Steuerelementen ganzzahlige Werte als Fließkommazahlen<br />
darzustellen. Der Prozessvariablenwert wird um die angegebene<br />
Stellenanzahl nach rechts verschoben.<br />
Beispiel:<br />
5.24 Kommentar<br />
Eine Prozessvariable gibt als Messwert eine Länge in "µm" an. Die<br />
im Maschinebau gebräuchliche Einheit "mm" soll in der<br />
Visualisierung als Einheit eines Eingabesteuerelementes angezeigt<br />
werden. Über den Wert "3" für die Kommaverschiebung wird der<br />
aus der SPS gelesene Wert als Fließkommazahl mit 3<br />
Nachkommastellen angezeigt. Der Wert wird also durch 1000<br />
geteilt. Beim schreibenden Zugriff, also nach einer Eingabe in das<br />
Steuerelement wird der Wert mit 1000 multipliziert, also wieder<br />
zurückgerechnet in das vom SPS genutzte Format.<br />
Parameter für Einheitenklasse (sprachabhängig), Einheitenklasse<br />
(variablenabhängig), Gruppe, Prozessvariable,<br />
Kommunikationskanal (OPC-Server), Kommunikationskanal<br />
(VisiWin-Treiber), Multiplexer, Struktur, Strukturelement,<br />
Variablenadapter<br />
Beschreibung Über den Kommentar ist der Projekteur in der Lage, Bemerkungen<br />
zu den Definitionen zu verfassen. Der Kommentar hat zur Laufzeit<br />
des Projektes keine Funktion.<br />
Datentyp String<br />
Standardwert ""
VisiWinNET 2005 Prozessanbindung<br />
5.25 Konfigurationsstatus<br />
Parameter der Definitionen der Prozessanbindung / Konfigurationsstatus / Beispiel Variablenadapter 97<br />
Parameter für Kommunikationskanal (OPC-Server), Kommunikationskanal<br />
(VisiWin-Treiber)<br />
Beschreibung Gibt an, ob ein Konfigurationsdialog aus der<br />
Entwicklungsoberfläche zu starten ist und ob die<br />
Kommunikationskomponente bereits konfiguriert wurde.<br />
Einstellung Beschreibung<br />
kein<br />
Konfiguator<br />
vorhanden<br />
Konfiguator<br />
vorhanden<br />
bereits<br />
konfiguriert<br />
5.26 Konfiguration im OPC-Server speichern<br />
Parameter für Kommunikationskanal (OPC-Server)<br />
Es ist kein Konfigurationstool vorhanden, das<br />
aus der Entwicklungsumgebung zu starten ist.<br />
Dies ist insbesondere der Fall, wenn ein OPC-<br />
Server eines Fremdherstellers als<br />
Kommunikationskomponente ausgewählt wurde.<br />
Ein Konfigurationsdialog kann über den<br />
Menüeintrag "Konfigurieren" geöffnet werden.<br />
Die dort möglichen Einstellungen sind von der<br />
gewählten Kommunikationskomponente<br />
abhängig. Weitere Informationen über das<br />
Konfigurieren von OPC-Servern und VisiWin-<br />
Treibern finden sich in den entsprechenden<br />
Handbüchern.<br />
Die Kommunikationskomponente ist bereits<br />
konfiguriert worden.<br />
Beschreibung Gibt an, ob die Konfiguration eines <strong>INOSOFT</strong> OPC-Server im<br />
VisiWin-Projekt oder im OPC-Server-Projekt gespeichert wird.<br />
Ist diese Option aktiviert, verwaltet der <strong>INOSOFT</strong> OPC-Server<br />
seine Konfigurationsdaten eigenständig. Dies ist insbesondere<br />
dann sinnvoll, wenn der OPC-Server von einem Client gestartet<br />
wird, der kein VisiWin-Projekt ist.
VisiWinNET 2005 Prozessanbindung<br />
Parameter der Definitionen der Prozessanbindung / Lesen wiederholen bei Schreib-/ Lesekonflikt / Beispiel Variablenadapter 98<br />
5.27 Lesen wiederholen bei Schreib-/ Lesekonflikt<br />
Parameter für Kommunikationskanal (OPC-Server)<br />
Beschreibung Wird innerhalb eines Zyklus zuerst (z.B. aus der Applikation)<br />
schreibend auf Eine Prozessvariable zugegriffen und empfängt der<br />
Variablenkern danach von der Kommunikationskomponente eine<br />
asynchrone Wertänderung, wird diese Wertänderung nicht<br />
automatisch an die Applikation bzw. an die beteiligten<br />
Serverkomponenten weitergereicht. Dies kann zu Datenverlusten<br />
führen. Über die Aktivierung des Parameters "Lesen wiederholen<br />
bei Schreib-/ Lesekonflikt" wird explizit eine neue Leseanforderung<br />
an die Kommunikationskomponente versendet, nachdem ein<br />
Schreibaufruf abgearbeitet wurde.<br />
Einstellung Beschreibung<br />
True Nach dem Schreiben des neuen Prozessvariablenwertes<br />
wird automatisch eine neue Leseanforderung an die<br />
Kommunikationskomponente versendet.<br />
False Es wird keine neue Leseanforderung nach dem<br />
Schreiben des neuen Prozessvariablenwertes<br />
versendet.
VisiWinNET 2005 Prozessanbindung<br />
5.28 Lesezugriffe<br />
Parameter für Gruppe<br />
Parameter der Definitionen der Prozessanbindung / Lesezugriffe / Beispiel Variablenadapter 99<br />
Beschreibung Bestimmt, ob der lesende Zugriff auf Prozessvariablen dieser<br />
Gruppe der Kommunikationskomponente synchron oder asynchron<br />
erfolgen soll.<br />
5.29 Maximalwert<br />
Einstellung Beschreibung<br />
synchron Der Variablenkern reicht eine Leseanforderung<br />
an die Kommunikationskomponente weiter und<br />
wartet, bis der Prozessvariablenwert<br />
zurückgegeben wird. Das synchrone Lesen<br />
erhöht die Datenkonsistenz im Variablenkern,<br />
da nach der Anfrage auf jeden Fall gewartet<br />
wird, bis der Prozessvariablenwert<br />
zurückgegeben wird. Nachteilig wirkt sich<br />
jedoch aus, dass unter Umständen das gesamte<br />
System auf die Rückgabe des<br />
Prozessvariablenwertes warten muss, wenn die<br />
Kommunikationskomponente die Daten nicht<br />
schnell genug zurückgibt.<br />
asynchron Der Variablenkern schickt eine Anforderung<br />
zum Lesen eines Prozessvariablenwertes an die<br />
Kommunikationskomponente. Nach der<br />
Bearbeitung der Leseanforderung schickt die<br />
Kommunikationskomponente eine Nachricht, die<br />
den Prozessvariablenwert enthält, an den<br />
Variablenkern. Der Vorteil ist, dass der<br />
Variablenkern zwischen Anforderung und<br />
Nachricht weiter arbeitet.<br />
Für Prozessvariablen aus VisiWin-Treibern hat diese Einstellung<br />
nur eine Funktion, wenn der Parameter "Synchrone<br />
Kommunikation ermöglichen" aktiviert ist. Ansonsten werden die<br />
Variablenanforderungen asynchron ausgeführt.<br />
Parameter für Prozessvariable, Strukturelement<br />
Beschreibung Über die Angabe eines Maximalwertes kann die Überschreitung<br />
eines Grenzwertes in der Applikation angezeigt werden. Die<br />
Übertragung von Prozessvariablen vom OPC-Server zum<br />
Variablenkern beinhaltet neben dem reinen Prozessvariablenwert<br />
zusätzliche Informationen, unter anderem auch ein sogenanntes<br />
"Quality-Flag". Hier wird zur Laufzeit die Überschreitung des<br />
Maximalwertes angezeigt. Die VisiWinNET-Steuerelemente<br />
empfangen das QualityFlag zur Laufzeit im Change-Ereignis,<br />
sodass eine Anzeige einer Maximalwertüberschreitung<br />
projektierbar ist.<br />
Werden die Parameter "Maximalwert" und "Minimalwert" auf den<br />
Wert "0" gestellt, so wird keine Grenzwertüberwachung<br />
durchgeführt.
VisiWinNET 2005 Prozessanbindung<br />
5.30 Minimalwert<br />
Parameter für Prozessvariable, Strukturelement<br />
Parameter der Definitionen der Prozessanbindung / Minimalwert / Beispiel Variablenadapter 100<br />
Beschreibung Über die Angabe eines Minimalwertes kann die Unterschreitung<br />
eines Grenzwertes in der Applikation angezeigt werden. Die<br />
Übertragung von Prozessvariablen vom OPC-Server zum<br />
Variablenkern beinhaltet neben dem reinen Prozessvariablenwert<br />
zusätzliche Informationen, unter anderem auch ein sogenanntes<br />
"Quality-Flag". Hier wird zur Laufzeit die Unterschreitung des<br />
Minimalwertes angezeigt. Die VisiWinNET-Steuerelemente<br />
empfangen das QualityFlag zur Laufzeit im Change-Ereignis,<br />
sodass eine Anzeige einer Minimalwertunterschreitung<br />
projektierbar ist.<br />
Werden die Parameter "Maximalwert" und "Minimalwert" auf den<br />
Wert "0" gestellt, so wird keine Grenzwertüberwachung<br />
durchgeführt.
VisiWinNET 2005 Prozessanbindung<br />
5.31 Name<br />
Parameter der Definitionen der Prozessanbindung / Name / Beispiel Variablenadapter 101<br />
Parameter für Einheitenklasse (sprachabhängig), Einheitenklasse<br />
(variablenabhängig), Gruppe, Kommunikationskanal (OPC-Server),<br />
Kommunikationskanal (VisiWin-Treiber), Multiplexer, Struktur,<br />
Strukturelement, Variablenadapter<br />
Beschreibung Der Name benennt eine VisiWinNET-Definition eindeutig.<br />
Innerhalb einer VisiWinNET-Applikation wird ein Objekt über<br />
diesen Namen identifiziert.<br />
Objekt Namensvergabe<br />
Kommunikationskanal<br />
Ein Kommunikationskanalname darf nur<br />
einmal in einer VisiWinNET-Applikation<br />
verwendet werden.<br />
Gruppe Ein Gruppenname darf nur einmal in einer<br />
VisiWinNET-Applikation verwendet werden.<br />
Prozessvariable Ein Prozessvariablenname darf nur einmal in<br />
einem Kommunikationskanal verwendet<br />
werden. Der Zugriff auf eine Prozessvariable<br />
in der Applikation erfolgt immer mit der<br />
Angabe des Kommunikationskanalnamens.<br />
Struktur Ein Strukturname darf nur einmal in einer<br />
VisiWinNET-Applikation verwendet werden.<br />
Der Strukturname wird von den<br />
Prozessvariablendefinitionen als<br />
Datentypbezeichnung verwendet.<br />
Strukturelement Ein Strukturelementename darf nur einmal<br />
in einer Struktur verwendet werden. Der<br />
Zugriff auf ein Strukturelement erfolgt über<br />
die Zusammensetzung aus<br />
Kommunikationskanal-, Prozessvariablen-<br />
und Strukturelementenamen. Da eine<br />
Prozessvariable nur vom Typ einer einzigen<br />
Struktur sein kann, ist das entsprechende<br />
Strukturelement eindeutig.<br />
Einheitenklasse Ein Einheitenklassenname darf nur einmal in<br />
einer VisiWinNET-Applikation verwendet<br />
werden. Der Name der Einheitenklasse<br />
spezifiziert in den Prozessvariablen die<br />
Umrechnung.
VisiWinNET 2005 Prozessanbindung<br />
Parameter der Definitionen der Prozessanbindung / nur Data-Callback-Interface V1.0 benutzen / Beispiel Variablenadapter 102<br />
5.32 nur Data-Callback-Interface V1.0 benutzen<br />
Parameter für Kommunikationskanal (OPC-Server)<br />
Beschreibung Der Parameter "nur Data-Callback-Interface V1.0 benutzen"<br />
bestimmt, wie der Variablenkern die Verbindung zum OPC-Server<br />
aufbaut.<br />
Einstellung Beschreibung<br />
True Der Variablenkern greift direkt auf die Data-Callback-<br />
Schnittstelle der OPC-Spezifikation 1.0 zu.<br />
False Der Variablenkern greift auf die Data-Callback-<br />
Schnittstelle der OPC-Spezifikation 2.0 zu. Scheitert<br />
der Verbindungsaufbau über diese Schnittstelle, so<br />
wird die Verbindung über die OPC-spezifizierte<br />
Schnittstelle 1.0 hergestellt.<br />
Die Verwendung des Parameters "nur Data-Callback-Interface V1.0<br />
benutzen" ist sinnvoll, wenn bekannt ist, dass der OPC-Server der<br />
1.0 Spezifikation entspricht oder der Verbindungsaufbau explizit<br />
auf dieser Spezifikation beruhen soll.
VisiWinNET 2005 Prozessanbindung<br />
5.33 OPC-Server hat Unicode-Strings<br />
Parameter der Definitionen der Prozessanbindung / OPC-Server hat Unicode-Strings / Beispiel Variablenadapter 103<br />
Parameter für Kommunikationskanal (OPC-Server)<br />
Beschreibung Der Aufbau von Prozesswerten in der SPS ist für jeden SPS-Typ<br />
individuell. So kann es vorkommen, dass einzelne Datentypen<br />
unterschiedlich aufgebaut sind. Beim Austausch von einzelnen<br />
Prozessvariablenwerten wird die Anpassung zur Visualisierung<br />
üblicherweise von der Kommunikationskomponente ausgeführt.<br />
Wird über eine Struktur blockweise (über eine Prozessvariable, die<br />
den Datentyp einer Struktur hat) "als Bytestream" (→Parameter<br />
"Strukturzugriff") auf Daten der SPS zugegriffen, kann die<br />
Kommunikationskomponente diese Anpassung nicht mehr<br />
ausführen, da Sie über den Aufbau des Byteblocks nicht informiert<br />
ist. Daher muss im Variablenkern diese Anpassung erfolgen.<br />
Der Parameter "OPC-Server hat Unicode-Strings" bewirkt, dass<br />
Strukturelemente vom Datentyp VT_BSTR, die innerhalb eines<br />
Byteblocks übertragen werden, als Unicode-Strings interpretiert<br />
und auf den internen Prozessvariablencache übertragen werden.<br />
Unicode-Strings unterscheiden sich im Wesentlichen durch den<br />
Zeichenaufbau von ASCII-Strings. Während in einem ASCII-String<br />
ein Zeichen durch ein Byte repräsentiert wird, werden im Unicode-<br />
String zwei Bytes pro Zeichen verwendet. In einem<br />
Strukturelement vom Datentyp VT_BSTR wird die Länge des<br />
Strings durch den Parameter "Feldgröße" angegeben. Die Angabe<br />
"OPC-Server hat Unicode-Strings" bestimmt also die Größe des<br />
gesamten Byteblocks maßgeblich, wenn ein Strukturelement den<br />
Datentyp VT_BSTR einnimmt.<br />
Einstellung Beschreibung<br />
True Vor dem Lesen aus der SPS wird geprüft, ob ein<br />
Strukturelement den Datentyp VT_BSTR einnimmt.<br />
Dabei wird die Blockgröße automatisch angepasst. Erst<br />
dann wird der Datenblock angefordert. Nach Erhalt des<br />
Blocks wird der interne Prozessvariablencache gemäß<br />
dem Aufbau der Struktur mit den Bytes des<br />
empfangenen Blocks gefüllt. Da der Variablenkern<br />
intern mit Unicode-String arbeitet, ist bei der<br />
Übertagung von BSTR-Daten keine weitere Anpassung<br />
nötig.<br />
Beim Schreiben wird ein Byteblock gemäß den<br />
Angaben der Struktur aus dem internen<br />
Prozessvariablencache zusammengestellt.<br />
Anschließend wird der Block zur SPS übertragen.
VisiWinNET 2005 Prozessanbindung<br />
Parameter der Definitionen der Prozessanbindung / OPC-Shutdown-Interface nicht verbinden / Beispiel Variablenadapter 104<br />
False Beim Lesen aus der SPS wird vom Variablenkern ein<br />
Byteblock über die Kommunikationskomponente<br />
angefordert. Der interne Prozessvariablencache wird<br />
gemäß dem Aufbau der Struktur mit den Bytes des<br />
empfangenen Blocks gefüllt. Dabei werden die<br />
empfangenen ASCII-Strings in Unicode-Strings<br />
gewandelt.<br />
Beim Schreiben wird ein Byteblock gemäß den<br />
Angaben der Struktur aus dem internen<br />
Prozessvariablencache zusammengestellt. Dabei<br />
werden die im internen Prozessvariablencache<br />
gehaltenen Unicode-Strings zu ASCII-Strings<br />
konvertiert. Danach wird dieser Block direkt zur SPS<br />
übertragen.<br />
Die Wandlung "ASCII"↔"Unicode" erfolgt mithilfe der<br />
ACP (Ansii-Cdepage).<br />
Die Verwendung des Parameters "OPC-Server hat Unicode-Strings"<br />
ist abhängig von der verwendeten SPS. Sie ist nur sinnvoll, wenn<br />
der Parameter "Strukturzugriff" auf "als Bytestream" eingestellt ist<br />
und Strukturen als Datentypen für Prozessvariablen verwendet<br />
werden.<br />
Weitere Anpassungsmöglichkeiten für diese Zugriffsart:<br />
→Parameter "Fließkomma-Konvertierung IEEE-S5/S7"<br />
→Parameter "Worttausch VT_R4, VT_R8"<br />
→Parameter "Worttausch VT_I4, VT_UI4"<br />
→Parameter "Bytetausch"<br />
Dieser Parameter wird von der "Compact"-Produktvariante nicht<br />
unterstützt.<br />
5.34 OPC-Shutdown-Interface nicht verbinden<br />
Parameter für Kommunikationskanal (OPC-Server)<br />
Beschreibung Der Parameter "OPC-Shutdown-Interface nicht verbinden"<br />
bestimmt das Verhalten des Variablenkern beim Beenden der OPC-<br />
Server-Applikation. Wird der OPC-Server beendet, während der als<br />
Client angeschlossene Variablenkern läuft, kann dies dem<br />
Variablenkern über das Shutdown-Interface gemeldet werden.<br />
Einstellung Beschreibung<br />
True Die Meldung über das Shutdown-Interface des OPC-<br />
Servers wird ignoriert. Ein Fehler wird generiert.<br />
False Die Meldung über das Shutdown-Interface des OPC-<br />
Servers wird aufgenommen. Der Variablenkern<br />
versucht anschließend, die Verbindung neu<br />
aufzubauen.
VisiWinNET 2005 Prozessanbindung<br />
5.35 OPC-Servername<br />
Parameter für Kommunikationskanal (OPC-Server)<br />
Parameter der Definitionen der Prozessanbindung / OPC-Servername / Beispiel Variablenadapter 105<br />
Beschreibung Der OPC-Servername gibt den systemweiten eindeutigen Namen<br />
(ProgID) der Kommunikationskomponente aus der Windows-<br />
Registrierung an.<br />
Über die Schaltfläche wird der Dialog zur Auswahl eines OPC-<br />
Servers geöffnet.<br />
Der Dialog zur Auswahl eines OPC-Servers hat folgende<br />
Bedienelemente:<br />
Element Beschreibung<br />
Beschreibung Beschreibung des OPC-Servers<br />
OPC-Server ProgID des OPC Servers<br />
OK Beendet den Dialog und übernimmt die<br />
getroffenen Einstellungen.<br />
Abbrechen Beendet den Dialog und verwirft die getroffenen<br />
Einstellung.
VisiWinNET 2005 Prozessanbindung<br />
5.36 Ordnungsnummer<br />
Parameter für Strukturelement<br />
Parameter der Definitionen der Prozessanbindung / Ordnungsnummer / Beispiel Variablenadapter 106<br />
Beschreibung Gibt die Position des Strukturelementes innerhalb der Struktur an.<br />
Je nach Einstellung des Parameters "Ordnungsnummer als<br />
Byteoffset" in der Strukturdefinition hat die Angabe<br />
Ordnungsnummer folgende Bedeutung:<br />
Einstellung Ordnungsnummer als<br />
Byteoffset<br />
5.37 Ordnungsnummer als Byteoffset<br />
Parameter für Struktur<br />
Beschreibung<br />
Wahr Die Ordnungsnummer wird als<br />
Byteoffset zur Prozessvariablenadresse<br />
hinzugezählt, um auf das<br />
Strukturelement zuzugreifen.<br />
Falsch Die Ordnungsnummer gibt die<br />
Reihenfolge der Strukturelemente an.<br />
Der Byteoffset auf das Strukturelement<br />
errechnet sich aus der Länge aller<br />
Strukturelemente, deren<br />
Ordnungsnummer kleiner ist.<br />
Beschreibung Gibt an, wie der Parameter "Ordnungsnummer" in den<br />
Strukturelementen dieser Struktur interpretiert wird.<br />
Einstellung Beschreibung<br />
Wahr Die Ordnungsnummer eines<br />
Strukturelementes wird als Byteoffset<br />
zur Prozessvariablenadresse<br />
hinzugezählt, um auf das<br />
Strukturelement zuzugreifen.<br />
Falsch Die Ordnungsnummer gibt die<br />
Reihenfolge der Strukturelemente an.<br />
Der Byteoffset auf das Strukturelement<br />
errechnet sich aus der Länge aller<br />
Strukturelemente, deren<br />
Ordnungsnummer kleiner ist.
VisiWinNET 2005 Prozessanbindung<br />
5.38 Rechnername<br />
Parameter für Kommunikationskanal (OPC-Server)<br />
Parameter der Definitionen der Prozessanbindung / Rechnername / Beispiel Variablenadapter 107<br />
Beschreibung Gibt den Netzwerknamen des Rechners an, auf dem die<br />
Kommunikationskomponente installiert ist. Üblicherweise wird der<br />
Rechnername über den OPC-Server-Auswahldialog bestimmt<br />
(siehe Parameter OPC-Servername). Wird kein Rechnername<br />
angegeben, so geht das System davon aus, dass die<br />
Kommunikationskomponente lokal installiert ist. Der Name des<br />
lokalen Rechners kann explizit angegeben werden. Es ist jedoch zu<br />
unterscheiden, dass in diesem Fall der Zugriff auf die<br />
Kommunikationskomponente über DCOM erfolgt (nicht über COM).<br />
5.39 Schreibzugriffe<br />
Parameter für Gruppe<br />
Für die "Standard"-Laufzeit<br />
Als Rechnername kann entweder direkt der Name eines Computers<br />
oder ein Verweis auf den Namen eines Computers angegeben<br />
werden. Die Angabe eines Verweises wird dem Variablenkern<br />
durch ein führendes "@"-Zeichen im Rechnernamen bekannt<br />
gegeben.<br />
In der Projektkonfiguration ist eine Sektion namens<br />
"Rechnernamen" enthalten. Hier werden die als Rechnernamen<br />
angegebene Synonyme aufgelöst.<br />
Beschreibung Bestimmt, ob der schreibende Zugriff auf Prozessvariablen dieser<br />
Gruppe in der Kommunikationskomponente synchron oder<br />
asynchron erfolgen soll.<br />
Einstellung Beschreibung<br />
synchron Der Variablenkern reicht eine Schreibanforderung<br />
an die Kommunikationskomponente weiter und<br />
wartet, bis der Schreibauftrag ausgeführt wurde.<br />
Das synchrone Schreiben erhöht die<br />
Datenkonsistenz in der SPS, da die<br />
Kommunikationskomponente diesen synchronen<br />
Schreibauftrag direkt ausführt.<br />
asynchron Der Variablenkern schickt eine Anforderung zum<br />
Schreiben eines Prozessvariablenwertes an die<br />
Kommunikationskomponente. Hier wird die<br />
Schreibanforderung gepuffert und nach der<br />
Bearbeitung aller vorhergehenden asynchronen<br />
Schreibanforderungen ausgeführt.<br />
Für Prozessvariablen aus VisiWin-Treibern hat diese Einstellung<br />
nur eine Funktion, wenn der Parameter "Synchrone<br />
Kommunikation ermöglichen" aktiviert ist. Ansonsten werden die<br />
Variablenanforderungen asynchron ausgeführt.
VisiWinNET 2005 Prozessanbindung<br />
5.40 Separatorzeichen<br />
Parameter der Definitionen der Prozessanbindung / Separatorzeichen / Beispiel Variablenadapter 108<br />
Parameter für Kommunikationskanal (OPC-Server), Kommunikationskanal<br />
(VisiWin Treiber), Interne Variablen<br />
Beschreibung Bestimmt das Trennzeichen für die hierarchische Ansicht im<br />
Variableneditor. Zur Laufzeit hat dieser Parameter keine Funktion.<br />
In der Editoransicht wird das Separatorzeichen dazu verwendet,<br />
die Prozessvariablen hierarchisch in Namensräumen zu gliedern.<br />
D.h. gleiche Teile von Prozessvariablennamen, die durch das<br />
Separatorzeichen getrennt werden, werden als Zugriffsknoten im<br />
Projektexplorer dargestellt.<br />
Datentyp String<br />
Standardwert "."
VisiWinNET 2005 Prozessanbindung<br />
5.41 Sicherheit<br />
Parameter für Kommunikationskanal (OPC-UA-Server)<br />
Parameter der Definitionen der Prozessanbindung / Sicherheit / Beispiel Variablenadapter 109<br />
Beschreibung Die Karteikarte "Sicherheit" stellt Einstellungen zur Verfügung, die<br />
die Sicherheit der Verbindung und der Kommunikation zum OPC-<br />
UA-Server parametrieren.<br />
Die verwendeten Sicherheitseinstellungen werden während der<br />
Initialisierungsphase der Verbindung zwischen Client<br />
(Visualisierung) und OPC-UA-Server ausgehandelt. Ob ein<br />
Zertifikataustausch und eine Verschlüsselung zwischen Client und<br />
Server vereinbart werden, hängt davon ab, welche Verfahren<br />
Client und Server zulassen und in welcher Reihenfolge der<br />
Vergleich zwischen den Verfahren ausgeführt wird.<br />
Auf dem "Sicherheit"-Dialog wird in den Bereichen "Erlaubte<br />
Sicherheitsstufen" und "Erlaubte Verschlüsselungen" festgelegt,<br />
welche Verfahren der Client zulässt. Ein hier deaktivierter<br />
Listeneintrag wird vom Client nicht zugelassen. Die Reihenfolge<br />
der Listeneinträge sind spaltenweise von oben nach unten als<br />
Rangfolge zu interpretieren.<br />
In der Auswahlliste "Sicherheits- und Verschlüsselungsoptionen"<br />
wird die Reihenfolge festgelegt, in der Client und Server die<br />
Zulässigkeit eines Verfahrens aushandeln. Das erste Verfahren, bei<br />
dem Client und Server zustimmen, wird dann verwendet.<br />
Folgende Einstellungen sind hier erlaubt:<br />
Niedrigste zugelassene<br />
Sicherheitsstufe verwenden<br />
Die Listen "Erlaubte<br />
Sicherheitsstufen" und "Erlaubte<br />
Verschlüsselungen" werden bei<br />
der Verbindungsherstellung in<br />
der oben angegebenen<br />
Reihenfolge zum Aushanden der<br />
Verfahren durchlaufen. Das<br />
erste Verfahren, dem die beiden<br />
Seiten zustimmen, wird<br />
verwendet.
VisiWinNET 2005 Prozessanbindung<br />
5.42 Standardsprache<br />
Parameter der Definitionen der Prozessanbindung / Standardsprache / Beispiel Variablenadapter 110<br />
Höchste zugelassene<br />
Sicherheitsstufe verwenden<br />
Die Listen werden bei der<br />
Verbindungsherstellung in<br />
umgekehrter Reihenfolge zum<br />
Aushanden der Verfahren<br />
durchlaufen.<br />
Wird keine Übereinstimmung von zulässigen Verfahren ermittelt,<br />
kann die Verbindung nicht hergestellt werden. Dies wird in der<br />
Log-Datei des Systems als Fehler gemeldet.<br />
Dateiname Serverzertifikat<br />
Die Identifizierung zwischen OPC-UA-Server und Client beinhaltet<br />
den Austausch eines Zertifikats. Beim ersten Verbindungsaufbau<br />
wird bei entsprechender Verfahrenseinstellung "identifizieren" oder<br />
"identifizieren und verschlüsseln" ein Zertifikat vom Server<br />
angefordert. Bei Erhalt des Zertifikates fragt das System, ob es als<br />
vertrauenswürdig eingestuft werden soll.Bei entsprechender<br />
Bestätitigung wird das erhaltene Zertifikat unter dem im Feld<br />
"Dateiname Serverzertifikat" Namen im Unterordner "Cert" des<br />
Projektverzeichnisses abgespeichert. Ab diesem Zeitpunkt wird das<br />
gespeicherte Zertifikat zum Identifizieren des OPC-UA-Servers<br />
verwendet.<br />
Der Client generiert selbst ebenfalls ein Zertifikat, das<br />
gegebenenfalls beim Server als autentisch eingetragen werden<br />
muss.<br />
Fehler beim Vergleichen des Zertifikates werden in der Log-Datei<br />
des Systems vermerkt.<br />
Parameter für Einheitenklasse (sprachabhängig)<br />
Beschreibung Über den Parameter "Standardsprache" kann festgelegt werden,<br />
welche Einheit in einer Einheitenklasse verwendet weren soll,<br />
wenn zur Laufzeit eine Sprache eingestellt wird, für die keine<br />
Einheit projektiert wurde.<br />
Beispiel:<br />
Die Einheit Meter/Inch soll zur Laufzeit sprachabhängig<br />
(Projektsprachen Deutsch/ Englisch (USA)/ Französisch/ Italienisch)<br />
umgeschaltet werden. In der entsprechenden Einheitenklasse<br />
werden zwei Einheiten projektiert<br />
1. Deutsch (Umschaltkennung: 1031)<br />
2. Englisch (Umschaltkennung: 1033)<br />
Die Standardsprache wird auf 1031 eingestellt. Damit wird bei<br />
einer Sprachumschaltung zur Laufzeit in die Sprachen<br />
Französisch/Italienisch automatisch die für die deutsche Sprache<br />
projektierte Einheitenumrechnung benutzt.
VisiWinNET 2005 Prozessanbindung<br />
Parameter der Definitionen der Prozessanbindung / Startwerte nicht synchron einlesen / Beispiel Variablenadapter 111<br />
5.43 Startwerte nicht synchron einlesen<br />
Parameter für Kommunikationskanal (OPC-Server), Kommunikationskanal (OPC-<br />
UA-Server), Kommunikationskanal (VisiWin-Treiber),<br />
Kommunikationskanal (VisiWinNET-Treiber)<br />
Beschreibung Der Parameter "Startwerte nicht synchron einlesen" bestimmt das<br />
Initialisierungsverhalten bei der ersten Datananforderung. Der<br />
Variablenkern liest im Normalfall bei der ersten Anforderung eines<br />
Prozessvariablenwertes den Wert synchron aus der<br />
Kommunikationsschnittstelle. Damit werden Fehlzugriffe und<br />
fehlerhafte Datendarstellungen in der Applikation vermieden. In<br />
bestimmten Fällen kann dies jedoch zum Fehlerfall, bzw. zu<br />
unerwünschten Verzögerungen führen.<br />
Einstellung Beschreibung<br />
True Bei der erstmaligen Anforderung eines<br />
Prozessvariablenwertes wird ein Lesezugriff gestartet.<br />
Ist dieser Lesezugriff asynchron (gemäß dem Parameter<br />
"Lesezugriffe" der Definition "Gruppe"), so ist der<br />
interne Prozessvariablencache des Variablenserver<br />
solange nicht initialisiert, bis die asynchrone Antwort<br />
vom OPC-Server zurückkommt. Erst dann kann der<br />
Wert an die Visualisierung weitergereicht werden.<br />
Bevor die ersten Werte aus der<br />
Kommunikationskomponente zurückkommen, werden<br />
in diesem Fall z.B. in den Steuerelementen falsche "0"-<br />
Werte angezeigt.
VisiWinNET 2005 Prozessanbindung<br />
Parameter der Definitionen der Prozessanbindung / Startwerte nicht synchron einlesen / Beispiel Variablenadapter 112<br />
False Bei der erstmaligen Anforderung eines<br />
Prozessvariablenwertes wird ein synchroner Lesezugriff<br />
gestartet, d.h. der Variablenkernel wartet im<br />
Leseaufruf auf die Funktionsausführung der<br />
Kommunikationskomponente. Diese behandelt den<br />
synchronen Aufruf üblicherweise höher priorisiert<br />
(direkt nach der aktuell laufenden Anfrage), also eher.<br />
Der zurückgegebene Wert wird vom Variablenkernel<br />
direkt nach Erhalt an den Visualiserungsclient<br />
zurückgegeben.<br />
In bestimmten Fällen tritt durch das erstmalige<br />
synchrone Lesen ein Fehler auf. Dieser zeichnet sich<br />
dadurch aus, dass direkt nach dem Start des Projektes<br />
die Meldung "Item Read Error ():- 0x1" im<br />
VisiWinNET Manager erscheint. Die Begründung für<br />
diese Phänomen ist in der noch nicht vollständigen<br />
internen Initialisierung des OPC-Servers zu suchen.<br />
Weitere Schwierigkeiten, die das erstmalige synchrone<br />
Lesen erzeugen können, sind die relativ langen<br />
Ladezeiten von Formularen, die eine größere Anzahl<br />
von Prozessvariablendarstellungen beinhalten und der<br />
daraus resultierende scheinbar vollständige Stillstand<br />
der Applikation bis hinunter zum Variablenkernel<br />
(Nicht nur die Visualisierungsoberfläche steht still,<br />
auch andere, zeitkritische Vorgänge können nicht mehr<br />
durchgeführt werden).<br />
Für VisiWin-Treiber hat diese Einstellung nur eine Funktion, wenn<br />
der Parameter "Synchrone Kommunikation ermöglichen" aktiviert<br />
ist. Ansonsten werden die ersten Variablenanforderungen<br />
asynchron ausgeführt.<br />
Dieser Parameter wird von der "Compact"-Produktvariante nicht<br />
unterstützt.
VisiWinNET 2005 Prozessanbindung<br />
5.44 Steuerobjekt<br />
Parameter für Gruppe<br />
Parameter der Definitionen der Prozessanbindung / Steuerobjekt / Beispiel Variablenadapter 113<br />
Beschreibung Der Parameter "Steuerobjekt" legt fest, welches Objekt/ welche<br />
Objekte den Datentransfer zwischen Variablenkern und<br />
Kommunikationskomponente steuern. In Abhängigkeit vom<br />
eingestellten "Aktivierungsmodus" unterscheiden sich die<br />
möglichen Eingaben:<br />
Beschreibung<br />
Aktivierungsmodus "mit<br />
Steuervariable"<br />
Akivierungsmodus Steuerobjekt<br />
automatisch Das Steuerobjekt wird ignoriert. Der<br />
Datentransfer wird automatisch auf<br />
Clientanforderung gesteuert (Siehe auch<br />
Parameter "Aktivierungsmodus").<br />
mit<br />
Steuervariable<br />
Applikationsgesteuert<br />
Der Wert einer Variablen wird dazu<br />
verwendet, den Datentransfer zu steuern<br />
(Beschreibung siehe unten).<br />
Der Datentransfer wird über<br />
Methodenaufrufe aus den<br />
Visualisierungsapplikationen gesteuert<br />
(Beschreibung siehe unten).<br />
immer Das Steuerobjekt wird ignoriert. Der<br />
Datentransfer wird automatisch nach der<br />
Initialisierung des Variablenkerns gestartet<br />
(Siehe auch Parameter "Aktivierungsmodus").<br />
Durch die Steuervariable lassen sich verschiedene manuelle<br />
Datentransferfunktionen auslösen. Der in der<br />
Visualisierungsapplikation veränderte Wert der Steuervariablen<br />
wird vom Variablenkern interpretiert und damit der<br />
Datenaustausch zwischen Kommunikationskomponente und<br />
Variablenkern gesteuert.<br />
Die einzelnen Steuerfunktionen sind bitkodiert.<br />
Bitnummer Beschreibung<br />
0 Gruppe deaktivieren. Diese Funktion erlaubt z.B. im<br />
Fehlerfall, die Gruppe zu deaktivieren, ohne den<br />
Zustand der Bits 3 und 4 zu ändern.<br />
1 Das Setzen des Bits löst ein einmaliges Lesen der<br />
Prozessvariablen dieser Gruppe aus. Nach dem<br />
Lesevorgang wird das Bit automatisch zurückgesetzt.<br />
2 Das Setzen des Bits löst ein einmaliges Schreiben der<br />
Prozessvariablen dieser Gruppe aus. Nach dem<br />
Schreibvorgang wird das Bit automatisch<br />
zurückgesetzt.<br />
3 Das Setzen des Bits führt dazu, dass die<br />
Prozessvariablen dieser Gruppe im durch den<br />
Parameter "Abtastzeit" spezifizierten Zyklus gelesen<br />
werden.<br />
4 Das Setzen des Bits führt dazu, dass Schreibaufträge<br />
auf Prozessvariablen dieser Gruppe erlaubt sind.
VisiWinNET 2005 Prozessanbindung<br />
Beschreibung<br />
Aktivierungsmodus<br />
"Applikationsgesteuert"<br />
Parameter der Definitionen der Prozessanbindung / Steuerobjekt / Beispiel Variablenadapter 114<br />
Der Datenaustausch wird durch den Aufruf der Methoden<br />
"AddActiveForm" und "ReleaseActiveForm" (Namensraum<br />
"VisiWinNET.Services, Klasse "AppService") gesteuert. Diese<br />
Funktionen erwarten als Parameter einen Namen, der mit der im<br />
Steuerobjekt angegebenen Zeichenfolge verglichen wird. Im<br />
Steuerobjekt kann als Zeichenfolge ein oder mehrere<br />
Aktivierungsbezeichner angegeben werden. Dabei ist zu beachten:<br />
• Einzelne Namen werden durch Semikolonzeichen (;) getrennt.<br />
• Die Verwendung vom "*"-Platzhaltern zur Festlegung mehrerer<br />
Namen ist erlaubt. (Z.B. die Angabe "Form*" enthält alle mit<br />
"Form" beginnenden Aktivierungsbezeichner).<br />
Der Aufruf der Methode "AddRunningForm" startet den<br />
Datentransfer einer Gruppe.<br />
Der Aufruf "RemoveRunningForm" stoppt den Datentransfer einer<br />
Gruppe.<br />
Intern werden die Aufrufe "AddRunningForm" und<br />
"RemoveRunningForm" gezählt, d.h. zu jedem "AddRunningForm"-<br />
Aufruf muss es ein "RemoveRunningForm" geben, damit die<br />
Kommunikation gestoppt wird.
VisiWinNET 2005 Prozessanbindung<br />
5.45 Strukturzugriff<br />
Parameter für Kommunikationskanal (OPC-Server)<br />
Parameter der Definitionen der Prozessanbindung / Strukturzugriff / Beispiel Variablenadapter 115<br />
Beschreibung Bestimmt, wie auf Prozessvariablen vom Datentyp einer<br />
Strukturdefinition zugegriffen wird.<br />
Einstellung Beschreibung<br />
als Bytestream Wird eine Prozessvariable vom Datentyp einer<br />
Struktur gelesen/beschrieben, so werden die<br />
Daten als Bytestream zwischen OPC-Server<br />
und Variablenkern ausgetauscht. VWOPC-<br />
Server benutzen dieses Datenformat.<br />
als Struktur<br />
(IEC1131)<br />
als<br />
Einzelvariablen<br />
Wird eine Prozessvariable vom Datentyp einer<br />
Struktur gelesen/beschrieben, so werden die<br />
Daten als Variantdaten zwischen OPC-Server<br />
und Variablenkern ausgetauscht.<br />
Während der Initialisierungsphase wird beim<br />
OPC-Server jedes Strukturelement als einzelne<br />
Prozessvariable angemeldet. Der blockweise<br />
Zugriff auf eine Prozessvariable vom Datentyp<br />
einer Strukturdefinition ist also ein Zugriff auf<br />
jedes Strukturelement in dieser<br />
Prozessvariablen.<br />
Die Einstellung des Strukturzugriff-Parameters ist abhängig vom<br />
funktionalen Umfang des OPC-Servers. Grundsätzlich gilt:<br />
VWOPC-Server benutzen den Modus "als Bytestream".<br />
OPC-Server, die keine erweiterten Datentypen kennen, müssen auf<br />
den Modus "als Einzelvariablen" eingestellt werden, wenn im<br />
VisiWinNET-Projekt Strukturdefinitionen verwendet werden.<br />
Weitere Informationen befinden sich üblicherweise in der<br />
Dokumentation des OPC-Servers.<br />
Dieser Parameter wird von der "Compact"-Produktvariante nicht<br />
unterstützt.
VisiWinNET 2005 Prozessanbindung<br />
Parameter der Definitionen der Prozessanbindung / Synchrone Kommunikation ermöglichen / Beispiel Variablenadapter 116<br />
5.46 Synchrone Kommunikation ermöglichen<br />
Parameter für Kommunikationskanal (VisiWin-Treiber)<br />
Beschreibung Der Parameter "Synchrone Kommunikation ermöglichen" stellt ein,<br />
ob der Variablenkern synchrone Aufrufe bei einem VisiWin-Treiber<br />
verwendet. Dies ist insbesondere dann von Bedeutung, wenn:<br />
• Der lesende oder schreibende Zugriff in einer Gruppe auf<br />
"synchron" eingestellt ist (→Parameter<br />
"Lesezugriffe"/"Schreibzugriffe")<br />
• Der Parameter "Startwerte nicht synchron einlesen" der<br />
Kommunikationskomponente auf "False" eingestellt ist.<br />
Einstellung Beschreibung<br />
True Synchrone Aufrufe werden verwendet.<br />
False Synchrone Aufrufe werden als asynchrone Aufrufe<br />
ausgeführt. Dies ist das Verhalten, das VisiWinNET<br />
standardmäßig vor der Version 4.07 zeigte.<br />
Dieser Parameter wird von der "Compact"-Produktvariante nicht<br />
unterstützt.
VisiWinNET 2005 Prozessanbindung<br />
5.47 Text<br />
Parameter für Prozessvariable, Strukturelement<br />
Parameter der Definitionen der Prozessanbindung / Text / Beispiel Variablenadapter 117<br />
Beschreibung Legt eine sprachumschaltbaren Text zur Variablen fest. Dieser<br />
Text wird in folgenden Steuerelementen angezeigt, wenn dort die<br />
Eigenschaft 'UseItemText' auf 'true' eingestellt ist:<br />
• Bar<br />
• CheckBox<br />
• ExtendedSlider<br />
• Key<br />
• Label<br />
• RadioButton<br />
• Switch<br />
• Text<br />
• Variable<br />
• VarIn<br />
• VarOut<br />
Wird ein VarIn mithilfe einer 'TouchKeyboard'-Komponente über<br />
eine Bildschirmtastatur bedient und ist die Eigenschaft<br />
'UseItemText' auf 'true' gestellt, wird der Variablentext als<br />
Titelzeile in der Bildschirmtastatur angezeigt.<br />
Das programmatische Lesen des Textes in der aktuellen Sprache<br />
ist bei Objekten der folgenden Typen über die Eigenschaft 'Text'<br />
möglich:<br />
• VisiWinNET.DataAccess.Item<br />
• VisiWinNET.DataAccess.StateItem<br />
• VisiWinNET.DataAccess.AnalogItem<br />
• VisiWinNET.DataAccess.DigitalItem<br />
• VisiWinNET.DataAccess.ItemInfo<br />
Der Variableneditor zeigt den Text nur in der im Projekt gewählten<br />
Entwicklersprache an. Die Übersetzung kann im Texteditor unter<br />
dem Knoten "Variablen" erfolgen.<br />
Der Text wird erst im Texteditor angezeigt, nachdem im<br />
Variableneditor in der Entwicklersprache ein Text angegeben<br />
wurde.
VisiWinNET 2005 Prozessanbindung<br />
5.48 Treibername<br />
Parameter für Kommunikationskanal (VisiWin-Treiber)<br />
Parameter der Definitionen der Prozessanbindung / Treibername / Beispiel Variablenadapter 118<br />
Beschreibung Der Treibername gibt den systemweiten eindeutigen Namen der<br />
Kommunikationskomponente aus der Windows-Registrierung an.<br />
Über die Schaltfläche wird der Dialog zur Auswahl eines<br />
VisiWin-Treibers geöffnet.<br />
Der Dialog zur Auswahl eines VisiWin-Treibers hat folgende<br />
Bedienelemente:<br />
Element Beschreibung<br />
OK Übernimmt den ausgewählten VisiWin-Treiber<br />
und beendet den Dialog.<br />
Abbrechen Beendet den Dialog ohne die Parameter zu<br />
übernehmen.<br />
Hilfe Öffnet dieses Dokument.
VisiWinNET 2005 Prozessanbindung<br />
5.49 Umschaltvariable<br />
Parameter der Definitionen der Prozessanbindung / Umschaltvariable / Beispiel Variablenadapter 119<br />
Parameter für Einheitenklasse (variablenabhängig), Multiplexer<br />
Beschreibung Einheitenklasse<br />
(variablenabhängig)<br />
Bestimmt die Variable, deren Wert zum Umschalten zwischen den<br />
Einheitendefinitionen einer Einheitenklasse benutzt wird.<br />
Zur Laufzeit wird dieser Prozessvariablenwert mit den Werten der<br />
Parameter "Umschaltkennung" aller Einheiten der betreffenden<br />
Einheitenklasse verglichen. Bei Übereinstimmung des Wertes wird<br />
die entsprechende Einheitenformel (Parameter "x1", "x2", "y1",<br />
"y2") zum Umrechnen aller Prozessvariablen genutzt, die sich auf<br />
diese Einheitenklasse beziehen. Erreicht die Umschaltvariable<br />
einen Wert, für den es in der Einheitenklasse keine<br />
Umschaltkennung gibt, so wird der Wert der Prozessvariablen, die<br />
sich auf diese Einheitenklasse beziehen, ohne Umrechnung<br />
übernommen.<br />
Beschreibung Multiplexer Bestimmt die Variable, deren Wert den Multiplexer umschaltet.<br />
Multiplexer beinhalten eine Zuordnungstabelle, deren Spalten<br />
durch das Anlegen von Umschaltzuständen projektiert werden. Im<br />
Spaltenkopf steht dabei der Wert, der von der Umschaltvariablen<br />
angenommen werden muss, um die entsprechenden Variablen in<br />
den Spaltenfeldern auf die durch die Alias-Spalte benannte<br />
Variable umzulenken.<br />
5.50 Umschaltkennung<br />
Parameter für Einheit<br />
Beschreibung Je nach Einheitenklassentyp (variablen-/sprachabhängig)<br />
beinhaltet die Umschaltkennung einen Wert, der bestimmt, wann<br />
die Einheitenumrechnung in dieser Einheitenklasse aktiv ist.<br />
Einheitenklassentyp Beschreibung<br />
(sprachabhängig) Dieser Einheitenklassentyp bewirkt die<br />
Umrechnung von Prozessvariablenwerten<br />
in Abhängigkeit von der in einer<br />
Applikation gewählten Sprache. In den<br />
Parameter Umschaltkennung muss die<br />
entsprechende Kennung (LCID, für<br />
Deutsch (Deutschland) z.B. 1031)<br />
eingegeben werden. Nähere Informationen<br />
über die Umschaltkennungen für die<br />
einzelnen Sprachen befinden sich in der<br />
Beschreibung des Indextextsystems.<br />
(variablenabhängig) Eine Einheitenklasse dieses Typs bewirkt<br />
die Umrechung über Einheitenobjekte in<br />
Abhängigkeit von einem<br />
Prozessvariablenwert (siehe Parameter<br />
"Umschaltvariable"). Hier ist also der Wert<br />
anzugeben, den die Umschaltvariable<br />
annehmen muss, damit die<br />
Einheitenumrechnung in dieser<br />
Einheitenklasse aktiv ist.
VisiWinNET 2005 Prozessanbindung<br />
5.51 Umschaltzustände<br />
5.52 URL<br />
Parameter für Multiplexer, Variablenadapter<br />
Parameter der Definitionen der Prozessanbindung / Umschaltzustände / Beispiel Variablenadapter 120<br />
Beschreibung Multiplexer und Variablenadapter beinhalten im Tabelleneditor<br />
eine Zuordnungstabelle, deren Spalten durch das Anlegen von<br />
Umschaltzuständen projektiert werden.<br />
Der Name eines Umschaltzustandes findet sich im Kopf der<br />
entsprechenden Spalte wieder.<br />
Multiplexer interpretieren den Namen als Wert der<br />
Umschaltvariablen, der angenommen werden muss, um die<br />
entsprechenden Variablen in den Spaltenfeldern auf die durch die<br />
Alias-Spalte benannte Variable umzulenken.<br />
Variablenadapter werden zur Entwicklungszeit auf einen<br />
Umschaltzustand konfiguriert. Im Projektexplorer ist über den<br />
Knoten "Variablen→Variablenadapter→Konfiguration" für jeden<br />
projektierten Variablenadapter ein "aktiver Umschaltzustand"<br />
festzulegen.<br />
Parameter für Kommunikationskanal (OPC-UA-Server)<br />
Beschreibung Legt den Verbindungsendpunkt des OPC-UA-Servers fest. In der<br />
URL sind folgende Angaben enthalten.<br />
::/[:]<br />
Protokollpräfix Folgende Angaben sind zulässig:<br />
"opc.tcp" für das binäre Protokoll.<br />
"opc.http" oder "opc.https" für Webservices<br />
Rechner Entweder der Rechnername oder die IP-<br />
Adresse des Zielsystems oder beim Zugriff<br />
auf das lokale System die Angabe "localhost".<br />
Port Optionale Angabe des Ports, auf dem der<br />
OPC-UA-Server lauscht. Der Defaultwert<br />
hängt vom Protokollpräfix ab:<br />
"4840" (tcp)<br />
"80" (http)<br />
"443" (https)<br />
Beispiele opc.http::/192.168.4.2<br />
Verbindung zum OPC UA Server auf dem Rechner mit der IP<br />
192.168.4.2 über Webservices und den Standardport 80<br />
opc.tcp::/localhost:4841<br />
Verbindung zum OPC UA Server auf dem lokalen System über das<br />
Binärprotokoll und den Port "4841"
VisiWinNET 2005 Prozessanbindung<br />
5.53 Variablenoptionen<br />
Parameter für Prozessvariable, Strukturelement<br />
Parameter der Definitionen der Prozessanbindung / Variablenoptionen / Beispiel Variablenadapter 121<br />
Beschreibung Der Parameter "Variablenoptionen" enthält bitcodierte<br />
Einstellmöglichkeiten zu einer Prozessvariablen.<br />
Parametername Bit Beschreibung<br />
Im VWOPC-Kernel<br />
nicht als<br />
öffentliches Item<br />
zur Verfügung<br />
stellen<br />
Wertänderungen<br />
im Protokollserver<br />
aufzeichnen<br />
Elementauflösung<br />
zugunsten<br />
Powertagzählung<br />
unterdrücken<br />
0 Der Variablenkern kann selbst als OPC-Server angesprochen<br />
werden. Wird diese Einstellung in den Variablenoptionen<br />
gesetzt, so wird die Prozessvariable für externe<br />
Clientanwendungen, die den Variablenkern als OPC-Server<br />
nutzen, nicht zur Verfügung gestellt.<br />
Diese Option wird von Strukturelementen nicht unterstützt.<br />
1 Bei Nutzung des Protokollservers wird eine Wertänderung in<br />
dieser Prozessvariablen aufgezeichnet.<br />
2 Eine Prozessvariable, die nur als komplette Struktur oder Feld<br />
in der Applikation benötigt wird, kann mit dieser Einstellung<br />
belegt werden. Dies hat zur Folge, dass die gesamte<br />
Prozessvariable als nur ein Powertag in die Zählung der<br />
Lizenzierungsüberprüfung eingeht. Allerdings wird damit<br />
auch die Auflösung der Prozessvariablen in ihre Elemente<br />
zwischen VWE-Kernel und Applikation nicht mehr unterstützt.<br />
Die Anbindung von Steuerelementen an die Elemente der<br />
Prozessvariablen z.B. ist dann nicht mehr möglich.<br />
Clientintern 3 Ist die Option aktiv, puffert der Variablenclient die<br />
Prozessvariable ohne Hilfe des Variablenkernes. In einem<br />
Client-Server-System wird die Prozessvariable also nicht im<br />
Variablenkern für alle Clients gemeinsam gehalten. Die<br />
Prozessvariable kann dadurch in jeder Client-Applikation<br />
einen individuellen Wert einnehmen.<br />
Diese Option kann nur für interne Variablen eingestellt<br />
werden.<br />
Diese Option wird von Strukturelementen nicht unterstützt.
VisiWinNET 2005 Prozessanbindung<br />
Parameter der Definitionen der Prozessanbindung / Variablenoptionen / Beispiel Variablenadapter 122<br />
Hinweise für "Elementauflösung zugunsten<br />
Powertagzählung unterdrücken":<br />
typische Anwendungen für diese Option sind:<br />
• Variablenfelder z.B. für den 'XYGraph'<br />
• Felder und Strukturen, die nicht in der Anzeige benötigt<br />
werden, die aber über VWGet/VWSet aufgerufen werden.<br />
Ist die Option aktiv, können folgende Funktionen auf die Elemente<br />
der Variablen nicht mehr ausgeführt werden:<br />
• Verknüpfung mit Anzeigeelementen in den 'VWItem'-<br />
Eigenschaften<br />
• Verknüpfung mit Definitionsfunktionen (z.B. Verwendung der<br />
Elemente als Ereignisvariablen von Alarmen)<br />
• Lesen/Schreiben der einzelnen Elemente über VWGet/VWSet<br />
Die vom System gezählten Variablen werden im Dialog<br />
"Laufzeitlizenzierung" angezeigt. Dieser Dialog wird über das<br />
Kontextmenü des obersten Knoten im<br />
VisiWinNET-Projektexplorer geöffnet.<br />
Hinweise für "Clientintern":<br />
Diese Option wird üblicherweise für Steuervariablen im Client-<br />
Server-System verwendet.<br />
Beispiel: In einem Client-Server-Projekt wird über eine Variable<br />
die Umschaltung einer Einheitenumrechnung gesteuert. Dabei soll<br />
die Umschaltung der Einheit jedoch individuell für eine<br />
Clientanwendung erfolgen. Damit die Variable nicht die<br />
Einheitenumrechnung aller beteiligten Client-Anwendungen<br />
umschaltet, wird die Steuervariable als Clientintern markiert.
VisiWinNET 2005 Prozessanbindung<br />
5.54 Variablen statisch aktivieren<br />
Parameter der Definitionen der Prozessanbindung / Variablen statisch aktivieren / Beispiel Variablenadapter 123<br />
Parameter für Kommunikationskanal (OPC-Server)<br />
Beschreibung Der Parameter "Variablen statisch aktivieren" bestimmt das<br />
Aktivierungsverhalten von Prozessvariablen im OPC-Server.<br />
Einstellung Beschreibung<br />
True Der Variablenkern meldet die Prozessvariablen<br />
entsprechend der projektierten Gruppen beim OPC-<br />
Server an und aktiviert sie. Es werden also ohne<br />
weitere Clientanforderung Daten zwischen<br />
Variablenkern und OPC-Server ausgetauscht.<br />
False Der Variablenkern meldet die Prozessvariablen<br />
entsprechend der projektierten Gruppen beim OPC-<br />
Server an. Erst auf Anforderung eines Clients (z.B.<br />
beim Laden eines Formulars) werden die<br />
entsprechenden Prozessvariablen aktiviert. Ab diesem<br />
Zeitpunkt werden die Prozessvariablenwerte mit dem<br />
OPC-Server ausgetauscht.<br />
Dieser Parameter kann in Abhängigkeit vom gewählten OPC-<br />
Server das Verhalten der Visualisierungsapplikation wesentlich<br />
beeinflussen. Üblicherweise ist das Aktivieren einer<br />
Prozessvariablen ein zeitlich unkritischer Faktor im System. Der<br />
Austausch von Daten sollte allgemein minimiert werden. Es gibt<br />
jedoch Ausnahmen, bei denen aufgrund der internen Architektur<br />
des OPC-Servers genau das Gegenteil zu beobachten ist: Während<br />
der Datenaustausch zwischen Variablenkern und OPC-Server kaum<br />
Rechenleistung in Anspruch nimmt, werden durch das Aktivieren<br />
von Prozessvariablen die Systemresourcen drastisch reduziert. In<br />
diesem Fall sollte der Parameter "Variablen statisch aktivieren"<br />
gewählt werden.
VisiWinNET 2005 Prozessanbindung<br />
Parameter der Definitionen der Prozessanbindung / Variablenwerte bei OPC Quality BAD nicht übernehmen / Beispiel Variablenadapter 124<br />
5.55 Variablenwerte bei OPC Quality BAD nicht übernehmen<br />
Parameter für Kommunikationskanal (OPC-Server), Kommunikationskanal (OPC-<br />
UA-Server)<br />
Beschreibung Legt fest, welcher Wert in den Variablenkern geschrieben wird,<br />
wenn eine Variable vom OPC-Server übertragen wird, deren<br />
Quality-Flag nicht "QUALITY_GOOD" ist.<br />
Einstellung Beschreibung<br />
false Der vom OPC-Server übertragene Wert wird in<br />
die Variable eingetragen.<br />
5.56 Variablen beim Deaktivieren weiterlesen<br />
true • Ist kein Ersatzwert angegeben, und zeigt das<br />
Quality-Flag nicht "LastKnown" an, behält<br />
die Prozessvariable im Variablenkern ihren<br />
alten Wert.<br />
Parameter für Kommunikationskanal (OPC-UA-Server)<br />
• Zeigt das Quality-Flag "LastKnown" an und<br />
ist kein Ersatzwert angegeben, wird der vom<br />
OPC-Server übertragenen Wert in die<br />
Variable eingetragen.<br />
• Wurde jedoch ein Ersatzwert angegeben und<br />
wurde im Eratzwertmodus die Option "Bei<br />
Kommunikationsabbruch senden" aktiviert,<br />
wird der Ersatzwert in die Variable<br />
eingetragen.<br />
In allen drei Fällen wird das Quality-Flag<br />
entsprechend übernommen und über den Client<br />
ein Change-Ereignis ausgelöst.<br />
Beschreibung Legt fest, das Variablen, die nicht mehr von der Applikation<br />
benötigt und deshalb im Variablenkern abgemeldet werden,<br />
trotzdem aus der Kommunikationskomponente weiter angefordert<br />
werden.<br />
Einige Kommunikationskomponenten bauen ihren internen<br />
Datencache jeweils neu auf, sobald Variablen abgemeldet werden.<br />
Nimmt dieser Vorgang eine längere Zeit in Anspruch, treten unter<br />
Umständen zeitliche Verzögerungen und Übertragungstimeouts<br />
auf.<br />
Der Entwickler kann über die Einstellung "Variablen beim<br />
Deaktivieren weiterlesen" das Abmelden von Variablen in der<br />
Kommunikationskomponente unterdrücken, so dass diese<br />
zeitlichen Verzögerungen nicht mehr auftreten.
VisiWinNET 2005 Prozessanbindung<br />
Parameter der Definitionen der Prozessanbindung / Verbindungsversuche nach Initialisierungsphase wiederholen / Beispiel Variablenadapter 125<br />
5.57 Verbindungsversuche nach Initialisierungsphase wiederholen<br />
5.58 Version<br />
Parameter für Kommunikationskanal (OPC-Server)<br />
Beschreibung Gelingt die Verbindungsherstellung zum OPC-Server (z.B.<br />
aufgrund einer erhöhten Auslastung von Netzwerk oder OPC-<br />
Server) während der Initialisierungsphase nicht, versucht der<br />
Variablenkern auch danach weiter zyklisch, den Kontakt zum OPC-<br />
Server herzustellen.<br />
Parameter für Kommunikationskanal (OPC-Server)<br />
Beschreibung Bestimmt die Versionsnummer der registrierten<br />
Kommunikationskomponente. OPC-Server können unter gleichem<br />
Namen in verschiedenen Versionen auf einem Rechner installiert<br />
werden. Ist dies der Fall, kann über die Versionsnummer der<br />
gewünschte OPC-Server ausgesucht werden.
VisiWinNET 2005 Prozessanbindung<br />
5.59 VWE erzeugt Items (CallR-Server)<br />
Parameter der Definitionen der Prozessanbindung / VWE erzeugt Items (CallR-Server) / Beispiel Variablenadapter 126<br />
Parameter für Kommunikationskanal (OPC-Server)<br />
Beschreibung Bestimmt die CallR-Fähigkeit des OPC-Servers. Grundsätzlich ist<br />
im Umgang mit OPC-Servern folgende Kategorisierung zu<br />
beachten: Während der Initialisierung liest der OPC-Server seine<br />
Prozessvariablendefinitionen (ItemID, Adresse in der SPS,<br />
Datentyp,...) aus einer für ihn spezifischen Quelle (Projektdatei).<br />
Ein Client, der Prozessvariablen mit dem OPC-Server austauschen<br />
will, muss dies über die Übergabe der ItemID anmelden. Diese<br />
Spezifikation wird von allen OPC-Servern erfüllt.<br />
CallR-Server ermöglichen zusätzlich die dynamische Erzeugung<br />
von Prozessvariablendefinitionen im OPC-Server, d.h.: Ein Client<br />
kann dem OPC-Server eine Prozessvariablendefinition zur Laufzeit<br />
übermitteln. Der OPC-Server speichert die neue<br />
Prozessvariablendefinition. Auf Anfrage vom Client wird der<br />
Datenaustausch zwischen OPC-Server und SPS gestartet.<br />
VisiWinNET unterstützt die beiden Kategorien in folgender Form:<br />
OPC-Server mit einer eigenen Projektdatei können über die<br />
Browse-Funktion im Editor ausgelesen werden. Dabei werden die<br />
in der Applikation benötigten Prozessvariablendefinitionen aus<br />
dem OPC-Server-Projekt in die VisiWinNET- Projektdatenbank<br />
gespiegelt. Auf Anforderung aus einer Applikation sendet der<br />
Variablenkern die ItemID zum OPC-Server und meldet den<br />
Datentransfer an.<br />
Zusätzlich können Prozessvariablendefinitionen im Editor selbst<br />
erzeugt werden. Diese werden dann zur Laufzeit zum OPC-Server<br />
gesendet.<br />
Einstellung Beschreibung<br />
aktiv Die Kommunikationskomponente wird als CallR-Server<br />
behandelt. Während der Initialisierung werden alle<br />
Prozessvariablendefinitionen aus der VisiWinNET-<br />
Projektdatenbank an den OPC-Server gesendet.<br />
inaktiv Die ItemID-Werte der Prozessvariablendefinitionen<br />
werden als Kennung an die<br />
Kommunikationskomponente übersendet, wenn ein<br />
Datenaustausch von einer Clientapplikation<br />
angefordert wird.
VisiWinNET 2005 Prozessanbindung<br />
5.60 Worttausch VT_I4, VT_UI4<br />
Parameter der Definitionen der Prozessanbindung / Worttausch VT_I4, VT_UI4 / Beispiel Variablenadapter 127<br />
Parameter für Kommunikationskanal (OPC-Server)<br />
Beschreibung Der Aufbau von Prozesswerten in der SPS ist für jeden SPS-Typ<br />
individuell. So kann es vorkommen, dass einzelne Datentypen<br />
unterschiedlich aufgebaut sind. Beim Austausch von einzelnen<br />
Prozessvariablenwerten wird die Anpassung zur Visualisierung<br />
üblicherweise von der Kommunikationskomponente ausgeführt.<br />
Wird über eine Struktur blockweise (über eine Prozessvariable, die<br />
den Datentyp einer Struktur hat) "als Bytestream" (→Parameter<br />
"Strukturzugriff") auf Daten der SPS zugegriffen, kann die<br />
Kommunikationskomponente diese Anpassung nicht mehr<br />
ausführen, da Sie über den Aufbau des Byteblocks nicht informiert<br />
ist. Daher muss im Variablenkern diese Anpassung erfolgen.<br />
Der Parameter "Worttausch VT_I4, VT_UI4" bewirkt, dass die zwei<br />
Worte (ein Wort = 2 Bytes) eines Strukturelementes vom Datentyp<br />
VT_I4 bzw. VT_UI4 innerhalb eines übertragenen Byteblockes<br />
miteinander getauscht werden.<br />
Einstellung Beschreibung<br />
True Beim Lesen aus der SPS wird vom Variablenkern ein<br />
Byteblock über die Kommunikationskomponente<br />
angefordert. Der interne Prozessvariablencache wird<br />
gemäß dem Aufbau der Struktur mit den Bytes des<br />
empfangenen Blocks gefüllt. Ist ein angesprochenes<br />
Strukturelement dabei vom Datentyp VT_I4 /VT_UI4,<br />
so werden die beiden Worte miteinander getauscht.<br />
Beim Schreiben wird ein Byteblock gemäß den<br />
Angaben der Struktur aus dem internen<br />
Prozessvariablencache zusammengestellt. Dabei<br />
überprüft der Variablenkern, ob ein Strukturelement<br />
den Datentyp VT_I4/VT_UI4 einnimmt. Ist dies der<br />
Fall, so werden die beiden Worte des Wertes<br />
miteinander getauscht. Anschließend wird der Block<br />
zur SPS übertragen.<br />
False Beim Lesen aus der SPS wird vom Variablenkern ein<br />
Byteblock über die Kommunikationskomponente<br />
angefordert. Der interne Prozessvariablencache wird<br />
ohne Bytetausch gemäß dem Aufbau der Struktur mit<br />
den Bytes des empfangenen Blocks gefüllt.<br />
Beim Schreiben wird ein Byteblock gemäß den<br />
Angaben der Struktur aus dem internen<br />
Prozessvariablencache zusammengestellt. Danach wird<br />
dieser Block direkt zur SPS übertragen.
VisiWinNET 2005 Prozessanbindung<br />
Parameter der Definitionen der Prozessanbindung / Worttausch VT_I4, VT_UI4 / Beispiel Variablenadapter 128<br />
Die Verwendung des Parameters "Worttausch VT_I4, VT_UI4" ist<br />
abhängig von der verwendeten SPS. Sie ist nur sinnvoll, wenn der<br />
Parameter "Strukturzugriff" auf "als Bytestream" eingestellt ist und<br />
Strukturen als Datentypen für Prozessvariablen verwendet werden.<br />
Weitere Anpassungsmöglichkeiten für diese Zugriffsart:<br />
→Parameter "Fließkomma-Konvertierung IEEE-S5/S7"<br />
→Parameter "Bytetausch<br />
→Parameter "Worttausch VT_R4, VT_R8"<br />
→Parameter "OPC-Server hat Unicode-Strings"<br />
Dieser Parameter wird von der "Compact"-Produktvariante nicht<br />
unterstützt.
VisiWinNET 2005 Prozessanbindung<br />
5.61 Worttausch VT_R4, VT_R8<br />
Parameter der Definitionen der Prozessanbindung / Worttausch VT_R4, VT_R8 / Beispiel Variablenadapter 129<br />
Parameter für Kommunikationskanal (OPC-Server)<br />
Beschreibung Der Aufbau von Prozesswerten in der SPS ist für jeden SPS-Typ<br />
individuell. So kann es vorkommen, dass einzelne Datentypen<br />
unterschiedlich aufgebaut sind. Beim Austausch von einzelnen<br />
Prozessvariablenwerten wird die Anpassung zur Visualisierung<br />
üblicherweise von der Kommunikationskomponente ausgeführt.<br />
Wird über eine Struktur blockweise (über eine Prozessvariable, die<br />
den Datentyp einer Struktur hat) "als Bytestream" (→Parameter<br />
"Strukturzugriff") auf Daten der SPS zugegriffen, kann die<br />
Kommunikationskomponente diese Anpassung nicht mehr<br />
ausführen, da Sie über den Aufbau des Byteblocks nicht informiert<br />
ist. Daher muss im Variablenkern diese Anpassung erfolgen.<br />
Der Parameter "Worttausch VT_R4, VT_R8" bewirkt, dass zwei<br />
aufeinanderfolgende Worte (Wort = 2 Bytes) eines<br />
Strukturelementes vom Datentyp VT_R4 bzw. VT_R8 innerhalb<br />
eines übertragenen Byteblockes miteinander getauscht werden.<br />
Einstellung Beschreibung<br />
True Beim Lesen aus der SPS wird vom Variablenkern ein<br />
Byteblock über die Kommunikationskomponente<br />
angefordert. Der interne Prozessvariablencache wird<br />
gemäß dem Aufbau der Struktur mit den Bytes des<br />
empfangenen Blocks gefüllt. Ist ein angesprochenes<br />
Strukturelement dabei vom Datentyp VT_R4 /VT_R8,<br />
so werden zwei aufeinander folgende Worte<br />
miteinander getauscht.<br />
Beim Schreiben wird ein Byteblock gemäß den<br />
Angaben der Struktur aus dem internen<br />
Prozessvariablencache zusammengestellt. Dabei<br />
überprüft der Variablenkern, ob ein Strukturelement<br />
den Datentyp VT_R4/VT_R8 einnimmt. Ist dies der Fall,<br />
so werden die jeweils aufeinanderfolgenden Worte des<br />
Wertes miteinander getauscht. Anschließend wird der<br />
Block zur SPS übertragen.<br />
False Beim Lesen aus der SPS wird vom Variablenkern ein<br />
Byteblock über die Kommunikationskomponente<br />
angefordert. Der interne Prozessvariablencache wird<br />
ohne Bytetausch gemäß dem Aufbau der Struktur mit<br />
den Bytes des empfangenen Blocks gefüllt.<br />
Beim Schreiben wird ein Byteblock gemäß den<br />
Angaben der Struktur aus dem internen<br />
Prozessvariablencache zusammengestellt. Danach wird<br />
dieser Block direkt zur SPS übertragen.
VisiWinNET 2005 Prozessanbindung<br />
Parameter der Definitionen der Prozessanbindung / Worttausch VT_R4, VT_R8 / Beispiel Variablenadapter 130<br />
Die Verwendung des Parameters "Worttausch VT_R4, VT_R8" ist<br />
abhängig von der verwendeten SPS. Sie ist nur sinnvoll, wenn der<br />
Parameter "Strukturzugriff" auf "als Bytestream" eingestellt ist und<br />
Strukturen als Datentypen für Prozessvariablen verwendet werden.<br />
Weitere Anpassungsmöglichkeiten für diese Zugriffsart:<br />
→Parameter "Fließkomma-Konvertierung IEEE-S5/S7"<br />
→Parameter "Bytetausch<br />
→Parameter "Worttausch VT_I4, VT_UI4"<br />
→Parameter "OPC-Server hat Unicode-Strings"<br />
Dieser Parameter wird von der "Compact"-Produktvariante nicht<br />
unterstützt.
VisiWinNET 2005 Prozessanbindung<br />
5.62 x1<br />
Parameter für Einheit<br />
Parameter der Definitionen der Prozessanbindung / x1 / Beispiel Variablenadapter 131<br />
Beschreibung Legt den ersten Prozessvariablen-Rohwert fest, der zur<br />
Bestimmung der Einheitenumrechnung erforderlich ist. Die<br />
Einheitenumrechnung erfolgt über die Definition von zwei<br />
Punkten. Durch diese Punkte lässt sich eine Geradengleichung<br />
erstellen.<br />
Steigung m= (x2-x1)/(y2-y1)<br />
Offset b = y2- m∗ x2<br />
Allgemein gilt y= m∗x+b<br />
Die Umrechnung beim Lesen eines Wertes erfolgt über die<br />
obenstehende Gleichung Umrechnungswert = m∗Rohwert+b.<br />
Die Angaben "Rohwert" und "Umrechnungswert" beziehen sich auf<br />
die Verwendung der Einheitenklasse:<br />
• Wird eine Einheitenklasse im Parameter "Einheitenklasse<br />
(Prozess)" einer Prozessvariablen verwendet, ist der Rohwert<br />
der Prozessvariablenwert aus der<br />
Kommunikationskomponente. Der Umrechnungswert ist der<br />
Wert im Variablenkern.<br />
• Wird eine Einheitenklasse im Parameter "Einheitenklasse<br />
(Anzeige)" einer Prozessvariablen verwendet, ist der<br />
Umrechnungswert der in den Steuerelementen angezeigte<br />
Wert. Der Rohwert ist der im Variablenkern gepufferte<br />
Prozessvariablenwert.<br />
Beim schreibenden Zugriff (bei der Verwendung als<br />
Einheitenklassen (Prozess) aus dem Variablenkern in die<br />
Kommunikationskomponente, bei einer Einheitenklasse (Anzeige)<br />
vom Steuerelement in den Variablenkern) wird die Umrechnung<br />
umgekehrt ausgeführt:<br />
Rohwert = (Umrechnungswert -b)/ m
VisiWinNET 2005 Prozessanbindung<br />
5.63 x2<br />
5.64 y1<br />
5.65 y2<br />
Parameter für Einheit<br />
Parameter der Definitionen der Prozessanbindung / x2 / Beispiel Variablenadapter 132<br />
Beschreibung Legt den zweiten Prozessvariablen-Rohwert fest, der zur<br />
Bestimmung der Einheitenumrechnung erforderlich ist. Die<br />
Einheitenumrechnung erfolgt über die Definition von zwei<br />
Punkten. Durch diese Punkte lässt sich eine Geradengleichung<br />
erstellen. Weitere Informationen finden sich in der Beschreibung<br />
des Parameters "x1".<br />
Parameter für Einheit<br />
Beschreibung Legt den ersten Prozessvariablen-Umrechnungswert fest, der zur<br />
Bestimmung der Einheitenumrechnung erforderlich ist. Die<br />
Einheitenumrechnung erfolgt über die Definition von zwei<br />
Punkten. Durch diese Punkte lässt sich eine Geradengleichung<br />
erstellen. Weitere Informationen finden sich in der Beschreibung<br />
des Parameters "x1".<br />
Parameter für Einheit<br />
Beschreibung Legt den zweiten Prozessvariablen-Umrechnungswert fest, der zur<br />
Bestimmung der Einheitenumrechnung erforderlich ist. Die<br />
Einheitenumrechnung erfolgt über die Definition von zwei<br />
Punkten. Durch diese Punkte lässt sich eine Geradengleichung<br />
erstellen. Weitere Informationen finden sich in der Beschreibung<br />
des Parameters "x1".<br />
5.66 Zeitzonendifferenz<br />
Parameter für Gruppe<br />
Beschreibung Bestimmt die Differenz der Zeitzone. OPC-Server sind vollständig<br />
netzwerkfähig, d.h. sie können unter Umständen bei einer<br />
verteilten Applikation auch in einer anderen Zeitzone<br />
angeschlossen sein. Beim Anmelden einer Gruppe wird vom<br />
Variablenkern die Zeitzonendifferenz an den OPC-Server<br />
übergeben. Bei der Anforderung von Prozessvariablenwerten<br />
dieser Gruppe wird vom OPC-Server eine Zusatzinformation über<br />
die Zeit der Abtastung des Prozessvariablenwertes (TimeStamp)<br />
übergeben. Dabei wird der Zeitstempel um den im Parameter<br />
"Zeitzonendifferenz" angegebenen Wert korrigiert.<br />
Datentyp Long<br />
Standardwert 0
VisiWinNET 2005 Prozessanbindung<br />
5.67 zu deaktivierende Kanäle<br />
Parameter für Variablenadapter<br />
Parameter der Definitionen der Prozessanbindung / zu deaktivierende Kanäle / Beispiel Variablenadapter 133<br />
Beschreibung Legt fest, welche Kommunikationskanäle deaktiviert werden, wenn<br />
der entsprechende Umschaltzustand aktiviert ist.<br />
Die VisiWinNET-Eigenschaftenseite zeigt für Variablenadapter auf<br />
der Karteikarte "Erweitert" zwei Listen an.<br />
In der "Umschaltzustände"-Liste werden vom Projekteur Einträge<br />
generiert, die entsprechende Konfigurationseinträge beschreiben.<br />
Die "zu deaktivierende Kanäle"-Liste beinhaltet für jeden<br />
Umschaltzustand die Möglichkeit zum Deaktivieren von einzelnen<br />
Kommunikationskanälen.<br />
Das Deaktivieren von Kanälen unterdrückt Fehlermeldungen beim<br />
Projektstart. Stehen für das Projekt beispielsweise zwei alternative<br />
Steuerungen zur Verfügung, ermöglichen Variablenadapter die<br />
Umschaltung zwischen den beiden Steuerungen ohne Änderungen<br />
in den Anbindungen an Variablennamen. Da auf dem Zielsystem<br />
aber immer nur eine Steuerung angeschlossen ist, muss der<br />
Kommunikationskanal für die nicht vorhandene Steuerung<br />
deaktiviert werden. Ansonsten versucht der Variablenkern beim<br />
Start des Systems auch die nicht vorhandene Steuerung<br />
anzusprechen und generiert gegebenenfalls eine Fehlermeldung.<br />
5.68 Zugriffsart<br />
Parameter für Prozessvariable<br />
Beschreibung Legt fest, ob auf eine Prozessvariable lesend/schreibend<br />
zugegriffen werden kann.<br />
Einstellung DB-<br />
Wert<br />
Beschreibung<br />
R 1 Der Variablenkern liest Prozessvariablenwerte<br />
aus der Kommunikationskomponente. Ein<br />
schreibender Zugriff ist nicht erlaubt.<br />
W 2 Der Variablenkern schreibt<br />
Prozessvariablenwerte in die<br />
Kommunikationskomponente. Ein lesender<br />
Zugriff ist nicht möglich.<br />
R/W 3 Sowohl lesender als auch schreibender Zugriff<br />
ist erlaubt.<br />
1 x R/ W 4 Während der Initialisierungsphase des<br />
Variablenkerns wird der Prozessvariablenwert<br />
einmal eingelesen, danach ist nur noch ein<br />
schreibender Zugriff möglich.
VisiWinNET 2005 Prozessanbindung<br />
5.69 Zugriffspfad<br />
Parameter für Prozessvariable<br />
Parameter der Definitionen der Prozessanbindung / Zugriffspfad / Beispiel Variablenadapter 134<br />
Beschreibung Der Parameter "Zugriffspfad" ist eine OPC-Server-spezifische<br />
Einstellmöglichkeit zur Festlegung des Datenweges zwischen OPC-<br />
Server und SPS. Der Variablenkern reicht den Parameterwert nur<br />
zum OPC-Server durch. Weitere Informationen über die<br />
Einstellmöglichkeiten sind in der entsprechenden Dokumentation<br />
nachzulesen.
VisiWinNET 2005 Prozessanbindung<br />
6 Variablen anbinden<br />
Variablen anbinden / Zugriffspfad / VWEngine-Fenster 135<br />
Nach der Projektierung der Variablendefinitionen unterstützt VisiWinNET verschiedene<br />
Wege zur Betrachtung oder Manipulation von Variablenwerten.<br />
Die gebräuchlichste Art ist dabei die Anbindung von Steuerelementen und<br />
visualisierungsspezifischen Funktionen an Variablen über den Variablenauswahldialog.<br />
Dieser Dialog unterstützt den Projekteur bei der Auswahl einer Prozessvariablen, deren<br />
Wert entweder im Steuerelement angezeigt werden oder eine spezielle Funktion erfüllen<br />
soll.<br />
Zu Diagnosezwecken können Variablen aber auch über das "VWEngine"-Fenster<br />
betrachtet werden. Zusätzlich zu den in der Projektdatenbank definierten Variablen<br />
werden hier auch alle Systemvariablen aufgeführt.<br />
Für den rein programmatische Zugriff auf Variablen enthält VisiWinNET Funktionen, die<br />
dem Programmierer das Lesen, Setzen oder Überwachen von Variablenwerten erlauben.<br />
6.1.1 VWEngine-Fenster<br />
Die VisiWinNET-Engine, also der Variablenkern wird im Rahmen des VWNManagers<br />
gestartet. Üblicherweise erfolgt der Start über das Visualisierungsprojekt. Immer wenn<br />
das Projekt gestartet wurde, wird neben der Systemuhrzeit in der Windows-Taskleiste<br />
ein -Symbol eingeblendet. Über den Eintrag VWEngine im Kontextmenü des Symbols<br />
öffnet sich ein Dialog, der alle Variablen des Projektes zur Auswahl anbietet. Über die<br />
Funktionen des Dialoges ist sowohl die Betrachtung als auch die Manipulation einzelner<br />
Prozesswerte möglich (Siehe Handbuch VWNManager).<br />
Unter anderem werden hier auch alle Systemvariablen gezeigt.<br />
6.1.2 Variablenauswahldialog<br />
Der Variablenauswahldialog listet die Definitionen auf, die im Projekt als Datenquelle eines<br />
Steuerelementes oder einer Definition zur Verfügung stehen:<br />
Prozessvariablen Interne und externe Variablen, die als Definitionen in der<br />
Projektdatenbank vorliegen.<br />
Unter dem Knoten "Intern" wird ein Teil der zur Verfügung<br />
stehenden Systemvariablen aufgeführt.<br />
Variablen, die als Feld oder als Strukturdatentyp definiert sind,<br />
beinhalten in der Dialogansicht die Elemente als Unterknoten.<br />
Diese Unterknoten stehen jedoch nicht zur Verfügung, wenn in der<br />
Variablen die Option "Elementauflösung zugunsten<br />
Powertagzählung unterdrücken" aktiviert wurde.<br />
Variablensätze von<br />
Multiplexern und<br />
Variablenadaptern<br />
Die hier aufgeführten Datenquellen ergeben sich aus der<br />
Projektierung der Definitionstypen "Multiplexer" und<br />
"Variablenadapter". Hier werden die Bezeichner aufgeführt, die als<br />
Alias in den entsprechenden Variablensätzen angegeben wurden.
VisiWinNET 2005 Prozessanbindung<br />
Variablen anbinden / Zugriffspfad / Variablenauswahldialog 136<br />
Pseudovariablen Pseudovariablen haben kein Speicherabbild. Sie zeichnen sich<br />
jedoch durch einen Datentyp aus. Verwendet werden<br />
Pseudovariablen immer dann, wenn die Funktion eines<br />
Steuerelementes verwendet werden soll, ohne das eine<br />
entsprechende Prozessvariable zur Anbindung vorliegt.<br />
VisiWinNET-Steuerelemente sind nur bedienbar, wenn eine<br />
Variable über die VWItem-Eigenschaft angebunden wird.<br />
So kann z.B. das Bildschirmtatstatur-optimierte CheckBox-<br />
Steuerelement von VisiWinNET dazu verwendet werden, eine<br />
Einstellung vorzunehmen, die nur die Visualisierungsoberfläche<br />
betrifft und im Variablenkern kein entsprechendes Abbild hat. Der<br />
Wert der angebundenen Pseudovariablen ist nur im Steuerelement<br />
lesbar. Über eine entsprechende Programmierung kann der Wert<br />
im Steuerelement ausgewertet oder gespeichert werden.<br />
Üblicherweise werden Pseudovariablen in VisiWinNET SMART<br />
nicht verwendet, weil eine sinnvolle Auswertung des<br />
Pseudovariablenwertes ohne Programmierung nicht funktioniert.<br />
Für den SMART.-Steuerelementeentwickler kann die Anbindung<br />
an Pseudovariablen jedoch sinnvoll sein.<br />
Systemvariablen Systemvariablen ordnen einem festen Variablenbezeichner eine<br />
vorgegebene Funktion zu. Für einige Systemvariablen müssen in<br />
der Projektdatenbank entsprechende Definitionen angelegt sein.<br />
Andere bedürfen dieser Definition nicht.<br />
Mehr dazu im Kapitel "Systemvariablen"<br />
Hinweise:<br />
• Der <strong>Inhalt</strong> des Variablenauswahldialoges wird meist durch die aufrufende Komponente<br />
gefiltert. So werden z.B. Variablen vom Typ "VT_BSTR" in der VWItem-Eigenschaft eines<br />
"Key"-Steuerelementes nicht aufgelistet, respektive nicht unterstützt. Der Dialog<br />
beinhaltet zusätzlich die Möglichkeit zur benutzerdefinierten Filterung von Datentypen<br />
und Zugriffsrechten. Sollte also eine Variable auf dem Dialog nicht sichtbar sein, ist<br />
zuerst zu prüfen, ob eine Anbindung an den Datentyp überhaupt möglich ist.<br />
Anschließend muss geprüft werden, ob ein benutzerdefinierter Filter die Variable aus<br />
der Ansicht ausschließt.<br />
• Die Auswahl einer Variablen beruht immer auf dem vollständigen Variablenbezeichner<br />
(Ggf. .). Wird eine Variable unter dem Knoten "Extern"<br />
ausgewählt, deren vollständiger Bezeichner in den Knoten "Multiplexer" oder<br />
"Variablenadapter" noch einmal auftaucht ist dies gleichwertig mit der entsprechende<br />
Auswahl unter den genannten Knoten. Das Laufzeitsystem behandelt die Anbindung an<br />
Variablensätze aus Multiplexern und Variablenadaptern vorrangig.
VisiWinNET 2005 Prozessanbindung<br />
Variablen anbinden / Zugriffspfad / Systemvariablen 137<br />
Am oberen Rand des Variablenauswahldialoges befindet sich eine Werkzeugleiste mit<br />
folgenden Bedienelementen<br />
• Eingabefeld "VWItem" zum Suchen eines Variablenbezeichners: Während der Eingabe<br />
eines Variablenbezeichners selektiert die Suchfunktion den ersten möglichen Treffer in<br />
der Variablenansicht<br />
• Schaltfläche zum Weitersuchen: Durch einen Klick auf die Schaltfläche springt die<br />
Selektion in der Variablenansicht auf den nächsten Suchtreffer<br />
• Schaltfläche zum Umschalten zur hierarchischen Ansicht (Aufteilung der<br />
Prozessvariablen in Namensräume)<br />
• Schaltfläche zum Umschalten zur flachen Ansicht (Alphabetisch sortierte Tabelle<br />
aller Variablen )<br />
6.1.3 Systemvariablen<br />
VisiWinNET beinhaltet folgende Systemvariablen, die nur zur Verfügung stehen, wenn die<br />
entsprechenden internen Prozessvariablen in der Projektdatenbank definiert sind:<br />
Systemvariablenbezeichner Funktion<br />
__CURRENT_USER.<br />
NAME<br />
__CURRENT_USER.<br />
FULLNAME<br />
__CURRENT_USER.<br />
GROUPNAME<br />
__CURRENT_USER.<br />
GROUPTEXT<br />
__CURRENT_USER.<br />
LEVEL<br />
__CURRENT_USER.<br />
SECONDS_TO_AUTOLOGOFF<br />
Gibt den Anmeldenamen des aktuell angemeldeten<br />
Benutzers wieder<br />
Gibt den vollen Namen des aktuell angemeldeten<br />
Benutzers wieder<br />
Gibt den Benutzergruppennamen des aktuell<br />
angemeldeten Benutzers wieder<br />
Gibt den sprachumschaltbaren Benutzergruppennamen<br />
des aktuell angemeldeten Benutzers wieder<br />
Gibt die Autorisierungsebene des aktuell angemeldeten<br />
Benutzers wieder<br />
Gibt die Anzahl der Sekunden bis zum automatischen<br />
Abmelden wieder<br />
Diese Variablen müssen definiert sein, damit sie ihre Funktion erfüllen. Sie fließen jedoch<br />
damit auch in die Variablenzählung der Lizenzierung ein. Der Entwickler kann die Variablen<br />
löschen, wenn ersie nicht benötigt.
VisiWinNET 2005 Prozessanbindung<br />
Variablen anbinden / Zugriffspfad / Funktionen 138<br />
Zusätzlich beinhaltet VisiWinNET folgende Systemvariablen, die ohne die entsprechenden<br />
Definitionen im Variablenkern angelegt werden.<br />
Systemvariablenbezeichner Funktion<br />
__ACKNOWLEDGE_RESET Setzt den Quittierungsstatus aller aktuell anstehenden<br />
Alarme auf "Nicht quittiert"<br />
__ACTIVE_ALARMS Gibt die Anzahl der anstehenden Alarme zurück<br />
__ACTIVE_ITEMS Gibt die Anzahl aller aktiven Variablen zurück<br />
__CHANNEL__STATE : eindeutige numerische Kennung des<br />
Kommunikationskanals.<br />
Gibt bitverschlüsselte Informationen zum<br />
Kommunikationsstatus an.<br />
__CYCLE_MAX Gibt die maximale Zykluszeit des Variablenkerns seit dem<br />
Start an<br />
__CYCLE_TIME Gibt die aktuelle Zykluszeit des Variablenkerns an.<br />
__MASTER_SERVER z. Zt. nicht implementiert<br />
__SYSTEM_STATE Gibt den Systemstatus zurück<br />
Diese Variablen fließen nicht in die Variablenzählung der Lizenzierung ein. Jedoch ist zu<br />
beachten, dass gleichnamig definierte Variablen vermieden werden sollten.<br />
6.1.4 Funktionen<br />
Die folgende Beschreibung beinhaltet Beispiele für VisiWinNET<br />
Professional. In VisiWinNET SMART können die Beispiele<br />
aufgrund der fehlenden Programmierumgebung nicht<br />
ausgeführt werden.<br />
Der programmatische Zugriff auf Prozesswerte hängt von der Konstellation des Projektes ab:<br />
Prozessvariablenwert eines Steuerelementes lesen/setzen zu einem beliebigen<br />
Zeitpunkt<br />
Das Lesen eines Prozessvariablenwertes, der in einem Steuerelement angebunden ist,<br />
erfolgt über die 'Value'-Eigenschaft des in der VWItem-Eigenschaft angebundenen Objektes.<br />
Beispiel VarIn:<br />
int val = (int)varIn3.VWItem.Value;<br />
Prozessvariablenwert eines Steuerelementes lesen/setzen bei<br />
Variablenwertänderung<br />
Im 'Change'-Ereignis wird eine Variablenwertänderung gemeldet. Das Argument 'e'<br />
beinhaltet den geänderten neuen Wert in der 'Value'-Eigenschaft.<br />
private void varIn3_Change(object sender, VisiWinNET.DataAccess.ChangeEventArgs e)<br />
{<br />
int val = (int) e.Value;<br />
}<br />
Prozesvariablenwert überwachen ohne Steuerelement<br />
Die Komponente 'ItemServer' meldet eine Variablenwertänderung im 'Change'-Ereignis. Die<br />
Komponente hat jedoch keine grafische Darstellung.
VisiWinNET 2005 Prozessanbindung<br />
Prozessvariablenwerte lesen/setzen zu einem beliebigen Zeitpunkt ohne<br />
Steuerelement<br />
Variablen anbinden / Zugriffspfad / Funktionen 139<br />
Die Funktion VWSet schreibt einen Prozessvariablenwert unter Angabe des entsprechenden<br />
Variablenbezeichners direkt in den Variablenkern und damit zur SPS.<br />
int val = 42;<br />
VisiWinNET.Services.AppService.VWSet("Ch1.Simulation.Dummy.Sinus.Funktion_1.Value",<br />
val);<br />
Das Lesen erfolgt mit 'VWGet'<br />
int valRead = (int)<br />
VisiWinNET.Services.AppService.VWGet("Ch1.Simulation.Dummy.Sinus.Funktion_1.Value");<br />
Prozessvariablen dynamisch ohne Unterstützung durch Formulare überwachen<br />
Im Namensraum VisiWinNET.DataAccess liegen verschiedene Typen zur Überwachung von<br />
Variablen. Diese Typen (von 'ItemBase' erbend) beinhalten eine 'Name'-Eigenschaft zur<br />
Kennzeichnung der zu überwachenden Variablen und ein Change-Ereignis. Die Kapselung<br />
mehrerer solcher Objete kann folgendermaßen aussehen:<br />
public class DynamicVarWatch : IDisposable<br />
{<br />
System.Collections.ArrayList DataAccessItems;<br />
public DynamicVarWatch(string[] variables)<br />
{<br />
DataAccessItems = new System.Collections.ArrayList();<br />
foreach (string var in variables)<br />
{<br />
VisiWinNET.DataAccess.Item DataAccessItem = new<br />
VisiWinNET.DataAccess.Item();<br />
DataAccessItem.Change += new<br />
VisiWinNET.DataAccess.ChangeHandler(DataAccessItem_Change);<br />
DataAccessItem.Name = var;<br />
DataAccessItems.Add(DataAccessItem);<br />
DataAccessItem.Attach();<br />
}<br />
}<br />
public void DataAccessItem_Change(object sender,<br />
VisiWinNET.DataAccess.ChangeEventArgs e)<br />
{<br />
VisiWinNET.DataAccess.Item DataAccessItem =<br />
(VisiWinNET.DataAccess.Item)sender;<br />
System.Diagnostics.Debug.WriteLine(DataAccessItem.Name + " " +<br />
e.Value.ToString());<br />
}<br />
public void Dispose()<br />
{<br />
foreach (VisiWinNET.DataAccess.Item DataAccessItem in DataAccessItems)<br />
{<br />
DataAccessItem.Change -= new<br />
VisiWinNET.DataAccess.ChangeHandler(DataAccessItem_Change);<br />
DataAccessItem.Detach();<br />
DataAccessItem.Dispose();<br />
}<br />
}<br />
}
VisiWinNET 2005 Prozessanbindung<br />
6.2 Initialverhalten beim Formularwechsel<br />
Variablen anbinden / Initialverhalten beim Formularwechsel / Funktionen 140<br />
Das folgende Kapitel fasst das Verhalten des Variablenaustausches beim Laden eines<br />
Formulares zusammen. VisiWin berücksichtigt dabei durch zwei unterschiedliche<br />
Mechanismen die Anforderungen, dass einerseits direkt beim Start aktuelle Daten in den<br />
Steuerelementen angezeigt werden, andererseits aber auch die Zeit zum Laden eines<br />
Formulars möglichst gering gehalten wird.<br />
Grundsätzlich optimiert der Variablenkern die Kommunikation zur SPS, indem nur Variablen<br />
ausgetauscht werden, die benötigt werden, durch folgende An-/Abmeldemechanismen:<br />
• Die während des geamten Applikationslaufes benötigt Variablen werden beim Start der<br />
Applikation angemeldet. Typisches Beispiel hierfür sind Variablen, die vom Alarm- oder<br />
Archivserver benötigt werden.<br />
• Über die Gruppensteuerung können Variablen gruppenweise aus der Applikation heraus<br />
an- oder abgemeldet werden. Diese Aufgabe obliegt dem Projekteur. Er kann hier gezielt<br />
das Verhalten des Systems umgehen, indem er durch Setzen von Steuervariablen die<br />
Kommunikation einzelner Gruppen ein- oder ausschaltet.<br />
• Variablen, die in einer Gruppe liegen, die nicht gesteuert wird (Akivierungsmodus =<br />
automatisch), werden nur bei Bedarf, d.h. auf Clientanforderung gelesen oder<br />
geschrieben. Dabei ist zu beachten, dass diese Variablen im Normalfall für die<br />
Erstanforderung einmal synchron gelesen werden. Diese synchrone Leseanforderung ist<br />
nötig, um beim Laden eines Formulars die Steuerelemente möglichst zügig mit Daten zu<br />
versorgen. Das synchrone Lesen kann über den Parameter "Startwerte nicht synchron<br />
einlesen" abgeschaltet werden. Dann aber muss damit gerechnet werden, dass direkt<br />
nach dem Öffnen des Formulars in den Steuerelementen kein aktueller Wert angezeigt<br />
wird.<br />
Der An-/Abmeldevorgang beeinflusst unter Umständen temporär die Geschwindigkeit der<br />
Kommunikationskomponente. Beinhaltet der Treiber oder OPC-Server eine Blockung, d.h.<br />
versucht er intern, durch blockweises Lesen oder Schreiben die<br />
Kommunikationsgeschwindigkeit zu erhöhen, wird bei jeder An-/Abmeldung einer Variablen<br />
jeweils eine Neuberechnung der Blockgrößen erforderlich.<br />
Der VisiWin Variablenkern kann dieses Problem umgehen, indem er die Variablen quasi in<br />
einem Sammelaufruf an- oder abmeldet, so dass eine Neuberechnung der Blöcke in der<br />
Kommunikationskomponente für die Anmeldung mehrerer Variablen gemeinsam erfolgt.<br />
Anforderungen an die Applikation für diesen Mechanismus sind:<br />
• In der Projektkonfiguration muss im Knoten "Projektkonfiguration→Client" (unter<br />
Compact "Projektkonfiguration→Laufzeit") auf der Karteikarte "Kompatibilität" die Option<br />
"Optimierte Aktivierung von Variablen beim Formularwechsel" aktiv sein.<br />
• Ein Formular, dass den blockweisen An-/Abmeldevorgang unterstützen soll, muss von<br />
"VisiWinNET.Forms.BaseForm" erben.
VisiWinNET 2005 Prozessanbindung<br />
Variablen anbinden / Initialverhalten beim Formularwechsel / Funktionen 141<br />
Der Ladevorgang eines Formulars verläuft mit diesen Einstellungen in fünf Schritten:<br />
• Zuerst meldet das Formular den blockweisen Anmeldevorgang beim Variablenkern an<br />
• Anschließend melden sich die Steuerelemente mit den angeforderten<br />
Variablenbezeichnern beim Variablenkern<br />
• Durchläuft das Formular die EndInit-Funktion (also nachdem alle Steuerelemente<br />
geladen wurden), zeigt es dem Variablenkern an, dass alle Variablen sich angemeldet<br />
haben.<br />
• Jetzt meldet der Variablenkern die Variablen bei den Kommunikationskomponenten über<br />
einen Aufruf an<br />
• Wird der Aufruf beim Variablenkern synchron ausgeführt, bleibt das Formular in der<br />
"EndInit"-Funktion so lange stehen, bis der Variablenkern mit dem Anmelden der<br />
Variablen fertig ist. Erst dann wird das Formular angezeigt.
VisiWinNET 2005 Prozessanbindung<br />
Variablen anbinden / Initialverhalten beim Formularwechsel / Funktionen 142<br />
Beachten Sie, dass ein erstes "Change"-Ereignis mit "Source = ChangedByConfig" von einem<br />
Steuerelement ausgelöst wird, wenn es geladen wurde, also bevor der Variablenkern die<br />
Gelegenheit hatte, die Variablen anzumelden. Hier werden keine realen Daten aus dem<br />
Prozess übergeben.<br />
Als Projekteur haben Sie so die Auswahl zwischen drei Lademechanismen für Formulare:<br />
Mechanismus Bedingung Vorteile Nachteile<br />
Asynchroner<br />
Abruf der<br />
Variablenwerte<br />
synchroner<br />
Abruf der<br />
Variablenwerte<br />
synchroner<br />
Abruf der<br />
Variablenwerte/<br />
blockweise<br />
Aktivierung der<br />
Variablen<br />
"Startwerte nicht<br />
synchron einlesen" im<br />
Kommunikations-<br />
kanal aktiviert<br />
"Startwerte nicht<br />
synchron einlesen" im<br />
Kommunikationskanal<br />
deaktiviert.<br />
Kompatibilitäts-Flag<br />
"Optimierte<br />
Aktivierung von<br />
Variablen beim<br />
Formularwechsel"<br />
deaktiviert oder<br />
VisiWin-Basisformular<br />
nicht verwendet<br />
"Startwerte nicht<br />
synchron einlesen" im<br />
Kommunikationskanal<br />
deaktiviert<br />
Kompatibilitäts-Flag<br />
"Optimierte<br />
Aktivierung von<br />
Variablen beim<br />
Formularwechsel"<br />
gesetzt<br />
VisiWin-Basisformular<br />
verwendet<br />
Formular muss nicht<br />
auf die ersten Daten<br />
warten→Schnelle<br />
Anzeige<br />
sichere<br />
Datenkonsistenz<br />
Daten werden richtig<br />
in den<br />
Steuerelementen<br />
angezeigt.<br />
Die Anmeldung der<br />
Variablen erfolgt<br />
performant<br />
Unter Umständen kurze<br />
Zeit falsche Daten in den<br />
Steuerelementen<br />
sichtbar<br />
Ggf. langsame<br />
Formularwechsel<br />
Vor der Anzeige können<br />
in den "Change"-<br />
Ereignissen der<br />
Steuerelemente falsche<br />
Werte übergeben<br />
werden.