标题 | 移动SMS短信的远程工业测控系统 |
范文 | 李加明 任小永 摘要:文章以SMS短信实现通用便利低成本的双向超远程无线工业测控系统。用户可用控制短信实现设备的远程控制,也可查询并接收系统的检测短信实现设备的远程检测。系统以原型开发方式实现,具备优良的性价比与工程实用价值。文章研究了克服常规缺陷、以32位ARM Cortex-M3核STM32单片机为主控研制的项目装置在测控功能、短信容错、系统安全及可靠性、维护性等方面的创新优化。 关键词:移动通信;SMS;远程测控;ARM Cortex-M3; STM32 工业应用中有无线远程检测与控制的技术需求。但目前基于公共频段的蓝牙、ZigBee等方式传输距离都很短[1];而申请频率的用户电台方式限于功率,传输距离有限,且频率申请困难、频率费用高昂,普通用户很难使用。 移动通信网地域广大,用户无需申请频率,借其做远程测控,有最大的距离优势。SMS短信是移动通信的基本业务,资源消耗最少、资费最低[2]。解决工业模拟数字测控数据在报文的编码可为实现远程测控创造前提。 项目将移动通信用于工业测控,基于底层协议开发。克服常规案例的不足,创新功能,优化实现通用的工业双向超远程测控系统。 1 项目系统的功能构成与硬软件设计 1.1 项目系统的功能与构成 如图1所示,系统包括控制装置TE、通信装置ME、被控设备与上位机。TE为系统主体装置,以STC12, STM32单片机为主控实现,软件以电机测控设计;含SIM卡的ME为西门子TC35[3],由TE控制连通基站并实现短信通信。系统可由授权用户的控制短信实现远程控制、也可通过向授权用户回送检测短信实现远程检测。 限于篇幅,主要介绍以ARM C。rtex-M3[4]核32位单片机STM32F103[5]为主控的控制装置的优化实现。 1.2 系统的用户短信协议 1.2.1 TEXT模式标准短信(ASCII码,数据可变) 控制短信:①forward 50 Hz;②reverse 50 Hz;③stoprun;④ask。 检测短信:①Motor speed 1 268 rpm,forward;②Motorspeed 1 268 rpm,reverse;③Motor stop。 1.2.2 PDU模式标准短信(UCS2码,数据可变) 控制短信:①电机正转,频率50 Hz;②电机反转,频率50 Hz;③电机停转;④运行查询 检测短信:①电机转速1 268 r/min,正转;②电机转速1 268 r/min,反转;③电机停止。 1.2.3 短信的远程测控规则 远程控制:授权用户发送控制短信①、②、③之一,系统接收后读取并解析短信报文、提取命令与频率数据,控制電机的运行与调速。 远程检测:授权用户发送控制短信④,系统接收后将电机状态与转速数据嵌入检测短信①、②、③之一向用户回送,检测电机的状态与转速。 授权用户的控制短信①?④,系统在接收解析后将其删除;①?④外的无效短信或非授权用户的短信,系统在接收后均不做解析而直接删除。 1.3 系统TE的硬件功能与系统设计 TE控制ME与被控设备,连接PC;并完成各模式功能控制、移动通信控制、电机控制及检测等。TE与系统硬件框如图2所示,各电路限于篇幅从略。 1.4 系统TE的软件功能与程序设计 系统TE软件的总体流程如图3所示。 系统初始化:用户初始化阶段除完成常规任务之外,还以IGT启动TC35; GSM初始化阶段以AT&F;,AT,ATE1,AT+CNMI=2,1,0,0,1, AT+CMGF=0或AT+CMGF=1[6]等配置GSM参数、通信、存储及接收通知、TEXT或协议数据单元(Protocol Data Unit, PDU)处理模式并清除SIM卡的历史短信。 程序主循环:判别是否收到控制短信,收到则从接收通知获取存储地址并读取报文、授权用户有效短信解析并删除。无效或非授权用户短信不解析而直接删除。 中断服务程序:除定时中断;串口1中断自动接收TC35各应答报文生成缓冲区数组供程序用;串口2中断自动向PC发送运行数据报文。 短信解析的简化流程如图4所示。 2 系统功能的实现关键与创新优化 2.1 系统功能的实现关键 系统实现关键为短信底层协议与控制的编程,涉及GSM配置、AT指令通信、短信模式处理、报文与数据的编码组织、接收事件与通知、报文与数据的读取解析、短信的发送与接收控制等。 2.2 系统功能较常规案例的创新优化 硬件设计通用的测控信号端口,软件基于底层协议控制实现完备的双向远程检测与控制。 用户短信可脱离代码自由安全定义;可嵌入动态可变数据形成可变短信,实现可变信号的检测与控制。 用户短信的容错设计。短信仅需包含基本关键词、关键词内容与位置、可变数据位数与范围均可容错。 优化PDU报文[7]结构,改进报文通信控制,高效稳定地实现中文短信的检测与控制。 系统安全与可靠性设计。增加用户身份与短信识别,屏蔽非授权用户与无效短信;识别硬件故障并运行保护;优化实现短信报文的存储管理等。 3 系统功能创新优化的技术实现 3.1 短信报文存储与接收通知、地址与报文读取 程序无法预测短信到来时刻,故短信接收编程较困难:需控制TC35存储所收短信并发送短信接收通知;方可提取存储地址、读取短信报文。 TC35收到短信默认不存储也不向TE发送信息。编程解决:以AT+CNMI=2,1,0,0,1控制短信接收时存储并向TE发送+CMTL “SM”, 3.2 控制短信的关键词识别与解析控制 设计短信缓冲区以中断接收TC35应答及短信报文,识别缓冲区关键词并逻辑组合作为报文的解析控制条件。 3.3 系统可维护性设计——用户短信的自由定义 用户短信须能据不同需求自由定义。 设计SMS.h独立文本文件定义用户短信,可彻底脱离程序代码,确保系统维护的安全。 3.4 控制短信与检测短信中可变数据的处理 3.4.1 控制短信中可变数据的解析提取 TEXT与PDU模式控制短信①,②的解析,还需从其报文中提取可变数据。编程方案如下: TEXT模式,程序取“Hz”前1、2字节为个、十位。并对个、十位进行0?9有效性判别:均有效数据由个、十位合成;仅个位有效数据只取个位。 PDU模式,程序取“Hz”前1,5字节为个、十位,因UCS2数字编码为ASCII码加高字节0x00,结合PDU协议,0?9字符最终编码为“0030”?“0039”[8]。数据有效性须以4字节判别。 3.4.2 检测短信中可变数据的编码嵌入 检测短信须编码嵌入可变数据发送,为用户阅读习惯,还设计清除数据高位无效前导0的显示。 以PDU模式检测短信①为例,编程方案如下: 发送SCA,Type,MR,DA,PID,DCS,VP,UDL数据段;发送UD段固定内容、可变转速数据的各位(清除无效前导0)与报文结束符。 3.5 用户控制短信的容错性设计 3.5.1 短信文本内容与位置的容错 实际使用:用户短信编辑不绝对符合标准,如不能容错,系统就会解析错误。容错性设计可便利用户并提高系统的安全性。 容错设计:短信仅需在任意位置包含定义的关键词,其余文本可随意。以关键词识别实现容错。 如PDU短信关键词为“正转”和“Hz”,则短信“G50Hz大正转A”就是与标准短信“电机正转,频率50 Hz”同含义的容错短信。 3.5.2 短信关键词自身的容错 关键词自身也设计容错,编程以关键词冗余定义与判别,使关键词“Hz”可容错为“hz”。 3.5.3 模拟量数据位数与范围的容错 控制短信①、②模拟量数据格式为二位;为一位时,若无位数容错,当用户编辑为一位数时,一位数的字符前字节的非数字符将作十位数计算而出错。前述的位数据有效性判别可实现位数的容错。 设计模拟量超限处理,防止短信模拟量数据编辑超限可能的异常,实现数据范围的容错。 3.6 系统的控制安全性设计 3.6.1 用户身份的识别——授权与非授权用户 软件设计独立定义多个授权用户的号码编码供程序选择以识别用户,屏蔽非授权用户的操作。 3.6.2 短信的有效性识别——有效与无效短信 有效短信含关键词,否则为无效短信。对无效短信不解析而直接删除,屏蔽无效短信的操作。 3.6.3 短信解析的条件限制——误操作的防止 短信解析需同时满足用户身份与有效内容;公网公共短信来自非授权用户,故不会引起误操作。 3.7系统的运行可靠性设计 3.7.1 PDU报文的结构优化与可靠通信 PDU發送标准为Submit-PDU报文[7]。去除SCA数据段并缩短DA数据段形成比标准报文短18字节的优化报文,提高了通信效率。 实验发现TC35对PDU报文连续性要求苛刻。编程在报文发送前暂停其他中断响应,发送完毕恢复,确保了可靠通信。 3.7.2 TE-ME运行时序配合的可靠性设计 TE操作ME,时序要求ME执行成功方可后续操作。常规的定时编程如遭遇ME尚未执行成功但定时已到,TE将后续操作而导致出错。 软件设计应答判别编程:中断接收ME应答,并识别确认应答中已出现标志执行成功的关键词再后续操作,彻底消除常规方案的出错隐患。 3.7.3 TE-ME硬件通信的故障识别与保护 增加ME应答超时与出错编程,如工步应答错误或无应答,程序将重试恢复,硬件通信故障时将不能恢复,工步将停止推进实现运行保护,避免硬件故障时的带病运行,保障运行的可靠性。 4 系统的运行测试与使用示例 TE电路与ME如图5所示。TE以RS-232C连接ME与PC、通用信号端子连接被控设备。 4.1 远程控制与检测的运行测试 运行测试向系统发送关键词、关键词位置、频率数据位数、范围容错的多种中英文控制短信: 授权用户的有效短信,接收解析与控制输出正确,并能正确向用户回送检测短信。无效短信与非授权用户的短信均被屏蔽忽略而不起作用。 人为制造硬件通信故障,程序均在当前工步暂停后续的运行,故障提示与运行保护正常。 4.2 远程控制与检测的使用示例 远程控制与检测运行截图如图6所示,反色为控制短信,正色为检测短信。左图中文、右图英文控制短信中,前2条均为标准短信、后3条均为容错短信。测控功能正确、系统运行稳定。 5 结语 项目装置硬件测控信号端口通用,测控功能由软件灵活实现。仅需修改用户短信即可实现对不同被控设备的超远程测控。系统较常规有多方面的创新优化,具有优良的性价比和工程实用价值。 [参考文献] [1]范春辉.物联网短距离无线传输技术研究[J].无线互联科技,2017(19):23-24. [2]啜钢,王文博,常永宇,等.移动通信原理与系统[M].3版.北京:北京邮电大学出版社,2015. [3]西门子.TC35 Hardware Interface Description [EB/OL].(2018-02-08)[2018-04-25].http://www.docin.com/p-262884181.html. [4]JOSEPH Y.ARMCortex-M3权威指南[M].宋岩,译北京:北京航空航天大学出版社,2009. [5]张新民,段洪琳.ARMCortex-M3嵌入式开发及应用(STM32系列)[M].北京:清华大学出版社,2017. [6]西门子AT Command Set Siemens Cellular Engines[EB/OL].(2018-02-08)[2018-04-25].http://wenku.itl68.com/d_000010289.shtml.n 西门子.SMS 短信 PDU 解析[EB/OL].(2018-02-08)[2018-04-25].http://www.taodocs.com/p-34104107.html. [8]Unicode, Inc.The Unicode Standard[EB/OL].(2018-02-08)[2018-04-25].http://www.docin.com/p-105142298.html. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。