机床电器故障诊断实训系统实现
2021-07-08蒋从根朱青松崔健
蒋从根 朱青松 崔健
北京电子科技职业学院 北京 100176
引言
PLC具有可靠性高、抗干扰能力强、通用性强、控制程序可变、使用方便、控制系统的设计及施工的工作量低、体积小、重量轻、功耗低、维护方便等特点,使得它在现代控制系统中得到广泛引用。但由于PLC的数据处理和图形处理能力的不足,人机交互能力不足,以及工业控制现场非常分散,I/O点数众多,管理复杂,使得PC机与PLC组成集散控制系统,成为现代控制的重要组合之一。
在上位机的控制软件开发平台中,组态软件是简单易学、功能强大的平台之一。组态软件又称组态监控软件,译自英文Supervisory Control and Data Acquisition(数据采集与监视控制)。它们处在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具。
常用的组态软件有:北京亚控的组态王、通态软件公司的MCGS、上海步科的Kinco DTools、Intellution公司的Fix6、Simens的WinCC、华富公司Controx(开物)、罗克韦尔的RSView Supervisory Edition等数十种。各种组态软件从功能、易用等方面各有特色。
组态王具有适应性强、开放性好、易于扩展、经济、开发周期短等优点。为试验者提供了可视化监控画面,有利于试验者实时现场监控,还具有丰富的设备驱动程序和灵活的组态方式、数据链接功能。用户只需要通过简单的模块化组态就可构造自己的应用系统,如可以灵活组态各种智能仪表、数据采集模块,无人值守的现场采集站、人机界面等专用设备。
机床电器维修是职业院校开设的重要课程,机床电器维修实训课程教学存在一定困难,如何模拟设置故障是课程难点,目前一般有乒乓开关设置,学生能够看到开关状态,存在保密性差,工作效率低的问题。本系统基于组态王与西门子PLC开发,解决了以上问题。
1 系统组成与功能
1.1 系统组成
系统由PC机、RS232/485转换器、西门子S7_200PLC、接口电路、机床电器柜连接而成。PC机器无特殊要求,需要有232接口,主要作用是教师通过PC设置机床电气故障,将故障号发送到PLC。接口电路包括键盘输入接口及PLC与机床电器柜之间的接口。
图1 机床电器故障诊断实训系统示意图
键盘输入接口的作用是当学员通过检测找到故障后,输入故障点的线号,恢复机床前电器柜的故障。
PLC与电器柜之间的接口电路的作用,是PLC通过接口继电器控制机床电器柜的故障点断开(断路)或接通(短路)。
1.2 系统功能
本系统完成机床电气故障设置和故障恢复功能。
1.2.1 故障设置。故障设置在计算机上完成。由教师操作。可以设置30个故障。本系统是设计控制XW61万能铣床的故障控制,30个已经足够,若需要控制更多故障,可以增加到255个。
计算机将设置故障号发送给PLC,PLC根据故障号对应输出点接通,控制接口电路中的继电器,使相应的继电器得电动作。
接口板的继电器得电后,常闭接点断开,使得机床电气中的相应线路被切断形成断路故障(或继电器的常开点闭合,短接两点,造成短路故障)。
表1是故障点的线路编号方案(部分)。当然,根据实际情况需要可以改变这些编号(改变只需改变PLC程序相应的编号即可),形成不同的故障点。
表1 故障号与故障点的对应关系
1.2.2 故障排除。故障发到PLC后,PLC控制接口电路,使得机床电气发生断路或短路故障(机床电器柜是模拟装置,电气线路与实际XW61万能铣床完全一致,有电机输出,但不带实际负载)。这时,学生通过科学方法,找到故障点,根据故障点的两个线号,通过键盘板输入。PLC根据输入线号作出判断,如果输入正确,PLC控制输出点,是接口板相应的继电器复位,故障排除[1]。
2 上位机控制程序设计
2.1 上位机完成功能
上位机完成机床电器柜的故障设置功能,由教师操作。上位机控制软件基于组态王开发,界面如图2所示。
图2 机床电器故障诊断实训系统上位机界面
图3 故障范围选择控件显示
界面包含四个下拉式组合框(以下简称组合框)及两个按钮组成。
组态王支持控件运行。组合框的列表框是隐藏的,当单击下拉箭头时,才弹出列表框。选择完数据项后,列表框自动隐藏。在列表式组合框的文本框中可以直接输入数据项。
组合框A设定发送故障号最小值,组合框B设置发送故障号的最大值。主要作用是方便任课教师设定故障范围,选择故障时,能够快速精准找到需要发送的故障号。
组合框C选择要发送的故障号,组合框D选择故障号发送到哪一个机床柜。一个实训室可以有30-50个机床柜,为了避免学生不认真查找故障,通过选择不同的电器柜号,使得不同的电器柜有不同的故障号(表现不同的故障现象),迫使学生必须自己找故障,不能抄袭别人的结果。
2.2 通信实现
组态王对设备的管理是通过对逻辑设备名的管理实现的,每一个实际I/O设备都必须在组态王中指定一个唯一的逻辑名称,此逻辑设备名就对应着该I/O设备的生产厂家、实际设备名称、设备通讯方式、设备地址、与上位PC机的通讯方式等信息内容。
本系统将西门子PLC通过RS485接口并联连接在组态王中,由组态王群发数据,PLC接收到数据后,查看电器柜号,通过电器柜号识别是否是发送给本机,确定是否响应。
在组态王中设立变量VB11和VB21,变量类型选择“I/O整数”,连接设备选择西门子PLC的逻辑名(本系统为:西门子S7200PPI),寄存器分别选择“V11”“V21”,数据类型选择“BYTE”。VB11、VB21与PLC的VB11、VB21对应。VB11保存故障号,VB21保存电器柜(机床柜)号,只要在组态王中给VB11和VB21赋值,系统自动将对应的赋值发送到PLC的VB11和VB21,实现组态王与PLC的通信。在编程过程中,不需要考虑传统通信程序的波特率、停止位、校验位等状态,实现通信编程简单化[2]。
2.3 上位机程序设计
2.1.1 初始化程序设计。组合框A和B内的选择号在系统初始化阶段完成,在“显示时”内由程序设置。设置程序如下:
初始化组合框A
图中故障最小号11,最大号25,表示本次发送故障号只能限于11-25号,其他故障不能发送,便于教师快速选择。
2.1.2 发送故障程序设计。发送程序在“存在时”中实现,每3秒循环一次,代码如下:
图4 故障号及电器柜号发送流程图
图5 故障号选择及机床电器柜号选择显示
发送到PLC的只有故障号与电器柜号。在组合框C中,现实的格式是“故障号:线号1--线号2,教师很方便看到故障号与故障点线号之间的关系。图中故障号选择”17:008-045”,表示选择17号故障,故障点两端线号分别是008和045。图中机床电器柜号选择是12号,意味着本次故障是发送到12号电器柜的,其他电器柜不会响应[3]。
2.4 PLC控制系统设计
2.4.1 PLC硬件系统。PLC采用西门子S7-200的CPU 226(24输入/16输出),扩展模块使用EM 223( 16入/16出继电器)。
图6 PLC接线图
故障设置实现:使用继电器接点控制机床电器柜的故障点的通断,设置故障。电器线路故障表现形式主要有短路和断路,短路用继电器常开点控制,一旦继电器得电,形成短路故障,断路用继电器常闭接点控制,一旦继电器得电,形成断路故障。PLC根据上位机发来的故障号,控制对应的继电器动作,即完成故障设置。
图7 输出接口原理图
图8 输入键盘原理图
故障排除实现:学生找到故障点后,输入故障点的两端线 号,PLC通过内部“表格”对比,找出线号对应的故障号,如果与上位机发来的故障号一致,则控制输出继电器复位,故障排除,如果故障号不一致,表示学生没有找到故障点,PLC不做出反应(如果输出点足够的话,也可以使用一个蜂鸣器,用不同长短的声音提示),学生继续找故障,直到找到正确故障号。
2.4.2 PLC控制软件设计。PLC控制软件负责接受上位机发送来的故障号和电器柜号,首先检查发送来的电器柜号,如果与本电气柜号一致,则按照故障号设置故障。同时,接受键盘输入线路编号,根据线路编号表格,找出对应故障号,做出相应控制[4]。
PLC系统控制控制控制框图如图所示。
图9 PLC控制系统示意框图
图10 主程序(部分)
PLC控制系统由主程序,及InputKey、DelKey、SetM、ResetM、Multi、AddTh、Table七个子程序构成,介绍如下:
2.4.2.1 主程序。主程序完成系统初始化,主要功能:
*根据接受上位机传送来的电器柜号,如果确认与本电器柜一致,调用子程序SetM,设置故障。
*接受键盘输入的数据,调用InputKey,处理接收到的数据。
*如果输入数据错误,调用DelKey删除数据,重新输入数据。
*VB21保存上位即发来的故障号,若VB21=5,调用故障设置子程序。不同的电器柜,设置不同的调用条件,如VB21=1、V21=18……
2.4.2.2 子程序SetM。子程序SetM的功能是根据上位机传来的故障号,设置故障。将故障号对应的输出点接通,继电器得电,设置故障。
图11 故障设置子程序(部分)
图中分别为设置2、3、4号故障支路。VB11保存上位机发送来故障号。
2.4.2.3 子程序InputKey及DelKey。InputKey的功能是将键盘输入的数据(线号,一个故障点有两个线号,每个线号由三位组成)分别存入按顺序存入VB1、VB2、VB3、VB4、VB5、VB6六个存储器中。
DelKey的功能是删除输入的数据,它的操作内容是将输入数据标志清零,表示数据需要重新输入,以前的输入数据作废[5]。
2.4.2.4 子程序 ResetM。子程序 ResetM的功能是根据学生输入的六个数码,调用子程序Multi、AddTh,换算成线号(两个),根据两个线号,调用子程序Table,找出故障号,保存在VB2中,然后对比故障号,若故障号与上位机传来的一致,则恢复故障,若不一致,删除数据(故障不恢复)。学生需要重新查找故障,重新输入线号。
2.4.2.5 子程序 Multi、AddTh、Table。子程序Multi完成两个数据相乘运算、AddTh完成三个数据相加运算、Table完成根据两个线号找到故障号,故障号存在VB2中,作为恢复故障的依据例如,学生输入1、8、1、1、8、2六个数码,则调用子程序运算1×100+8×10+1=181(第一个线号);1×100+8×10+2=182(第二个线号),调用子程序Table,根据两个线号,找到故障号“7”。这个“7”就是本次学生输入的故障号[6]。
3 结束语
机床电器维修人员是制造类企业必需的维修人才,职业院校机电类及装备制造类专业广泛开设机床电器维修课程。机床电器维修课程教学存在故障模拟难的状况,目前市场上的相关设备使用乒乓开关人工切断控制线路设置故障或基于PC-单片机的控制方式设置故障。存在保密性差,学生可以看到老师设置的故障,从而对故障诊断缺乏兴趣及抗干扰性差,经常发生设置故障失败的情况。
本系统的设计成功克服了以上问题。经过实验室实际运行检测,该系统运行良好,达到设计要求。采用组态技术非常成熟,通信不需要考虑通信参数,PLC可靠性高,必定会得到市场认可。