Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 26

Thema: OPCDotNetLib + Remote OPC Server

  1. #11
    Registriert seit
    19.09.2005
    Ort
    Freudenstadt
    Beiträge
    811
    Danke
    64
    Erhielt 101 Danke für 64 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von david.ka Beitrag anzeigen
    genau das war ja auch meine Frage

    muss ich das in der Connect() Methode übergeben?
    z.b. Srv.Connect(@"\\Rechner\Matrikon.OPC.Simulation.1");
    Dann hättest Du das besser gleich fragen sollen ...

    Google hilft:
    Code:
    Svr.Connect(ProgID, PCName);
    Zitat Zitat von david.ka Beitrag anzeigen
    danke. aber das höre ich das erste mal, das die dcom settings am client auch eingestellt werden müssen.
    Der OPC-Server baut zum OPC-Client auch eine DCOM-Verbindung auf, um dem Client die Events übermitteln zu können. Dafür müssen die Zugriffsrechte beim Client korrekt eingestellt sein. Das passiert entweder über die globalen Einstellungen in der Komponentenkonfiguration der Systemsteuerung, oder im Programmcode auf der Prozessebene. Ein vernünftig implementierter Client sollte die 2. Variante anwenden.

    Wenn Client und Server auf dem gleichen System laufen, gibt's normalerweise keine Probleme damit, daß die systemweiten Standardeinstellungen verwendete werden, da ja beide Prozesse in jedem Fall unter Benutzern laufen, die lokal bekannt sind, und in den allermeisten Fällen auch die notwendigen Rechte besitzen.

    Das sieht ganz anders aus, wenn Server und Client auf verschiedenen Systemen laufen. Da kümmert man sich am besten von Anfang an darum, unter welchem Benutzer die Prozesse laufen, und welche Rechte sie haben.


    Gruß Axel
    Man muß sparn wo mn knn!

  2. #12
    Registriert seit
    07.09.2005
    Ort
    MOS
    Beiträge
    156
    Danke
    22
    Erhielt 26 Danke für 17 Beiträge

    Standard

    oki, danke, werde mal die dcom einstellungen vornehmen.

    Srv.Connect(ProgID,PCName) kennt OPCDotNetLib nicht.

  3. #13
    Registriert seit
    19.09.2005
    Ort
    Freudenstadt
    Beiträge
    811
    Danke
    64
    Erhielt 101 Danke für 64 Beiträge

    Standard

    Zitat Zitat von david.ka Beitrag anzeigen
    Srv.Connect(ProgID,PCName) kennt OPCDotNetLib nicht.
    Komisch, zu OPCDotNetLib findet man bei Google zwar nicht wirklich viel, aber in diesem PDF steht im Beispielcode auf Seite 28/29 der von mir zitierte Aufruf drin.
    Muß aber nichts bedeuten, da ich des Belgischen (oder was auch immer das ist) nicht mächtig bin ...


    Gruß Axel
    Man muß sparn wo mn knn!

  4. #14
    Registriert seit
    07.07.2004
    Beiträge
    3.285
    Danke
    38
    Erhielt 584 Danke für 382 Beiträge

    Beitrag

    Hallo,

    afk hat es dir vorgelegt. Hast Du auch das Objekt Srv vorher auch erzeugt ?
    In dem Beispielprogramm von afk wird die ProgID als String und die IP-Adresse des Servers als String an die Funktion Srv.Connect() übergeben. Meiner Meinung nach sollte das aber auch mit dem Rechnernamen funktionieren.
    Einfach mal versuchen.

    Mich wundert nur, dass beim Connect die ProgID übergeben wird. Mir ist bisher nur die Übergabe als ClassID bekannt. Normalerweise lasse ich mir vor dem Connect durch die Funktion 'ProgIDToClassID' aus dem Servernamen die passende GUID aus der Registry zurückgeben.
    Aber das mag bei der OPCDotNetLib vielleicht anders sein, dazu fehlt mir einfach die passende Beschreibung.

    Gruß

    Question_mark
    ''Ich habe wirklich keine Vorurteile.
    Meine Meinung ist nur die Summe der Erfahrungen" ... (Question_mark)
    Zitieren Zitieren ---  

  5. #15
    Registriert seit
    25.07.2005
    Ort
    Vogelsbergkreis
    Beiträge
    1.717
    Danke
    48
    Erhielt 68 Danke für 60 Beiträge

    Standard

    Folgende Sache ändern:
    Klasse OPCdotNETLib.OPC_Data_Srv
    Code:
    public void Connect(string progidOPCServer, string computerName)
    {
        Disconnect();
    
        Type typeofOPCserver = Type.GetTypeFromProgID(progidOPCServer,computerName);
    
        if( typeofOPCserver == null )
            Marshal.ThrowExceptionForHR( HRESULTS.OPC_E_NOTFOUND );
    
        OPCserverObj = Activator.CreateInstance( typeofOPCserver );
        ifServer = (IOPCServer) OPCserverObj;
        if( ifServer == null )
            Marshal.ThrowExceptionForHR( HRESULTS.CONNECT_E_NOCONNECTION );
    
        // connect all interfaces
        ifCommon = (IOPCCommon)    OPCserverObj;
        ifBrowse= (IOPCBrowseServerAddressSpace)ifServer;
        ifItmProps= (IOPCItemProperties)ifServer;
        cpointcontainer    = (UCOMIConnectionPointContainer)OPCserverObj;
        AdviseIOPCShutdown();
    }

  6. #16
    Registriert seit
    19.09.2005
    Ort
    Freudenstadt
    Beiträge
    811
    Danke
    64
    Erhielt 101 Danke für 64 Beiträge

    Standard

    Zitat Zitat von seeba Beitrag anzeigen
    Folgende Sache ändern: ...
    Reine Neugier:
    Kann die Lib das gar nicht, und der Code ist ein Patch (von Dir ?), um ihr das beizubringen, oder kann die das erst ab einer bestimmten Version ?

    Zitat Zitat von Question_mark Beitrag anzeigen
    Mich wundert nur, dass beim Connect die ProgID übergeben wird. Mir ist bisher nur die Übergabe als ClassID bekannt. Normalerweise lasse ich mir vor dem Connect durch die Funktion 'ProgIDToClassID' aus dem Servernamen die passende GUID aus der Registry zurückgeben.
    Das wird wohl in der Lib gekapselt sein, mache ich in meinem OPC-Client (Delphi-Komponente) auch so.


    Gruß Axel
    Man muß sparn wo mn knn!

  7. #17
    Registriert seit
    25.07.2005
    Ort
    Vogelsbergkreis
    Beiträge
    1.717
    Danke
    48
    Erhielt 68 Danke für 60 Beiträge

    Standard

    Diese "Lib" kann sowas garnicht, auch gibt es keine Versionen, keinen Support und keinen kommerziellen Vertrieb. Sie ist eigentlich nur ein Beispiel um die .NET DCOM "Kommunikation" zu demonstrieren.

  8. #18
    Registriert seit
    19.09.2005
    Ort
    Freudenstadt
    Beiträge
    811
    Danke
    64
    Erhielt 101 Danke für 64 Beiträge

    Standard

    Dann wundert's mich umso mehr, daß sich in Belgien jemand die Mühe macht, so eine ausführliche Beschreibung mit Beispielen dafür zu schreiben, in der dann ausgerechnet der Funktionsaufruf so passend "falsch" ist ...

    Der Patch ist demnach von Dir ?


    Gruß Axel
    Man muß sparn wo mn knn!

  9. #19
    Registriert seit
    25.07.2005
    Ort
    Vogelsbergkreis
    Beiträge
    1.717
    Danke
    48
    Erhielt 68 Danke für 60 Beiträge

    Standard

    Kannst du mir einen Link geben?

  10. #20
    Registriert seit
    19.09.2005
    Ort
    Freudenstadt
    Beiträge
    811
    Danke
    64
    Erhielt 101 Danke für 64 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von seeba Beitrag anzeigen
    Kannst du mir einen Link geben?
    Zu der belgischen Beschreibung ?
    Auf Seite 28/29 findest Du den Beispielcode ...


    Gruß Axel
    Man muß sparn wo mn knn!

Ähnliche Themen

  1. C# Beispiel zum Verbinden zu Remote OPC Server
    Von stony17 im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 11.03.2011, 19:12
  2. Antworten: 0
    Letzter Beitrag: 03.03.2010, 13:28
  3. OPC Server / Remote Programmierung
    Von Mukkel im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 12.01.2010, 11:11
  4. Remote I/O CAN-Bus
    Von Basco im Forum Feldbusse
    Antworten: 1
    Letzter Beitrag: 25.03.2009, 22:30
  5. OPCdotNETlib
    Von david.ka im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 18.07.2006, 18:02

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •