30.09.2012 Aufrufe

Inhalt - INOSOFT GmbH

Inhalt - INOSOFT GmbH

Inhalt - INOSOFT GmbH

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!