基于SMS通信的UPS监控系统设计

发布者:创意驿站最新更新时间:2012-08-29 来源: 21ic 关键字:SMS通信  UPS监控系统  AT89S52 手机看文章 扫描二维码
随时随地手机看文章

引言

近年来,基于公共网络的通信手段在工业远程监控中得到了广泛应用。这些远程通信手段包括公共电话网、Internet网络及无线网络等。无线通信网络不需要传输线,可以在覆盖范围内的任何地点进行通信,显然,这些优点是有线网络难以比拟的。

GSM(全球移动通信系统)网络是目前国内覆盖范围最广、应用最普遍的无线通信网络。因此,在构架远程传输系统时,完全可以利用现有的GSM无线网络,而没有必要重新建设基站。

目前利用SMS(短消息业务)进行远程监控的应用很多,例如电力远程抄表系统、远程水文监控系统、直放站远程监控系统、远程环境监控系统、远程配电监测系统以及其他远程信息查询系统。SMS适合传送数据流量较少的场合,而UPS(不间断电源)的状态信息和故障信息数据量较少,用SMS传送非常合适。

本文介绍的远程监控系统主要用于监控UPS,由于UPS出现故障的情况比较少,若每台UPS都配备值班人员,显然浪费人力、物力、财力;若放之不管,一旦出现问题,得不到及时处理,就可能造成严重的后果。利用现有的无线网络,只要在监控中心配备一名值班人员,就可以对所有的UPS进行监控,不但能够在任何时刻查询UPS的状态信息,还能够及时得到UPS的故障信息,节省了人力、物力、财力。

1 系统组成原理和系统实现的功能

1.1 系统组成原理

该系统由监控中心、值班人员和远程监控点组成。监控中心由PC机和GSM通信模块组成,监控中心只需要1个。远程监控点由监控对象和监控模块组成,UPS是监控对象,本系统测试使用超过10个的监控对象。监控模块由GSM通信模块和单片机组成,每个监控对象都需要一个监控模块。系统原理图见图1。

1.2 系统实现的功能

监控中心主要有4个功能:

a ) 对监控模块进行远程设置,如设置监控模块返回数据到监控中心的SIM卡号码;

b) 发送命令远程查询UPS的各种信息,并接收返回的数据;

c) 自动接收远程监控点返回的报警信息;

d) 存储UPS的状态信息和报警信息。

值班人员的作用是:在UPS发生故障时,监控模块除了将数据发送到监控中心,还会把数据信息发送给值班人员,值班人员可以及时赶赴现场,对UPS进行维修,把损失降到最小。

远程监控点的2个功能是:

a) 接收监控中心发送的查询命令并查询UPS,然后把UPS返回的数据发送给监控中心;

b) 空闲的时间不断查询UPS的工作状态,以判断是否发生故障,如果发生故障,则把故障信息发送给监控中心和值班人员。[page]

1.3 GSM通信模块

目前,许多GSM通信设备厂商都生产GSM通信模块,如Wavecom公司的WM02系列和两门子公司的TC35系列,这些模块的功能、用法基本都相同。本系统在前期开发时使用Wavecom公司的Wismo2c模块,后期投入使用时使用西门子公司的TC35I模块。这2种模块都是符合E-GSM900/GSM1800(或E-GSM900/GSM1900)标准的第2代无线双频通信模块,并且符合GSM 07.07与07.05的AT控制命令。

2.2 监控中心的软件设计

2.2.1 数据传输的帧结构

数据传输需要遵循一定的协议,也就是要规定通信的帧结构。本系统使用的数据帧结构有以下两类:

a) 监控中心发送数据给远程监控点的数据帧结构,如图3所示。其中:命令类型是用来区分发送给远程监控点的命令是设置命令还是查询命令,如果是设置命令,开始字和校验字就不是必须的。

b) 远程监控点发送数据给监控中心和值班人员的数据帧结构,如图4所示。其中:返回的数据类型有3种:第1种是返回查询的状态信息;第2种是返回设置命令的确认信息,没有开始字和校验字;第3种是返回报警信息,如果是报警信息,则把数据发送给监控中心的同时,还将发送给值班人员。

2.2.2 监控中心的程序设计

在本系统中,监控中心采用VB语言进行编程,PC机与GSM通信模块之间通过AT指令进行通信。图5是监控中心程序流程图。

主程序通过按钮选择分成初始化设置子程序、发送查询命令子程序、接收数据子程序和修改用户信息子程序4个部分。

初始化设置子程序首先通过串口发送AT指令对监控中心的GSM通信模块初始化,其次对远程监控点初始化。初始化远程监控点命令发送后,程序会自动转向接收数据子程序模块,等待接收确认信息,如果确认信息是错误的,则可重新发送初始化命令。对远程监控点的设置只要一次,不必每次运行软件都设置。

发送查询命令子程序根据UPS的类型分成查询单进单出UPS子程序、查询三进单出UPS子程序和查询三进三出UPS子程序3部分。主要功能是发送查询命令给远程监控点,以获取需要的状态信息。同样,发送命令后,转向接收数据子程序,等待数据返回。

接收数据子程序主要用于接收远程监控点返回的数据。UPS可能随时发生故障,因此,在不进行其他操作的情况下,接收数据子程序总是运行的,这样可及时得到远程监控点返回的报警信息。接收数据子程序会把接收到的有用信息存进数据库,作为历史记录。

修改用户信息子程序主要用来设置打开此软件的用户名和密码,防止不法人员登录进行破坏性操作。

由于每台UPS都配备一张SIM卡,因此本系统通过SIM卡来识别UPS。在此系统中,事先把SIM卡号码存进数据库,通过循环的方式可以同时对多台UPS进行设置和发送查询命令,给管理带来极大的方便。本系统采用单字节读取串口缓冲区,如果短消息到来而系统又在发送数据,则先把短消息编号存进数组,等空闲之时再根据短消息编号自动去读取短消息,从而实现群发群收的功能。由于SIM卡存储的短消息数量有限,因此数据一旦存进数据库,程序就自动发送命令把SIM卡上的短消息删除。

[page]

3 远程监控点的系统设计

3.1 远程监控点的硬件设计

远程监控点主要由GSM通信模块、单片机和UPS组成。单片机主要有两个功能:一是控制GSM通信模块收发短消息;二是查询UPS的工作状态。由于单片机传输的是TTL电平,而GSM通信模块和UPS传输的是RS-232电平,因此在单片机与GSM通信模块之间、单片机与UPS之间用芯片MAX232进行电平转换。硬件原理图如图6所示。

从图6可以看出,这个系统中要用到两个串口,而AT89S52只有1个串口,如何解决呢?在本系统中用P3.2,P3.3来模拟串口的功能,从而解决问题。

由于单片机窄闲时就要查询UPS是否有故障,因此必须存储用来查询UPS工作状态的命令。不同类型的UPS有不同的命令,若把这些命令存储在程序存储器中,不同型号的UPS就要用不同的监控模块,这样就降低了监控模块的通用性。在本系统中用了一块AT24C04型E2PROM,只要监控中心把查询UPS工作状态的命令发过来,远程监控点就把这些命令存入AT24C04。这样,单片机就可从AT24C04中取出这些命令去查询UPS,也就是说,监控模块可以用于不同型号的UPS。至于监控模块用于监控何种UPS,只要通过监控中心设置就行,显然这种方案提高了通用性。

单片机与AT24C04通过I2C通信。AT24C04除了存放查询UPS工作状态的命令外,还用来存储监控中心和值班人员的SIM卡号码。

3.2 远程监控点的软件设计

远程监控点主要是单片机编程,采用汇编语言。汇编语言具有速度快、效率高等优点,可以提高系统的响应速度。本系统编程较复杂。

程序运行后,首先对GSM通信模块进行初始化,接着判断AT24C04中是否已经存储了监控中心的电话号码和用来查询UPS工作状态的命令。如果已经存储了,则把这些信息读取出来,如果还没有这些信息,则不作操作,等待监控中心发送命令设置。

监控中心任何时刻都可能给远程监控点发送命令,显然用查询的办法来判断短消息是否到来很浪费资源,因此,本系统采用中断的方式,即有短消息到来时就发生中断,并设置标志位。因此,在初始化后进入主循环,首先通过标志位来判断是否有新的短消息到来。如果有新的短消息,则通过渎取短消息头来判断短消息类型;如果足设置类短消息,则做相应的设置,并发送确认信息给监控中心,然后返回主程序;如果是监控中心发来的查询命令,则查询UPS状态,并把UPS返回的数据发送给监控中心,然后返叫主程序。

大部分时间,监控中心不会发送命令过来,这时就不需要处理新的短消息,而转去查询UPS的工作状态。如果UPS没有发生故障,则返回的数据是正常的,这时单片机不做任何操作,返回主程序。如果UPS发生故障,单片机就控制GSM通信模块,把故障信息发送给值班人员和监控中心,这样值班人员就可以及时到现场对UPS进行维修,把损失降到最低,而监控中心把所有的故障信息和状态信息都存人数据库。

4 结束语

现有的GSM网络技术成熟、运行稳定、覆盖面广。对于数据流量不大、监控点分散的数据采集系统,利用GSM网络的SMS来传送数据,具有永远在线、不需拨号、价格便宜等优势,可以大大地节省人力、物力和财力。本系统只要通过适当的修改就可以用于其他远程监控系统,具有一定的推广价值。

关键字:SMS通信  UPS监控系统  AT89S52 引用地址:基于SMS通信的UPS监控系统设计

上一篇:多路温度采集及监控系统的设计与实现
下一篇:基于LPC938的高精度数控直流电流源的设计

推荐阅读最新更新时间:2024-03-16 13:07

AT89S52单片机基础知识详解
性能说明: AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K在系统可编程Flash存储器。它是使用Atmel公司高密度非易失性存储器技术制造,并与业界标准80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,也就是适合于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活及非常有效的解决方案。AT89S52单片机提供一下标准功能:8K字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。此外,AT89S52单片
[单片机]
关于单片机AT89S52和CF卡的接口设计
通过8051单片机对CF卡进行读写。   2.CF卡的操作方式   CF卡的操作方式与计算机的硬盘操作方式类似,其扇区的寻址也有两种方式:物理寻址(CHS)和逻辑寻址(LBA),物理寻址使用柱面、磁头和扇区号表示一个特定的扇区,起始扇区是0道、0头、1区,接下来是2区等等,逻辑寻址将整个CF卡统一寻址。逻辑块寻址和物理寻址的关系为:   LBA地址=(柱面号×磁头数+磁头号)×扇区数+扇区数一1   在实际使用过程中,用LBA地址进行寻址,可以大大简化编程的工作量,避免柱面、磁头和扇区之间的换算和切换,并且可以突破CHS对大容量的无法寻址的限制。   3.CF卡的文件管理   CF卡的文件管理系统和硬盘的文件管理是一
[单片机]
关于单片机<font color='red'>AT89S52</font>和CF卡的接口设计
AT89S52与LCD1602(asm/c51)
LCD1602 DDRAM地址映射表: 第一行地址80H 第二行地址C0H 单片机与LCD1602接口 ;/////////////////////////////////////////////// 项目名称:AT89S52与LCD1602接口实验 功能:在LCD1602的第一行显示WWW.LZY.EDU.CN : 在LCD1602的第二行显示0830--3150897 ;/////////////////////////////////////////////// RS EQUP2.4 ;P2.4接LCD的RS RW EQUP2.5 ;P2.5接L
[单片机]
<font color='red'>AT89S52</font>与LCD1602(asm/c51)
采用AT89S52单片机实现机载电气盒测试仪的设计与用途介绍
1 引言 AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。AT89S52使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,AT89S52拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,
[单片机]
采用<font color='red'>AT89S52</font>单片机实现机载电气盒测试仪的设计与用途介绍
基于单片机AT89S52的电动车跷跷板设计
0 引言 本系统设计要解决的电动车跷跷板问题,要求电动车能够在规定时间内到达跷跷板的中心点C处,并保持平衡,随后电动车到达跷跷板的末端B处,停留之后返回始端A处。另外,如果将跷跷板重新配重,则要求电动车在规定范围内驶上跷跷板,同时,在规定时间内也能实现平衡,如果再加一块重物之后跷跷板重新达到平衡。 1 系统设计 1.1 总体设计 本系统采用单片机作为控制系统的主模块,实现系统控制与信号检测,系统的总体框图如图1所示。主要包括单片机模块、电机驱动模块、步进电动机、平衡检测模块、光电检测模块、液晶显示模块以及红外遥控模块。 系统通过平衡检测来判断电动车是否处于平衡状态,使电动车停留在C处附近,采用光电检测模块使电动
[单片机]
基于单片机<font color='red'>AT89S52</font>的电动车跷跷板设计
基于单片机的新型液晶显示控制电路设计
  前言: 液晶显示是目前单片机技术中广泛应用的功能。利用功能强大的AT 89S52 型单片机和编程软件Visual C+ + ,设计一种新型液晶显示控制电路。从AT89S52 单片机和DMC20261 型LCD 液晶显示屏的性能特点入手,结合实际经验实现二者之间的接口设计。经过调试,该控制系统取得了比较满意的设计结果,且系统软硬件设计简单方便、稳定可靠,可广泛应用于智能化仪器仪表及各种宣传场所,为嵌入式控制系统提供高灵活、高性价比的解决方案。   1 AT89S52 单片机简介   1. 1 芯片主要特性   AT89S52 单片机是Atmel 公司新近推出的高档、增强型产品。它是一个低功耗、高性能CMOS 8 位微控制器,
[单片机]
基于单片机的新型液晶显示控制电路设计
AT89S52单片机实现简易计算器(C语言程序)
本文设计基于AT89S52单片机的简易计算器。它的功能是: (1)计算器至少能正常显示8位数。 (2)卡机时,显示0。第一次按下时,显示D1;第二次按下时,显示D1D2。 (3)计算器能对整数进行简单的加、减、乘、除四则运算,在做除法时能自动舍去小数部分。 (4)运算结果超过可显示的位数时能进行出错提示。 总体设计 计算器以AT89S52单片机为核心芯片,通过扫描键盘来得到数据,另外通过CPU将得到的数据按要求进行运算并将结果送到显示电路进行显示。 框图设计 基于AT89S52单片机的简易计算器由电源电路、单片机主控电路、按键电路、显示电路和复位电路几部分组成,框图组成如下图所示。 基于AT89S52单片机的简易计算器
[单片机]
<font color='red'>AT89S52</font>单片机实现简易计算器(C语言程序)
AT89s52-LCD12864多页菜单按键选择操作
这篇程序的代码还未理解清楚,再一次深刻发现自己的算法水平不行。今天学到的东西还行,就是那些C文件的一些知识。反正都是些优化的东西,以后肯定也用的着,过几天有兴趣的话,再去学习一下AVR单片机。 程序代码:硬件上与前面一样,有点变化就是多了两个翻页的按键。到现在一整天的饭都还没吃,该去吃了,干这个果然不会困。 #include reg52.h #include intrins.h sbit RS = P2^4; sbit RW = P2^5; sbit E = P2^6; sbit PSB= P2^1; //串并口选择端 并高串低 #define DataPort P0 sbit KEY_ADD=P3^3; //按键 sb
[单片机]
<font color='red'>AT89s52</font>-LCD12864多页菜单按键选择操作
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved