一种液压支架PLC电液控制系统技术领域
本发明涉及一种液压支架PLC电液控制系统,适用于机械领域。
背景技术
液压支架是以高压乳化液作为动力来实现支撑并且能实现自身移动的综采工作面支护设备,液压支架具有可靠性高、横纵向稳定性好、对顶板适应性强、支护快速、方便的特点。为了提高生产效率,同时改善工人的工作环境,减轻工人的劳动强度,电液控制液压支架从20世纪90年代在国外开始出现,并且得到了快速发展。国内电液控制液压支架发展相对较晚,并且可靠性有待继续提高。西门子S7—200PLC控制器的平均无故障时间能够达到3~5万h,尝试用高可靠性的西门子S7—200PLC来实现对液压支架的控制。同时选用优质元器件,采用隔离、滤波、屏蔽等抗干扰技术,并采用先进的电源技术、故障诊断技术、冗余技术和良好的制造工艺,以完成对液压支架的控制。
发明内容
本发明提出了一种液压支架PLC电液控制系统,采用多次采样取平均值的方式对模拟量信号进行处理,减小外界干扰因素的影响。同时采用了移位代替除法的运算方法,提高程序的运行速度。支架经常处在支撑状态,压力值高于设定压力,采用了压力检测和升架动作分开的设计方式,以提高系统的运行效率。
本发明所采用的技术方案是:
所述液压支架的工作过程主要分为升架、推溜、降架、移架等动作。其中推溜是一个相对复杂的操作。其程序段设计相对冗长。因为推溜动作需要先检查液压支架是否支撑起顶板,若没有支撑起顶板,需要进行升架操作,再进行推溜操作。
所述PLC程序采用模块化的设计方法,通过主程序调用子程序的方式完成,这样做不仅降低程序的复杂度,调试和维护将更加简便,本程序将立柱的压力检测、支架的升架、推移油缸的行程检测、移架动作等都设计成了相应的子程序模块。
西门子S7—200程序运行,采用自上而下,自左至右循环逐行扫描的方式运行。外界因素瞬间干扰只能影响一个扫描周期。持续时间几微秒,对整个系统几乎不会产生影响,所以这种程序执行方式具有很好的抗干扰能力。当推溜按钮按下,程序运行,首先调用压力检测子程序,对立柱油缸压力进行检测,若所得压力值不小于28MPa(设定值),则开始调用推溜子程序,当推溜达到设定行程值时,推溜动作停止。若检测到的压力值小于28MPa(设定值),则先调用升架程序,当支架顶住顶板,立柱压力上升到28MP乱停止升架后才能调用推溜子程序,当推移油缸行程达到设定行程时,推溜留停止。
此程序设计的难点在于对立柱油缸压力信号和推移油缸位移模拟量信号的采集处理,首先将压力传感器的模拟量信号(4~20mA)转变成数字量值(6400~32000),PLC将多次采集的数字量数据累加求和后,除以采集次数,求出压力信号的数字量平均值。然后再将平均值做相应的函数运算后,输出实测压力值(单位MPa)。
本发明的有益效果是:采用多次采样取平均值的方式对模拟量信号进行处理,减小外界干扰因素的影响。同时采用了移位代替除法的运算方法,提高程序的运行速度。支架经常处在支撑状态,压力值高于设定压力,采用了压力检测和升架动作分开的设计方式,以提高系统的运行效率。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是本发明的推溜流程图。
图2是本发明的推溜主程序图。
图3是本发明的SBR_0压力检测子程序模块。
图4是本发明的SBR_1压力检测初始化子程序模块。
图5是本发明的SBR_2模拟量模块检查子程序模块。
图6是本发明的SBR_3求平均值子程序模块。
图7是本发明的SBR_4压力数字量转换成实测压力值子程序模块。
图8是本发明的SBR_5升架子程序。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
如图1,液压支架的工作过程主要分为升架、推溜、降架、移架等动作。其中推溜是一个相对复杂的操作。其程序段设计相对冗长。因为推溜动作需要先检查液压支架是否支撑起顶板,若没有支撑起顶板,需要进行升架操作,再进行推溜操作。
如图2,PLC程序采用模块化的设计方法,通过主程序调用子程序的方式完成,这样做不仅降低程序的复杂度,调试和维护将更加简便,本程序将立柱的压力检测、支架的升架、推移油缸的行程检测、移架动作等都设计成了相应的子程序模块。
西门子S7—200程序运行,采用自上而下,自左至右循环逐行扫描的方式运行。外界因素瞬间干扰只能影响一个扫描周期。持续时间几微秒,对整个系统几乎不会产生影响,所以这种程序执行方式具有很好的抗干扰能力。当推溜按钮按下,程序运行,首先调用压力检测子程序,对立柱油缸压力进行检测,若所得压力值不小于28MPa(设定值),则开始调用推溜子程序,当推溜达到设定行程值时,推溜动作停止。若检测到的压力值小于28MPa(设定值),则先调用升架程序,当支架顶住顶板,立柱压力上升到28MP乱停止升架后才能调用推溜子程序,当推移油缸行程达到设定行程时,推溜留停止。
此程序设计的难点在于对立柱油缸压力信号和推移油缸位移模拟量信号的采集处理,首先将压力传感器的模拟量信号(4~20mA)转变成数字量值(6400~32000),PLC将多次采集的数字量数据累加求和后,除以采集次数,求出压力信号的数字量平均值。然后再将平均值做相应的函数运算后,输出实测压力值(单位MPa)。
如图3、图4、图5,程序SBR0是压力检测子程序,此子程序同样采用模块化设计,西门子S7~200PLC支持程序间的层层嵌套,最多支持8层。首先,调用初始化子程序,初始化相关参数。然后调用第2个子程序一模拟量模块检测子程序SBR2,检测模拟量模块运行是否正常。模拟量模块经过检测后可以提供模块错误信息,若第1个扩展模块不是模拟量模块,Q1.O接通;另外若检测到模拟量模块电源出错,则将Q1.1接通。如果模拟量模块工作正常则往下来调用模拟量输入采样和输出子程序。
如图6、图7,在采样子程序SBR3中,从AIW0中读取输入信号值(4~20mA电流信号),同时将模拟量信号转化成数字量信号(6400~32 000)。为了减小外界干扰因素的影响,增强系统的稳定性,以64次采样的平均值作为模拟量的测量值。为了减少程序的扫描时间,在求平均值时,采用位移指令代替除法的指令的算法,以提高运算速度。例如l111.1的小数点向左移动2位就相当于原数除以100。CPU得到模拟量的测量平均值后开始调用模拟量处理模块SBR4,对所得平均值进行函数运算,最终输出测量的压力值(MPa)。压力的函数运算式:p(MPa)=(压力数字量平均值—0偏执量)/1 MPa数字量=(压力数字量一6400)/427其中,压力数字量平均值存储在VWl8中:0偏置量为压力传感器在0时测量出的数字量,这里取为6400;1MPa数字量为压力每升高1MPa时的数字增量,取为427。
如图8,升架程序SBR_5运行时,若检测到压力值小于设定压力值,则Q0.1置为1,升架电磁阀通电,开始升架,同时升架定时器,T37开始计时,定时器T37的设定时间为6s。当立柱的压力值升高到设定值时,Q0.1置为O,升架电磁阀断电,停止升架。但是当定时器T37达到设定时间,立柱的压力值却没有升高到设定值时,系统停止运行,报警做停机检查。检查压力传感器或是液压系统出现故障。定时器T37保护整个系统。由于立柱油缸应该在设定的时间内完成升架操作,否则为系统异常。
推溜程序设计和升架程序设计类似,立柱油缸通过压力传感器检测油缸是否到位,推溜油缸是用行程传感器检测油缸位置。行程传感器模拟量的处理同样采用先转化成数字量,累加求和取平均值,最后经函数运算得出行程值。将行程值和设定进行比较,若行程值小于设定值,则推溜动作开始,同时设定推溜定时器T38开始计时,当行程值大于等于设定值时推溜动作停止。当定时器T38达到设定时间时,推移油缸行程却没有达到设定值时,系统停止运行,报警做停机检查。定时器T38同样起保护作用。