-> 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
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