运用OPC实现WinCC与西门子SIMOTION的通讯
项目简介
在国家某重点科研生产单位的战略开发型项目中,其工艺要求是在生产加工过程中,需要对加工的大型部件进行精确的调姿,这就需要对承载加工部件的若干根pogo拄进行精确的同步、等位移控制。从而避免由于pogo拄的等时运动偏差过大而导致加工部件的钢性结构被破坏的情况发生。
为了保证项目积极稳妥的推进直至最后成功,项目组决定其电气控制系统采用西门子产品。其中西门子新一代运动控制系统simotiond445+ sinamicss120伺服驱动系统负责对承载大型加工部件的若干根pogo柱进行精确的位置同步控制,以保证加工的精密性符合生产需要。同时,其上位监控系统由原来基于操作员面板的protool组态软件更换为功能更为强大的基于pc机系统的wincc,从而保证了从simotion中采集到的基础数据在计算机中可以进行二次开发。
控制系统构成
除以上所描述的系统需求外,项目还要求网络中的运动控制器和操作员面板的系统时间与上位监控计算机保持一致,即达到时间同步功能。现场运动控制和采集系统的硬件组成由图1加以说明:
![](http://www.ofweek.com/Upload/News/2012-10//siliver/10_29/1/q1.jpg)
伺服驱动系统采用西门子全新的驱动器sinamics s120系列。
sinamics s120采用了完美的模块化设计,将智能控制单元和功率单元相分离。其中,控制单元采用西门子simotiond445。各单元之间通过全新通讯标准-drive-cliq串行数字总线相连接。
各远程分布式i/o和操作员面板通过标准的profibus工业现场总线与驱动系统相连。同时,simotiond445提供的标准工业以太网接口使其可连接到广域网上,与上位计算机进行数据交换。其数据信息流见图2:
![](http://www.ofweek.com/Upload/News/2012-10//siliver/10_29/1/q2.jpg)
上位监控系统采用西门子wincc,其通讯采用的是opc技术。
操作员面板采用西门子wincc flexible组态软件。
上位机wincc,simotion d445和操作员面板winccflexible要实现时间同步功能。系统功能实现由于西门子的上位监控软件protool提供了基于运动控制器simotion的通讯驱动,因此可以通过简单的组态实现与simotion的通讯,继而将数据取入计算机中。
与protool不同,由于wincc本身没有提供直接与simotion通讯的驱动程序,因此无法通过组态实现通讯。考虑到simotion的编程软件scoutv4.0可以将运动控制器中的变量表生成标准的opc文件后被计算机上的simatic net软件所加载,而simaticnet又提供了标准的opc通讯接口,因此可以实现与监控软件wincc的数据通讯。
这样,wincc作为opc通讯的客户端,simaticnet作为opc通讯的服务器,而simotion通过自身生成的标准的opc文件与simaticnet进行连接,从而实现了数据由底层最终到上层的传递。其性能完全可以替代protool的作用。
通讯准备条件
为实现数据的连通,上位机应安装相应的操作系统和应用软件,目前项目服务器上安装了以下西门子组态和编程软件,其名称和功能描述如下所述:
windows server 2003 standard edition multi-language sp1
step7 v5.4 sp1用于plc编程和组态opc服务器。
simotion scout v4.0 hf8 用于simotion编程和生成动态的opc文件
wincc v6.2亚洲版 作为标准的opc客户端与opc服务器建立通讯连接。
simatic net 2006 hf1导入simotionscout生成的动态opc文件并作为标准的opc服务器为客户机提供数据源。
服务器与simotion控制单元通过标准的工业以太网相连接。保持同一网段。
将scout变量表导出为动态的opc文件
在simotionscout中,不同的逻辑程序块对应着不同的变量symbol表,这就需要将不同变量表中的通讯变量导入到统一的watchtable中。为此,首先在scout中的programs一栏中右键点击insert watchtable建立通讯表并取名为time_synchr。
在各个变量symbol表中选中要加载的变量,右键选择add to watchtable功能后选择刚生成的watch table表导入,如图3。
![](http://www.ofweek.com/Upload/News/2012-10//siliver/10_29/1/q3.jpg)
生成用于通讯的watchtable后,需要将其导出为标准的opc文件。为此需要点击菜单栏的options选项并选择export opc data。。.一栏,在接下来弹出的组态菜单中选择simatic net的版本和刚刚生成的watch table表名,如图4。
![](http://www.ofweek.com/Upload/News/2012-10//siliver/10_29/1/q4.jpg)
在接下来的操作中要注意,因为simotiond445提供了两个标准的以太网接口,标识分别为x120和x220。因此,在接下来的步骤中,要选对协议和与服务器建立连接的以太网端口编号,项目中使用的端口是x120。选择协议和通讯端口,如图5所示。
![](http://www.ofweek.com/Upload/News/2012-10//siliver/10_29/1/q5.jpg)
opc服务器与simotions7连接通讯的组态
将simotion的通讯变量导出成opc文件之后,下一步则建立opc服务器,组态需要在安装的simaticnet中进行,其步骤与simatic net通过s7connection与西门子标准plc连接并作为opc服务器的组态过程一致:
在桌面右下角的station configurationeditor中插入opc server和ie general,并为网卡配置ip地址。
在simatic manager中组态pcstation站。具体为插入一个新的pc站,在pc站的hw config中分别组态opc server和ie general,将iegeneral配置到和simotion统一网络中。
进入netpro环境组态s7 connection,在这里需要注意的是在localid一栏中需要填入simotion scout中项目的设备名称,即d445,并为其分配ip地址。
在netpro中编译建立了s7connection后,下载到pc station到本机。
在simatic net中配置configuration consoleopc
服务器建立完毕之后,需要在simatic net中导入simotion scout生成的动态opc文件。这样,simotiond445即与opc服务器建立了动态的数据链路。接下来wincc作为opc客户端就可以从服务器上读取simotion的数据了。
首先在计算机“开始”菜单中打开simatic net的configuration console。进入到组态界面后,在application栏中依次点击选择opcsetting和symbols,之后点击右边的edit list按钮。
在弹出的界面中,如图6,点击browser按钮,寻找到生成的opc文件并将其加载进来。一般,文件存储的默认路径为:
![](http://www.ofweek.com/Upload/News/2012-10//siliver/10_29/1/q6.jpg)
c:\programme\siemens\simatic.net\opc2\bins7\simotion\xml。
最后,在configuration console中设置访问节点。即选中当前服务器与simotion d445通讯的以太网卡。
通讯成功后,可以使用simatic net自带的opc客户端软件opc scout来对通讯进行检测,确认是否opc服务器与simotion已经建立了通讯连接。
建立wincc与simaticnet的opc通讯
打开wincc项目后,在tag management变量管理器中加载opc.chn协议。右键点击协议的system parameter后可在窗口中浏览到opc.simaticnet。选中opc.simaticnet并点击browser server按钮,即可进入opc变量管理器中。图7为浏览可用的opc server。
![](http://www.ofweek.com/Upload/News/2012-10//siliver/10_29/1/q7.jpg)
在\sym中可以看到名为d445的设备以及包含的所有变量组。点击每个变量组,在右侧可以浏览到相关的组变量名称,通过选择右侧要监控的变量并点击additems按钮可将其加载到wincc的opc通道中。在加载的过程中,系统会提示将在opc.chn通道中自动建立名称为opc_simaticnet的通讯连接,所有的通讯变量均可在此连接中找到。
将变量自动连接到通讯通道中后运行wincc项目,可在画面中读到opc服务器中的变量实际值,而opc服务器中的数据则来自现场的运动控制器中。至此,wincc实现了与simotion d445的数据连接,通过opc的通讯机制。图8为wincc项目监控画面。
![](http://www.ofweek.com/Upload/News/2012-10//siliver/10_29/1/q8.jpg)
上位机,运动控制器和操作员面板的时间同步功能
wincc与simotion d445之间的时间同步功能无法简单的通过wincc自带的时间同步选件来实现。因此simotion需要从wincc中获取系统时间,再将时间设置进面板中以实现三方的时间同步。具体为simotion项目中包含了两个st(structured text)单元,其中“timesync“单元包含了名为“timesync“的被周期性调用的程序,用来从wincc中读取系统时间到simotion的同时,再将系统时间写进simotion的区域指针中,以此实现与wincc flexible的时间同步。而名为“hmitimesync“的单元包含两个功能块用来在程序中生成区域指针。其内部的数据传递和接口由图9给出:
![](http://www.ofweek.com/Upload/News/2012-10//siliver/10_29/1/q9.jpg)
simotion d445作为运动控制单元,其与上位机wincc和操作面板wincc flexible的时间同步原理是相同的,都是首先通过simotion的区域指针获取要同步的时间内容,再由该指针将获取到的信息由一个接口地址区搬移到另一个接口地址区,从而实现数据的传递。因为wincc flexible本身就具有时间同步的区域指针,特别适合于做时间同步的测试,为表述清楚,下文将着重描述wincc flexible与simotion之间的同步方法。
结语
本次项目通过使用西门子新一代运动控制加伺服驱动系统simotion d445+sinamics s120,实现了对承载大型加工件的若干根pogo柱的位置同步控制,精度达到了用户要求。同时通过运用较为成熟的opc技术,使上位监控软件wincc在没有集成simotiond445通讯驱动程序的情况下与它实现了数据的动态交互,从而成功的代替较为简单的protool软件作为了整个监控系统的核心。由此可知,基于计算机com/dcom技术的opc通讯方式,在工业通讯领域的应用被证明是可行的。
目前,世界各知名自动化产品供应商都在其研发的系列新产品中集成了标准的opc通讯接口,相信随着时间的推移,opc这项新兴的通讯技术会越来越成熟,从而在工业通讯领域中起到越来越重要的作用。
文章版权归西部工控xbgk所有,未经许可不得转载。