基于80C196KB的远程测控终端的设计
80C196KB单片机内部的A/D转换器在采用8MHz晶体时,转换周期约22μs,对A/D转换器的启动控制和转换结果的读取,都是通过寄存器操作完成,转换结束判断选择采用查询方式。RTU对所有支路采集一次电压/电流的时间周期可以用软件设置,默认为3min。
RTU现场采集的是交流信号,路灯支路的工作电压和电流,只有有效值测量才具有实际意义。因此,采用了交流采样的方法即在交流信号的一周期内,等间隔采样N个瞬时值,用软件计算电压/电流的有效值。电压/电流的有效值计算公式如下:
系统中,RTU分布在全市的各分控点上,环境条件比较复杂,存在着各种各样的干扰,为了提高数据采集的可靠性和精确度,在软件设计上采用了数字滤波的方法,连续采集5个周期的数据,计算出5个有效值,然后进行平滑滤波处理,即去掉最大值和最小值,对其余数据取算术平均值,作为实时有效值。
RTU的无线数传模块传送速率为1200bps,工作在半双工方式,除了响应监控中心的命令上传数据或故障报警时处于发送状态外,其它时间都处于接收状态,准备接收监控中心的命令。实验发现,数传模块由发送到接收状态的可靠转换需要一定的时间,所以,编程时在最后字节数据发送完毕后应先执行一段延时程序,然后再切换到接收状态,否则最后字节数据无法正常传输,延时时间可以通过实验确定。
为了提高数据传输的可靠性和准确性,一方面在数据传送前,监控中心和通信站点RTU之间先进行呼叫联络,联络成功则传送后续命令或参数。否则,若5s内无正确回应,重新呼叫,若连续3次联络失败,就认为通信暂时失败,记录信息。另一方面,由于数据传送命令类型多、数据长度不定,在传送过程中,信息采用如下帧格式。
标识码,表示信息帧的开始。
RTU地址及其反码,用于RTU地址校验及目标站点识别。
数据长度及其反码,用于数据长度校验,后续命令和参数按照长度字节来接收。
校验码,是对应于命令码和参数字节的校验,系统中采用了累加和的校验方法。为了避免累加和字节与标识码字节冲突,发送和接收时规定,当累加和字节等于标识码时,累加和取其反码,否则累加和字节正常传送。
在数据尾加入的10字节数据“00H”无实际意义。它的作用在于避免通信过程中由于数据丢失致使RTU处于“长收”状态。
RTU在接收数据过程中,三部分经校验均无误后,向监控中心回送接收正确联络码,否则,认为此次数据无效,回送接收错误联络码,要求监控中心重发,三次传送均失败后,认为该站点通信失败,监控中心暂停与该站点的通信。
9 结束语
本文设计的远程测控终端(RTU),采用80C196系列单片机作为控制核心,充分利用了单片机的资源,运行速度快A集成度高,集现场数据采集与处理、现场控制与工作状态监测、远程通信于一体,可靠性强,适合于现场运行。该RTU还可以应用于电力、石油、水利等领域的数据采集与控制,应用前景广阔。
评论