下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、远程抄表系统中集中器软件的模块化设计与实现0 引言 近些年来由于电子技术、计算机技术和通信技术的快速发展而加快了各个行业的自动化进程,在电力行业内,也依靠现代化技术改变了传统的手工抄表方法,使得抄表工作在不需要人力的情况下依靠网络和计算机就能快速而准确的完成,提高了抄表过程中数据采集的实时性、可靠性、信息量。目前的自动化抄表系统主要有掌上抄表系统,有线抄表系统和无线抄表系统,其中掌上抄表系统需抄表人员用掌上抄表器抄收数据,因此自动化程度不够;有线系统需要施工布线,既提高了费用又增加了难度;而无线抄表系统虽不需布线,安装也方便,但信号易受外界干扰,数据传输的稳
2、定性较差,容易抄收失败。因此主要研究基于GPRS的无线远程抄表系统,利用GPRS技术连接主站与集中器,从而缩短了布线的范围及长度,并可实时、准确地获取电表数据并上传数据到主站,重点研究基于GPRS的有线集中器的软件设计。1 系统结构描述 完整的远程抄表系统包括主站、集中器、采集器、载波表、手持终端等,其系统结构如图1所示。 主站是运行抄表系统的计算机,一般放在电力中心,由它来发出命令进行定时抄表、实时抄读或设置相关信息等操作。主站通过GPRS与集中器通信。 集中器负责连接若干个电表或采集
3、器,此范围内的所有电表的抄读工作由集中器统一完成,然后再将结果传送给主站,集中器与主站间通过GPRS连接,下行通过RS 486进行连接。 本文重点介绍集中器中通信软件的设计。2 集中器通信软件设计21 集中器功能 集中器除了响应主站命令外还要负责对电表的定时抄读,因此设计集中器软件时要明确这2个功能,即:响应主站命令与定时抄表。响应主站命令任务的启动是由主站命令到达触发的,定时抄表任务则应该由集中器内时间触发而启动的,不同的任务对应不同的处理流程。22 响应主站流程 集中器向上与主站连接
4、,向下与各终端进行通信。与主站间的通信集中器处于从属地位,它只有在接收到主站中的命令时才做出操作,而不能主动与主站发起通信;而其与下行终端通信时,集中器处于主动地位,它在适当的时候向下终端发出命令,而不会收到下行的主动请求帧。 图2描述了集中器通信流程,通信的工作始终运行在外围的无限循环中判断和接收主站请求帧,当接收到主站命令后先判断此数据帧是否校验正确,若错误检查错误原因,并根据错误类型设置错误代码,然后发送异常应答帧;否则判断是否是集中器命令,若不是集中器命令则需要判断是否需要转发,需要转发则首先将协议进行转换,然后将命令转发出去,接收到转发响应后再向主
5、站响应;若是集中器命令,则根据操作码对集中器进行相关操作,操作完成后返回响应帧,然后进入下一个循环继续等待主站的命令帧。23 抄表任务流程 定时抄表是集中器的重要功能,通常有抄表日抄表,抄表月抄表,整点抄表;零点抄表等多种类型。集中器首先启动抄表任务功能,然后不断检测当前时间是否符合设定的抄表时间,如果不符合则继续下一轮的检查;否则获取到要抄读的电表信息,然后向电表发送抄读命令帧,收到回复后先验证数据的正确性,如果数据正确则进行相关的入库等操作,否则重发抄读命令(一般设为3次),当数据处理完成后,进行下一轮循环。整个流程如图3所示24 软件模块设计
6、; 根据上节介绍的流程,在设计软件的时候将整个系统分为如下几个部分: 主控模块 负责命令的接收,发送,逻辑判断,数据流的控制等总体调度和控制工作。 上行协议解析模块 负责对主站下发的命令进行帧的校验和解析,并将解析的结果保存以便主控的访问。 上行协议封装模块 负责对主站回复帧的封装工作,具体数据由主控模块提供。 集中器操作模块 负责根据主站命令实现对集中器的操作工作。 &
7、#160; 下行协议封装模块 在需要命令转换时,该模块负责将主站下发的命令翻译成下行协议,在抄读任务启动后负责封装抄读命令。 下行通信模块 负责下行命令的发送和接收。 下行协议的解析模块 负责将下行命令的回复帧进行校验和解析。 数据处理模块 负责将必要的数据存入数据库或从数据库中读取数据。 抄表模块 负责定时启动抄表任务。 整体的系统模型如图4所
8、示。 定时抄表模块使用单独线程实现,在模块中判断当前时间是否符合抄表设定的时间,如果是则将所有要抄读信息发送到下行协议模块封装模块进行封装抄表命令,然后下发出去。在向下通信的过程中使用了两个队列来实现通信和处理的异步性,在对多个表抄读时可提高整体系统的效率。3 通信软件的实现 该软件系统模拟在Linux操作系统中用C+语言实现,每个模块封装成单独的类,如下所示: 该类对应主控模块,其中成员函数run()中实现主控模块的功能,在系统中构造一个全局的Di
9、spatcher对象以实现对主控模块的访问。 该类对应上行协议的帧,其中提供成员方法Encode()和Decode()来实现对上行协议的封装和解析。在程序中只需创建一个帧的对象就可以通过这些函数实现封装和解析的功能。下行协议采用同样的方法处理: 该类对应集中器操作模块,其中方法Do(int Op_Type)实现具体操作功能,参数Op_Type表示要做的具体操作,在函数内部可以使用switch-case语句判断操作的类型,然后到各个分支执行。 其余模块采用相同的方法进行封装,需要注意的是抄表模块和下行通信模块采用单独线程处理,以实现抄表任务的定时启动和下行数据传输的异步性。下行队列采取封装STL中queue模板来实现,并提供入队,出对,获取队列大小等接口
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版家畜养殖保险产品定制及销售合同3篇
- 2025年度智能门禁系统与消防报警系统联动合同4篇
- 二零二五版跨境电商运营服务战略合作协议3篇
- 2025年度新型门窗及栏杆研发与生产合作协议4篇
- 2025年高端个人财富管理代客理财协议3篇
- 2025年度个人经营性贷款担保保证合同3篇
- 2025版绿色建筑地坪材料供应合同3篇
- 2025年度共享经济门面房租赁与平台建设合同3篇
- 个人汽车购买资助合同2024年模板版B版
- XX市重点蓄水池施工合作合同版
- 2025水利云播五大员考试题库(含答案)
- 中药饮片验收培训
- DB34T 1831-2013 油菜收获与秸秆粉碎机械化联合作业技术规范
- 创伤处理理论知识考核试题及答案
- 税前工资反算表模板
- 2019级水电站动力设备专业三年制人才培养方案
- 肝素诱导的血小板减少症培训课件
- 抖音认证承诺函
- 高等数学(第二版)
- 四合一体系基础知识培训课件
- ICD-9-CM-3手术与操作国家临床版亚目表
评论
0/150
提交评论