吴奶明
(西山煤电集团 东曲矿, 山西 古交 030200)
液压支架分布于整个综采工作面,用于支撑工作面顶板,避免发生煤层坍塌事故,为综采工作面的采煤机、刮板输送机以及操作人员提供安全作业空间,是煤矿井下不可或缺的支护设备[1-2]. 液压支架电液控制系统是液压支架的核心,现有的液压支架电液控制系统实时性差、可靠性低。综采工作面作业长度为80~300 m,所需液压支架数量较多,液压支架的动作与采煤机的位置相关,位于采煤机后方的液压支架需要及时、准确地完成推溜、支护顶板的操作。液压支架在综采工作面的铺设距离较长,每一台液压支架都安装有一个控制器,以实现邻架控制、成组控制等操作[3]. 针对采用CAN通信协议实现的液压支架控制系统,为避免在同一时刻多人同时操作液压支架而产生的CAN通信指令碰撞和拥堵,设计并实现基于CAN通信的动态优先级调度策略,保证液压支架控制的安全、稳定、及时、有效。
CAN是国际标准化的串行通信协议,其本质上是一个广播类型的总线,具有多主竞争、多主站运行、分散仲裁、广播通信的特点,可实现多点监听,多点控制。CAN通信网络中的任意节点可以在任意时刻主动向网络中的其他任意节点发送信息。CAN通信协议的数据帧格式见图1,包括帧起始、仲裁段、控制段、数据段、CRC段、ACK段以及帧结束。仲裁段表示该数据帧的优先级,优先级高的数据帧优先发送[4-5]. 由CAN通信的特点可知,如果总线上同一时刻有多个节点发送CAN通信信息时,由于优先级的存在,可能会造成某一CAN通信信息的延时发送,甚至是无限延时发送。在综采工作面的液压支架控制系统中,这种情况是不允许发生的,否则会出现安全事故。
图1 CAN通信协议数据帧格式图
应用CAN通信特点,现有液压支架控制器采用CAN通信协议,实现了综采工作面全部液压支架的联动控制。液压支架电液控制系统之间的控制指令由CAN通信发送,主要有邻架控制、成组控制、急停闭锁控制以及远程控制指令。上述指令都是非周期发送的,优先级从高到低依次为急停闭锁控制指令、邻架控制指令、成组控制指令以及远程控制指令。在进行液压支架控制时,如果在同一时间内综采工作面上有多人同时对液压支架进行操作,会出现CAN通信网络中的多个节点,同时向CAN总线发送信息,使得信息在CAN总线上发生碰撞和拥堵[6]. CAN通信信息发生碰撞和拥堵后,按照CAN通信协议帧格式中的仲裁字段,以优先级从高到低次序依次发送。优先级较低的信息延迟发送,降低液压系统的实时性。CAN通信数据处理流程见图2,CAN接收中断到达后,将接收到的CAN通信信息存入接收缓冲区,如果CAN接收缓冲区已满,则调用CAN通信协议解析器对接收到的信息进行解析。如果接收到急停闭锁信息,则对该信息直接进行处理。如果CAN发送缓冲区已满,则更新系统状态,发送并清空缓冲区数据。
图2 CAN通信数据处理流程图
针对现有液压支架CAN通信机制存在的问题,引入动态优先级调度策略。对CAN通信协议数据帧格式中的仲裁段,即标准帧格式中的ID28-ID18 11个bit位进行重新设计,见表1. 其中,ID28-ID26三个bit位为CAN通信信息的优先级位,二进制数值越低,优先级越高,即0×000的优先级最高,0×111的优先级最低。ID25-ID18 表示该综采工作面液压支架的编号,编号原则为采煤机运行方向,从0—255依次编号。如表1所示,“急停闭锁”的优先级为0×000,为最高优先级,“远程控制”的优先级为0×111,为最低优先级。当在CAN通信总线中只要存在“急停闭锁”信息,其他信息的发送就会被无限期的延后。
表1 动态优先级调度算法CAN通信协议仲裁段设计表
引入动态优先级调度算法,即设定当前CAN通信信息infox的优先级为α,该信息仲裁失败后,其优先级进行动态调整,调整原则为:
α′=α-n|α>1
(1)
其中,α为该CAN通信信息的原优先级,α′为该CAN通信信息更新后的优先级,n为该CAN通信信息仲裁失败次数,且α>1. CAN通信信息的优先级在动态升级过程中,不能超越急停闭锁的优先级,即急停闭锁的优先级始终是最高的。另外,为保证液压支架控制系统的实时性,定义CAN通信信息在规定时间内仍然没有发送出去,则直接将该CAN通信信息的优先级设置为1. CAN通信信息的动态优先级调度算法见图3,首先将等待发送的信息赋予初始优先级α,如果该信息发送不成功,则按照式(1)规则动态提升优先级,如果在规定时间T内,该信息仍没有发送出去,则直接将该信息的优先级置为1,以保证信息按时发送,确保液压支架控制的实时性。
图3 动态优先级调度算法流程图
对液压支架进行控制的运行参数保存在端头控制器的外部存储器中,存储形式为控制指令+支架号+前立柱压力+后立柱压力+推溜位移+伸缩压力+状态位,见表2. 其中,状态位占一个字节,可表示8个状态标志,有间架控制器急停、闭锁状态、推溜到位状态、压力(前立柱压力、后立柱压力、伸压力、缩压力)正常状态等,见表3,为对支架0×1C进行邻架控制,控制后前立柱压力为0×3C,后立柱压力为0×17,推溜位移和伸缩压力都为0,状态位都为0,状态正常。
表2 CAN通信动态优先级调度策略数据保存格式表
表3 状态位位定义表
在实验室设计4组实验,验证所设计的液压支架CAN通信动态优先级调度策略。
设计实验1:验证动态优先级调度策略中的邻架控制,液压支架控制器1通过CAN通信对液压支架控制器2进行邻架控制,并进行显示。实验结果见表4.
表4 邻架控制指令内容表
设计实验2:验证动态优先级调度策略中的远程控制,操作上位机,通过液压支架控制1控制液压支架控制器2进行远程控制,并进行显示。实验结果见表5.
设计实验3:验证动态优先级调度策略中的急停控制,液压支架控制器1对液压支架控制器2进行急停控制,同时,液压支架控制3对液压支架控制2进行升前立柱控制,运行存储结果见表4,控制指令为急停000,状态位为80.
设计实验4:验证动态优先级调度策略中的成组控制,对编号为1C-21的液压支架进行成组升前立柱控制,运行后的存储结果见表5. 表5所示为完成支架号为1C-21升前立柱的动作控制,且状态位都为00,状态正常。
表5 远程控制指令内容表
本文提出了一种基于液压支架数据传输的CAN通信动态优先级调度策略。根据实际工况,对发送的CAN通信信息进行优先级动态调整,保证了液压支架控制的实时性和准确性。同时,维持液压支架“急停闭锁”动作优先级最高,确保液压支架安全、稳定。