基于ARM9和GPRS的实时电力负控管理系统的设计
在main()函数中还有以下几个主要的子函数:
gprs_com_task():GPRS通信任务主要功能是接收来自主站的信息,直接从Nand FLASH中读出数据上发给主站,主站接收完毕后挂机结束通信。
gather_meter_realtime():实时采集任务主要完成和电能表的通信工作。根据自定义规约判断主站想要什么数据,然后将该数据TCP打包后发回到通信任务,通信任务就会以相应的形式(数据)上传给主站。
gather_meter_time():定时采集任务指每天定时主动读取电能表,并将读到的数据存放在NandFLASH中。这样当主站下发命令索要数据时,终端就不必再去读表,可以直接将存储的数据上发给主站。
alarm_task():报警任务每隔一定时间程序就去读三相电压,并将读到的实时值与存放在Nancl FLASH中规定的电压上限值作比较,当实时电压值超过上限值或者低于下限值时,负控管理终端软件就对电网状态字置位。当故障消除,电压恢复正常时,终端软件再向电网状态字置位。
led_task():指示灯任务用于判断程序和通信模块是否处于正常工作状态。负控管理终端有2个运行指示灯,一个用于指示程序的正常运行,1 s闪烁1次;另一个用于指示通信模块的工作状态,GPRS模块没有注册到网络时,该指示灯1 s闪烁1次,注册上网络后,3s闪烁1次。
2.2.2 主站管理软件的设计
本系统的主站管理软件是用面向对象的编程工具VB开发完成的。通过使用面向对象的数据模型来构建主站,将负控管理终端模型化为一系列逻辑没备组成,每个逻辑设备是该物理设备的一个功能子集,各种功能则用对象模型来标准化。主站设置2个逻辑设备:管理逻辑设备与数据逻辑设备。管理逻辑设备是主站中必需的,管理逻辑设备中存放一些与全局相关的及负控管理终端参数设置数据对象;数据逻辑设备用来存储和管理负控管理终端下属的电能表数据。
主站的交互界面采用模块化没计,主窗体包括应用连接、数据曲线、执行动作、电表信息、数据类对象四大模块,主站的功能框图如图3所示。
3 实验结果
下面从负控管理终端的角度说明主站读取周期冻结总加组曲线的数据的通信流程:建立连接→读取周期冻结总加组曲线的数据→断开连接通信流程如下所示。
(1)建立物理层和建立链路层连接;
(2)建立应用层连接。应用连接请求由主站发起,负控管理终端响应,应用连接的建立过程称为“协商”过程,是为数据通信约定一些配置参数;
(3)进行数据通信。应用连接建立后,就可以进行数据通信了;
(4)数据通信结束,释放数据链路,解除物理连接。
tcp/ip相关文章:tcp/ip是什么
电能表相关文章:电能表原理
评论