Frage über OPC-Server
Hallo blausalz,
Der Datenzugriff über DataSocket läuft intern über einen anderen OPC-Client, als die Verwendung des DSC-Moduls. Das kann dazu führen, dass ein Zugriff über DataSocket funktioniert, aber über das DSC-Modul nicht. Auch wenn es theoretisch keinen Performance-Unterschied gibt, so unterscheiden sich die Wege in ihrer praktischen Umsetzung sehr. Das DSC-Modul verwendet für den Datenzugriff die "Shared Variablen Engine" als OPC-Client.
Wichtige Punkte für die Konfiguration und Tests:
1) DCOM-Konfiguration anpassen
(Systemsteuerung-->Verwaltung-->Komponentendienste-->Component Service-->Computer-->Arbeitsplatz-->DCOM)
a) den verwendeten OPC-Server wählen
- im Tab "Allgemein" die Option "Verbinden" wählen
- im Tab "Identität" die Option "Interaktiver Benutzer" wählen
- im Tab "Sicherheit" sollten bei Start und Zugriff die User Interaktiv, Jeder, Netzwerk und System Zugriffsrechte bekommen
(damit funktioniert es erstmal. Für die Sicherheit kann man später die Rechte weder einschränken)
b) National Instruments Variablen Engine wählen
- im Tab "Allgemein" die Option "Verbinden" wählen
- im Tab "Identität" die Option "Systemkonto" wählen
- im Tab "Sicherheit" sollten bei Start und Zugriff die User Interaktiv, Jeder, Netzwerk und System Zugriffsrechte bekommen
2) OPC-Server testen
mit beliebigem OPC-Client sollte der OPC-Server starten, sobald Datenzugriff benötigt wird. Nach Ende des Datenzugriffs sollte der OPC-Server automatisch schließen
3) Variablen Engine testen
Öffne in LabVIEW unter "Tools" den Distributed System Manager. Dort kann man Daten aus der Shared Variablen Engine sehen.
In LabVIEW hast Du Deinen OPC-Client und alle Shared Variablen sicher innerhalb eines Projekts in einer Bibliothek abgelegt. Mit Rechtsklick auf die Bibliothek erscheint ein Eintrag "Deploy". Nach diesem Befehl wird die gewählte Bibliothek in der Variablen Engine veröffentlicht und sollte dort unter Localhost neben "System" erscheinen. Dort kann man Daten per OPC lesen und schreiben.
Wenn das funktioniert, sollte auch Dein VI korrekt arbeiten.
(Gibt es einen Grund, warum Du ständig alle Shared Variablen so umständlich pollst und in ein Array schreibst, statt einzelne Variablen bei Bedarf zu aktualisieren ?)
4) Deployvorgang automatisieren
Im Projekt Explorer sollte bei Rechtsklick auf "My Computer" der Punkt "Disable Autodeploy" nicht aktiviert sein.
Im späteren Verlauf des Projekts kann man diesen Punkt aktivieren und innerhalb des Programms mit entsprechenden VI´s für eine Veröffentlichung der Prozessdaten sorgen.
Die korrekte Konfiguration von OPC-Server, DCOM und Variablen Engine ist nicht ganz einfach. Wenn man es aber einmal geschafft hat, funktioniert es recht zuverlässig.
Viel Erfolg dabei
C. Lukas
|