引言
西门子工控产品在工控领域应用市场中有较高的占有率,S7-200系列PLC是西门子SIMATIC PLC家族中的成员之一,在西门子工控领域应用中占有重要地位。S7-200系列PLC体积小,软硬件功能强大,系统配置方便,一推向市场就在各行各业得到了广泛应用。但是在实际工程应用中经常会遇到监控计算机与S7-200系列PLC通信的问题。由于西门子公司的监控组态软件WinCC中没有集成S7-200系列PLC的通信驱动程序,所以S7-200不能直接和WinCC相连;S7-200系列PLC的通信协议也不公开,应用第三方软件编制监控程序也有问题。这些问题给S7-200系列PLC的应用带来了一定的限制,本文通过某一工程实例探索了一些使用S7-200作为下位控制器,使用国产组态软件组态王作为上位监控软件进行通信的方法。
1 系统简介
某大楼共有19层,在每个楼层上都安装了几个电动开窗器用于通风和消防安全。出于集中管理和消防安全的需要,采用分布式控制系统进行控制和管理,在中央控制室设置了一台管理计算机,用于管理和监控。窗的开关信号和实际开关反馈状态接到了现场控制器上,通过中央控制室的计算机就能监视窗的开关状态,远程对电动窗进行开启、关闭操作,方便管理;另有一路雨量感应信号和消防控制信号接到现场控制器上,用于下雨时自动关窗,有火灾报警时自动开窗。对控制对象和要求进行分析后决定采用西门子S7-200系列PLC作为现场控制器组成PLC网络,每台PLC作为一个分布式控制器对相应的电动窗进行监控。在中控计算机上安装组态软件组态王和PLC网络通信,实现对电动窗的管理和监控工作。
2 控制系统结构
整个控制系统的结构如图1所示,每台PLC负责3个楼层的电动窗的开关和状态监视,PLC的安装位置为3个楼层的中间层。在系统中使用了6台S7-200CPU224作为现场控制器。由于S7-200 PLC不能直接通过PPI端口互连组成网络与主控计算机进行通信,若要增加连网功能必须要增加通信模块,如增加EM 277进行Proffbus通信,这样势必会增加项目的成本。出于满足功能和控制成本的考虑,在控制系统结构的构成上采用了一台PLC作为主控PLC与其他PLC进行通信,采集其他PLC的信息,发送指令给其他PLC;主控PLC又与上位机通信,将采集到的其他PLC的信息传送到主控计算机,同时将主控计算的指令发送到其他PLC。
在PLC型号的选择上,主控PLC选用CPU224XP,其余PLC选用CPU 224。如图1所示,1号PLC作为主控PLC不仅要完成自身楼层的逻辑控制,还要完成跟其他PLC之间的通信用于数据采集,以及与上位管理计算机的通信。CPU 224XP有2个PPI口,其中port0通过PC/PPI电缆与主控计算机连接,port1以菊花链的连接方式与其他PLC连成一个PLC网络。由于PLC与PLC之间的通信电缆的长度不是很长,PLC的端口电气特性上为RS 485信号,所以PLC与PLC的连接直接使用通信电缆连接,未进行信号放大。在PLC网络的起始站点和最后一个站点上安装了终端电阻。
在主控计算机上使用PC/PPI编程电缆直接与主控PLC相连进行通信。软件上安装了组态软件组态王,使用PPI协议驱动与主控PLC建立通信。主控PLC利用S7-200的网络读/写指令直接读/写其他PLC的寄存器区,以此进行信息交换和完成控制功能。
3 控制程序和组态
电动窗控制系统的控制要求如下:(1)当本层发生火警时,控制本楼层的所有窗打开(其他楼层窗不开),此时其他任何控制(如开关、风雨信号、中控等)都不能关窗;当火警撤销时,其他任何控制可正常工作。
(2)当刮风下雨时,控制本栋楼的所有窗关闭,此时开关和中控不能开窗,但当此时本层有火警发生时,本层所有窗要打开;当风雨停后,开关和总控可正常工作。
由此可见,消防信号的级别最高,当某层有消防信号过来时,不论此时窗户处于何种状态都必须打开,其他操作无效;其次为风雨信号,若没有消防信号,所有的窗户都应该关闭,其他操作无效;最后是正常的开关信号,包括就地开关的信号和来自中控计算机的信号。根据上述要求,编写了相应的PLC程序,以某扇窗户为例,其控制程序如图2所示。
对于主控PLC除了要完成相应楼层电动窗的逻辑控制以外,还要完成其他PLC的信息采集,以及将上位机的指令传送到其他PLC的任务。通过将所有的PLC组成一个PPI网络,主控PLC作为PPI主站,在主控PLC中规划特定的存储区域,使用S7-200的网络读/写指令就能很好满足要求。通过这种方式只需在主控PLC端进行必要的设置和编程,在其他PLC端不需要作任何设置。在主控PLC中调用网络读指令NetR将其他PLC的信息读过来,使用网络写指令将主控计算机的指令发送到其他PLC。
在一个PPI网络中,与一个从站通信的主站的个数并没有限制,但是一个网络中主站的个数不能超过32个。主站既可以读/写从站的数据,也可以读/写主站的数据。也就是说,S7-200作为PPI主站时,仍然可以作为从站响应其他主站的数据请求。一个主站CPU可以读/写网络中任何其他CPU的数据。
在S7-200的编程软件S7-200 M IC ro/Win中有一个网络读/写指令的配置向导,只要简单地使用向导进行配置,便会自动生成一段通信子程序,在主控PLC的主程序中调用这段子程序就可以方便地实现主控PLC与其他PPI从PLC的通信。如图3所示,向导将3号PPI从站MB2~MB4的数据取出后存到本地PLC(主控PLC)的MB20~MB22区域,同时本地PLC又将MB17~MB18的数据写到了3号PLC的MB20~MB31区域。通过这个方式,将远程PLC的信息存到特定的区域,将主控PLC的指令写到远程PLC的特定区域就能非常方便地实现信息交换。
网络指令向导完成后,编程软件会自动生成一个名为NET_EXE的通信子程序,在主控PLC的主程序中调用这段通信程序,如图4所示。与此同时要将PPI从站PLC的地址用编程软件进行设置,使之与指令向导中调用的PLC地址匹配,在硬件通信链路都正常情况下,主控PLC就能实现对整个PPI网络中从站PLC的通信。需注意在PPI网络中每个站的地址不能重复。
主控电脑中的组态软件通过PC/PPI电缆与主控PLC CPU224XP的port0建立连接,主控PLC的另一端口port1通过PPI网络与其他PLC相连。主控PLC中安装了组态软件组态王,组态中有PPI的驱动,只需采用PPI接口组态王就能直接主控PLC建立连接。主控计算机只跟主控PLC通信,读取特定区域寄存器数据,将指令写到特定区域中。主控PLC再将这些数据通过PPI网络送到相应的PLC中。通过这种方式实现了主控计算机对整幢楼的电动窗的监控工作。
4 结语
在某大楼的电动窗监控系统中,通过设立一个主控PLC建立PPI网络与其他PLC进行通信,并使用组态软件与主控PLC通信,将监控信息发送至主控PLC,由主控PLC与其他PLC进行信息交换的方式,很好地实现了对大楼电动窗的监控。该系统调试完成使用至今,运行正常。通过这种方式进行PLC组网具有一定的参考价值。
评论排行