- Posts: 372
- Thank you received: 5
Online Forums
Technical support is provided through Support Forums below. Anybody can view them; you need to Register/Login to our site (see links in upper right corner) in order to Post questions. You do not have to be a licensed user of our product.
Please read Rules for forum posts before reporting your issue or asking a question. OPC Labs team is actively monitoring the forums, and replies as soon as possible. Various technical information can also be found in our Knowledge Base. For your convenience, we have also assembled a Frequently Asked Questions page.
Do not use the Contact page for technical issues.
System.NotSupportedException: Specified method is not supported
The customer just informed us that he is able to browse DeltaV OPC items. Thank you for your great support!
Michael
Please Log in or Create an account to join the conversation.
Thank you. We have installed this latest version 5.82.423 and created a new build. It was sent to the customer and now we are waiting for the customer's answer.
Regards,
Michael
Please Log in or Create an account to join the conversation.
thank you for the answers. I cannot see anything in your code that could be causing this.
It would be easy to find the cause if we had a reproducible scenario here. Without it, we have spent quite a time trying to find possible cause, but to no avail.
This said, there is a possible "patch" that can be done, which does not resolve the (so far unknown) root cause, but should fix the problem nevertheless. We have implemented this patch in the new build of QuickOPC 2025.1, which is 5.82.423.
Please update to this latest version and rebuild your software.
Best regards
Please Log in or Create an account to join the conversation.
Please see our browsing function below.
1. I don't see any manipulation of the ServerCategories.
2. The ServerDescriptor property is under the DataItemDialog1 object. See the code below.
3. Does your code construct the ServerCategories object anywhere? - No.
4. Does your code construct the ServerElement object anywhere? The only part the references the ServerElement is below when browsing for OPC Servers:
Private Sub ButtonBrowseServers_Click_1(sender As Object, e As EventArgs) Handles ButtonBrowseServers.Click
Dim OPC_ServerName As String
Dim ComputerDesc As String
If OpcComputerAndServerDialog1.ShowDialog() = DialogResult.OK Then
ComputerDesc = OpcComputerAndServerDialog1.ComputerElement.ToString
OPC_ServerName = OpcComputerAndServerDialog1.ServerElement.ServerClass ' OpcComputerAndServerDialog1.ServerDescriptor.ToString
OPCServerName.Text = OPC_ServerName
ComputerName.Text = ComputerDesc
OPC_CLSID.Text = OpcComputerAndServerDialog1.ServerDescriptor.ClsidString
End If
End Sub
'
Friend WithEvents DaItemDialog1 As New OpcLabs.EasyOpc.DataAccess.Forms.Browsing.DAItemDialog
Public Function GlobalTagBrowseDA(lMyServer As String) As String
Dim TagName As String = ""
Dim server_properties As OPC_servers_data
Dim easyDAClient = New EasyDAClient()
If (lMyServer.Length > 0) Then
If gNET_API Then ' .NET API Client - Dec-1-2022 V2020.6 b617
easyDAClient.InstanceParameters.EnableNetApiClient = True ' Dec-1-2022 V2020.6 b617
easyDAClient.InstanceParameters.EnableNativeClient = False ' Dec-29-2021 V2020.4 b401
Else ' Native API Client
easyDAClient.InstanceParameters.EnableNetApiClient = False ' Dec-1-2022 V2020.6 b617
easyDAClient.InstanceParameters.EnableNativeClient = True ' Dec-29-2021 V2020.4 b401
End If
server_properties = GetServerPropertiesByServerName(lMyServer)
If (server_properties.Server_name.Length > 0) Then
DaItemDialog1.ServerDescriptor.MachineName = server_properties.server_comp_name
DaItemDialog1.ServerDescriptor.ServerClass = server_properties.RealServerName
If DaItemDialog1.ShowDialog() = DialogResult.OK Then
TagName = DaItemDialog1.NodeElement.ItemId
'Dim varType As VarType = easyDAClient.GetDataTypePropertyValue("", "OPCLabs.KitServer.2", "Simulation.Random")
Dim value As Object = Nothing
Dim exception As Exception = Nothing
Try ' Catch the exception May-29-2017
value = easyDAClient.GetDataTypePropertyValue(server_properties.server_comp_name, server_properties.RealServerName, TagName)
Catch ex As OpcException
exception = ex
sTagType = ""
DisplayOPCException(exception, server_properties, TagName) ' Feb-17-2022 b404 - display the exception
End Try
If (value IsNot Nothing) Then
If value.NumericalValue = 8 Then ' String
sTagType = "String"
Else
sTagType = "Numeric"
End If
End If
End If
DaItemDialog1.Reset()
Else
MsgBox("Invalid CLSID!", vbExclamation, "Error")
End If
Else
MsgBox("Select an OPC server first.", vbExclamation, "Info")
End If
GlobalTagBrowseDA = TagName
End Function
Thank you.
Michael
Please Log in or Create an account to join the conversation.
I have some additional questions:
1. Does your code somehow set or manipulate the .ServerCategories property that is in the ServerDescriptor that is passed to the OPC item browsing dialog?
2. Where does the ServerDescriptor passed to the OPC item browsing dialog come from? (for example, is it constructed manually from ProgId entered by the user, or does it come from the selection in the OPC Server browsing dialog?) Can you share the pieces of code that illustrates the origins of this value and how it gets to the OPC item browsing dialog?
3. Does your code construct the ServerCategories object anywhere? (something like "New ServerCategories")?
4. Does your code construct the ServerElement object anywhere? (something like "New ServerElement")?
Thank you, and regards
Please Log in or Create an account to join the conversation.
Best regards
Please Log in or Create an account to join the conversation.
I have sent the new version that was built with the latest version of the Nuget version(5.82.395.1). The customer installed the new version but the problem persists. See the error below.
I appreciate your support..
Thank you.
Michael
Exceptions
Type: System.NotSupportedException
Data: ErrorId_{045406CD-8EEA-4F21-B3D6-DC9DB5A34E58}: OpcLabs.{6468EA80}
HelpLink:
HResult: -2146233088 (0x80131500)
InnerException:
System.NotSupportedException: The appropriate interface was not recognized for the allowed OPCDataAccess.
The COM server supports the following interfaces:
OpcRcw.Da.IOPCBrowse (DA30): False
OpcRcw.Da.IOPCItemIO (DA30): ??
OpcRcw.Da.IOPCItemProperties (DA20): True
OpcRcw.Da.IOPCServer (DAxx): True
ServerCategories.OpcDataAccess30: False
ServerCategories.OpcDataAccess20: False
ServerCategories.OpcDataAccess10: False
This problem could be caused by:
- incorrectly installed proxy/stubs.
- problems with the DCOM security settings.
- a personal firewall (sometimes activated by default).
+ The client method called (or event/callback invoked) was 'BrowseNodes'.
at OpcLabs.EasyOpc.Implementation.NetApi.NetApiOpcServer`2.ConnectToServer(WebProxy proxy, Server server, NetworkCredential credentials, String connectionGroupName, EasyClientConnectDataParameters easyClientConnectDataParameters, ServerCategories serverCategories)
at OpcLabs.EasyOpc.Implementation.NetApi.NetApiOpcServer`2.Connect(Boolean doOnlyIfGoodStatus, Boolean callGetStatus, Exception& exception)
Data:
OpcLabs.EasyOpc.Implementation.NetApi.NetApiErrorHarmonization.Processed: True
OpcLabs.EasyOpc.Implementation.ClientErrorEnhancement.Processed: True
OpcLabs.EasyOpc.Implementation.DAClientErrorEnhancement.Processed: True
HelpLink:
HResult: -2146233067 (0x80131515)
InnerException:
Message:
The appropriate interface was not recognized for the allowed OPCDataAccess.
The COM server supports the following interfaces:
OpcRcw.Da.IOPCBrowse (DA30): False
OpcRcw.Da.IOPCItemIO (DA30): ??
OpcRcw.Da.IOPCItemProperties (DA20): True
OpcRcw.Da.IOPCServer (DAxx): True
ServerCategories.OpcDataAccess30: False
ServerCategories.OpcDataAccess20: False
ServerCategories.OpcDataAccess10: False
This problem could be caused by:
- incorrectly installed proxy/stubs.
- problems with the DCOM security settings.
- a personal firewall (sometimes activated by default).
+ The client method called (or event/callback invoked) was 'BrowseNodes'.
Source: OpcLabs.EasyOpcClassic
StackTrace:
at OpcLabs.EasyOpc.Implementation.NetApi.NetApiOpcServer`2.ConnectToServer(WebProxy proxy, Server server, NetworkCredential credentials, String connectionGroupName, EasyClientConnectDataParameters easyClientConnectDataParameters, ServerCategories serverCategories)
at OpcLabs.EasyOpc.Implementation.NetApi.NetApiOpcServer`2.Connect(Boolean doOnlyIfGoodStatus, Boolean callGetStatus, Exception& exception)
TargetSite: Void ConnectToServer(System.Net.WebProxy, Opc.Server, System.Net.NetworkCredential, System.String, OpcLabs.EasyOpc.Implementation.NetApi.EasyClientConnectDataParameters, OpcLabs.EasyOpc.ServerCategories)
DeclaringType: OpcLabs.EasyOpc.Implementation.NetApi.NetApiOpcServer`2[TNetApiOpcServer,TServer]
Module: OpcLabs.EasyOpcClassic.dll
Assembly: OpcLabs.EasyOpcClassic, Version=5.82.395.1, Culture=neutral, PublicKeyToken=6faddca41dacb409
CustomAttributes:
FullyQualifiedName: C:\Program Files (x86)\Control-See\UCME-OPC\BIN\OpcLabs.EasyOpcClassic.dll
MDStreamVersion: 131072
MetadataToken: 1
ModuleHandle: System.ModuleHandle
MDStreamVersion: 131072
ModuleVersionId: 9ceb428c-1a0c-481d-9508-b4e0990afd97
Name: OpcLabs.EasyOpcClassic.dll
ScopeName: OpcLabs.EasyOpcClassic.dll
Message: Problem browsing OPC Data Access (OPC-DA) branches.
Source:
StackTrace:
TargetSite:
Please Log in or Create an account to join the conversation.
I also wanted to verify that you take over the configuration file (generated by Visual Studio), named <your program name>.exe.config. It contains the assembly version binding redirections, so it is critical that it is included with the assemblies.
Regards
Please Log in or Create an account to join the conversation.
The problem is solved. I probably missed a few DLLs in my setup.
Thank you for your help.
Michael
Please Log in or Create an account to join the conversation.
My program runs fine (in Release mode) inside Visual Studio. I compared all DLL files in the Release folder and in my Bin folder and they are the same. See the attached text file.
Any idea how to solve?
Thank you.
Michael
Please Log in or Create an account to join the conversation.
