当前位置:文档之家› 智能电力监控系统远程数据传输的方案设计

智能电力监控系统远程数据传输的方案设计

智能电力监控系统远程数据传输的方案设计1) 苏健民 陆 光 凌 滨 孙江北(东北林业大学,哈尔滨,150040) (八五二农场) 摘 要 介绍一种单片机控制实现远程数据传递的通讯方案,该通信使用单片机资源较少,只使用3根线(RD ,T D ,G ND )就可以进行控制,特别适合于智能仪表的远程监控。

同时还介绍了为保证数据传送正确而提供的类X M ODE M 协议。

在电力监控系统应用该方案表明,其实现简单、可靠。

关键词 远程数据传递;调制解调器;类X M ODE M 协议分类号 T N915.19The Scheme of I ntelligent I nstrument for Long -distance Communication and Control/Su Jianmin ,Lu G uang ,Ling Bin (N ortheast F orestry University ,Harbin 150040,P.R.China );Sun Jiangbei (the 852Farm )//Journal of N ortheast F orestry Uni 2versity.-2004,32(4).-75~77A technical proposal for long -distance communication with MCS -51single chip process or and M ODE M is developed.It only employs serialport in MCS -51single chip process or and 3wires (RD ,T D ,G ND )for control ;s o it is compatible to intelli 2gent instrument for long -distance communication and control.A communication protocol is als o introduced for assuring data transmission.The fact has approved that the proposal is sample and credible in the scheme of intelligent instrument.K ey w ords Long -distance communication ;M ODE M ;C ommunication protocol 以单片机为核心的仪表通常作为现场数据采集和控制的装置。

在电力监控系统应用过程中,经常有将现场数据传递到远地主控制台的要求。

特别是传输距离较远,各装置比较分散时,通常采用单片机的串行口将采集的电能数据传递给主控制台。

在数据量不大、通讯数据频率不高的时候,使用调制解调器(M ODE M ),并利用电话线路进行数据传输是一种非常可靠的方法。

如:在电能监测控制中,各用电单位通常分布在较广的区域内,电能监测仪表距离主控制台都比较远,利用M ODE M 和租用电话线路的方法可以很好地解决数据传输和控制的问题。

本方案设计的系统结构如图1所示,在这种方案中,主控制台的微机通过M ODE M 拨号呼叫一个指定的现场智能仪表,该仪表应答呼叫与主控制台建立通讯线路,然后通过这个通讯线路将数据传递给主控制台或接收命令完成控制工作。

笔者的设计方案使用了单片机的RX D 和TX D 两个信号线,这几乎是最小的硬件资源。

这样的方案特别适合于智能仪表。

为了保持数据传递的正确性,笔者还提出了一种类X M ODE M 协议及其实现方法。

图1 电能监控仪的远程数据传递1 设计原理1.1 单片机与M ODE M 的连接1)黑龙江省科技厅重点攻关项目。

第一作者简介:苏健民,男,1961年5月生,东北林业大学信息与计算机工程学院,副教授。

收稿日期:2003年3月5日。

责任编辑:张建华。

因为M ODE M 接口采用的是RS 232标准,所以本系统的M ODE M 接口同样也采用RS 232标准。

目前市场上标准的通用异步接收/发送器元件有好几种,例如,8250或者16450。

单片机通过8250实现控制M ODE M 进行远程通信[1],通常方案要求扩展一片的UART ,这样占用了较多的系统资源,笔者采用的方案不使用扩展的UART ,而是使用单片机的串口。

对于单片机(MCS 51系列为基准),其本身的串口实际上也是一种UART 。

虽然这个串口没有控制和状态命令,但是它提供了硬件实现的串行输入和输出,这一点正是UART 的本质所在。

因为具备这个特点,对串行口来说就是写数据到S BUF 或从S BUF 读数据的过程[3]。

从M ODE M 方面来看,现在它具备了一种称之为AT 命令的设置方式。

原来在RS 232接口标准中用电平高低和变化表示的控制信号可以使用AT 命令进行操作,而AT 命令是通过串行数据的方式给M ODE M 的,这样M ODE M 从理论上说使用3根线(RD ,T D ,G ND )就可以进行控制。

但各种不同型号的M ODE M ,其AT 命令的种类和功能是有一定差别的,所以要根据所选定M ODE M 的具体情况进行。

在使用M ODE M 中,对DTR 信号线(数据终端准备就绪)的功能没有寻找到合适的AT 命令进行完全的灵活控制,因而使用M AX 202上空闲一个信号设置DTR 有效。

具体的连接如图2所示。

根据RS 232的电平要求,使用M AX 202进行电平转换。

公共地线、串行输出、串行输入是必须的,另外利用M AX 202空闲的一对电平转换,设置DTR 总是有效。

图2 单片机与M ODE M 的连接1.2 设计步骤单片机控制M ODE M 实现远程数据通信,主要包含两个问题:当主控制台呼叫时,应建立通讯链路;启动数据传输程序进行工作。

对于第一个问题,主要是对M ODE M 的控制。

如果从检测第32卷第4期东 北 林 业 大 学 学 报V ol.32N o.42004年7月JOURNA L OF NORTHE AST FORESTRY UNI VERSITY Jul.2004振铃信号开始完全由单片机实施控制,这个工作会因细节较多而显得很烦琐。

但现在M ODE M的发展已使得它具备了一定的智能,可以独立处理一些基本问题。

因而单片机所要做的就是正确地设置M ODE M,即设置M ODE M为自动应答方式。

当M ODE M处在自动应答方式的时候,它会对振铃次数进行计数,当振铃次数达到要求的数目时,就摘机应答,完成握手过程进入在线状态。

所有这些行为都由M ODE M自动进行,不需要单片机的干预。

设置自动应答的A T命令是A T S0=10,这个命令中的10表示M ODE M接受到振铃信号后,计数振铃脉冲为10时开始应答完成握手过程。

系统中还设置M ODE M具备长空号自动断链功能。

所谓长空号自动断链功能,是指当处在在线工作状态时,如果对方挂机,M ODE M可以通过电话检听到空号回应,如果这个长空号持续一定时间,M ODE M将自动挂机断开链路。

设置长空号自动断链的命令是Y1,这种设置是为了现场无人环境中保证任何情况下都可以挂机,避免不必要的损失。

需要指出的是,通常M ODE M都具有命令回应功能。

应用中为了避免出现问题,要关闭这样的功能,其命令为E0。

上述设置都可以通过AT命令来完成。

其基本方法就是将ATE0Y1S0=10\n这个字符串对应的ASCⅡ码通过串口送给M ODE M。

握手完成以后,即建立了一个通讯的线路。

当M ODE M 处在数据传递状态时,M ODE M对于数据传递可以看成是一个透明的装置,或者说可以不理会M ODE M的存在,建立一个速度较慢的通讯线路。

但这时要进行的数据传递必须通知单片机执行数据传递程序。

对单片机的串口,设置为工作方式1,并让其中断打开。

根据类X M ODE M通讯协议,主控制台拨号并完成握手以后,要首先发出一个NAK数据,要求仪表发送数据。

这个数据发送到单片机的S BUF后产生一个中断,在串口中断程序中安排数据传递程序。

即当串口程序发生的时候,意味着单片机现在开始数据传递。

单片机串口的使用这里不赘述[4]。

M ODE M的设置和单片机串口初始化见程序1。

程序1:M OV T M0D,#20H;设置定时器1为方式2定时工作M OV TH1,#0FDH;设置定时器1为时间常数M OV T L1,#0FDH;保证串口的波特率为9600M OV SC ON,#50H;串口工作在方式1M OV PC ON,#00H;S M0D为0SET B TR1;启动定时器;初始化M ODE MC LR IE.4;关串口中断M OV DPTR,#M LT AB;指向AT名令表首址M OV R0,#0BHM OV A,#00HLOOP1:M OVC A,@DPTRM OV S BUF,AJNB TI,$C LR TII NC DPTRC LR AD JNZ RO,LOOP1 ;M LT AB开始单元存放着 ;ATE0Y1S)=10\n的ASCⅡ码M LT AB: DB41H,54H,45H,30H,59H,31H DB53H,30H,3DH,01H,0DH当通信正常完毕时,单片机要控制M ODE M挂机。

这样的AT命令是ATH。

在实际操作时,首先要将M ODE M从在线状态变成在线命令状态,然后给出挂机的AT命令。

具体程序如下:M OV A,#00HM OV R4,#05HM OV DPTR,#0FFAT M LE N11:JNB TI,$M OVC A,@A+DPTRM OV S BUF,AC LR TII NC DPTRM OV A,#00HD JNZ R4,E N11;第一行是转义命令“+++”;第二行是命令“ATH1\n”OFFAT M L: DB2CH,2CH,2CH DB41H,54H,48H,31H,0DH2 类X M ODE M协议利用M ODE M进行异步通讯有时会出现错误,所以要规定在发现错误以后重新发送数据,这样的一套规定就是所谓的通信协议。

若传递数据量不大,可简化这个规定,而定义一套适合数据量比较小的、基本与X M ODE M协议类似的协议,即类X M ODE M协议。

2.1 类X M ODE M格式信息包的格式如下所示:通信单元包: 单字节;数据区: 32个字节;CRC校验码: 双字节;结束码: 单字节。

其中信息包中的第一个字节是50H(ASCⅡ码)表示数据包开始,后面32个字节是实际要传的数据,最后二位字节是防止错误而生成的CRC校验码。

相关主题