在以前的文章中,我提到过在BCB中使用IOCOMP组件作为OPC客户端读取OPCServer的数据,程序写完之后,运行了一段时间出现了错误,就是读取的数据和Server端的数据不一致,原因在哪里我研究了很长的时间。又不得不从头查找OPC到底是什么?至于什么是OPC只要百度一下,答案不在少数。当然我先说明,我自己不是工控专业的,从来也没有接触过这个行业,这次是因为公司的业务上的需求接触到了,我也不想照抄其他人的解释了,有需要知道的,最好查一下,找个专业点的解释,(暂时相信权威吧),不过国外的网站上的说明还是很值得看的。我说说自己的理解,许多工业上的运行设备,尤其是大型设备,人们通常需要控制这些设备,还有在设备上安装一些采集器、传感器查看设备是否正常运行等等。这个过程中就产生大量的数据,OPC就是对这些数据采取统一的存取规范,并逐步成为工业标准,在国外有专门的OPC基金会维护管理这个标准。目前我所能体会到的他的好处是:如果设备距离办公环境较远,有了OPC就可以在自己的计算机上查看设备运行数据,不必到设备的运行现场查看,叫做远程控制,当然这个远程控制的设置,包括线路的部署又足可以成为一门学科了,(好在我不用碰到,但愿我永远别碰到,想想都很浩大的工程).
下面说到重点了,在远程控制的计算机中OPCServer已经运行了, 如何取得数据,就是OPC客户端的编写,鉴于我有过了失败的经历,我很仔细的搜索了 OPC客户端的读取数据方式,简单的分为同步读取、异步读取(订阅也算是异步的一种吧)两种。国内的关于这方面的论文,看了不少,真正有价值的很少,而且每个和每个都差不多,唯一的区别就是结合自己的OPCServer的不同,以及编程方法的不同来说明,操作性还是很强的,能看明白过程,还是有很多的细节问题不清楚。
其中我看了
下面说到重点了,在远程控制的计算机中OPCServer已经运行了, 如何取得数据,就是OPC客户端的编写,鉴于我有过了失败的经历,我很仔细的搜索了 OPC客户端的读取数据方式,简单的分为同步读取、异步读取(订阅也算是异步的一种吧)两种。国内的关于这方面的论文,看了不少,真正有价值的很少,而且每个和每个都差不多,唯一的区别就是结合自己的OPCServer的不同,以及编程方法的不同来说明,操作性还是很强的,能看明白过程,还是有很多的细节问题不清楚。
其中我看了