OPC在自控系统的应用

这段时间一直在做工业自动控制方面的项目,PLC使用的是Siemens,当时上位机用的是Siemens的WinCC,其使用的改的不伦不类的C,让我实在无法忍受,缺少事件驱动,简直不能称之为现代软件。在Siemens的BBS上潜水多日以及跟北京的工程师浪费无数口水之后,终于找到了我认为是将来自控软件应用的方向,OPC
OPC分两大部分,一是OPC Server,一是OPC Client。OPC Server是基于DCOM的组件对象,负责连通PLC,类似一个Adapter,各个PLC厂家分别有针对自己PLC的OPC Server,也有第三方提供的。
OPC Client其实只是根据OPC协议而自己实现的应用程序。目前有很多第三方厂商提供For .Net或者Delphi的OPC Client的Components。应用开发者只需使用组件读取OPC Server提供的数据即可。
所以OPC类似ADO所起的作用,只是分成了Client和Server而已。应用程序通过ADO可以方便的Connect各种数据库,而不必考虑连接的具体实现。同样的,只要配好了OPC Server至PLC的连接,应用程序的撰写者便无需考虑该调用什么Lib去连PLC,只需通过标准的OPC Client去连OPC Server即可。
OPC Client的Components厂商有很多,在OPC Programmer\’s Connection上有介绍,我本来用的是Kassl的dOPC,但只有trial的,附带源码的全套要500$,trial的使用起来也没什么不妥,只是程序启动时,会跳出一个提示框,以提醒你去它的网站看看。
结果有一天因为要用到工控界面组件,所以下载了ioComp,结果意外的发现ioComp也实现了OPC的Client,看来即使在略显保守的工业控制行业,新技术以及标准化的步伐仍然是抵挡不住的。
 
使用OPC的好处有如下几点:
1、因为通过OPC连接PLC,所以应用程序的开发可以使用任何开发工具,例如Delphi,C#,VB等,而无需局限在PLC厂商提供的蹩脚的开发工具,从而降低程序员的学习成本和公司的用人成本。
2、由于OPC是一个Adapter,所以如果PLC发生了变化,上位机与PLC的互连只需更换一个OPC Server即可。
毫不夸张的说,OPC代表了下位机与上位机互连的方向,有了OPC,我们可以按自己喜好选择上位开发工具,生产力的提高是显而易见的。
 
相关资料:
 
西门子中文论坛:http://www.ad.siemens.com.cn/club/
 

版权声明:本文为Kane原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/kane/archive/2004/09/22/45629.aspx