西门子tp系列触摸屏使用wince操作系统,具有256色彩色显示,其功能强大,显示效果较好,性价比较高,兼容市面上的大多数plc,使用其与国内广泛使用的三菱fx系列plc连接,各取所长,可谓相得益彰,但在实际应用中发现,组态警报消息复杂。本文以在组态软件protool中的操作为例,详细介绍了操作步骤。
要实现报警消息的显示,最主要的任务就是在plc程序中驱动组态软件中定义的区域指针的数据寄存器的位,当使用西门子tp系列触摸屏与fx系列(不包括fx3u系列,下同)plc连接时,下面分两种情况讨论如何组态警报消息。
2 设计方法
2.1 组态的报警消息不多时的情况
(1) 通讯设置。注意:一定要使用tp的if2接口(rs-232标准),并用sc-09下载线与fx系列plc连接,请在“控制器”的“参数设置”选项中设置“接口”为if2,如图1所示。
800)this.width=800 data-cke-saved-src=data/attachment/portal/201308/10/093146qvp85touot9npw8t.jpg>
图1 通讯设置
(2) 在区域指针中添加一个”报警消息”。如下设置报警消息,这里使用32个d,组态32条报警消息。因为使用的是16位的d,每个d占16个位,所以protool认为已经组态了32×16=512条报警消息,而在本实例中只使用32条报警消息,参见图2、3。
800)this.width=800 data-cke-saved-src=data/attachment/portal/201308/10/093146nmvm45eneulz1m81.jpg>
图2 区域指针设置
800)this.width=800 data-cke-saved-src=data/attachment/portal/201308/10/093146s8jrjymzm67tt2ln.jpg>
图3 报警消息
(3) 在”报警消息”中写好消息内容如图4所示。
800)this.width=800 data-cke-saved-src=data/attachment/portal/201308/10/093146jgl39dghjg04ga3j.jpg>
图4 在”报警消息”中写好消息内容
填写报警消息的内容时请注意,如果你不想搞的太麻烦,请只填写区域指针为d0.0,d1.0,d2.0等这样的d开头的位:800)this.width=800 data-cke-saved-src=data/attachment/portal/201308/10/093146vqgqg5ohm5y9oymo.jpg>
(4) plc程序的设计。当警报发生时,在fx的程序中传送常数1到d0,即可显示第一条报警消息,传送常数1到d1,即可显示第二条报警消息,在用户执行警报确认时,请记得传送0到d0,d1,……..等。
800)this.width=800 data-cke-saved-src=data/attachment/portal/201308/10/093146dddwq4mjbcbmghwm.jpg>
图5
这种做法的意义在于:通过驱动区域指针中指定的d的最低位,实现报警消息的显示和清除。
2.2 当组态的报警消息很多时
如果组态的报警消息很多很多,请按本节办法操作。
protool中的设置一样,只是在plc中驱动d的方式有所不同,在上面的例子中,笔者指定了16位的d作区域指针,而实际上只驱动了d的最低位,这样每一个d就有15个位被浪费,要把这15个位也利用起来,你需要注意:
在程序中给d传送常数时,不仅仅只传送1,而要使16位d的每一位都有机会被置1,在图5中域指针分别是d0的0到13位。比如要显示第二条报警消息,你需要将d0的第二位置1,而其他位置0;
要显示第三条报警消息,你需要将d0的第二位置2,而其他位置0;
要显示第四条报警消息,你需要将d0的第三位置1,而其他位置0;
要显示第五条报警消息,你需要将d0的第四位置1,而其他位置0;
按照二进制的规则,将数据寄存器的每位依次序置1时,对应的十进制数分别为(这里用十进制目的在与方便记忆和理解):
第0位置1时(0000 0000 0000 0001),对应十进制的1,第1位置1时(0000 0000 0000 0010),对应十进制的2,第3位置1时(0000 0000 0000 0100),对应十进制的4,第4位置1时(0000 0000 0000 1000),对应十进制的8,依秩类推;在plc程序中,传送十进制数1到d0,则显示第一条报警消息;传送十进制数2到d0,则显示第二条报警消息;传送十进制数4到d0,则显示第三条报警消息;传送十进制数8到d0,则显示第四条报警消息;依秩类推。
800)this.width=800 data-cke-saved-src=data/attachment/portal/201308/10/093146b3i0om7x7uecox5t.jpg>
图6 多消息域指针设置
这里组态了十四条报警消息,对应的区在下面的plc程序中(图7),使用x0到x3作为报警的触发条件,使用ans报警专用指令实现s900到s903这四位的驱动,通过分别传送1,2,4,8实现第一,二,三,四条报警消息的显示:
800)this.width=800 data-cke-saved-src=data/attachment/portal/201308/10/093146qavtt8h8ntps8nrn.jpg>
图7 plc梯形图
在下面的程序中,通过m1的接通来执行警报复位,注意,需要同时执行anr和传送0到d0:
800)this.width=800 data-cke-saved-src=data/attachment/portal/201308/10/093146asl3e3amju33vugv.jpg>
图8
如果使用了多个d作警报消息的区域指针,您需要多点传送0到所有的作为区域指针的d中(下面的程序以5点为例):
800)this.width=800 data-cke-saved-src=data/attachment/portal/201308/10/093147f869kttmc830g2d0.jpg>
图9
3 结束语
通过上面的操作,已经顺利的完成了报警消息的组态,合理的开发tp系列触摸屏的功能,可以使它在连接其它非西门子plc时,也能发挥强大的功能。