DCOM Server/Client

TodesEngel

Grünschnabel
Hallo,
hab folgendes Problem (Ich versuch relativ genau das Problem zu beschreiben, vielleicht hat jemand Teillösungen):

Ich hab eine Software die nennt sich OPC Server, die kann z.B. über eine serrielle Schnittstelle mit einem Bussystem Prozessdaten austaschen. Auf der anderen Seite gibt es eine COM/DCOM Schnittstelle, so dass man mit VB ein Client schreiben kann, der die Prozessdaten von dem OPC Server darstellen kann.
Der Client hat ein Verweis auf eine DLL die auf dem gleichen Rechner liegt (die gleiche dll gibt es aber auch auf dem anderen Rechner, auf dem der Server läuft).
So nun kann ich die Objekte des Servers wunderbar in VB nutzen, wenn der Server auf dem gleichen Rechner ist, wenn ich aber versuche auf einen Server auf einem anderen Rechenr zuzugreifen krieg ich "Laufzeitfehler 70", "Zugriff verweigert".
Wenn ich Rechnernamen angebe, auf dem kein OPC Server vorhanden ist, krieg ich die Luafzeitfehlermeldung 429", "Objekterstellung durch Active-X-Komponente nicht möglich".
Mit dem Client der Original Software kann ich aber über das Netzwerk auf den Server schon zugreifen.


Dim WithEvents AnOPCServer As OPCServer
Set AnOPCServer = New OPCServer
Dim ARealOPCServer As String
Dim ARealOPCNodeName As String
ARealOPCServer = "OPCServerName"
ARealOPCNodeName = "SomeComputerNodeName"
AnOPCServer.Connect (ARealOPCServer, ARealOPCNodeName)


Weiss einer weiter? Was mach ich falsch?

Gruß Christa
 
Die Frage mal anders

Frag vielleicht mal so, was muss man beachten, wenn man einen client programmiert der auf einen Server auf einem anderen Rechner im Netzwerk zugreifen möchte? (Unterschied Rechner in einer Arbeitsgruppe oder Domain)

Gruß Christa
 
opc client

Du musst deine Einstellungen mit dcomcnfg überprüfen. Hast du schon mal mit dcomcnfg gearbeitet !

Dort kannst du für jede dcom-Anwendung die entsprechenden Benutzerrechte einstellen und auch festlegen, auf welchem Rechner die Anwendung laufen soll.

Versuch doch einfach mal an dem client dich genauso anzumelden wie am Server, gleicher Benutzername, gleiche Rechte, gleiches Passwort.

Kannst mir ja mal Bescheid geben

g.lay@saarschmiede.de


Viel Glück
 
Pass bitte auf, dass du Standardeigenschaften nicht veränderst oder ggf.
wieder auf die alten Einstellungen zurückstellst.
Ich habe es tatsächlich mal geschafft die Einstellungen so zu verändern, dass der
Windows Installer nicht mehr lief und ich keine Software mehr installieren konnte

Ich habe übrigens einige Software für OPC geschrieben.

Es würde mich mal interessieren, was du so damit vorhast.

Gruß Guido
 
DCOM Einstellungen

Hallo,

danke schon mal für die Antworten.

| Du musst deine Einstellungen mit dcomcnfg überprüfen. Hast du schon mal
| mit dcomcnfg gearbeitet !

Hab ich, hab da auch ziemlich viele Rechte vergeben und alles mögliche eingestellt (hab da mit der Hersteller Firma von dem OPC Server mich unterhalten) und seit dem funktioniert der originale Client, bloss VB stellt sich an. :-(

| Dort kannst du für jede dcom-Anwendung die entsprechenden Benutzerrechte
| einstellen und auch festlegen, auf welchem Rechner die Anwendung laufen
| soll.

Die Anwendung muss auf dem Rechner laufen, wo die Hardware am COM-Port hängt.

| Versuch doch einfach mal an dem client dich genauso anzumelden wie am
| Server, gleicher Benutzername, gleiche Rechte, gleiches Passwort.

Jo, hab ich, hab es auch mittlerweile mit "net use [//Servername/IPC$] \USER:[Username]" versucht, von beiden Rechnern aus.

| Ich habe übrigens einige Software für OPC geschrieben.

| Es würde mich mal interessieren, was du so damit vorhast.

Ist meine Diplomarbeit, ich automatisiere eine Gefriertrocknungsanlage und wollte gerne, dass man über das Fachhochschul-Netzwerk sich die Prozessdaten anschauen kann.

Gruß Christa
 
Welche VB-Software benutzt Du, Visual Basic 6
oder .net.

Was meinst Du eigentlich mit VB würde zicken ? grins

Bei .net muss ich wissen ob Version 2002 oder Version 2003

Soll ich dir mal eine funktionierende VB6 Software für einen WinCC
OPC Server schicken bei dem ich 3 Werte lade und grafisch darstelle ?

Hier mal ein kurzes Beispiel in VB

'Schreib in dieser Art in das Deklarationsteil
Option Explicit
Dim objServer As OPCServer
Dim WithEvents objGroups As OPCGroups
Dim WithEvents objGroup As OPCGroup
Dim objItems As OPCItems
Dim objDruckAussen As OPCItem
Dim objDruckMitte As OPCItem
Dim objDruckRueck As OPCItem
Dim objWeg As OPCItem

'So baust du den Server zusammen
Sub Createopcserver()
Set objServer = New OPCServer
objServer.Connect "OPCServer.wincc", "Server_18"
Set objGroups = objServer.OPCGroups
Set objGroup = objGroups.Add
Set objItems = objGroup.OPCItems
Set objWeg = objItems.AddItem("P_RM_Aktuelle_Pressenstellung", 1)
Set objDruckAussen = objItems.AddItem("P_RM_Pressdruck_Istwert", 2)
Set objDruckMitte = objItems.AddItem("P_RM_Pressdruck_Mitte_Istwert", 3)
Set objDruckRueck = objItems.AddItem("P_RM_Rueckdruck_Istwert", 4)
objGroup.UpdateRate = 100
objGroup.IsActive = True
objGroup.IsSubscribed = False
End Sub

'So kannst du dann Werte lesen
objWeg.Read 1, Wert
Weg = CSng(Wert)
objDruckAussen.Read 1, Wert
Druck = CSng(Wert)
objDruckMitte.Read 1, Wert

Wenn Du keine Hilfe mehr brauchst sag Bescheid

Viel Glück
 
OPC Server

Hi,

Also erstmal arbeite ich mit VB 6, .net haben die auf unserer FH glaube ich gar nicht.

| Was meinst Du eigentlich mit VB würde zicken ? grins

in der Zeile

AnOPCServer.Connect (ARealOPCServer, ARealOPCNodeName)

krieg ein Laufzeitfehler 70, wenn ich als ARealOPCNodeName (PC-Name auf dem der OPC Server laufen soll) angebe.
Wenn der Client und der Server auf einem Rechner liegen funktioniert es wunderbar. (Das heisst ich gebe als ARealOPCNodeName den PC-Namen von dem Rechner auf dem der Client grade läuft)
Der OPC Server ist auf beiden Rechnern installiert und regestriert.

Klappt bei dir die Verbindung übers Netzwerk mit deinem Client oder ist der WinCC OPC Server nicht Netzwerkfähig? Also wenn es bei dir mit dem Netzwerk läuft, dann wäre es schon nett wenn du mir dein Prog mal schicken könntest.

Sonst sieht der Quellcode meinem schon sehr ähnlich nur die Werte werden anders gelesen, aber soweit komme ich ja über das Netzwerk nicht.

Gruß Christa
 
Es läuft

Hallo zusammen,

danke an alle die sich den Kopf zerbrochen haben, aber es läuft jetzt.

Das Problem war, dass es unter dcomcnfg bei den DCOM Einstellungen insgesamt drei Komponenten bestimmte Einstellungen brauchen, ich hatte aber nur von einem gewusst.

Hat also alles doch nichts mit VB zu tun.

Gruß Christa
 
Hallo Christa,
ein paar Jahre später plagt mich dasselbe Problem:confused:
Welches sind denn die drei Komponenten gewesen, bei denen man entsprechende Rechte setzen musste?

Über eine Antwort würde ich mich sehr freuen.

Chrissi
 
Zurück