欢迎来到天天文库
浏览记录
ID:41037591
大小:55.50 KB
页数:12页
时间:2019-08-14
《运用VC#编程通过OPC方式实现PC机与西门子PLC通讯》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、运用VC#编程通过OPC方式实现PC机与西门子PLC通讯(2005-11-2210:48:47)1、OPC服务介绍 西门子提供的最新软件:SimaticNetPC-SoftwareCD2005为各种组态软件的开发提供了一个统一的平台,它建立的PC站既为一些组态软件,如:WinCC、Protol等提供了与PLC的通讯平台,也提供了一套编程接口,可使用高级语言编程通过SimaticNet访问PLC数据。本文讨论的主要就是这个编程接口,最新版的SimaticNET支持五种编程方式:<1>、ActiveX控件 提供了一系列数据访问控件,以便于向VB6这种语言使用控件的方式与PLC通讯。<2>
2、、OPC自动化为VB6、Dephi等语言运用OLE自动化的方式进行编程。<3>、OPC用户接口 这是专门为VC++提供的一种高效编程方式,其灵活程度与执行效率比前面的两种方式均要高得多。<4>、针对微软的.NET平台的OPC用户接口 这也是一种非常灵活的编程接口,不过它针对的是.NET平台,其提供了大量的.NET类库,以便于像VC#、VB.NET等高级语言编程。本文将详细的介绍该接口。<5>、OPLXML接口 顾名思义,主要是针对XML编程的。 对于<2>、<3>、<4>编程方式,他们各自又可以分为同步访问方式和异步访问方式。按西门子的文档解释:同步通讯指的是当一个客户在访问服务
3、器时,其他客户的访问必须等待,直到服务器处理完该客户的请求,才能继续进行下一个服务,异步访问与之正好相反,本文主要讲的是同步编程篇,异步篇以后再提供。2、配置OPC服务器 要进行编程,必须先配置服务器。本文以PrfibusDP网络为例,介绍PC站的配置。其内容主要来自西门子文档。需要的软件:Step7V5.3SimaticNetPC-SoftwareCD2005需要的硬件: 至少为CP5611或以上级别,笔记本可以为CP5511,带DP口的S7-300PLC(若使用SimaticNET的仿真功能可以不需要这些硬件,后面会介绍到) <1>、组态一个S7站,配置ProfibusDP网络
4、,其DP地址设为3,并下载到PLC,然后把网线由MPI口转到DP口。S7站的配置这里就不介绍了。 <2>、在Step7V5.3中建立一个新工程,插入一个PC站,并把该PC站的名字改成与你的计算机名字相同。打开该PC站的硬件组态界面。插入OPC服务器和连接卡CP5611(或者CP5511),他们在PC槽中处的位置可以任意,如下图: 注:在插入CP5611时,应该选择与组态S7站一样的Profibus网络,并将网络地址设为2,一定不要与PLC的地址冲突。 然后点击下面工具条标为红色的按钮: 选中”OPCServer”,然后插入一个新的连接,如下图: 在弹出的对话框中选择连
5、接类型为S7Connection,如下图: 在OK后,然后在新对话框的红色标志位置输入3,表示PLC的地址,如下图: 并选择AddressDetails…,设置CPU的槽号为2,如下图: OK后,然后编译并保存。 <3>、然后建立OPC服务器,有两种方式,本文介绍较简单的一种。 打开,SimaticNet中的StationConfigurator,一般安装后,他会自动启动,并点击ImportStation…按钮,找到你刚才在Step7中建立PC站时创建的 XDBs文件夹下的XDB文件,然后导入成功。 <4>、可以使用SimaticNet中的OPCScout,并
6、选择SimaticNET服务,然后在它下面创建组,然后在组下创建变量,这样可以监控PLC数据,VC#编程不需要使用该程序,但熟悉使用OPCScout有利于了解SimaticNet中的编程结构。 说明:打开SimaticNet中的ConfigurationConsole,选中S7进行如下的配置后,可以不需要PLC、CP5611等并可以模拟,如下图: 上面的所有步骤,均可在ConfigurationConsole下,PCStation的根树下,选择相应的帮助文档得到。3、OPC编程<1>、西门子的变量结构如下:----------------------服务器-------------
7、-----------------/OPC.SimaticNetOPCServer.Wincc....(一系列类型的服务器)/Group1Group2Group3...(把更新时间一致的变量统一为一个组)/Item1Item2...(变量:I、Q、M、DB等,指向网络中某个PC站OPCServer服务的某个连接)-------------------------------------------------------------
此文档下载收益归作者所有