ich habs auch schon über DataSocket probiert....dabei kann man sich zumindest die Variablen listen lassen.
Mit der URL kommt man dann aber mit den DataSocket VIs nicht weiter...anbei ein Screenshot
ich hab die DCOM Einstellungen schon gemacht...
http://www.labviewforum.de/Thread-Frage-...OPC-Server
Was kann ich noch tun damit ich die Daten vom remote OPC Server abholen kann?
Danke
Mit dem OPC Quick Client gehts...siehe Anhang.
Hat jemand einen Ansatz um in LV vielleicht aus der *.otc zu machen?
Oder vielleicht wie man einen Client selbst auf die Beine stellt?
Danke für eure Anregungen.
Hallo,
1.) hast Du das LabView-DSC-Modul installiert ?
2.) Kontrolliere mal im Distributed System Manager (Tool-Menü) ob Datenzugriff möglich ist.
3.) Der Aufbau in Form eines Projekts könnte die Sache vereinfachen. Dazu kann ich Dir gleich ein Beispiel posten.
4.) Bei erster Durchsicht Deines Beispiels vermisse ich den Deploy-Vorgang.
Gruß
Lukas
Hier ein einfaches Projekt mit OPC-Client.
Das DSC-Modul bringt mit der Shared Variablen Engine und dem OPC-Client eine einfache Möglichkeit der Integration. Zuvor muss die fehlerfreie Kommunikation zwichen Server und dem Client-Rechner sichergestellt sein. Ein Client-Programm (z.B. Matrikon OPC-Explorer) muss auf die veröffentlichten OPC-Tags zugreifen können. Eine ganz beliebte Falle dabei sind die DCOM-Einstellungen. Dazu habe ich ein einem anderen Thread ja schon etwas geschrieben.
viel Erfolg
Lukas
Hallo Lukas,
vielen Dank, für Deine Mühe.
Zitat:1.) hast Du das LabView-DSC-Modul installiert ?
ja
Zitat:Zuvor muss die fehlerfreie Kommunikation zwichen Server und dem Client-Rechner sichergestellt sein. Ein Client-Programm (z.B. Matrikon OPC-Explorer) muss auf die veröffentlichten OPC-Tags zugreifen können.
Hab ich mit dem OPC Quick CLient von NI erreicht.
ich werde heute nachmittag mal Dein Projekt durchsehen....Danke dafür!
Grüße, Marco.
Hallo Lukas,
ich hab mir mal dein Projekt durchgesehen.... im Grunde will ich das auch so machen:
wenn ich den OPC in der lvlib konfigurieren will, geb ich unter Machine die IP ein und unter Prog ID den Server...vgl. Bild oben vom NI OPC Quick Client(der liest ja den remote OPC Server).
Unter Registered OPC servers ist aber kein Server auswählbar....muss ich den OPC Server registrieren? Wenn ja, wie?
Hat jemand Erfahrungen mit DataSocket VIs um einen remote OPC Server auszulesen?
Damit konnte ich mir zumindest mal ne Liste der Variablen anzeigen lassen...
Danke für weitere Anregungen
Hallo,
das Registrieren von OPC-Servern kann auf 2 Arten geschehen:
1. Bei der Installation des Servers wird ein Eintrag in die Registry gemacht.
2. man verwendet den Dienst "OPC Enum"
Clients fragen normalerweise den Dienst. Schau mal nach, ob er bei Dir läuft.
Mir hat sehr das angehängte Dokument zur Konfiguration von DCOM geholfen. Dabei ist folgendes zu beachten:
Windows macht in den Standardeinstellungen (fast) alle Kommunikation zu. Die Einstellungen im Dokument machen (fast) alles auf. Daruas folgt, dass die OPC-Kommunikation erst mal funktioniert. In wie weit Sicherheitseinschränkungen gemacht werden müssen, muss sich jeder Anwender überlegen.
Server, OPC Enum und Client müssen alle richtig konfiguriert sein, sonst geht nach meiner Erfahrung jede Kommunikation in die Hose.
Versuch mal die Eisntellungen aus dem pdf. Alles wesentliche gilt auch für Windows 7.
DataSocket ist nach meiner Erfahrung keine brauchbare Alternative, wenn man viele Datenpunkte hat. (wesentlich langsamer und andere Mechanismus).
Gruß
Lukas
Hallo,
danke für die Anleitung, habe diese mal durchgeführt....allerdings konnte ich 15.-21. nicht durchführen, weil der OPC Server den ich ansprechen will, dort nicht gelistet ist. Ist vielleicht auch der Grund, warum Labview den nicht findet.
Wie kann ich diesen registrieren? Oder ist das Unsinn, da der OPC Server ja auf dem PLC läuft?
Danke
Hallo,
Die richtige DCOM-Einstellung für den OPC-Server ist extrem wichtig. Wenn er sich in dcomcnfg.exe gar nicht zeigt, ist das ein Problem! So ein unschönes Verhalten hatte ich mal mit einem OPC-Server der nach der veralteten Spezifikation "OPC DA 1.0" arbeitete. Dort funktionierte die Registrierung über den Dienst "OPC Enum" auch nicht. Erst eine neuere Version ab der Spezifikation 2.0 hat das Problem behoben. Kannst Du in Erfahrung bringen, welche Spezifikation Dein Server einhält (--> Hersteller).
Alternativ kannst Du versuchen, die Spezifikation über die Registry zu bekommen.
Der Key HKEY_CLASSES_ROOT\Hersteller.Servername.1\CLSID verweist auf eine ID und in \OPC steht meistens die DA-Spezifikation. Nach der ID ohne Klammern kannst Du suchen und Dir Informatione über den Server anzeigen lassen. Die ID findest Du unter HKEY_LOCAL_MACHINE\Software\Classes\CLSID
Läuft der OPC-Enum-Dienst auf Deinem Client-Rechner und startet er automatisch (Systemsteuerung) ?
noch ein kleiner Hnweis: Die DCOM-Einstellungen werden erst nach einem Neustart aktiv.
zur manuellen Registrierung kannst Du noch folgendes Kommando probieren:
Servername.exe -regserver bzw.
Servername.exe -unregserver
um als Service zu registrieren:
Servername.exe -service
Hier noch Links zum Thema DataSocket:
http://digital.ni.com/public.nsf/allkb/9...33000BC591
http://digital.ni.com/public.nsf/allkb/9...FA0053150D
viel Erfolg
Lukas