基于嵌入式技术的全液压钻机参数监测软件设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于嵌入式技术的全液压钻机参数监测软
件设计
近年来,随着自动化技术的进步和社会的发展,煤矿企业对井下钻机数字化钻进、自动化钻进的需求越来越迫切。

为实现井下钻机装备数字化,提高钻孔施工效率,国内相关企业和机构针对煤矿井下全液压钻机已设计出多款配套的钻机参数监测诊断系统。

这些监测诊断系统可以实现钻机参数的监测、显示和存储等功能,但在使用过程中存在以下问题:系统集成在防爆计算机中,不仅价格昂贵而且大大增加了系统体积;操作较复杂,对工作人员素质要求较高;固化在钻机上,移植性较差。

为解决上述问题,设计了一款嵌入式参数监测软件,该软件面向国内主流全液压钻机,采用开放式模块化设计。

用户可根据钻机的不同监测需求,自行选择和配置相对应的传感器,以实现预期的监测功能。

由于采用轻量化设计思路,该软件对环境依赖较小,只需搭载在嵌入式显示屏即可正常使用,因此,有效解决了钻机参数监测系统体积大、移植性差、成本较高等问题。

1 软件总体设计
1.1 软件功能分析
根据全液压钻机实际工作特点及钻孔施工工艺要求进行分析,软件需满足如下功能:
a. 钻进参数监测显示功能为了量化钻孔施工参数,实现钻机装备的数字化,软件需具备钻进参数监测和显示功能。

同时为了方便操纵人员直观、精确观察参数变化,软件人机交互界面将以数字显示为主,图形显示为辅。

b. 位姿参数监测显示功能钻孔施工前需调整钻机姿态,钻孔施工开始后钻机姿态保持不变,钻机姿态是否调整到位直接影响成孔是否符合设计预期目标[8]。

因此,软件除了需具有施工过程的参数监测功能外,还需具有钻孔施工前钻机姿态参数的监测功能。

c. 存储功能为实现钻孔完孔后数据溯源,进行历史数据分析,软件需配备存储功能。

d. 参数设置功能为实现软件的可移植性,软件需具备参数设置功能。

通过参数设置将软件接口与各个传感器进行匹配,从而在不同型号、不同监测需求的钻机上均可正常工作。

e. 通信功能通讯功能的目的是实现底层传感器发送的信号能被软件接收。

软件选择CAN总线进行通讯。

f. 报警功能钻进过程中若发生孔内异常情况,可能使某些钻进参数发生突变。

从安全施工的角度考虑,软件需具备报警功能。

1.2 监测参数选取
全液压钻机是以液压油为动力源的复杂工程机械。

本软件既要监测钻孔施工过程中的钻机状态,又要监测施工前钻机的位姿状态。

在钻孔施工的过程中,钻机运行参数体现在压力、流量、转速等方面;而钻机位姿的调整主要依据于机身倾角、钻孔方位角和开孔高度3个方面。

具体的监测参数选择如下:
a. 液压压力液压压力直接反映钻机的运行情况。

在钻孔施工作业时,操作人员需时刻观察液压压力变化以掌握钻机状态,因此将钻机液压压力作为重点监测对象。

根据钻机工作流程,结合钻孔施工工艺特点,软件选取了主泵压力、副
泵压力、给进压力、起拔压力、正转压力、反转压力和回油压力共7项参数作为监测对象。

b.流量钻机液压系统中,流量的大小反映了钻机执行机构运行的快慢。

流量太小可能导致机构运行不到位,而流量过大可能使机构运行过快导致失稳。

软件最终选取了主泵流量和泥浆泵流量作为监测参数。

c. 其他钻机运行参数包括对油箱液位、油温、动力头转速、转矩、钻进速度和钻进深度的监测。

液位和油温的监测保证不会因为液压油过少或黏度异常而导致液压系统无法正常工作。

不同钻孔工艺下对转速和转矩有不同的要求[11],转速和转矩的监测有助于操作人员掌握钻机当前运行情况。

钻进速度和钻孔深度的监测是把控施工进度的依据。

d. 位姿参数包括对机身倾角、方位角和开孔高度的监测。

机身倾角、方位角和开孔高度共同决定了钻机的姿态,而钻机姿态是否到位直接决定实际成孔是否符合设计预期。

2 软件开发
2.1 开发思路
依据上述软件功能分析,本软件需实现实时监测显示功能、存储功能、参数设置功能、CAN通讯功能和报警功能。

为此,将软件分为驱动层、中间层、应用层并行开发,首先通过emWin Simulation在PC上仿真,测试软件基本功能,之后将源码下载至STM32F407开发板,在ZDY4000LR钻机上进行功能验证实验。

软件的结构功能拓扑图如图1所示。

图1 软件结构功能拓扑图
Fig.1 The topology diagram of software structure and function 通过驱动层的搭载、中间层的移植配置,进而开发应用层各个程序模块,经由这些程序模块的相互配合,即可实现预期的各项软件功能。

其中,驱动层是以STM32F407单片机为核心的物理硬件支持,主要包括SD驱动、CAN驱动、LCD驱动和RTOS驱动。

中间层主要为软件开发提供中间支持,主要包括FATFS 文件管理系统、ST固件库、emWin界面开发软件包和UCOS-II实时操作内核的移植与配置。

在中间层的基础上进行了应用层模块任务的开发,主要包括存储模块、通讯模块、显示模块和调度模块,其中调度模块通过其消息队列功能实现存储、通讯、显示模块间的通信,并进行各模块任务间的调度。

软件主程序流程如图2所示。

图2 主程序流程图
Fig.2 The flow chart of main program
由软件结构及主程序框架可知,本软件采用模块化的设计思路,开发出的各个子模块由实时操作系统完成相互通信和调度工作。

根据用户需求,各功能模块可进行增减,因此,软件在功能上是可扩展、可裁剪的。

2.2 利用UCOS-II实现内部通信与调度
为了实现软件内部的通信与调度功能,并贴合模块化的设计理念,需要在软件中移植操作系统。

基于对软件快速响应性要求、开发成本控制等因素的考虑,经过对市面上各类型操作系统的比较,最终选择UCOS-II作为软件的嵌入式实时操作系统。

UCOS-II是一款源码开放的轻量型操作系统,不仅移植性好,而且可固化、可裁剪、实时响应性好,在工业控制领域得到了广泛的应用[12]。

在使用UCOS-II前,需将其移植到单片机上并加以配置,其过程比较简单,此处不再赘述。

使用UCOS-II时,首先在主函数中创建开始任务,之后在开始任务中创建其他任务,包括:空闲、时钟节拍、统计、定时器、中断、存储、通
讯和显示等共8个任务。

其中存储、通讯和显示任务分别位于存储模块、通讯模块和显示模块中,并分别作为该模块的逻辑主程序。

软件通过各任务的优先级确定其执行的先后次序,在UCOS-II中允许存在64个任务优先级,且要求每个优先级仅对应唯一的任务。

在本软件中上述8个任务按照配置的优先级由高到低依次为:中断任务、时钟节拍任务、定时器任务、通讯任务、显示任务、存储任务、统计任务、空闲任务。

参照软件主程序流程,当有数据接收时,由于通讯任务的优先级最高,故此时先执行通讯任务完成数据译码工作,之后通讯任务进入等待状态;随后显示任务与存储任务均需要访问译码后的数据,译码后的数据被发送到消息队列中,根据优先级高低判断,先由显示任务读取消息队列中的消息,再由存储任务读取,之后2个任务进入等待状态;此后的一段时间里,若有新的数据被接收,则进入下一循环,若无数据被接收,则此3个任务一直处于等待状态。

这3个任务调度过程如图3所示。

图3 任务调度简图
Fig.3 The diagram of task scheduling
由于软件需实时监测各参数,故应将最新接收的数据进行显示。

为防止消息队列被占满而使得最新接收的消息被溢出,软件创建的消息队列是“先入先出”模式,即在消息队列占满时,新接收的消息会将之前接收的消息替换,从而保证了软件的实时性。

2.3 通讯模块设计
煤矿井下有多种电磁干扰源,如大功率变压器、高频无线放电通信设备等等,这些设备会影响其他电气元件的性能。

CAN总线通讯具备高的位速率和抗电磁干扰特性,能够满足煤矿井下恶劣工作环境下的数据通讯需求[13]。

且CAN总线传输距离远、效率高,部分节点的故障不会影响到整个总线通讯系统,拥有一定的容错率,故软件采用CAN总线进行信号传输。

软件通过CAN总线接收其他传感器采集到的数据信息。

由于监测参数较多,负责数据采集的各个传感器输出的信号可能有电流量、频率量等,这些信号需要先经一块信号采集卡统一转换为标准CAN信号之后才可被软件接收。

CAN通讯功能实现的原理是:首先从外置FLASH里读取各传感器的ID及计算参数;之后监听CAN总线上接收到的数据帧,并根据数据帧仲裁段的ID,将CAN数据帧与传感器ID相对应;再将CAN数据帧上的数据存储到相对应的各传感器计算变量中;最后将计算后的各参数数据以消息队列的形式发送给应用层中的其他模块。

因此在使用软件时,只需将要用到的传感器根据对应参数变量ID进行设置后即可。

软件的数据传递流程如图4所示。

图4 软件数据传递流程图
Fig.4 Data transmitting flow of software
2.4 显示模块设计
人机交互界面是钻机操作人员直接接触并获取钻机参数信息的部分。

界面的友好程度、信息的直观性、全面性很大程度上影响工作人员对钻机运行状态的判断和分析。

根据软件功能分析,软件人机交互界面分为钻进界面和位姿界面。

人机交互界面的设计通过emWin实现。

监测数据的显示分为图形显示和数字显示两种,其显示原理是:在软件显示模块接收到数据后,首先将数据解析,图形显示中需将数据转换为指针旋转的弧度值,数字显示直接转换为浮点数即可。

钻进界面中包括主泵压力、副泵压力、给进压力、起拔压力、回油压力、正转压力、反转压力、主泵流量、泥浆泵流量、油箱液位、油箱温度、转矩、转速、钻进速度和钻进深度共15项参数。

钻进界
面包含大量信息显示,需要用户在同一时间内处理大规模信息,用户在执行过程中认知难度高,容易出现遗忘和误读误判[14]。

为减小界面认知难度,根据实际钻进施工经验,将最能体现钻机工况的3个参数(主泵压力、副泵压力和给进压力)以仪表控件的形式放置在最醒目的位置,以方便操作人员直观便捷、有主次地获取到钻机钻进参数。

位姿界面则包括机身倾角、方位角和开孔高度3个参数。

位姿界面参数较少,只通过数字显示进行参数监测。

在软件运行过程中,每次接收到数据进行显示时,实际需更新的画面仅占界面的一小部分。

如果将整个界面进行更新,不仅会过多地占用芯片内存,增加芯片运行负担,而且会使得画面闪烁,影响软件用户体验。

因此在设计中使用emWin中自动设备对象以实现界面中多个小区域实时更新的功能,其工作原理:在初次上电后进行整个界面的更新显示,之后每次接收到数据,将根据CAN数据ID将对应的小区域进行更新显示,而不会更新整个界面,且画面更新小区域时不会出现闪烁,从而大大减少芯片计算时间、提高软件运行的稳定性。

综上所述,界面模块运行的原理是将需根据测量值而实时更新显示的部分作为前景,如表盘指针控件、测量数值等等,将除此以外的其他部分作为背景。

在首次绘制时,绘制所有的项目,之后则保留背景不变,运用自动设备对象实现前景项目的更新显示。

显示模块程序流程如图5所示。

3 软件功能实验验证
在完成了软件的全部开发后,首先用emWin Simulation在PC端上进行了界面仿真,对软件数字显示、图形显示、前景刷新等基本功能进行了测试。


后将程序下载到STM32F407开发板,并将其安置在ZDY 4000LR钻机上进行软件功能验证实验。

验证实验步骤如下:
a.硬件连接在验证实验中,以STM32F407开发板作为软件的硬件载体,以ZDY4000LR钻机作为监测对象。

虽然软件可监测多达18项参数,但由于其他参数在ZDY4000LR钻机上无测量硬件,故实验只对7个压力参数、油箱温度、转速和机身倾角10项参数进行监测显示。

其中7个压力传感器型号均为GPD50,倾角传感器型号为GUD75,均可输出标准CAN信号,直接搭载在CAN总线上;温度传感器型号为WZPK-241,输出电压信号,转速传感器型号为YE0.3/24.4,输出频率量,故温度传感器和转速传感器需先经一块数据采集卡将输出信号转换为标准CAN信号后再搭载到CAN总线上。

图5 显示模块流程图
Fig.5 The flow chart of display module
b.参数设置将各传感器ID设置为与软件各个参数接口的ID一一对应,其中主泵压力ID为53,副泵压力ID为56,给进压力ID为59,起拔压力ID为62,回油压力ID为65,正转压力ID为68,反转压力ID为71,机身倾角ID为74,油箱温度ID为86,转速ID为92。

CAN总线波特率设置为250 kbps,压力参数发送间隔为50 ms,其他参数发送间隔为500 ms。

c.软件功能验证实验操作钻机动作,观察软件各个参数更新显示。

记录某一时刻下软件压力数据与对应机械式压力表数据,共包括主泵压力、副泵压力、给进压力、起拔压力、回油压力共5组数据;记录某一时刻下软件油箱温度数据与油箱表面温度计数据,共记录20次。

d.历史数据分析取出SD卡,查看生成的数据文件,是否有参数存在数据丢包、数据溢出等情况。

确定无数据丢包后,分析和比对上一步骤中记录的几组软件测得参数数据与原ZDY4000LR钻机测量方式测得数据。

数据比对分析如表1所示,软件功能验证实验如图6所示。

表1 2种监测方式所测参数数据对比
Table 1 Comparison of measured data of two monitoring methods
图6 软件验证实验
Fig.6 The verification experiment of software
相比于传统的机械式压力表和温度计,软件拥有更高的分辨率。

软件数据中压力参数的分辨率为0.1 MPa,温度参数的分辨率为1℃;钻机上回油压力表分辨率为0.1 MPa,其他压力表的分辨率为2 MPa,温度计的分辨率为2℃。

从表1数据比对可以看出,每组压力数据的误差不超过0.5 MPa,温度数据的误差不超过2℃。

经分析,上述误差主要是由于机械式压力表和温度计分辨率较低造成的,软件测得参数数据比传统测量方式所得数据理论上更接近真实值。

实验验证表明:软件实现了多个钻机参数的实时监测显示,参数数据的准确率和实时性满足要求,且经发送、接收数据比对,数据未出现丢包或溢出。

软件实现了数据存储功能,可进行施工后历史数据分析。

软件实现了与多个传感器的通讯功能,可根据实际需要通过参数设置功能决定启用某几个传感器,从而使软件只实时监测所需参数。

在实验过程中软件运行稳定,界面更新时无明显闪烁。

4 结论
a. 设计了一款全液压钻机通用的嵌入式参数监测软件。

软件选取了18项钻机参数作为监测对象,拥有参数监测显示、存储、参数设置、CAN总线通讯和报警功能。

b. 在ZDY4000LR钻机上的功能验证实验表明:软件实现了预期设计功能,使用简便,运行稳定,配置灵活,移植性好,对环境依赖较小,实时性满足使用要求。

c.软件只进行了地面功能验证实验,下一步需搭载到矿用嵌入式显示屏上,以进行现场工业性试验。

相关文档
最新文档