У меня проблема в моем клиентском приложении OPC с использованием OPC NET API 2.00
, поэтому, когда я хочу подключиться к серверу ABB Freelance OPC Server , он выдает исключение при вызове метода Opc.Server.Connect(Opc.ConnectData)
.Не удается подключиться к серверу ABB Freelance OPC [Нет такого интерфейса (исключение из HRESULT: 0x80004002 (E_NOINTERFACE))]
Исключение:
Unable to cast COM object of type 'System.__ComObject' to interface type 'OpcRcw.Comn.IOPCServerList2'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{9DD0B56C-AD9E-43EE-8305-487F3188BF7A}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).
Может быть проблема относится к IOPCServerList2
интерфейса:
#region Assembly OpcRcw.Comn.dll, v1.10.2.0
// C:\Windows\assembly\GAC_MSIL\OpcRcw.Comn\1.10.2.0__9a40e993cbface53\OpcRcw.Comn.dll
#endregion
using System;
using System.Runtime.InteropServices;
namespace OpcRcw.Comn
{
[Guid("9DD0B56C-AD9E-43EE-8305-487F3188BF7A")]
[InterfaceType(1)]
public interface IOPCServerList2
{
void CLSIDFromProgID(string szProgId, out Guid clsid);
void EnumClassesOfCategories(int cImplemented, Guid[] rgcatidImpl, int cRequired, Guid[] rgcatidReq, out IOPCEnumGUID ppenumClsid);
void GetClassDetails(ref Guid clsid, out string ppszProgID, out string ppszUserType, out string ppszVerIndProgID);
}
}
Да, все они работают, как ожидается, при подключении к другим маркам OPC-сервера, таким как Yokogawa или Matrikon, но не работающие на сервере ABB OPC. –
У вас есть какой-то клиентский тест opc, чтобы попробовать подключиться? – apr
Да, Matrikon и некоторые другие коммерческие клиенты opc могут подключаться и читать данные, но API .Net не удалось подключиться. –