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

Ergebnis 1 bis 3 von 3

Thema: WinCC OPC Variablen mit Excel auslesen

  1. #1
    Registriert seit
    23.01.2015
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Liebe Gemeinde,

    Ich habe eine WinCC(v7.2) Station und möchte gerne interne Variablen die in dieser angelegt sind per OPC in ein Exceldokument einlesen.
    Mache ich dies lokal funtkioniert das erstmal ganz gut mit dem Beispielprojekt das in der WinCC Onlinehilfe hinterlegt ist. Jetzt möchte ich aber das ganze von einem Remote PC aus versuchen.
    Ich habe auf dem Remote die gleiche Excel version wie bei der WInCC Staion (Excel 2003) binde da nun meine sopcdaauto.dll ein (im VB Editor unter Verweise) die ich von der WinCC Staion kopiert hab und starte das selbe Markro in Excel.

    Dann kommt folgende Fehlermeldung: "Lizenzierungsinformationen für diese Komponente nicht gefunden. Sie verfügen nicht über die erforderliche Lizenz, um dieses Funktionsmerk in der Entwurfsumgebeung zu nutzen zu können.

    Starte ich nun im VB Editor das Makro starte kommt eine andere Fehlermeldung und zwar: "Objeterstellung durch active-X-Komponente nicht möglich"

    Bei der ersten Fehler habe ich keinen blassen schimmer warum diese kommt. Mit der zweiten könnte ich mir noch vorstellen das es was mit den Com einstellungen zu tun hat. Ich hab jetzt schon zig Stunden verbraucht das Probelm zu lösen komme aber um keinen Millimeter weiter.

    Folgende Einstellunge habe ich schon vorgenommen.

    1.Firewall beider Pc's aus
    2.Benutzerrechte passen auch (gleicher Benutzer mit gleichem PW) Dateifragegabe usw funktioniert tadellos
    3.in den Comstettings bzw bei der Comsicherheit bei den Zugriffsberechtigungen und Start- bzw. Aktivierungsberechtigungen den angemeldeten Benutzer eingetragen mit Vollzugriff auf alles (lokaler Zugriff, Remote Zugriff, Lokaler Start, Remotestart, lokale Aktivierung, Remoteaktivierung auf Zulassen) und im zweiten Schritt auch noch den Benutzer "Jeder" mit Vollzugriff ausgestatet. Dies auf der Wincc Staion und dem OPC Client
    4. in der DCom Konfiguration(der WinCC Station) unter den Eigenschaften des OPC.ServerWinCC bei Sicherheit in den Start- und Aktivierungsberechtigungen, den Zugriffsberechtigungen und den Konfigurationsberechtigungen auch Vollzugriff des Benutzer "Jeder" eingestellt

    Irgendwer noch Idee ich lauf nämlich bald noch die Wände hoch hier.


    ps. WinCC Station ist ein IPC mit Win7 64bit und der Client ein Win7 32bit, Client mit Win 7 64 Bit auch schon ausprobiert selbe Fehlermeldungen
    pps.: mit dem OPC Scout kann ich vom Remote pc aus die Variablen sehen lesen und schreiben.

    ppps. ich poste mal nich den code

    Code:
    Option Explicit
    
    Option Base 1
    
    
    Const ServerName = "OPCServer.WinCC"
    
    
    Dim WithEvents MyOPCServer As OPCServer
    
    Dim WithEvents MyOPCGroup As OPCGroup
    
    Dim MyOPCGroupColl As OPCGroups
    
    Dim MyOPCItemColl As OPCItems
    
    Dim MyOPCItems As OPCItems
    
    Dim MyOPCItem As OPCItem
    
    
    Dim ClientHandles(1) As Long
    
    Dim ServerHandles() As Long
    
    Dim Values(1) As Variant
    
    Dim Errors() As Long
    
    Dim ItemIDs(1) As String
    
    Dim GroupName As String
    
    Dim NodeName As String
    
    
    '---------------------------------------------------------------------
    
    ' Sub StartClient()
    
    ' Purpose: Connect to OPC_server, create group and add item
    
    '---------------------------------------------------------------------
    
    Sub StartClient()
    
    ' On Error GoTo ErrorHandler
    
    '----------- We freely can choose a ClientHandle and GroupName
    
    ClientHandles(1) = 1
    
    GroupName = "MyGroup"
    
    '----------- Get the ItemID
    
    NodeName = "OPC-Server
    
    ItemIDs(1) = "testvar"
    
    '----------- Get an instance of the OPC-Server
    
    Set MyOPCServer = New OPCServer
    
    MyOPCServer.Connect ServerName, NodeName
    
    
    Set MyOPCGroupColl = MyOPCServer.OPCGroups
    
    '----------- Set the default active state for adding groups
    
    MyOPCGroupColl.DefaultGroupIsActive = True
    
    '----------- Add our group to the Collection
    
    Set MyOPCGroup = MyOPCGroupColl.Add(GroupName)
    
    
    Set MyOPCItemColl = MyOPCGroup.OPCItems
    
    '----------- Add one item, ServerHandles are returned
    
    MyOPCItemColl.AddItems 1, ItemIDs, ClientHandles, ServerHandles, Errors
    
    '----------- A group that is subscribed receives asynchronous notifications
    
    MyOPCGroup.IsSubscribed = True
    
    Exit Sub
    
    
    ErrorHandler:
    
    MsgBox "Error: " & Err.Description, vbCritical, "ERROR"
    
    End Sub
    
    
    '---------------------------------------------------------------------
    
    ' Sub StopClient()
    
    ' Purpose: Release the objects and disconnect from the server
    
    '---------------------------------------------------------------------
    
    Sub StopClient()
    
    '----------- Release the Group and Server objects
    
    MyOPCGroupColl.RemoveAll
    
    '----------- Disconnect from the server and clean up
    
    MyOPCServer.Disconnect
    
    Set MyOPCItemColl = Nothing
    
    Set MyOPCGroup = Nothing
    
    Set MyOPCGroupColl = Nothing
    
    Set MyOPCServer = Nothing
    
    End Sub
    
    
    '---------------------------------------------------------------------
    
    ' Sub MyOPCGroup_DataChange()
    
    ' Purpose: This event is fired when a value, quality or timestamp in our Group has changed
    
    '---------------------------------------------------------------------
    
    '----------- If OPC-DA Automation 2.1 is installed, use:
    
    Private Sub MyOPCGroup_DataChange(ByVal TransactionID As Long, ByVal NumItems As Long, ClientHandles() As Long, ItemValues() As Variant, Qualities() As Long, TimeStamps() As Date)
    
    '----------- Set the spreadsheet cell values to the values read
    
    Range("B2").Value = CStr(ItemValues(1))
    
    Range("C2").Value = Hex(Qualities(1))
    
    Range("D2").Value = CStr(TimeStamps(1))
    
    End Sub
    
    
    '---------------------------------------------------------------------
    
    ' Sub worksheet_change()
    
    ' Purpose: This event is fired when our worksheet changes, so we can write a new value
    
    '---------------------------------------------------------------------
    
    Private Sub worksheet_change(ByVal Selection As Range)
    
    '----------- Only if cell "B3" changes, write this value
    
    If Selection <> Range("B3") Then Exit Sub
    
    Values(1) = Selection.Cells.Value
    
    '----------- Write the new value in synchronous mode
    
    MyOPCGroup.SyncWrite 1, ServerHandles, Values, Errors
    
    End Sub
    Zitieren Zitieren WinCC OPC Variablen mit Excel auslesen  

  2. #2
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Remote OPC ist immer fummelig, aber wenn es mit einem anderen OPC-Client funktioniert sollten die Sicherheitseinstellungen schonmal stimmen.

    Was ich problematisch finde, ist dass du die sopcdaauto.dll einfach herüberkopiert hast. Normalerweise muss diese registriert werden. Wie das geht findet man zumindest zur originalen opcdaauto.dll (ohne s, die dll ist von Siemens). Ob das für die Siemens dll auch so gilt weiß ich nicht.
    Wenn du die OPC Core Components nachinstallierst, sollte auch die opcdaauto.dll vorhanden, und hoffentlich korrekt registriert sein.

  3. #3
    matki ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.01.2015
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Die Idee mit dem Wrapper hatte ich auch schon,
    hab mir heute schon die opc-core-components-3.00.105-release- von der OPC Foundation runtergeladen hab aber nach der installation der "OPC Core Components Redistributable (x64) 105.1" und der "OPC Core Components SDK 105.1" aber keine opcdaauto.ddl auf dem Rechner gefunden. Jetzt hab ich grad noch "opc-da-automation-interface-sample-code-2.02.5.30-release-" gefunden evtl ist sie ja hier dabei ich teste gleich mal.

    Auf alle Fälle danke schon mal für deine Hilfe

    €: ok Fortschritt erkennbar ich habs jetzt nicht hinbekommen die opcdadauto.dll auf meinem Testrechner zu installieren. Aber ich hatte noch ne VM rumliegen mit Simatic Net 8.2 drauf, da excel installiert mit dem Siemens wrapper gleiches Problem dann auf dem Standart OPC Wrapper der offensichtlich bei einer Simatic Net-Installation mitdabei ist und ausprobiert -> geht wie geschmiert. Da ich nun Siamtic-Net ungern auf dem Remote client installieren möchte folgende frage

    -> gibts irgendwo ne Anleitung für Dummys wie man die opcdaauto.dll richtig installiert bzw. registriert ? (ich mein diese datei runterladen dann diese datei ausführen .... usw, tun wir einfach mal so als ob ich mich nicht auskennen würde...)

    2€: jetzt gehts, Lösung nicht schön ich versteh sie auch nicht wirklich aber mir egal ich lass es erstmal so

    Das Ganze mit Adminrechten
    1. opc-core-components runtergeladen und installiert
    2. die opcdaauto.dll von einem anderen rechner kopiert in den System32 ordner
    3. Registriert mit cmd eintrag -> REGSVR32 "%WINDIR%\System32\OPCDAAuto.dll"
    4 . und abschließend halt im Vb Projekt auf die OpcDaAuto.dll verwiesen nicht auf die Siemens dll
    5. Fertig und es geht jetzt

    Abschließend halt die ganzen Rechte von Jeder auf den bestimmten Benutzer umgestellt Firewall wieder ein +Regeln für Excel eingefügt

    Danke nochmal Thomas_v2.1 für deinen Anstoß hat mich auf alle Fälle auf den richtigen Weg gebracht


    mfg
    Matki
    Geändert von matki (24.01.2015 um 19:26 Uhr)

Ähnliche Themen

  1. Antworten: 21
    Letzter Beitrag: 07.08.2012, 09:59
  2. Antworten: 4
    Letzter Beitrag: 19.08.2010, 10:34
  3. Antworten: 1
    Letzter Beitrag: 02.03.2009, 13:04
  4. Antworten: 1
    Letzter Beitrag: 08.02.2006, 13:40
  5. prozeßdaten mit excel aus einem siemens opc server auslesen
    Von frankL im Forum Programmierstrategien
    Antworten: 1
    Letzter Beitrag: 04.01.2006, 12:27

Lesezeichen

Berechtigungen

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