露天煤矿边坡无线远程监测系统.pdf
2010 年 第 19卷 第 3 期 计 算 机 系 统 应 用 Application Case 实用案例 119 露天煤矿边坡无线远程监测系统 ① 杨 顺 张 亮 辽宁工程技术大学 电子与信息工程学院 辽宁 葫芦岛 125105 摘摘 要要 露天煤矿边坡无线远程监测系统,在 VC6.0 环境下,通过对 TI 公司的 MC35 短信模块的控制, 接收和发送短信,同时规定边坡监测的通信协议,继而可以准确的查询边坡荷载的数据,实现远程数 据的图形显示及预警功能。 关键词关键词 无线远程监测系统;短信模块;通信协议;图形显示;预警功能 Wireless Remote Monitoring System of the Open-Pit Coal Mine Slope YANG Shun, ZHANG Liang College of Ination and Electronic Engineering, Liaoning Technical University, Huludao 125105, China Abstract Through the SMS module control of TIs MC35, the wireless remote monitoring system of the open-pit coal mine slope receives and sends text messages in the VC 6.0 environment. This system gives the slope monitoring communication protocol, then accurately locates the data of the slope load, and achieves the graphical display of the remote data and the early warning function. Keywords wireless remote monitoring system; SMS module; communication protocol; graphical display; early warning function 0 引言 凡是露天矿山就有边坡安全问题,而且从建设生 产开始,一直到露天矿终闭坑均离不开边坡动态监测。 边坡安全监测设计是露天矿设计的重要组成部分,边 坡安全监测可以大幅度的减少事故的发生[1]。本文系 统应用环境为 VC6.0, 主要介绍 PC 机对短信模块 的控制以及图形刷新显示和通信协议的规定。 1 系统设计 该远程监测系统采用分布式节点轮询的控制结 构,各分节点通过荷载传感器采集边坡数据,将数据 通过 GSM 网以短信的形式传输到远程监控系统, 远程 监控系统通过轮流查询的方式定时的监测节点的数据 和曲线变化,其系统设计的结构设计图如图 1 所示。 1.11.1 系统整体功能描述系统整体功能描述 以节点 1 为例,系统的工作流程为远程监测系 统定时查询分节点 1,分节点 1 采集荷载传感器的数 据, 以短信的形式通过 GSM 网络传送到监测系统, 监 ① 收稿时间2009-06-30 测系统监测数据和曲线,然后露天矿技术人员根据力 和位移公式求出边坡的稳定度以达到预警效果。其中 短信模块的控制,保密的通信协议和动态图形描绘为 系统设计的关键。 图 1 监控系统结构设计图 2 GSM短信模块的控制 本设计使用 TI 公司的 MC35 短信模块, ,它支持 双频900MHZ 和 1800MHZ,可通过 40 脚的 ZIF 接口建立控制接口,使用户能够通过 AT 命令实现对 MC35 短信模块的控制[2]。MC35 与 PC 机连接的框 图如图 2。 计 算 机 系 统 应 用 2010 年 第 19卷 第 3 期 120实用案例 Application Case 图 2 MC35 与 PC 机连接框图 短信模块的控制的代码主要分为以两部分 1 串口设置的代码 m_ctrlComm.SetCommPort1; //选择 com1。 m_ctrlComm.SetPortOpenTRUE; //打开串口。 m_ctrlComm.SetSettings“9600,n,8,1“; //波特率 9600,无校验,8个数据位,1个停止位。 m_ctrlComm.SetMode1; //1表示以二进制方式检取数据。 m_ctrlComm.SetRThreshold1; //参数 1表示每当串口接收缓冲区中有多于或等于 1 个字符时将引发一个接收数据的 OnComm事件。 m_ctrlComm.SetLen0; //设置当前接收区数据长度为 0。 m_ctrlComm.Get; //先预读缓冲区以清除残留数据。 2 短信模块的控制代码由于此程序较长,只列 出一条 AT 指令的控制 strTXData“ATCMGS“m_number“\r\n“; //发送短信的电话号码。 m_ctrlComm.SetOutputCOleVariantstrTXData; //发送数据。 strTXData“LX1QC********************37“; //发送协议规定的短信内容。 m_ctrlComm.SetOutputCOleVariantstrTXData; //发送数据。 whileflag1; 其中 strTXData 为串口发送定义的变量,flag1 为发送成功的标志位。 3 通信协议的规定 3.13.1 通信方式通信方式 重试次数上位机3 次,间隔 5 分钟。3 次失败 后即下位机没有响应则通信失效。报警出错。 轮询模式正常工作时,由中心节点对终结点依 次点名,终结点收到点名信息后返回测量数据。 3.23.2 消息总体结构消息总体结构 消息定长为 30 字节。 段名 识 别 码 消 息 类 型 节 点 类 型 数 据 段 填 充 段 校 验 和 终 结 符 长度 字节 可 变 可 变 识别码由开头,后跟 2 个字节工程标识,1 字节协议版本号,当前版本号为 1,最后一个结束。 此次工程标识码LX1 。 消息类型指示此消息的用途。即指令类型。 * 数据查询Q 用于中心节点对终结点轮询操作。 * 数据返回R 用于终结点对中心节点轮询操作的响应。 * 节点类型 中心节点C。表示中心节点发送的消息。 终结点 N。表示终结点发送的消息。 数据段根据不同的消息类型有不同的定义。 填充段用于对数据段的填充。用*填充。将数据 段和填充段延长为 20 字节。最短 1 字节,最长 20 字节。 校验和对整条消息进行校验。校验和为前面所 有的 27 个字节的异或和DCBA拆分为 2 个字节, 用ASCII表示十六进制数, 先高位, 后低位, 如十六进制数 3D 用ASCII3 和ASCIID 表示为 3D。 终结符整条信息的结束符。用表示。 协议执行图如图 3 所示。 图 3 协议执行图 3.33.3 命令详解命令详解 数据查询Q 2010 年 第 19卷 第 3 期 计 算 机 系 统 应 用 Application Case 实用案例 121 识别码 消 息 类 型 节 点 类 型 数 据 段 填 充 段 校 验 和 终 结 符 5 1 1 0 2 0 2 1 LX1 Q C 无 * 填 充 数据返回R 识别码 消 息 类 型 节 点 类 型 数 据 段 填 充 段 校 验 和 终 结 符 5 1 1 19 1 2 1 LX1 R N 如 下 * 节点号 1 弦值 2 弦值 3 弦值 4 弦值 3 4 4 4 4 节点号为 3 字节的十进制数值,用ASCII表示。 弦值用 4 字节的十进制数值,用ASCII表示。 3.43.4 下位机数据返回的中心节点手机下位机数据返回的中心节点手机号码设置号码设置 中心节点手机号码用 ASCII 表示。 由于短信模块接收到短信时,有显示号码功能, 只要应用ATCMGR短信编号, 就会显示出发短 信的手机号码以及短信的内容,然后将手机号码储存 为ASCII形式。 对象此协议下位机只回复发过来的手机号码。 即谁发短信就回复谁。 此通信协议安全, 准确, 不容易被其他短信干扰, 且工作稳定。 4 动态图形显示 Windows 中负责图形输出的是 GDI图形设备接 口,这是 Windows 与硬件无关的图形输出模式的体 现。GDI 建立在硬件抽象层HAL之上,屏蔽了不同输 出设备之间的差异,从而为用户提供了一个统一的“标 准输出设备” ,但是,与 DOS 不同, Windows 是多任 务、进程独立的,每一个窗口都应该有一个独立的输 出通道。这样,GDI 又使用了一种简单的机制来保证 在窗口中画图的不同程序之间能共享“设备”而又互 不干扰。 动态图形显示关键就是图形刷新闪烁问题包 括放大和缩小图形[3]。 本系统采用内存虚拟屏幕绘制图形方法,每一幅 图形采用 CDC 类, 取点绘线, 其坐标采用自动定位方 法。基于内存虚拟屏幕绘制图形也就是采用双缓冲技 术,设置背景和前景两块内存设备上下文,将要画的 图形先画在前景内存中,然后贴到显示缓存,要画新 的一帧图象时,用背景内存覆盖前景内存,擦去前面 一帧,再在前景内存中作经过位移的波形图象,然后 再将前景内存贴到显示缓存。由于擦除的工作在内存 中完成,因此基于内存虚拟屏幕绘制法可以避免图象 抖动,避免屏幕闪烁。此方法绘制的图形放大前后对 比如图 4 所示。 图 4 图形对比 下面给出基于内存虚拟屏幕绘制有背景色的实时 曲线的部分代码 ifxrect. right { //按照有背景色的曲线情形 b编码 } ifxrect.Width*2rect.left { //按照有背景色的曲线情形 c编码 } 本方法所绘制的实时曲线在刷屏时候没有闪烁, 曲线平滑和背景色一起进行平移。 5 系统的软件流程 该系统以多个模态对话框作为分离界面,无 ODBC 连接 SQLSERVR2000 数据库,下面列出关键 窗口的主流程图,见图 5。 数据浏览采用 ADO 控件和 DATA TIME PICKER 控件列表显示,其中时间数据选择控件可选择时间范 计 算 机 系 统 应 用 2010 年 第 19卷 第 3 期 122实用案例 Application Case 围,列表显示数据库中的数据。 图 5 系统流程图 图像浏览采用内存虚拟屏幕绘制图形方法,每一 幅图形采用 CDC 类, 取点绘线, 其坐标采用自动定位 方法。 短信模块的控制采用散转形式,先存贮每个短信 应答命令,和实际应答命令对比,确定回答的正误。 上接第 66 页 计算机科学, 2004,920-22. 3 Adar E, et al. Free riding on Gnutella. First Monday, 2000, 510134-139. 4 Lui SM, et al. Participation incentive mechanisms in peer-to-peer subscription systems. Proc. 35th HISS. Los Alamitos, CA IEEE Computer Society Press, 2002. 5 万健,郑若艇,徐向华. P2P 网络中激励机制.计算机应 用研究, 2007,92202-2205. 6 Feldman M, Papad Imitr Iou C. Free-riding and whitewashing in peer-to-peer systems. IEEE Journal on Selected Areas in Communications, 2006,24 5228-236. 7 Xiong L, Liu L. PeerTrust supporting reputation-based trust for peer-to-peer electronic communities. IEEE 6 结论 系统中查询控制短信猫是重点,通信协议和动态图 形描述为关键技术,由于边坡滑坡过程为缓慢的荷载升 高过程, 所以定时查询可以设为 3小时查询一次可以自 己定义,通过观察时间-荷载曲线的变化,如 有曲线缓慢上升情况, 预警滑坡, 撤出工作人员和设施。 此系统为露天煤矿边坡监测系统项目,通过实际检测, 此系统工作稳定,用户界面操作简单,实际意义重大。 参考文献 1 蔡美峰,李长洪,李军财,苗胜军.GPS 在深凹露天矿高 陡边坡位移动态监测中的应用.中国矿业, 2004,9 221-222 . 2 吴玉田,王瑞光,郑喜凤,肖传武.GSM 模块 TC35 及 其应用.计算机测量与控制, 2002,108558-559. 3 陈喜阳,张克危,彭玉成.VC 在监测系统中图形刷新 问题的研究.工业控制计算机, 2004,17428-29. Trans on Knowledge and Data Engineering, 2004, 167843-857. 8 徐海湄,郑相全,齐守青,聂晓文.一种新的基于博弈论 的 P2P 激励机制.计算机应用研究, 2008,992787- 2789. 9 路卫娜,杨寿保,郭磊涛.P2P 流媒体系统中积分检测 相结合的激励机制.中国科学院研究生院学报, 2008, 12561-67. 10 郝硕博.拉弗曲线探析.财经问题研究, 2000,615 -18. 11 马永泉.对等网络存储系统中激励机制的研究[硕士 学位论文].北京清华大学, 2005. 12 StrongDCV2.22 http// strongdc.Source- index.phplangeng, 2009-02-12