VisiWin-Treiber

Einleitung VisiWin-Treiber

VisiWin-Treiber mit dem VWOPC-Kernel

VisiWin Studio Version ab 4.03.000


Einleitung VisiWin-Treiber

VisiWin-Treiber sind Kommunikationskomponenten, über die ein Datenaustausch zwischen dem VWOPC-Kernel bzw. dem VWE-Kernel statt findet. Diese Dokumentation soll einen Überblick über die Handhabung der VisiWin-Treiber geben. Bei allen Informationen wird dabei vorrangig die Verbindung der VisiWin-Treiber mit der VisiWinStudio beschrieben.

Dieses Dokument beschreibt die Merkmale, die für alle VisiWin-Treiber identisch sind. Parameter oder Besonderheiten, die abhängig von dem jeweiligen Protokoll sind, werden in einer eigenen Dokumentation, die zu jedem speziellen VisiWin-Treiber gehört beschrieben.

Mit den Informationen dieses Dokumentes soll zu der Installation, der Einbindung in ein VisiWinStudio-Projekt, der Konfiguration des VisiWin-Treibers bis hin zur Optimierung der Kommunikation eine wesentliche Hilfestellung gegeben werden. Zudem wird Hintergrundwissen zum besseren Verständnis des Zusammenspiels zwischen VisiWin-Treiber und der Applikation zur Laufzeit vermittelt.

Die Vergangenheit hat gezeigt, dass es gerade bei der Inbetriebnahme immer wieder zu Problemen verschiedenster Art gekommen ist. Besonders an der Schnittstelle zwischen Soft- und Hardware kann es immer wieder zu unerwarteten Problemen kommen. Daher möchten wir an dieser Stelle noch einmal daraufhin weisen, dass es auf alle Fälle immer sinnvoll ist, die Kommunikation schon zu Begin eines Projektes zu testen, um nicht wärend der Inbetriebnahme in unnötige Schwierigkeiten zu kommen. Des weiteren ist zu beachten, dass die Kommunikation sich mit einer kompletten (großen) Datenbank anders verhält als mit einer Testdatenbank, die nur einige Objekte beinhaltet[siehe Optimierung].

Folgendes Schaubild soll das Zusammenspiel der VisiWin-Treiber mit den anderen VisiWin Komponenten verdeutlichen.

In VisiWinStudio werden dabei die Universal Schnittstellen U1 bis U1 (Bezeichnung aus VisiWin32) als Kanal (Channel) 1 bis 5 bezeichnet.


VisiWin-Treiber mit dem VWOPC-Kernel

In der historischen Entwicklungsgeschichte von VisiWin stellten der VisiWin-Treiber die optimale Lösung einer flexiblen und schnellen Schnittstelle zur Anbindung an verschiedenste Kommunikationspartner (SPS'en) dar. Ähnliche Konzepte verfolgten auch andere Visualisierungssysteme. Der große Nachteil dabei ist, dass das Rad immer wieder neu erfunden werden musste. Bedeutet, dass jedes Visualisierungssystem, natürlich auch VisiWin, nicht auf fertige Kommunikationskomponenten anderer Hersteller zugreifen konnte, sondern diese mit großen Aufwand selber entwickeln musste. Und auch in Zukunft wird es verschiedenste Sonderfälle von Kommunikationswegen geben, wo der VisiWin-Treiber die optimale Lösung einer Kommunikation darstellt.

In den letzten Jahren ist aber ein Standart einer Schnittstelle kreiert worden, unter dem es möglich ist, Kommunikationskomponenten anderer Hersteller mit seinem eigenen Produkt zu verbinden. Diese Client-Server Schnittstelle heißt OPC. Um die Vorteile die dieses System bietet zu nutzen war es notwendig diese Schnittstelle auch in VisiWinStudio zu integrieren. Der VW32-Kernel wurde so konzipiert, das diese OPC Schnittstelle zusätzlich zu der VisiWin-Treiber Schnittstelle eingebunden wurde. Mit dem VWOPC-Kernel ist man nun einen Schritt weiter gegangen und hat die OPC Spezifikation als zentrale Schnittstelle in das VisiWinStudio übernommen. Um aber auch die bisher ca. 60 entwickelten VisiWin-Treiber zu nutzen und sich nicht die Möglichkeiten zu versperren auch zukünftig diese optimierte Softwareschnittstelle zu verwenden wurde gefordert diese Kommunikationskomponenten mit der OPC Spezifikation in VisiWin zu verbinden. Dies macht an vielen Stellen einige Schwierigkeiten, da einige Funktionalitäten, die es im Zusammenspiel mit den VisiWin-Treibern gibt, unter OPC nicht spezifiziert sind.

Im folgenden möchten wir die Punkte verdeutlichen die sich geändert haben und Lösungen vorstellen, den VWOPC-Kernel optimal mit dem VisiWin-Treibern zu nutzen.

siehe auch:

Prozessvariable

Struktur-(Treiber-)objekt

Abtaststruktur

Bildstruktur


Prozessvariable

Die Prozessvariable wird nun Item genannt. Ganz korrekt ist diese Zuordnung aber nicht, da das Item nach OPC Spezifikation noch weitere Bereiche beinhaltet:

  • Wert (Value). Hier befindet sich die eigentlich Abbildung des Speichers aus der SPS. Dies ist also vergleichbar mit der bisher bekannten Prozessvariable von VisiWin32.
  • Zeitstempel (Timestamp). Dieser Teil zeigt dem Zeitpunkt der letzten Aktualisierung des Itemwertes an. Der VWOPC-Kernel setzt diesen Wert auf den Zeitpunkt, wann er das Item aus dem Speicherbereich des VisiWin-Treibers ausliest. Dies ist anders als in einem OPC-Server, der den Zeitstempel auf den Zeitpunkt setzt, direkt nach dem der Itemwert aus der SPS gelesen wurde.
  • Qualität (Quality). Über diese Eigenschaft erhält der Benutzer die Information, ob der Itemwert, der aus der SPS gelesen wurde gültig ist oder nicht. Hat der VisiWin-Treiber zum Beispiel einen Lesefehler, in dem Datenbereich, in der sich das Item befindet, so wird die Qualität auf "BAD" gesetzt.
  • Datentyp (Datatype). Definiert den Datentypen mit der der Itemwert interpretiert wird. Z.B.:VT_UI2 ist ein vorzeichenloser 16 Bit Wert (Bereich von 0 bis 65535)


Struktur-(Treiber-)objekt

Beliebige Strukturen, wie sie unter dem Strukturobjekt eines VisiWin-Treibers definiert werden können, gibt es in der OPC Spezifikation nicht. VisiWinStudio bietet folgende Möglichkeit: zuerst ist eine Struktur zu definieren. In dieser Struktur werden nun analog zu einem VW23-Treiber die Elemente definiert. Nun ist ein Item anzulegen, welches als Datentyp die Struktur hat. In den Steuerelementen von VisiWinStudio hat man jetzt die Möglichkeit auf Elemente der Struktur zuzugreifen.


Abtaststruktur

Um den Datenstrom der Kommunikation zur SPS zu optimieren nutzt man bei Projekten mit dem VWE-Kernel die Abtaststruktur, die über eine Digitalvariable gesteuert wird. Bei Projekten mit dem VWOPC-Kernel, der nach der OPC Spezifikation arbeitet, ist dieses Objekt nicht mehr vorhanden. Man hat nun die Möglichkeit Gruppen zu definieren. In diesen Gruppen befinden sich beliebige Items. Zur Laufzeit können die Gruppen aktiviert oder deaktiviert werden, so das die Items nur dann aktualisiert werden, wenn es der Benutzer möchte. Werden keine Gruppen angelegt, so befinden sich alle definierten Items in einer Standartgruppe. Items werden nur dann gelesen, wenn diese aktuell in der laufenden Applikation benötigt werden. Der VWOPC-Kernel hat einen Automatismus dies zu erkennen. So sind Gruppen nur dann aktiv, wenn ein Element daraus in der Applikation benötigt wird.


Bildstruktur

Unter dem MFC Control VWApplikation, welches sich in einer Form der Applikation befindet ist es möglich in VWE-Kernel Projekten einen Namen zu definieren. Dieser Name steuerte dann die Bildstruktur, indem das Control dafür sorgte, dass wenn die Form zur Laufzeit sichtbar ist, die Struktur über den VisiWin-Treiber aktualisiert wurde. Auch hierzu sollten man nun die OPC-Gruppen verwenden. Hierzu definiert man Gruppen, in denen sich die Items befinden, die beim aufschlagen von den Forms aktualisiert werden sollen. In dem "Formload" Ereignis ist dann die OPC Gruppe zu aktivieren. In dem Ereignis "Formunload" ist diese Gruppe dann wieder zu deaktivieren.


Die Installation

Installation

Kithara Tool


Installation

Geliefert wird die Installation als SETUP.EXE. Dieses Programm kann einfach über den Explorer oder über das "Windows-Startmenue" gestartet werden.

Das Installationstool sucht nach einem installierten VisiWin32 als auch nach VisiWinStudio. Für jede installierte Version, kann wenn nötig der Pfad für den VisiWin-Treiber ausgewählt werden.

Bei einer Installation werden folgende Dateien aus dem SETUP.EXE in das Zielverzeichnis kopiert (hier Beispiel für den VWDummy VisiWin-Treiber):

VWDummy.exe | VisiWin-Treiberprogramm
VWDummyk.exe | Konfigurator für den VisiWin-Treiber. Bedienung des Konfigurators
VWDummyk.txt | Textfile, in welchem die zum VisiWin-Treiber gehörigen Parameter beschreiben sind. Diese Datei wird vom Konfigurator Bedienung des Konfigurators benötigt.
VWDummy.dep | Datei, die die Abhängigkeiten des VisiWin-Treibers definiert. Dies wird für die VisiWinStudio Laufzeitgenerierung benötigt.
VWDummy.chm | Hilfedatei in der die protokollspezifischen Parameter des VisiWin-Treibers beschrieben sind. Einige VisiWin-Treiber verwenden an dieser Stelle noch ein WORD Dokument.
eventuell weitere Dateien | z.B. DLL's... Diese Dateien können auch andere Zielverzeichnisse haben.

Alle VisiWin-Treiber tragen sich in die Registry des Systems ein. Die Einträge sind bei VisiWinStudio unter folgendem Pfad zu finden:

[HKEY_LOCAL_MACHINE\SOFTWARE\INOSOFT GmbH\VisiWin\4.0\Drivers\VWDummy]

Für VisiWin32 lautet der Pfad:

[HKEY_LOCAL_MACHINE\SOFTWARE\INOSOFT GmbH\VisiWin\3.0\Drivers\VWDummy]

Ein VisiWin-Treiber lässt sich nur installieren, wenn auf dem System schon ein VisiWin32 bzw. VisiWinStudio installiert wurde.
Sollte es vorkommen, dass der VisiWin-Treiber aus der VisiWinStudio Entwicklungsumgebung nicht anwählbar ist, also nicht in der Auswahlliste Projekteinbindung in VisiWinStudio erscheint, so ist als erstes zu kontrollieren, ob der VisiWin-Treiber sich in die Registry ihres Systems eingetragen hat. Wenn nicht, so ist die Installation ein weiteres Mal durchzuführen.


Kithara Tool

Einige VisiWin-Treiber müssen direkt auf Hardware, wie z.B. I/O-Ports oder Speicher, der auf PC-Einsteckkarten vorhanden ist zugreifen. Die VisiWin-Treiber sind sogenannte Ring 3 Applikationen, denen aber das Betriebssystem einen direkten Zugriff auf Ports und Speicher verbietet. Aus diesem Grund verwenden die VisiWin-Treiber, die einen Hardwarezugriff benötigen einen Systemtreiber (Kithara Tool) welcher diesen Zugriff ermöglicht. Dieses Tool wird vom Setup des VisiWin-Treiber wenn nötig mitinstalliert. Es handelt sich bei dem Setup des Kithara Tools um ein eigenständiges Setup, welches vom Setup des VisiWin-Treibers aus aufgerufen wird. Dieses Setup läuft selbstständig ohne Benutzereingaben ab. Der PC muss dann, damit der Systemtreiber funktionstüchtig ist, gebootet werden. VisiWin-Treibei, die nicht auf dieses Tool zurückgreifen benötigen keinen Neustart des PCs. Das Deinstallieren diese Tools geschieht über die Systemsteuerung "Hinzufügen und Entfernen von Programmen" unter dem Programmeintrag <VisiWin IO Access>.


Projekteinbindung

Projekteinbindung in VisiWinStudio


Projekteinbindung in VisiWinStudio

Grundsätzlich werden zwei unterschiedliche Einbindungsarten in ein VisiWinStudio Projekt unterschieden. Diese Unterscheidung richtet sich nach dem Kernel, der für die Abarbeitung des Projektdatenbank zuständig ist. Möglich sind dabei der VWOPC-Kernel oder der VWE-Kernel.

siehe auch:

Projekte mit VWE-Kernel

Projekte mit VWOPC-Kernel


Projekte mit VWE-Kernel

Nach dem Anlegen eines neuen Projektes Single, hier als Beispiel mit dem Namen Projekt2, erhält man links abgebildete Baumstruktur. Über die rechte Maustaste des Eintrages Prozessvariablen gelangt man zu folgendem Dialog :

Schnittstelle | Auswahl der Universalschnittstelle, unter der der VisiWin-Treiber mit dem VWE-Manager verbunden ist. Möglich sind Universal1 bis Universal5.
Name | Über die dahinterliegende Schaltfläche wird ein VisiWin-Treiber installiert (siehe folgenden Dialog).
Version | Diese Feld wird hier nicht benutzt.
Beschreibung | Gibt eine erweiterte Beschreibung des selektierten VisiWin-Treibers aus.
Rechnername | Diese Feld wird hier nicht benutzt.
Kommentar | Frei verfügbares Textfeld.
OK | Übernimmt die eingestellten Parameter und beendet den Dialog.
Abbrechen | Beendet den Dialog ohne die Parameter zu übernehmen.
Hilfe | Öffnet dieses Dokument.
Definition aktiv | Hier ist zu wählen, ob der VisiWin-Treiber in der Datenbank aktiv oder inaktiv ist. Dies kann zu einem späteren Zeitpunkt wieder geändert werden.

Es muss bei der Einbindung der VisiWin-Treiber nicht auf eine fortlaufende Belegung der Universalnummern geachtet werden, sondern es können beliebige VisiWin-Treiber auf beliebige Universalnummern definiert werden.

Ein VisiWin-Treiber kann nicht einfach in ein Verzeichnis des PCs kopiert werden kann. Er muss über das Setup.EXE z.B. der Installationsdiskette installiert werden, damit sich der VisiWin-Treiber in der Registry des Betriebssystems einträgt.

Soll ein VisiWin-Treiber installiert werden, dann geschieht das über folgende Dialogbox, in der alle auf dem System installierten VisiWin-Treiber aufgeführt sind.

OK | Nach Auswahl eines VisiWin-Treibers werden hier die eingestellten Parameter übernommen und der Dialog beendet.
Abbrechen | Beendet den Dialog ohne die Parameter zu übernehmen.
Hilfe | Öffnet dieses Dokument.
Installieren | Hier kann ein VisiWin-Treiber installiert werden. Es öffnet sich ein Dateiauswahldialog, in dem das Setup.EXE der VisiWin-Treiberinstallation aufgerufen werden kann.

Nach erfolgreicher Übernahme des VisiWin-Treibers wird dieser dann unter dem Baumstruktur unter Prozessvariablen/U1..U5 angezeigt. Über die rechte Maustaste auf diesem Eintrag gelangt man dann zu der Konfiguration des VisiWin-Treibers.


Projekte mit VWOPC-Kernel

Nach dem Anlegen eines neuen Single (OPC) Projektes, hier als Beispiel mit dem Namen "OPCKernDummy", erhält man die links abgebildete Baumstruktur. Über die rechte Maustaste des Eintrages Items/Extern öffnet sich folgender Dialog:

Name | Hier ist der Kanal (Channel) auszuwählen, unter der der VisiWin-Treiber mit dem VWE-Manager verbunden ist. Möglich sind Ch1,…CH5 (Kanal1..5).
Treibername | Über die dahinterliegende Schaltfläche kann ein VisiWin-Treiber selektiert werden.
Beschreibung | Die Beschreibung wird nach der Selektion eines VisiWin-Treiber automatisch eingefügt.
Konfigurationsstatus | Zeigt an, ob der Konfigurator Bedienung des Konfigurators vorhanden ist.
Kommentar | Frei verfügbares Textfeld.
OK | Übernimmt die eingestellten Parameter und beendet den Dialog.
Abbrechen | Beendet den Dialog ohne die Parameter zu übernehmen.
Hilfe | Öffnet dieses Dokument.
Status | Auswahl, ob der VisiWin-Treiber in der Datenbank aktiv oder inaktiv sein wird. Dies kann zu einem späteren Zeitpunkt wieder geändert werden.

Ein VisiWin-Treiber kann nicht einfach in ein Verzeichnis des PCs kopiert werden kann. Er muss über das Setup.EXE z.B. der Installationsdiskette installiert werden, damit sich der VisiWin-Treiber in der Registry des Betriebssystems einträgt.

In dem folgenden Dialog kann ein auf dem System installierter VisiWin-Treiber ausgewählt werden.

OK | Übernimmt den ausgewählten VisiWin-Treiber und beendet den Dialog.
Abbrechen | Beendet den Dialog ohne die Parameter zu übernehmen.
Hilfe | Öffnet dieses Dokument.
Installieren… | Sollte der VisiWin-Treiber, der verwendet werden soll noch nicht installiert sein, so kann an dieser Stelle ein Setup ausführen, welches dann einen weiteren VisiWin-Treiber, z.B. von Diskette installiert.

Bei der Einbindung der VisiWin-Treiber muss nicht auf eine fortlaufende Belegung der Kanalnummern geachtet werden, sondern es können beliebige VisiWin-Treiber auf beliebige Kanäle definiert werden.

Nach erfolgreicher Übernahme des VisiWin-Treibers wird dieser dann unter dem Baumstruktur Items/Extern/.. angezeigt. Über die rechte Maustaste auf diesem Eintrag gelangt man dann zu der Konfiguration


Konfiguration

Starten der Konfiguration

Bedienung des Konfigurators


Starten der Konfiguration

Es gibt mehrere Wege, die Konfiguration des VisiWin-Treibers zu starten:

siehe auch:

Start über die Entwicklungsumgebung

Direktes Starten des Konfigurators

Start über den VisiWin-Treiber


Start über die Entwicklungsumgebung

Dies ist die „normale" Vorgehensweise, einen VisiWin-Treiber zu konfigurieren.

Über die rechte Maustaste auf dem Eintrag des zu konfigurierenden VisiWin-Treibers im VisiWinStudio Projekt-Explorer gelangt man zu dem Menü [Items\Extern\CH1..Ch5\Kanal konfigurieren] bei einem VWOPC-Kernel Projekt oder bei einem Projekt mit dem VWE-Kernel über [Prozessvariable\U1..U5].


Direktes Starten des Konfigurators

Der Konfigurator hat als Dateinamen den Namen des VisiWin-Treibers mit einem zusätzlichen K hinter dem Dateinamen. In unserem Beispiel des VWDummy VisiWin-Treibers heißt das Programm VWDummyK.EXE und befindet sich in dem Verzeichnis Ihres Systems, in welchem der Kommunikationstreiber installiert wurde. Dies ist standardmäßig das Verzeichnis: C:\VisiWin\VisiWinStudio\Drivers. Bei VisiWin32: C:\VisiWin\Treiber.

Startet man das Programm über den Explorer oder über das "Windows Startmenue" erscheint folgender Dialog.

Auswählen der VisiWin Version, mit der das aktuelle Projekt bearbeitet wird.

Für ältere Versionen:

Version 3 ist das VisiWin32, Version 4 gilt dabei als VisiWinStudio

Auswahldialog für ein VisiWinStudio Projekt:

Die nächste Auswahl betrifft das Projekt, welches bearbeitet werden soll.

Auswahldialog für ein VisiWin32 Projekt:

Dialogbox zur Auswahl der VWI Datei, die zu dem aktuellen Projekt gehört.

Die letzte zu treffende Auswahl bezieht sich auf den Kanal (Channel) (VisiWinStudio) bzw. die Universalschnittstelle (VisiWin32), an die der der VisiWin-Treiber gebunden werden soll.


Start über den VisiWin-Treiber

Über die Auswahl des Menüs [Optionen\Konfiguration] des laufenden VisiWin-Treibers wird der Konfigurator gestartet(siehe Menü des VisiWin-Treibers Menü [Optionen]).

Diese Methode kann nur dann angewendet werden, wenn der VisiWin-Treiber schon einmal aus der Entwicklungsoberfläche konfiguriert wurde und der Fensterstil mindestens auf sichtbar (Parameterwert 2) steht. Zudem muss der Konfigurator und die zugehörige TXT Datei mit auf dem System installiert worden sein (dies betrifft die Laufzeitkonfiguration).
Wenn hier die Konfiguration des VisiWin-Treibers geändert wurde, muss dieser neu gestartet werden, damit die neuen Parameter übernommen werden.


Bedienung des Konfigurators

Das Tool meldet sich mit folgender Oberfläche:

In der Titelzeile wird der Name des VisiWin-Treibers, die Version der Konfigurator EXE und die Version der Konfigurations TXT Datei ausgegeben.

Der linke Ausgabebereich enthält in einer Baumstruktur alle Parameter, die für diesen VisiWin-Treiber konfiguriert werden können. Auf der rechten Seite erhält man eine kleine Hilfestellung zu jedem Parameter, den aktuell eingestellten Wert sowie einen vorgegebenen Min. Max. und Default-Wert.

allgemeine Hilfe | Öffnet dieses Hilfedokument
spezifische Hilfe | Über diese Schaltfläche öffnet sich das Hilfedokument mit weiteren Informationen zu den protokollabhängigen spezifischen Parametern.
Defaults | Setzt alle Parameter auf ihre Default-Werte. Muss einmalig aufgerufen werden!
OK | Übernimmt die eingestellten Parameter und beendet den Dialog.
Abbruch | Beendet den Dialog ohne die Parameter zu übernehmen.
Extras | Diese Schaltfläche wird nur bei einigen wenigen VisiWin-Treibern und dann auch nur bei wenigen Parametern anzuwählen sein. Ist dies der Fall, so öffnet sich eine weitere Dialogbox mit frei editierbaren Einträgen.

Wird ein Kommunikationstreiber zum ersten mal in ein Projekt eingebunden, so sollte über die Schaltfläche [Defaults] einmal alle Werte auf ihren Default-Wert gesetzt werden, da die Parameter nicht automatisch vorbelegt sind.
In der vorliegenden Version [2.0.0.7] des Konfigurators wird keine Bereichsprüfung des eingestellten Parameters vorgenommen. Der Benutzer muss daher selbst auf die Korrektheit der Werte achten!

Die zu konfigurierenden Parameter sind im wesentlichen in drei Gruppen aufgeteilt:„System", „Spezifisch" und „Testmodus". Der Bereich „Info" gibt lediglich die Version des aktuell installierten VisiWin-Treiber aus. Die Bereiche „System" und „Testmodus" sind für alle VisiWin-Treiber identisch.

siehe auch:

Parameterbereich Info

Parameterbereich System

Parameterbereich Spezifisch

Parameterbereich Testmodus

Frei editierbare Einträge


Parameterbereich Info

Unter dem Baumeintrag Info kann über den Eintrag [Aktuell benutzte Version des VisiWin-Treibers] die Versionsinformation des VisiWin-Treibers abgerufen werden. Diese Information erhält man auch wenn man mittels des Explorers über die rechte Maustaste die Eigenschaften des VisiWin-Treibers angezeigt werden. Das Format über den Explorer ist im Gegensatz zum hier angezeigten dreistelligen Formates (x.yy.zzz) vierstellig (x.y.a.z). Der aktuelle Wert kann nur angezeigt und nicht verändert werden.


Parameterbereich System

In diesem Bereich finden sich die Einträge, die für alle VisiWin-Treiber gleich sind. Es sind Parameter, die den Programmmodus, die Geschwindigkeit und die Datentypbehandlung beschreiben.

siehe auch:

Fensterstil

Hauptzyklus

Zykluszwischenzeit

Datenformat


Fensterstil

Der Fensterstil des Kommunikationstreibers. Es gibt dabei fünf Möglichkeiten:

0-Fenster nicht sichtbar

Der VisiWin-Treiber hat dabei kein sichtbares Fenster und er erscheint weder als Ikon in der Taskleiste noch ist er über den Taskmanager aus erreichbar.

Diese Einstellung ist für die entgültige Laufzeit auf dem Zielrechner sinnvoll, da der Bediener nicht über Windows an den VisiWin-Treiber herankommen sollte um diesen z.B. zu beenden. Zudem wird bei dieser Einstellung am wenigsten Rechnerperformance benötigt.

1-Fenster nur als Ikon

Das Fenster ist nur als Ikon in der Taskleiste sichtbar.

2-Fenster sichtbar

Das Fenster des VisiWin-Treibers ist sichtbar. Hierbei besteht nicht die Möglichkeit, sich die Datenbereiche, die mit der SPS ausgetauscht werden anzeigen zu lassen oder diese vom VisiWin-Treiber aus zu verändern!

3-Fenster mit Debuginfo

Das Fenster ist sichtbar und es besteht die Möglichkeit Datenbereiche vom VisiWin-Treiber sich anzeigen zu lassen und diese zu verändern.

4-Manueller Start des VisiWin-Treibers

Der VisiWin-Treiber wird zwar gestartet, aber es muss über das Menü [Datei\Start] heraus die Kommunikation gestartet werden.

Wird der VisiWin-Treiber manuell und nicht über VisiWin gestartet und ist ein Fensterstil kleiner 3 eingestellt worden, so wird dieser Wert nicht übernommen, sondern, damit der VisiWin-Treiber bedienbar bleibt, beim Starten der Stil auf 3 gesetzt.
Diese Einstellung sollte nicht verwendet werden, wenn der Vw32-Treiber über VisiWin gestartet wird, da die Daten-kommunikation nicht automatisch gestartet wird.


Hauptzyklus

Dieser Wert wird entweder in Milli- oder in 10 Millisekunden angegeben (siehe Infofeld des Konfigurators).

Für den ersten Kommunikationstest sollte man den Default-Wert beibehalten. Das Kapitel „Optimierung der Kommunikation" enthält weiterführende Information über diesen Parameter.


Zykluszwischenzeit

Dieser Wert sollte im Normalfall immer auf dem Default-Wert 1 bleiben!

Nur in Ausnahmefällen ist dieser Parameter zu verändern. Der Parameter ist nicht auf 0 zu setzen! Das Kapitel „Optimierung der Kommunikation" enthält auch für diesen Parameter weiterführende Information bereit.


Datenformat

Hier definieren Sie, ob zwischen VisiWin-Treiber und Prozessdatenbank Datentypen gewandelt werden sollen. Ob gewandelt werden soll, ist abhängig vom SPS Typ. Wird hier eine Datenformatänderung eingestellt, so wird diese nicht vom VisiWin-Treiber, sondern vom VWE-Manager durchgeführt, da diese Änderung vom Datentyp des Items abhängig ist. Der VisiWin-Treiber kennt aber nun den Datenblock, aber nicht dessen Unterteilung in die einzelnen Items.

Gleitkomma-konvertierung | Dieser Parameter gilt speziell für Siemens S5 SPS'en. Diese verwenden ein eigenes Fließkommaformat. In dem Fall, dass die Fließkommawerte nicht richtig angezeigt werden, ist dieser Parameter anzuwählen (Wert=1). Dieser Parameter muss vielfach zusammen mit dem Worttausch bei Gleitkommawerten eingeschaltet werden.
Worttausch | Viele SPS'en verwenden nicht das Intel sondern das Motorola Datenformat. Das bedeutet, das die Daten byteweise sowie auch wortweise vertauscht vorliegen. Der Bytetausch wird vom VisiWin-Treiber selber vorgenommen. Eventuell ist dies, wenn nötig, bei einigen Protokollen unter Kapitel „Spezifisch" einzustellen.
Gleitkommawerte | Das High- und Low-Word von Gleitkommawerten soll getauscht werden.
Langworte | Das High- und Low-Word von Langwortwerten soll getauscht werden.
Texte | Das High- und Low-Word von Items des Datentyps Text soll getauscht werden.


Parameterbereich Spezifisch

Die hier erscheinenden Parameter sind VisiWin-Treiber spezifisch und in dieser Dokumentation nicht aufgeführt, sondern in der VisiWin-Treiber -spezifischen Dokumentation enthalten.


Parameterbereich Testmodus

Bei den VisiWin-Treibern besteht die Möglichkeit diese ohne eine Applikation zu starten um mit einer SPS zu kommunizieren.

Dies funktioniert nur, wenn schon ein VisiWin Projekt auf dem PC eingerichtet ist, in dem der VisiWin-Treiber eingebunden und parametriert wurde.

Um dem VisiWin-Treiber mitzuteilen aus welchem Bereich der SPS er Daten lesen oder schreiben soll, muss hier der Bereich und die zugehörige Länge in Worten ausgewählt werden.

Testadresse | Hier ist der Adress-String einzutragen. Dieser String muss den Konventionen genügen, die in der speziellen protokollabhängigen Dokumentation für das verwendete Protokoll beschrieben ist. Als Beispiel für das Siemens Protokoll AS511 (S5-PG) könnte eine mögliche Adresse 01:20:10 sein. Dies steht für: COM1:Datenbaustein 20:ab Wort 10.
Testanzahl | Dieser Parameter beschreibt die Anzahl der Worte, die der VisiWin-Treiber für den unter Testadresse gewählten Bereich aus der SPS auslesen soll.


Frei editierbare Einträge

Fast alle Parameter stehen zur Zeit der Entwicklung eines VisiWin-Treibers fest. Nur selten gibt es Ausnahmen, die es verlangen zum Zeitpunkt der Konfiguration eines VisiWin-Treibers neue Parameter und dann auch deren Werte zusätzlich zu den fixen Parametern hinzuzufügen. Mit der folgenden Dialogbox hat man dazu die Möglichkeit. Sie kann durch die Schaltfläche [Extras] im Konfigurator aufgeschlagen werden. Diese Schaltfläche wird aber nur bei einigen VisiWin-Treibern aktiv geschaltet.

Beim Aufruf des Dialoges werden alle nicht fest programmierten Parameter in eine Liste eingetragen. Durch anklicken eines Eintrags in der Spalte Eintrag oder in der Spalte Wert kann dieser verändert werden.

Um ein Listenfeld in den Editiermodus zu schalten, selektiert man erst die Zeile, in der ein Parameter verändert werden soll. Danach klick man mit der Maus auf den Eintrag oder den Wert, der editiert werden soll. Bis das Listenfeld in den Editiermodus schaltet vergeht eine kurze Zeitspanne.

OK | Übernimmt die Einträge und deren Werte in die Konfiguration der VisiWin-Treibers für das aktuelle Projekt. Danach wird der Dialog beendet.
Abbruch | Beendet den Dialog, ohne die Parameter und Werte zu übernehmen.
Neuer Eintrag | Fügt eine neue Zeile in die Liste ein. Eintrag und Wert muss dann über die Auswahl des Listenfeldes neu gesetzt werden.
Löschen | Löscht die selektierte Zeile aus der Liste


Der VisiWin-Treiber

Das VisiWin-Treiber-Programm

Start des VisiWin-Treibers

Bedienung des VisiWin-Treibers

Anzeigen und Senden von Daten

Datenaustausch zur Prozessdatenbank der Applikation

Optimierung der Kommunikation


Das VisiWin-Treiber-Programm

Der VisiWin-Treiber transportiert Daten über ein sogenanntes Gerät zu der Prozessdatenbank der Applikation bzw. umgekehrt. Dabei kann ein Gerät, z.B. eine serielle Schnittstelle oder eine PC-Einsteckkarte sein, an der dann eine SPS angeschlossen ist.


Start des VisiWin-Treibers

Start über die Visualisierung

Direkter Start des VisiWin-Treibers [Testmodus]


Start über die Visualisierung

Wird ein VisiWin-Treiber in eine Visualisierungsapplikation eingebunden, so wird dieser beim Start der Applikation mitgestartet.


Direkter Start des VisiWin-Treibers [Testmodus]

Ist ein Projekt einmal mit einem VisiWin-Treiber konfiguriert, kann dieser auch direkt über den Explorer oder das Windows Startmenü gestartet werden. Der VisiWin-Treiber greift dann nicht auf die Prozessdatenbank der Applikation zu, sondern läuft dann im Testmodus und ließt zyklisch die Testadresse. Die Parametrierung erhält der VisiWin-Treiber aber aus der Konfiguration, welche zu der gewählten Applikation gehört.

Beim manuellen Start des VisiWin-Treibers muss zuerst die VisiWin Version auswählt werden, unter der das Projekt erstellt wurde (für ältere Versionen: Version 4 ist dabei VisiWinStudio, Version 3 ist VisiWin32).

Als zweiter Schritt ist das Projekt auszuwählen, unter welchem der VisiWin-Treiber eingebunden ist und an welche Universalschnittstelle dieser VisiWin-Treiber gebunden wurde.

OK | Übernimmt die Einträge und startet den VisiWin-Treiber.
Abbruch | Beendet den Dialog, ohne den VisiWin-Treiber zu starten.


Bedienung des VisiWin-Treibers

Wird in der Konfiguration des VisiWin-Treibers der Parameter Fensterstil auf mindestens 2-Fenster sichtbar gestellt, ist nach dem Start folgende Fensteroberfläche sichtbar.

siehe auch:

Die Fensteroberfläche


Die Fensteroberfläche

In der Titelzeile des VisiWin-Treibers wird der Name des VisiWin-Treibers, sowie die verwendete Universalschnittstelle (Kanal) ausgegeben.

Treibermodus | aktiv- der VisiWin-Treiber läuft nicht aktiv- der VisiWin-Treiber wurde mit dem Parameter Fensterstil 4-manueller Start gestartet oder er konnte die Protokollinitialisierung nicht vornehmen. In letzteren Falle wird eine Fehlermeldung ausgegeben.
Allgemeiner Fehler | Kommt es zu Fehlern, die nicht vom Protokoll verursacht wurden, sondern durch einen fehlerhaften internen Ablauf im VisiWin-Treiberprogramm, so wird an dieser Stelle eine Meldung mit dem entsprechenden Fehlertext ausgegeben.
Akt. Kommunikationsfehler | Hat ein Schreib- oder Leseauftrag einen protokollabhängigen Fehler erzeugt, so wird hier eine entsprechende Fehlermeldung ausgegeben. Hat die letzte Kommunikation keinen Fehler mehr hervorgerufen, so wird diese Textzeile gelöscht.
Letzter Kom. Fehler | Der zuletzt aufgetretene Kommunikationsfehler wird in diese Zeile mit Zeitstempel und fehlerverursachender Strukturadresse / Itemadresse eingetragen.
bei Objektadresse | Die Stukturadresse / Itemadresse, bei der der letzte Kommunikationsfehler aufgetreten ist wird hier zur weiteren Information nochmals separat dargestellt, bis ein neuer Eintrag ausgegeben wird.
Akt. Kommunikationszeit | Die Zeit in Millisekunden, die der letzte Lese- oder Schreibauftrag gedauert hat wird an dieser Stelle ausgegeben. Dabei ist zu beachten, das Windows 95/98 Systeme eine Zeitauflösung von 1 Millisekunde Windows NT/2000 meist eine Zeitauflösung von 10 Millisekunden haben. Einige Treiber setzten aber diese Zeitauflösung auch bei Windoes NT/2000 auf eine Millisekunde herunter, um eine optimale Performance zu erhalten.

siehe auch:

Die Menüs

Menü [Datei]

Menü [Optionen]

Menü [Hilfe]


Die Menüs

In der Menüleiste sind alle im VisiWin-Treiber verfügbaren Befehle in Gruppen unterteilt und verschiedenen Menüs zugeordnet.


Menü [Datei]

Start | Wenn der VisiWin-Treiber mit dem Fensterstil 4-manueller Start parametriert wurde, kann hier die Kommunikation gestartet werden.
Stop | Kommunikation stoppen.
Ende | Das Kommunikationsprogramm wird beendet.

Die Menüpunkte unter [Datei] sollten nur verwendet werden, wenn der VisiWin-Treiber direkt gestartet wurde. Ist der VisiWin-Treiber über eine Applikation gestartet worden, so wird das Starten, Stoppen und Beenden von der Applikation übernommen.


Der VisiWin-Treiber - Die Fensteroberfläche - Menü [Optionen]

Menü [Optionen]

Konfiguration Ist der Konfigurator und die zugehörige Parameter Textdatei vorhanden, dann wird der Konfigurator des VisiWin-Treibers gestartet.

Sollten hier Parameter verändert werden, so werden diese erst nach einem Neustart des VisiWin-Treibers übernommen. Das Projekt muss dazu nicht neu übersetzt werden.

Ist der Konfigurator nicht installiert, so wird hier eine Dialogbox angezeigt, in welcher die Konfigurationsparameter angezeigt werden. Eine Veränderung dieser Parameter kann hierüber nicht erfolgen.

Abbildung Wenn der VisiWin-Treiber mit dem Fensterstil 3-Fenster mit "Debuginfo" gestartet wurde, erreicht man über dieses Menü ein weiteres Fenster, über das man sich die gelesenen Datenbereiche ansehen oder verändern kann.


Menü [Hilfe]

spezifische Hilfe | Steht die protokollabhängige Dokumentation im Installationsverzeichnis des VisiWin-Treibers, wird dieses Dokument aufgeschlagen. Ist es nicht vorhanden, gibt es keine Aktion.
allgemeine Hilfe | Öffnet dieses Hilfedokument.
Über mich | Zeigt eine Dialogbox mit Versionsnummer, Copyright und weitere Informationen zum VisiWin-Treiber an.


Anzeigen und Senden von Daten

Nach Aufruf des Menüs [Optionen\Abblidung] öffnet sich ein Fenster, in der als Speicherauszug die Nettodaten des ersten Datenbereiches aus der Prozessdatenbank angezeigt werden. Läuft der VisiWin-Treiber im Testmodus wird der Datenbereich der Testadresse ausgegeben.

Beim Öffnen dieses Fensters ist der gesamte angezeigte Datenbereich mit dem Wert 0 vorbelegt. Erst wenn durch einen neuen Kommunikationszyklus der angezeigte Datenbereich neu ausgelesen wurde, wird auch der Inhalt des Fensters aktualisiert.

Die Titelzeile besteht aus der Nummer der Universalschnittstelle (Kanals), hier 1 und dem Namen der angezeigten Strukturadresse (hier DUMMY). Pro Zeile werden 10 hexadezimale Werte angezeigt. Der Wortoffset des ersten Nettowertes jeder Zeile wird mit Doppelpunkten getrennt vor die Zeile geschrieben.

Der Aufbau der Inhalte dieses Fenstern bezieht sich nicht auf die in einer Struktur definierten Elemente, sondern gibt lediglich ein Speicherabbild aus. Eine unter den Konfigurationspunkten [System\Dateformat] eingestellt Datenkonvertierung ist hier noch nicht berücksichtigt.

siehe auch:

Das Menü [Optionen]


Das Menü [Optionen]

Menü [Optionen]

Menü [Daten senden]

Menü [Ende]


Der VisiWin-Treiber - Das Menü [Optionen] - Menü [Optionen]

Menü [Optionen]

Öffnet eine Dialogbox in der die Darstellung im Datenausgabefenster von dezimal auf hexadezimal umgestellt werde kann. Weiterhin hat man hier die Auswahl welche Itemadresse / Strukturadresse ausgegeben werden soll.


Menü [Daten senden]

Über die folgende Dialogbox ist es möglich Werte direkt über den VisiWin-Treiber an eine SPS zu senden.

Item/Strukturadresse | Auswahl der Itemadresse / Strukturadresse, an die man Daten senden möchten.
Einzelwert | Es soll ein Wort (16Bit) oder ein einzelnes Bit gesendet werden.
Feld | Es soll ein Feld mit mehreren Worten gesendet werden. Das Steuerfeld Wert wird dabei umbenannt in Startwert, das Steuerfeld Bit in Anzahl und das Steuerfeld Bit senden in hochzählen.
Bit senden | Dieses Feld (de)-aktiviert das Wert Kontrollfeld und (de)-aktiviert das Kontrollfeld Bit.
Hochzählen | Bei Auswahl von Feld besagt dieses Kontrollfeld, ob alle zu schreibende Werte mit dem Wert aus Startwert beschrieben werden, oder ob jedes Wort um den Wert 1 inkrementiert werden soll.
Wert | Gibt den zu sendenden Wortwert vor.
Startwert | Bei Auswahl von Feld wird hier der Wert des ersten Wortes eingetragen.
Offset | Definiert den Wortoffset des unter Item/Strukturadresse ausgewählten Eintrages, ab dem geschrieben werden soll.
Bit | Bei Bit senden steht hier die Nummer des Bits ein, welches gesetzt werden soll.
Anzahl | Bei Auswahl von Feld beschreibt dieser Parameter die Anzahl der Worte, die gesendet werden sollen.
Senden | Übergibt den Sendeauftrag an die Protokollebene des VisiWin-Treibers.
Abbruch | Schließt die Dialogbox.
Hilfe | Öffnet dieses Hilfedokument.


Menü [Ende]

Schließt das Datenausgabefenster.


Datenaustausch zur Prozessdatenbank der Applikation

Dieses Kapitel beschreibt die internen Abläufe zwischen der Prozessdatenbank einer Applikation und der Protokollebene eines VisiWin-Treibers.

Zwischen der Prozessdatenbank und dem VisiWin-Treiber bestehen zwei Datenbereiche (speicherbasierte Dateien). Die erste Datei beinhaltet alle in einer Projektdatenbank definierten Item-/Strukturobjekte, die als Einzelitem, Itemarray oder Strukturitem angelegt wurden. Diese Datei hat eine feste Größe, die von der Anzahl der Objekte abhängt. Die Größe ist nicht beeinflussbar. Der zweite Bereich ist für Items dessen Wert zur SPS geschrieben werde sollen. Dieser Bereich ist normalerweise leer. Nur wenn sich der Wert eines Items auf der Seite der Visualisierung geändert hat, wird in dieser Datei ein Objekt erzeugt. Diese Datei hat eine Defaultgröße. Diese ist abhängig von der Anzahl der Objekte in der Datenbank. Die kleinste Größe hat Platz für 500 Objekte. Es kann unter Umständen von Nöten sein diese Anzahl zu vergrößern.

Hat man z.B. eine langsame Kommunikation (seriell mit geringer Bausrate) oder wenn die Zykluszeiten von Prozessdatenbank und VisiWin-Treiber schlecht aufeinander abgestimmt wurden und viele einzelne Werte zur SPS gesendet werden (bei Rezepten) kann es vorkommen, dass der VisiWin-Treiber die Aufträge nicht schnell genug abarbeiten kann. Das hat zur Folge, dass die Schreibliste voll läuft. In diesem Fall erscheint eine Systemfehlermeldung in den Alarmsteuerelementen mit dem Namen des EXE des VisiWin-Treibers.

Sollte dies eintreten, so vergrößert man die Anzahl der Listeneinträge in dem Dialog der Laufzeitkonfiguration. Man sollte zuvor aber versuchen die Kommunikation zu optimieren. Weitere Informationen stehen dazu im Kapitel „Optimierung der Kommunikation".

Vergrößern der maximalen Anzahl der Schreibaufträge.

Der Programmablauf eines VisiWin-Treibers kann vereinfacht in folgenden Diagramm dargestellt werden:


Optimierung der Kommunikation

Die Optimierung der Kommunikation hängt von vielen Faktoren ab und kann daher leider nicht über ein „Patentrezept" gelöst werden. Die folgenden Liste enthält Tipps, die schon bei der Erstellung ihrer Prozessdatenbank berücksichtigt werden sollten. Einige dieser Punkte wirken sich bis zur Programmierung der SPS aus und sollten daher auch mit dem SPS- Programmierer besprochen werden.

  • Es ist immer sinnvoll die Menge der Daten die zyklisch gelesen werden, zu minimieren. Dazu verwendet man wenn möglichst Bild- und Abtaststrukturen. Bei der Verwendung des VWOPC-Kernels dienen dazu Gruppen, den Datenfluss zu steuern und damit zu minimieren.
  • Daraus resultiert, dass einzelne Items zu Elementen in Strukturen oder Array's nach ihrer Verwendung in der Applikation zusammengelegt werden sollten. Diese Strukturen und Array's sollten dann von der Aktualisierungsrate her in Gruppen zusammengefasst werden, um den Datenfluss zur SPS zu steuern.
  • Bei Strukturen, Array's und Einzelitems, deren Daten nicht unbedingt möglichst schnell aktualisiert werden müssen, kann der Abtastzyklus erhöht werden. Setzt man z.B. den Abtastzyklus auf 7, so wird das Item vom VisiWin-Treiber nur alle 7*Zykluszeit der Laufzeit (in Millisekunden) gelesen. Bei Verwendung des VWOPC-Kernels ist das Item in eine Gruppe zu definieren, dessen Aktualisierungsrate beeinflusst werden kann.
  • Daten die nur in Richtung SPS geschrieben werden, sollten in Strukturen zusammengefasst werden, die das Attribut nur schreibend / Write haben.
  • Strukturen sollten nicht unnötig viele unbenutzte Bereiche enthalten. Somit verringern sich das Datenvolumen.
  • Im Allgemeinen kann man sagen, daß die Größe von Strukturen möglichst voll ausgenutzt werden sollte. Viele kleine Strukturen vergrößern den Verwaltungsaufwand und verschlechtern das Verhältnis zwischen übertragenen Nettodaten und dem Protokoll-Overhead. Hierbei ist es dann immer schwierig, einen Kompromiss zu schließen zum vorhergehenden Punkt (Größe der Strukturen). Ob es jetzt sinnvoller ist eine Struktur mit unbenutzten Bereichen aufzubauen und dafür einen Block zu übertragen oder die Struktur aufzuteilen, hängt dann auch von der Art des Protokolls ab. Ist die Reaktionszeit der SPS schlecht oder das Protokoll selbst schnell, so empfiehlt es sich, Lücken im übertragenen Datenbereich in Kauf zu nehmen. Anderenfalls sollte man lieber die Datenbereiche aufteilen.
  • Der VWE-Kernel/VWE-Manager ist mit der Prozessdatenbankabarbeitung sehr schnell, aber trotzdem sollte man für dessen Zyklus sinnvolle Werte einstellen. Normalerweise reichen Zykluszeiten von 200 bis 500 msek.aus, um Refreshraten von 2 bis 5 mal pro Sekunde zu erreichen. Unter Windows NT oder Windows 2000 kann über den Taskmanager [Ctrl-Alt-Del] die Systemauslastung der VWE-Kernels oder des VWE-Managers betrachtet werden. Dieser sollte das System mit max. 20% auslasten. Ist diese Auslastung noch höher ist die Zykluszeit des VWE-Kernels oder die Abtastraten der Gruppen zu hoch eingestellt. Dies wiederum veringert deutlich die Performance der VisiWin-Treiber.
  • Der VisiWin-Treiber muss immer schneller als der VWE-Kernel eingestellt werden (min Faktor 3). Besteht gar keine Vorstellung über die Geschwindigkeit der Kommunikation mit der SPS, so kann man beim Betrieb des VisiWin-Treibers sein Fenster beobachten. In der untersten Zeile wird die Kommunikationszeit der letzten bearbeiteten Items/Struktur ausgegeben. Betrachtet man eine Zeit lang diese Zeiten, so stellt man fest, das sie manchmal recht konstant sind, manchmal unterliegen sie aber auch starken Schwankungen. Grundsätzlich ist es sinnvoll vom kleinsten Wert auszugehen. Ist dieser z.B. 15 Millisekunden, so ist der Hauptzyklus des VisiWin-Treiber auf einen Wert zwischen 10 und 15 Millisekunden zu stellen. Kleinere Werte machen den VisiWin-Treiber nicht schneller, sondern vergrößern aber nur etwas die Systemauslastung!
  • Wird Windows NT oder Windows 2000 verwendet, so kann man sich über den Taskmanager [Ctrl-Alt-Del] die laufenden Prozesse anschauen. Der VisiWin-Treiber sollten dabei unter 30% CPU Auslastung liegen (normalerweise deutlich weniger, ca. 0-5%). Ist dies nicht der Fall, so sollte der Parameter Zykluszwischenzeit etwas erhöht werden. Damit überlässt man allen anderen laufenden Applikationen mehr CPU Zeit. Ein Wert über 10 Millisekunden sollte aber nicht eingestellt werden!


Inhalt

VisiWin-Treiber

Die Installation

Projekteinbindung

Konfiguration

Der VisiWin-Treiber