转自http://www.elecfans.com/soft/162/2009/2009082442891.html
另外,可在百度文库中输入“OPC服务器与客户程序开发指南”,地址为:http://wenku.baidu.com/view/983c5b563c1ec5da50e27033.html
概述
OPCClient可以用两种接口Curstominterface和automationinterface,既然用的是VC就可以直接用Curstominterface。后者是自动化接口,主要是为类似VB、Javascript等脚本语言而提供的,效率不如Curstominterface,但开发相对简单。
据说官方文档是以书的方式出售的,没有白皮书!……
OPC动态连接库
opc_aeps.dll
opccomn_ps.dll
opchda_ps.dll
opcproxy.dll
aprxdist.exe
opcenum.exe
需要完成的功能
1.连接,远程连接。
2.建组,删组,建项,删项。
3.遍历服务器点。
4.读,写,自动刷新点
步骤
1.先Get服务的CLSID,没有这个就连不上接口了。
2.通过CoCreateInstanceEx得到接口:
包括 IOPCServer(Server管理)、IOPCItemMgt(Item管理)、IOPCBrowseServerAddressSpace(浏览服务器点)、IOPCAsyncIO2(异步读写)、IOPCSyncIO(同步读写)和IOPCDataCallback(数据Callback)
3.成功得到IOPCServer就说明连接成功了。
4.m_pIServer->AddGroup(),增加组,并得到IOPCItemMgt接口。
5.m_pItemMgt->AddItems(),增加项。
6.可以用IOPCBrowseServerAddressSpace接口来得到项路径。
服务器上项的存放是以树的形式。
m_pIBrowse->ChangeBrowsePosition():到指定的位置。
m_pIBrowse->BrowseOPCItemIDs():得到某一层的所有节点。
7.同步异步方式的读写。
pIAsync2->Read(),pIAsync2->Write(),pISync->Read(),pISync->Write()
8.通过IOPCDataCallback::OnDataChange()来进行数据的自动刷新。