第3期 2011年9月 气象水文海洋仪器
Mete0r0logical,Hydrological and Marine Instruments NO.3
Sep.2011
自动气象站信号模拟器通信系统的设计与实现 余炳莹 ,行鸿彦 ,邹应全 ,徐伟 (1.南京信息工程大学江苏省气象传感网技术工程中心,南京210044;2.南京信息工程大学电子与信息工程 学院,南京210044)
摘 要:阐述了通信系统在自动气象站信号模拟器应用中的意义,针对信号模拟器的特点选择 了适当的通信方式和通信协议,提出了硬件抗干扰措施,并介绍了以Delphi语言为基础的上 位机通信模块设计。测试与实际应用结果表明,自动气象站信号模拟器和上位机之间可以可 靠、稳定地实现通信。该通信系统在自动化控制系统和智能仪器仪表中具有良好的应用前景。 关键词:自动气象站;信号模拟器;串行通讯;Delphi;MSComm 中图分类号:TP368.1 文献标识码:A 文章编号:1006—009X(2011)03—0057-04
Design and implementation of communication system in automatic weather station signal simulator
Yu Bingying ,Xing Hongyan ,Zou Yingquan ,Xu Wei ’ (1.Nanjing University of Information Science&Technology,Jiangsu Technology and Engineering Center of Meteorological Sensor Network,Nanjing 210044;2.Nanjing University of Information Science&Technology, Electronic and J formation Engineering College。Nanjing 210044)
Abstract:This article describes the significance of communication system applied in automatic weather station signal simulator.The appropriate communication mode and protocol are selected based on the characteristics of the signa1 simulator.The measures for hardware anti—interference are proposed.The design of PC communication module under the environment of Delphi iS also introduced.Tests and practical application results show that the communication between the PC and the automatic weather station signal simulator is reliable and stable.The communication system has a good prospect in the automation control systems and intelligent instruments. Key words:automatic weather station;signal simulator;serial communication;Delphi;MSComm
0 引言 自动气象站在我国已运行多年,装备了数万 台,实现了多种气象要素的自动采集、处理、存储 和传输。为保证自动观测数据的质量,中国气象 局规定自动气象站每2年检定1次Ⅲ,但仅局限 于自动站传感器检定,而自动站的核心数据采集 器部分没有涉及到,这就可能使诸多气象要素在 该环节所积累的误差和传感器的误差的叠加,对 整个系统误差带来严重的偏差。所以,数据采集 器的检定也应成为自动气象站检定的重要内容。 然而,数据采集器的检定设备不足是制约这一工
收稿日期:2011-06—30. 基金项目:江苏省“六大人才高峰”项目、江苏省科技创新与成果转化专项(BE2008139)、江苏省传感网与现代气象 装备优势学科平台共同资助. 作者简介:余炳莹(1986一),女,硕士.主要从事气象仪器物探测量仪器方面的研究. ・ 58 ・ 气象水文海洋仪器 作深度开展的原因之一l 。 新近研制的自动气象站信号模拟器就是一款 专门为检定自动气象站数据采集器和检测气象要 素传感器工作状态而设计的高性能仪器。整个系 统主要由传感器模拟信号产生子系统、气象要素 传感器检测子系统和运行在计算上的上位机管理 软件组成。其中传感器模拟信号产生子系统用于 产生自动气象站中各传感器的模拟电信号(包括 温度、湿度、辐射、蒸发、气压等),将该标准传感器 模拟信号接入待检采集器,实现对采集器的检定。 传感器检测子系统,用于接收传感器电信号,大致 判定传感器工作状态。上位机管理软件是配套的 具有良好人机交互功能、在线升级、测评结果分析 与提交的测评软件。 系统中信号模拟器与上位机、采集器与上位 机之间都需要进行数据通信。上位机将控制信号 经通信通道发送给模拟器,模拟器产生所需的模 拟电信号并输出送给采集器;采集器采集数据后, 将测量值经通信通道返回给上位机。上位机软件 将接收到的测量值与模拟值进行比较分析,来达 到对数据采集器检定的目的。在此过程中,要保 证自动气象站信号模拟器和PC机之间可以可 靠、稳定地实现通信。本文针对通信方式的选择 和具体的通信实现方法进行了研究。 1通信方式的选择 上位机与设备间的通信主要有USB、CAN 总线和串行通信等多种方式。调查发现,大多数 自动气象站及其数据采集器、部分气象要素传感 器均带有串行通信模块,以实现与计算机的数据 交换【 。目前串行通信接口有RS232、RS-422、 RS一485等。其中RS一232是最早且最常用的串行 接口标准ll{J,在短距离(<l5 m),较低波特率串 行通信中应用广泛。结合自动气象站在我国的营 运实际情况,采用RS一232通信方式可以普遍适 用于新老自动气象站数据采集器及传感器。 2通信系统设计 通信系统的设计主要包括:电平转换接口设 计,通信协议制定,上位机串口通信界面开发等。 2.1 系统总体框图 系统总体框图如图1所示。上位机和信号模 拟器、上位机和数据采集器之间进行双向信息传 输,都是通过串口通信模块实现的,串口通信模块 在整个系统中起到了桥梁的作用。
图1 系统总体框图 2.2 串口通信模块硬件设计 2.2.1 电平转换接口设计 系统中信号模拟器和数据采集器所用的微控 制芯片是MSP430F149单片机,它有2个串行通 信接口,通过USART控制寄存器UCTI 可选择 串行异步通信协议UART或同步通信协议SPI。 本系统中应用的是UART模式 j。MSP430单 片机采用的是TTL电平 ],上位机的RS一232串 行接口要求EIA电平,二者通过MAX232电平 转换芯片实现。MAX232工作电压为5 V,不需 外加驱动器。 2.2.2抗干扰设计 本系统作为一个高精度的气象信号模拟系 统,串口的干扰信号会对信号的输出精度产生影 响,如温度的分辨力1 mD,,最大容许误差30 mQ; 辐射的分辨力1 V,最大容许误差为10 V;蒸 发量的分辨力1 A,最大容许误差为1O A。而 各个采集器与传感器的内部电路不同,由于供电 系统设备接地等诸多原因使得2台设备之间的地 电位超过正常信号幅度,给系统带来纵向干扰,甚 至会烧毁通讯接口l7]。为了保证本系统信号模拟 与采集的分辨力,也为了使串口通信更加可靠与 安全,极大地保护RS一232串口接口设备,本系统 采用了光电隔离保护方案,避免了地线回路电压、 浪涌、感应雷击、静电、热拔插等恶劣环境对RS 232设备造成的意外损害和损坏。如图2所示。 光耦合器以光为媒介传输电信号,它对输入、 输出电信号有良好的隔离作用。光耦合器一般由 三部分组成:光的发射、光的接收及信号放大。输 入的电信号驱动发光二极管(LED),使之发出一 定波长的光,被光探测器接收而产生光电流,再经 过进一步放大后输出。这就完成了电一光一电的 转换,从而起到输入、输出、隔离的作用 ~。由于 相互连接的串口通信系统之间只有光传送,没有 电接触,设备之问的电位差全部降在了隔离器上, 第3期 余炳莹,等:自动气象站信号模拟器通信系统的设计与实现 ・59・ 电信号传输具有单向性,从而大大避免了接口损 坏,且抑制了干扰和浪涌,因而具有良好的电绝缘 能力和抗干扰能力。 图2 串口通信光电隔离保护方案 2.3通信协议制定 系统采用全双工异步通信模式。通信协议设 置为:波特率采用4 800帧格式,数据格式采用8 为数据位,1位停止位,无奇偶校验位。 自动气象站信号模拟器是根据信号的产生与 特性进行分系统设计的,也就是将系统设计成模 拟量信号产生子系统与脉冲量信号产生子系统。 模拟量信号产生子系统包括温度(电阻)、湿度(电 压)、辐射(电压)、蒸发(电流)、气压(RS一232数字 电压)等,脉冲量信号产生子系统包括雨量(频 率)、风速(频率)、风向(六位或七位格雷码)等。 这样做的优点之一是:脉冲量的产生与检测不致 干扰其他模拟信号产生,处理与测量准确。 为确保2个系统控制信息不产生紊乱,特制 定了具体的通信规约:通讯指令以FO或者01开 头,发向主控微处理器,微处理器进行判断。若以 F0开头,则该命令控制脉冲量子系统,微处理器 直接根据命令控制CPLD模块进行频率变化输 出频率量或格雷码,以模拟或接收风速、风向、雨 量信息。若通讯指令O1开头,则该命令控制模拟 量子系统,微处理器将通讯指令不经处理,直接转 发给模拟量信号产生子系统的控制芯片,由该微 处理器控制D/A模块以及调理电路,输出或接收 电阻、电压、电流,以模拟或接收温度、湿度、蒸发 量、辐射度等信息。 为了保证上下位机的通信,实时而直观的显 示PC机与信号模拟器的通信状态、信号模拟器 的电池电量以及机箱的环境温度,上位机采用查 询方式每隔2 s向下位机发送通信测试命令FO comm.Test。下位机实时应答:T:+23.4;B: 010.05;A:0;P:0;OK。其中T代表温度(℃);B 代表电池电压;A为适配器状态:1表明有220 V 供电,0表明电池供电;P为开关机状态:0为关机 状态,1为开机状态。COMM:OK!为通信正常。 上位机根据信号模拟器的应答直观显示机箱温 度,电池电量等信息。 3上位机通信模块设计 上位机程序在Delphi7.0环境下开发,其实 现串口通信通常通过以下几种方法实现:一是使 用嵌入式汇编语言直接对串口进行读写操作,通 信速度快,但程序复杂难懂。二是使用Windows API函数进行通信编程,此方法功能强大,适用于 编写较为复杂的底层通信程序。三是通过 Microsoft公司提供的ActiveX控件MSComm来 实现 ],它可以创建全双工的、事件驱动的、高效 实用的通信程序。四是利用第三方串口通信控件 SPComm控件来实现,其实现简单,但有一定的 局限性。 3.1 通信模块及通信方式 在本系统中,通信要求数据传输的波特率为 4 800 bps,因此采用一般工作在低波特下的 MSComm控件方式完成串行通信。 MSComm控件提供了2种处理通信的方式: 事件驱动方式和查询方式口 。考虑到系统通信模 块不仅要向2个子系统发送控制命令还要接收传 感器的测量值以及用计算机的另1个串口接收各 个采集器的返回值,而各个采集器的返回数据长度 不同,数据格式也不尽相同,对实时性要求非常高, 本系统采用了查询方式进行串口通信,避免了事件 驱动方式的不稳定和不连续性,而且还可以很方便 地控制多个串口,只需插人多个MSComm控件,并 为每个MSComm控件编写OnComm()函数,有效 地将采集器返回数据的读取与对整个系统的控制 区分开来,避免了接收数据的混乱。 3.2通信模块程序设计 为增加系统的适配性,使该系统顺利运行在 各个PC机上,通过命令解释程序编写MSComm 控件注册模块口 ,将MSCOMM32.DEP、 MSCoMM32. oCA、 MSCOMM32.0CX、 MSCOMM.SRG拷贝到Windows的system目 录下(注意WinNT下是System32),然后注册该 控件。命令解释程序如下: copy mscomm*.* windir \system32\/y Regsvr32 windir \system32\mscomm32.OCX/s Regsvr32 '/o windir \system32\actxprxy.dll/s Regsvr32%windir%\system32\shdocvw.dll/s Reg add ”HKCR\Licenses\4250E830-6AC2-11cf-8ADB一 00AA00COO9O5”v””/d