APP下载

远控型电爆装置数据采集系统设计

2020-01-01张浩宇

关键词:波特率下位上位

张浩宇,张 旭

1.山东旅游职业学院,山东 济南250200

2.海军航空大学,山东 烟台264001

在农林建设和矿山开发过程中,会使用许多电爆装置。例如爆炸工程中常用的混合爆破网络,就是由电起爆装置-导爆索-塑料导爆管网等典型火工部件组成的;气体爆破器材通常采用电激发式起爆装置作为爆破首发火工品;矿山机车用灭火设备则采用电爆管作为其起爆装置。为保证各类电爆装置的可靠性,在使用前或一定时期内,需要对其状态参数进行检测和分析。由于电爆装置均装有火炸药等含能材料,存在固有的敏感性和不安定性,会对现场检测人员及装备构成潜在风险。针对上述安全性测试需求,本文介绍一种基于VB 与单片机的远控型电爆装置数据采集系统。该系统采用模块化结构形式,具有操作简便、可靠性高、维护方便等突出优点,可很好地满足电爆装置性能监控的高效性和高安全性需求。

1 系统组成

电爆装置远程数据采集系统采用上位-下位机两级结构形式。上位机单元由远控计算机、打印机及UPS 电源组成,下位机则由电爆装置检测仪、微型打印机及直流供电电源组成(图1)。

图1 系统结构框图Fig.1 System structure framework

图2 上位机软件组成Fig.2 Composition of the upper computer Software

上位的远控计算机用于测试过程的远程控制,可配置微软的Access、Excel 等不同类型的数据库,对前置的电爆装置检测仪进行控制,发送检查命令,接收测试仪发送回来的实测值,并进行实时数据判读。同时,利用计算机强大的数据储存和处理功能,完成数据存储、历史数据查寻、测试表格生成以及测试结果打印等各项功能。上位机软件组成如图2 所示。

下位的电爆装置检测仪可以工作在远控和本地两种工作模式。远控工作模式指测试仪通过RS232 通信电缆连接到远控计算机,接收远控计算机指令工作,并将测试数据实时上传[1]。本地工作模式则是指测试仪独立完成测试,将测试结果保存到测试仪本地存储介质,对测试结果独立判断,并实施数据管理和打印数据,是辅助模式,主要用于测试仪自检及应急测试。

2 硬件电路设计

下位的电爆装置检测仪是一台基于单片机的终端测试设备,由单片机核心板、A/D 变换模块、综合适配模块和打印控制模块构成数据采集及变换主通道,由LCD 液晶显示器、16 位不锈钢金属工业级数字小键盘、嵌入式微型打印机和可充电供电模块,组成外围控制辅助通道,共同完成数据采集及通信传输功能。本文重点介绍单片机控制板、A/D 变换模块及打印控制模块等硬件电路设计。

单片机核心板是基于AT89C52 微处理器的最小配置工作单元,用于实现下位机的数据采集、结果贮存、状态分析及传输打印等各种控制功能[2]。其中,AT89C52 是一款低电压、高性能的CMOS 8位单片机,内置通用8 位中央处理器和Flash 存储单元,器件采用ATMEL 公司的高密度、非易失性存储技术生产,兼容标准MCS-51 指令系统[3]。

A/D 变换模块用以完成被测状态参量的数据变换及采集。本设计选用美国AD 公司的ADC0808转换芯片,采样分辨率为8 位,以逐次逼近原理进行模/数转换。其内部有一个8 通道多路开关,可根据地址码锁存译码信号,只选通8 路模拟输入中的一个进行A/D 转换[4]。

打印控制模块用于控制微型打印机输出本地测试结果。目前常用的微型打印机主要有热敏型和点阵针两类。热敏型采用加热打印头的方式,灼热打印纸印字,打印速度较快,但数据易脱色,不能长期保存。因此,本设计选用TPUP-AT 系列点阵针打印机。该打印机采用并行接口形式,使用STB(数据选通触发脉冲)、BUSY(线路忙)、ACK(应答脉冲)和DATA0-DATA7(输入数据信号)作为信号特征[5]。本系统分配AT89C52 单片机的P0 用于数据传输;P2.0 连接打印机STB 接口,实现通讯信号控制;P2.2 与打印机BUSY 线相连,给打印机提供忙线信号[6]。

3 系统软件设计

系统软件设计包括人机界面控制,指令及数据传输,以及状态参数检测等各控制环节,具体可分为下位检测仪控制程序设计和上位计算机控制程序设计两部分。

3.1 下位测试控制程序设计

下位机的控制过程为:通过串行通信口接收上位机控制指令,经综合适配单元及A/D 变换单元,获取待测电爆装置状态参数,并实现本地数据显示、储存及数据上传。

在Keil uVisoin 集成开发环境下[7],采用C51 语言开发下位机控制程序。该集成开发环境可编译汇编源程序及C 源代码,创建HEX 文件,连接和重定位目标文件和库文件,是一款功能强大的集成开发调试工具。本文仅给出串行通信初始化子程序[8]。

下位机配置有RS232 串行通信接口,串口采用方式1 工作模式,即10 位异步通信方式。一帧字符由1 位起始位,8 位数据位和1 位停止位组成,故设置SM0=0,SM1=1。波特率发生器为T1定时/计数器,工作在方式2,即采用8 位自动重装方式,故设置TMOD|=0x20。采用11.0592MHz晶振,由“波特率及计数初值”数值表可知,应设TH1=0xfd,TL1=0xfd。设置电源控制寄存器PCON中SMOD=0,保持其初始波特率不变,故设PCON|=0x00。

void Init_ser()//T1 作为波特率发生器

3.2 上位计算机操作程序设计

上位计算机机操作程序包括串行通信、面板控制、数据显示、数据库管理、性能评估、报表生成及打印等软件功能单元。上位机程序设计采用由微软开发的包含协助开发环境的VB 编程语言。该语言提供一个可视化设计平台,具有事件驱动和强大的数据库功能,具有开发速度非常快,效率极高等突出优点。本文仅给出串行通信、报表生成和打印程序设计。

3.2.1 串行通信单元VB 编程环境提供了串行通信控件Mscomm,用以便捷开发串行通信程序,让用户可以通过操作界面与串行端口进行沟通及传送数据[9]。主要有事件驱动和查寻两种工作方式。

本系统采用事件驱动方式,该方式是处理端口通信的一种有效方法。当有事件发生时,程序会被告知。程序利用Mscomm 控件来侦测并处理这些事件。预先装程序写入控件的事件程序区块中,一旦事件发生自动执行该段程序。控件主要属性:

CommPort:设置通信端口代号,一般计算机会有1 至2 个标准串口,也可利用USB 转RS232接口(安装驱动),进行串行通信。

Settings:设置初始化参数,以字符串的形式设置波特率、校验码、数据位、停止位四个参数。波特率即每秒通信的以BIT 为单位的数据量,本系统采用9600 波特率。

Portopen:设置串口状态,即端口的“打开”、“关闭”两种状态。使用串口进行通信前要打开串口,使用完毕后要关闭串口。在VB 中用逻辑值true 代表打开,用false 代表关闭。

Output:将待传送的数据写入传输寄存器,即向串口写数据。

串口通信初始化设置程序:

3.2.2 报表生成 报表生成采用基本表格与内容修改相结合的方式产生,即以一个基本表格为基础,根据采集时间、参量数据的不同,进行部分内容更新,并生成一个新报表[10]。采用VB 的OLE 自动化技术获取控制Excel2003 句柄,编写控制Excel 操作程序,直接控制Excel 的一系列操作。

3.2.3 报表打印 报表打印主要包括打开表格文件、打印设置以及数据打印等主要环节。报表打印引入commondialog 函数,打印采用表单的“PrintOut”属性完成。操作程序如下:

4 结语

本文从工程作业实际需求出发,采用上位机-下位机结构形式,设计开发了基于VB 与单片机控制的一体化自动检测系统,可实现采集过程的远程控制、自动判读和性能分析,在保障作业过程有序高效的同时,也有效降低了火工检测作业风险。该系统的实际使用表明,数据采集精度、可靠性和安全性均达到设计指标要求,具备良好的应用前景。

猜你喜欢

波特率下位上位
UART 波特率检测电路的FPGA 设计算法与实现
CAN 总线波特率自适应程序设计
提高火力发电厂自动电压控制系统投入率的措施
发射机房监控系统之下位机
浅谈西门子S7—400与S7—200的通讯实现方法
特斯拉 风云之老阿姨上位
波特率自适应的CAN驱动在嵌入式Linux下的实现①
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
围观党“下位”,吐槽帝“登基”