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/
 

posted on 2004-09-22 18:24 kane 阅读(5864) 评论(14) 编辑 收藏

评论

#1楼  回复 引用   

我是搞工业自动化类软件开发的,从业十几年了,看到你有这样的见解,很想和你交个朋友。QQ:147957362
2005-01-22 15:02 | xpe

#2楼  回复 引用 查看   

第一次使用cnBlogs,就看到你写的东西,有同感。
2006-06-01 13:57 | 网员      

#3楼  回复 引用   

正在搞s7200和vb的通信,查了点资料看到opc,如果有免费的话,打算试试
2006-09-05 09:38 | perface[未注册用户]

#4楼  回复 引用   

  我的一直在研究OPC在生产和企业管理中的应用.我们可否联系一下.交流一下经验想法.一起将这个工作做下去.

  提一下,在S7/200上就不要用OPC了.西门子的软件很贵的.你可以考虑可以VB进行MPI通讯.
2006-12-08 15:15 | 鹏鹏[未注册用户]

#5楼  回复 引用   

  OPC程序带的客户端都不可以进行数据的保存和操作.需要使用高级语言自己开发OPC的客户端.
  我研究的就是自己开发OPC的客户端.第一将集成工厂的设备.包括不同厂商的不同设备,将它们集成到一起.第二将生产数据及时反映到管理层和决策层,为企业管理所用.
2006-12-08 15:26 | 鹏鹏[未注册用户]

#6楼  回复 引用 查看   

正在准备使用这项技术。以后多多向你学习
2007-03-21 20:41 | 音乐虫子      

#7楼  回复 引用   

我有一个opc client C#写的,有OpcRcw.Comn.dll and OpcRcw.Da.dll,是哪个厂商的组件啊,急啊。
如果您知道,邮件告诉我吧littlebird_001@163.com,或者发qq17451096
2007-03-22 22:19 | hoohoo[未注册用户]

#8楼  回复 引用   

顶,以后多交流
2007-04-18 17:11 | 宁[未注册用户]

#9楼  回复 引用   

此文没有提到用什么OPC server。 请问能提供支持30个左右S7-200PLC的OPC server 软件吗?我有项目合作。
2007-05-27 20:01 | 希望合作[未注册用户]

#10楼  回复 引用   

您好,我觉得你的文章写得非常有用,所以我在我的博客上转载了一下
博客地址:http://shu84.cn
如果您不同意转载,请E-mail联系我
2008-06-06 09:19 | 小锋~[未注册用户]

#11楼  回复 引用   

你好:
我是一名西门子PLC爱好者,在学习中遇到一些难题,想请那位专家指点一下,非常感谢!
S7-5.4仿真状态下能和InTouch通讯吗,应该如何设置,诚心请专家指点



一名PLC好受者
2008-10-23 11:25 | dzh[未注册用户]

#12楼  回复 引用   

LZ 你好,我原来都是用 232 、485的通信方式和仪表向连接,前几天有个用户提出通过opc 方式连接PLC ,原来没接触过opc 所以希望LZ 帮帮忙 ,我想用C# 做个opcClient 去读数据 ,QQ 496211927
2008-12-05 13:54 | liyangguang[未注册用户]

#13楼[楼主]  回复 引用 查看   

@liyangguang
自己做OPCCLIENT需要调用OPC FOUNDATION的组件,你可以使用现成的.Net OPC控件
2008-12-05 15:41 | kane      

#14楼[楼主]  回复 引用 查看   

仿真应该不可以
--引用--------------------------------------------------
dzh: 你好:
我是一名西门子PLC爱好者,在学习中遇到一些难题,想请那位专家指点一下,非常感谢!
S7-5.4仿真状态下能和InTouch通讯吗,应该如何设置,诚心请专家指点



一名PLC好受者
--------------------------------------------------------
2008-12-05 15:42 | kane      

导航

<2004年9月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

公告

昵称:kane
园龄:7年8个月
粉丝:2
关注:1

搜索

 
 

常用链接

我的标签

随笔档案

博客收藏

最新评论

阅读排行榜

评论排行榜

推荐排行榜