铁路雨量监测系统中的远程通信

发布者:心连心意最新更新时间:2014-08-19 来源: 21ic关键字:单片机  MODEM  远程通信  监测系统 手机看文章 扫描二维码
随时随地手机看文章

引言 铁路部门的雨量监测是有关铁路安全的一个重要环节。由雨量过多引起的洪水会影响铁路路基,引发列车交通事故。因此,为了确保交通命脉的安全,应及时将铁路沿线的雨量反馈至铁路管理部门。过去雨量监测是由各站点人工抄记雨量监测仪表数据,再汇总铁路管理部门。显然信息传送不及时,且存在人为因素,备案困难。

微型计算机的发展和计算机通信技术的提高,使得各种信息采集的自动化、实时性变为可能。作者成功地运用微型计算机和单片机组成主从式微机网络,将铁路雨量监测构成一个分布式雨量监测系统。该系统将单片机雨量监测仪采集的数据,自动地由MODEM汇集到系统主计算机,从而使几百公里长的远程通信既经济又可靠,大大提高了铁路部门抗灾的能力。 一、系统结构设计 雨量监测系统是由微型计算机和单片机组成的主从式微机网络。以单片机为核心的雨量监测仪分布在铁路各站点。该仪器功能有采集雨量、存储雨量信息、雨量报警、现场雨量曲线打印以及通信。管理部门以个人计算机为系统主机。雨量监测系统结构如图1所示。

1.gif

从图1中看出系统主机直接与单片机建立通信联系。由于各站点远离系统主机,在不附加外部连线等硬件设施基础上,利用单片机加MODEM方式以及电话线实现单片机远程。系统主机可对各站部的单片机雨量监测仪进行各种设置及数据采集,单片机雨量监测仪根据雨量情况也可自动向系统主机发送当前雨量数据,这样就可做到及时提供现场的雨量情况。

二、单片机雨量监测仪及其远程通信

各站点的雨量监测仪以8051系列单片机为CPU,辅以定制的液晶显示器、SRAM、热敏式绘图仪、雨量传感器等,其原理框图如图2所示。图中 W87E58是MCU,它兼容MCS-51单片机并具有32KB片内EEPROM。 单片机远程通信由ST16C450连接MODEM实现。ST16C450是一种通用异步接收发送器,内部有10个寄存器,其中有MODEM控制寄存器和 MODEM状态寄存器。MCU通过这2个寄存器的操作实现对MODEM的控制并了解MODEM的工作状态,从而顺利进行数据通信。ST16C450进行通信前首先要对其进行初始化,即设置波特率、通信数据格式、是否使用中断等。ST16C450初始化后可采用程序查询或中断方式进行通信。 MODEM的使用主要有以下4个操作: ①初始化MODEM; ②拨号; ③应答到来的呼叫; ④挂断线路,使MODEM回到AT命令状态。 MODEM的控制由Hayes AT命令集完成,程序可直接发送(以AT字符开始再加命令和参)数给MODEM。但是,AT命令无法完成系统间的文件传送,发送或接收文件必须由通信软件按预先规定的通信协议完成。 MODEM初始化命令串"AT%26;amp;FS0=3","%26;amp;F"重置MODEM,"S0=3"表示应答铃响3次。雨量监测仪 MODEM初始化子程序如下: MSTR:MOV R4,#0 MST0:MOV DPTR,#P3FE ;MODEM状态寄存器地址 MST1:MOVX A,@DPTR ANL A,#30H CJNE A,#30H,MST1 MOV DPTR,#P3FD ;通信线状态寄存器 MST2:MOVX A,@DPTR JNB ACC.5,MST2 MOV DPTR,#MTAB MOV A,R4 MOVC A,@A+DPTR JZ MST3 MOV DPTR,#P3F3 ;数据发送保持寄存器 MOVX @DPTR,A INC R4 SJMP MST0 MST3:RET MTAB:DB 41H,54H,26H,53H,30H,3DH,33H DB 0DH,0 ;AT%26;amp;FS0=3 子程序执行后MODEM应答"OK",表示初始化完成。 MODEM拨号命令串"ATDTxxxxx",xxxxx是电话号码;拨号成功时MODEM将应答以"CONNECT"字符开始的字符串。单睡机与系统主机连接完成后,按通信协议所规定的数据串通信交换数据。数据通信结束后,程序发送挂断线路命令串"+++ATH0",MODEM自动断线,从而完成1次通信。

2.gif

三、系统主机与雨量监测仪的通信 系统主机软件用VB5.0编制,运行于Windows 95环境。整个软件由通信、日报表、月报表、年报表、设定、曲线图、报警等模块组成,操作平台如图3所示。主机可与30个站点的雨量监测仪连接。 程序中使用MSComm控件,通过向连接在串行口上的MODEM发送AT命令来控制。主机通信状况分为2类:主动通信和被动通信。下面分别加以介绍。 1.主动通信 主机向站点雨量监测仪传送报警设定值及收集当天或前天的雨量数据时称为主动通信。电话图标表示各站点的雨量监测仪,一旦被选中,程序就发出"ATDTxxxxx"拨号命令,雨量监测仪MDOEM处于自动应答方式被连接。MODEM连接成功后,主机会收到"CONNECT 4800"信息,此时,主机就可以向站点发送命令和数据串。如果站点接收到正确数据,根据命令代码(由通信协议规定)就可知道主机是要设定参数还是要收集当天或前天的雨量数据。若是收集雨量数据,站点雨量监测仪将雨量数据传送给主机;主机收到站点正确的雨量数据后,向MODEM发送"+++ATH0"离线挂机命令,结束本次通信。 主站发送的数据串里包括站点号、通信代码、当前日期和时间、警戒值及校验和等信息。用@K和@J作为开始和结束标志。 下面是主动通信的主要源程序: Private Sub 主动通信(发送代码) Dim i,j,ss,FsStr,ret 设置充许通信False For i=0 T0 29 "工区数 If工区选中(i)Then 显示信息"拨号到"+工区名(i)+"..." FsStr="ATDT"+电话号码(i)+vbCr "拨号的AT命令 ret=发送AT命令(FsStr,"CONNECT",60000) "发送拨号命令,限时60s If ret="正常"Then FsStr=Format(i,"00")+发送代码 "发送字符串组合 FsStr=FsStr+Format(Now,"yymmddhhmmss") FsStr=FsStr+设定值 FsStr=FsStr+计算累加和(FsStr) FsStr="@K"+FsStr+"@J" ret=发送AT命令(FsStr,"@J",5000) "发送数据,等待接收串结束符@J If InStr(接收串,"@KCUO@J")Then "收到下位机的返回是"错" 显示"返回有错."信息处理 Else 处理接收串 "下位机接收正确 End If 显示"挂机..."信息处理 ret=发送AT命令("+++","OK",3000) "挂机,等待OK,限时3S ret=发送AT命令("ATH0"+vbCrLf,"OK",3000) End If End If Next i End Sub 2.被动通信

3.gif

当站点监测到雨量超过警戒值时,就主动拨号给主机,对主机而言就是被动通信。平时主机MODEM也处于自动应答状态,随时可以接收站点呼叫。主机程序接收到正确数据串后,将数据记录到相应文件中保存,点亮操作平台上该站点的报警指示灯提醒用户,同时向站点发送"接收正确"的信息。站点收到主机正确信息后向 MODEM发送"+++ATH0"离线挂机命令,结束本次通信。站点发来的数据串里包括站点号、通信代码、各种雨量数据、报警数据及校验和等信息。用@K 和@J作为开始和结束标志。 被动通信部分的主要源程序如下: Private Sub MSComm1_OnComm() Dim strSh,Shc Shc=MSComm1.InBufferCount "取接收字符个数 If Shc>0 Then strSh=MSComm1,Input "取本次接收串 接收串=接收串+strSh If InStr(接收串,"RING")Then "若是电话铃响 显示"接收数据..."信息算是 "显示接收数据信息 接收串="" End If If InStr(接收串,"@J")Then "收到接收串结束答@J 处理接收串 "处理接收串 End If End If End Sub 结束语 本系统已成功应用于铁路部门。它具有实时性好、信息传送距离远、可靠性高、电路简单、投资少等优点。它可推广用于其他需要信息采集及远程通信的部门,如气象部门温度和风速收集、水文部门水位和雨量监测;电力部门电网监测等。

关键字:单片机  MODEM  远程通信  监测系统 引用地址:铁路雨量监测系统中的远程通信

上一篇:美新半导体发布全球第一款单片集成三轴加速度计
下一篇:单片机什么叫位寻址?/不可位寻址?

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

基于单片机的RGB LED背光源的设计方案
  液晶显示器(LCD)是光调制器件,自身并不发光,所以为了可以清楚地看到透射式液晶显示器的显示内容,需要给液晶屏匹配一个背光源。目前的背光模组一般使用冷阴极管(CCFL)为光源,包含了红、绿、蓝等各色光的频率。CCFL因辉度高、成本低廉、技术成熟等优点被广泛的运用在平板显示器上。随着发光二极管(LED)亮度的改善,LED背光模组显示出CCFL无法比拟的优点,如色彩还原性好、寿命长、不含汞、有利于环境保护,这些使其成为LCD背光模组中的研究热点。LED背光模组的设计主要包括光学结构设计,驱动电路设计以及程序设计,显示性能主要表现在亮度、色度、均匀性等方面。本文将从驱动电路和软件设计的角度进行阐述,讲述了设计所采用的元器件、硬件原理
[电源管理]
基于<font color='red'>单片机</font>的RGB LED背光源的设计方案
基于51单片机的汽车防碰撞系统的设计
  1.引言   随着汽车技术的不断进步,尤其是自动驾驶技术的发展,越来越多的距离检测设备将会不断面世。目前,运用于汽车测距主要有以下四种方式:毫米波雷达测距方式;摄像系统测距方式;激光测距方式;超声波测距方式。毫米波雷达存在电磁波相互干扰问题,摄像系统则造价高昂,均难以在汽车上普及。激光测距具有测量时间短、量程大、精度高等优点,适应汽车从低速前进到高速前进的测距需求,避免汽车高速行驶时因测距速度慢造成的测距失准现象。超声波测距原理简单,制作方便,成本比较低,但其只适用于较短距离低速测距,故将其应用于汽车倒车时测距。本文提出的将激光测距和超声波测距相结合的安全报警系统,旨在帮助驾驶员在汽车多种行驶状况、多方位探知并显示车辆与周围
[单片机]
基于51<font color='red'>单片机</font>的汽车防碰撞系统的设计
基于51单片机实现温度传感器和按键调节时钟
这个暑假做了基于51单片机实现12864实现DHT11温湿度传感器和DS1302实现闹钟和温湿度显示在同一个界面上,可以通过四个独立按键控制时钟的暂停,时分秒年月日位置的切换,可以实现时钟的加法,减法,里面还有许多的小BUG,很是难以调整,有兴趣可以看一下如何进行代码的优化,总而言之,基本的功能是可以实现的了,由于我那单片机多个矩阵按键损坏,导致矩阵按键的位置有所不同,大家注意一下就好了。 不知道这么附录代码,你们下载看一下就好了 //提前透露出一些小BUG,有的受K3按键按下去,但是中断并没有开启,时钟也没有暂停, 原因不知出现在哪里,总之你们有兴趣随便看一下就行了,写的是烂了点,望大佬指点以下 单片机源程序如下: #in
[单片机]
基于51<font color='red'>单片机</font>实现温度传感器和按键调节时钟
单片机定时倒计时提醒制作
学了一段时间单片机,这两天做了个实用电路,最长99分钟定时倒计时提醒器。缺陷是电路开始工作后,一分钟减一个数再无其它动作。给启动按钮加了声音,否则电路是否已经启动都看不出来。时间到有响声提醒。 上面两个按钮调节十分与分,每次加十分钟和加一分钟。 晶振下面是复位按钮,右下角是启动按钮。 下面压缩包中有Proteus仿真文件与C代码。 仿真原理图如下(proteus仿真工程文件可到本帖附件中下载) 单片机源程序如下: #include reg52.h //自制最长99分钟定时倒计时提醒器 2020-11-06 #define uchar unsigned char #define uint unsigne
[单片机]
<font color='red'>单片机</font>定时倒计时提醒制作
汽车MCU市场年复合增长5% 32位产品占主流
  根据从事市场研究的Strategy Analytics公司,到2015年汽车微控制器市场价值将达到76亿美元,其中32位微控制器占据了58%的份额。   目前,整个汽车MCU市场为55亿美元,而Strategy Analytics预计,今后的年复合增长率大约在5%左右。飞思卡尔半导体公司(Freescale)、瑞萨科技(Renesas)以及NEC电子公司为汽车行业MCU供应商的前三甲,三家公司共占市场份额达60%。   Strategy Analytics公司副总裁Chris Webber在一份声明中指出,“微控制器供应商需要一个在32位领域中占据优势的位置,从而确保其在汽车市场上取得长期的成功。32位处理器是增长最快的领
[汽车电子]
使用8051单片机在LCD屏幕上显示内容的教程
液晶显示器(LCD)是一种常用的显示屏,在许多电子产品中经常使用它来以文本或图像格式显示信息。LCD用于在其屏幕上显示字母、数字等字符。LCD显示器由8条数据线和3条控制线组成,用于将LCD显示器与8051单片机连接。 考虑使用基于Proteus的模拟LCD与8051单片机的接口是: 如何在LCD显示屏上显示“8051单片机”,案例程序如下: #include reg51.h #define kam P0 void lcd_initi(); void lcd_dat(unsigned char ); void lcd_cmd(unsigned char ); void delay(); void di
[单片机]
使用8051<font color='red'>单片机</font>在LCD屏幕上显示内容的教程
在MCS51单片机中对特殊功能寄存器的C51定义
在开始讲对C51单片机中特殊寄存器(SPR)的定义前,先简单介绍下我们在进行51单片机开发时经常看到的两个关键字 sbit 和 sfr : sfr用于将一个单片机的特殊功能寄存器(specialfunctionregister)赋值给一个变量,这样在后面的程序中就可以中这个变量指引(referto)该寄存器 sbit与sfr用法类似,只是sbit是位操作,用于将某个sfr中具体位赋值给一个变量,这样后面程序就可用通过该变量为该位清0或置1。 接着我们以STC系列的51单片机为例简单的了解下单片机的特殊功能寄存器布局,如下: MCS-51单片机中,除了程序计数器PC和4组工作寄存器组外,其它所有的寄存器均为特殊功能寄存器(S
[单片机]
在MCS51<font color='red'>单片机</font>中对特殊功能寄存器的C51定义
以C8051F340单片机为核心的USB数据采集系统设计
1引言 电子设备运行状态的稳定性直接影响到现代企业的生产, 设备发生故障后高昂的维修费以及设备停机后给企业生产带来的损失, 使得各个企业纷纷采取措施, 降低设备的故障率。通过数据采集系统准确的获取设备运行特征数据, 并对数据进行分析,判断设备的运行状态是否良好, 达到提前预防故障出现、减少停机检修的目的。实际应用中对数据采集系统的可靠性, 准确性和便携性要求很高。目前常用的数据传输网络(如RS232 /RS485, CAN 等)已经不能满足大量采集数据和高速实时数据传输的要求。而USB传输具有高速可靠传输的优势, 具有成本低、可靠性高、维护方便等优点。本文以带有片上USB 和高速AD转换器的C8051F340为核心控制器件, 利用
[单片机]
以C8051F340<font color='red'>单片机</font>为核心的USB数据采集系统设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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