谁能提供一个opc server的开发工具啊??小弟感激不尽啊。。。如果有的话发到我 的邮箱779865885@qq.com。。非常非常的感激。
OPC Server的开发其实相当简单,前提是你写过COM/DCOM程序(不是用ATL和MFC框架写的,是直接在COM SDK下写的)。
使用以下几个文件:
opccomn.idl
opcda.idl
OPC DA 2.05a Specification.pdf
opc-da-3-specification.pdf
注意其中2.0异步使用了IConnectionPointContainer接口,其实就是远程回调,很好理解。
只需要OpcServer和OPCGroup两个对象即可。
不用ATL和MFC开发如下,使用C++的多重继承:
OpcServer对象包含接口:
class COPCServer :
public IOPCServer, // Server接口
public IOPCCommon, // 公共接口,主要是本地语言设置
public IOPCItemProperties, // 标签属性接口
public IOPCBrowseServerAddressSpace, // 标签枚举接口
public IConnectionPointContainer // 连接点容器接口,含IOPCShutdown通知
Group对象
class COpcGroup :
public IOPCItemMgt, // item管理接口
public IOPCGroupStateMgt,//组状态管理接口
public IOPCSyncIO2, // 同步接口2.0,从IOPCSyncIO派生而来,含1.0版IOPCSyncIO接口
public IOPCAsyncIO3, // 异步3.0,从IOPCAsyncIO2派生而来,含IOPCAsyncIO2接口
public IConnectionPointContainer // 连接点容器接口,含有IOPCDataCallback通知。
注:除1.0异步(IOPCAsyncIO,剪切板数据交换,该接口已经淘汰)外,其他都实现了。客户端优先选用2.0和3.0的异步方式。
把COM的类厂加上,注册表按照OPC规范加上即可。
无需代理/存根(因为安装OPC发行基础包后就有了)