http://www.opcfoundation.org/上的例子。现在把它们拿出来吧,大家有兴趣的可以跟我联系,不过事先说好啊,这些代码可不是免费的哦。要是需要到http://www.opcfoundation.org/下载别的资料,也可以找我们有偿服务。
OPC UA SDK 1.00 Sample Source Code Setup (x86) 500元:
OPC DA 3.00 sample code 3.50 : 200.00元
OPC XMLDA 1.00 sample code :200.00元
OPC AE 1.10sample code 2.40: 150.00元
OPC HDA 1.20 sample code 4.10:150.00元
OPC batch 2.00 sample code :150.00元
OPC Security 1.00 Sample code:150元
OPC Core Components Source Code :100元
另外附赠OPC相关规范文档,VC、VB客户端源代码, .Net API dlls.
有意者请与我们联系:QQ:564166173 和 250561779
E-mail: opcfan@163.com
MSN: zgjcc@hotmail.com
在C++中,如果要调用其它接口的方法,可以执行QueryInterface。在Visual Basic 6.0中,则可以通过执行一个Set操作实现。
如VB代码中获得OPCGroup对象,Set ConnectedServerGroup = ConnectedOPCServer.OPCGroups
可以看OPCDAauto.dll的实现代码,实际上最终也就是调用QueryInterface函数通过查询IID_IOPCGroups从而获得OPCGroups的接口指针。
HRESULT hResult = m_pGroups->QueryInterface(IID_IOPCGroups, (void**)ppGroups);
OPCDAauto.dll内部实现的具体代码如下:
STDMETHODIMP COPCAutoServer::get_OPCGroups(OPCGroups** ppGroups)
{
TRACE_FUNCTION_ENTER("COPCAutoServer::get_OPCGroups");
// check arguments.
if (!CheckByRefOutArg(ppGroups)) return E_INVALIDARG;
// initialize return parameters.
*ppGroups = NULL;
// get Interface pointer
HRESULT hResult = m_pGroups->QueryInterface(IID_IOPCGroups, (void**)ppGroups);
if (FAILED(hResult))
{
TRACE_INTERFACE_ERROR(IOPCGroups);
return hResult;
}
_ASSERTE(*ppGroups);
TRACE_FUNCTION_LEAVE();
return S_OK;
}