发表于:2007-09-20 22:49:00
4楼
这个,说来还是话长。。。
OPC服务器的开发,主要工作分两部分,一是OPC接口的实现,另一个则是针对具体设备通讯协议的开发。
对于OPC接口的实现,一般没有必要从头开始造轮子,除非是有实力的大公司或对这个感兴趣的个人,通常是选择一个OPC服务器开发工具,这样就可以把精力集中在驱动部分。
至于驱动开发部分,因为目前最常用的OPC DA 2.0协议采用了数据订阅/回调机制,所以通常需要OPC服务器主动去更新数据,而不是当接收到客户的同步/异步读请求之后再去读现场数据。
服务器的主动更新机制一般需要有专门的线程去定期扫描现场数据,或者简单些,做个定时器定期扫描。对有些可主动发送数据的设备则只处理好接收就可以了。
实际上如果借助于OPC开发工具,搞懂其结构原理,同时熟悉设备驱动协议的话,开发OPC服务器并不是难事。如何保证服务器的可靠性及效率,才是开发OPC服务器软件产品过程中最头疼的。
有时间我会写些更详细的东西放在blog里,和大家一起讨论。