OPC使用过程中错误

1、 CLSIDFromProgID 函数调用失败

错误码:0x800401F3
解决方法:
不同服务器间通过 CLSIDFromProgID() 函数解析 OPC服务器ProgID失败,目前未找到相应的解决方法。博主直接从注册表中获取UUID(注册表:计算机\HKEY_CLASSES_ROOT*ProgID*),跳过解析,再通过 CLSIDFromString()函数将UUID转换。

2、 AddGroup返回OPC_S_UNSUPPORTEDRATE

错误码:0x0004000DL
解决方法:该问题由于设置的 dwRequestedUpdateRate 与服务器不同导致的,依据 pRevisedUpdateRate 返回值,设置dwRequestedUpdateRate即可。

3、OPCITEMDEF *m_pItemArray问题

CString strOPCItem = "opcitem1";
BSTR bstr = strOPCItem.AllocSysString();
m_pItemArray[i].szItemID = bstr;//szItemID为指针类型,注意调用SysFreeString(bstr);,防止资源提前释放造成数据项添加失败
SysFreeString(bstr);

你可能感兴趣的:(OPC)