剩余电流检测是保障电网安全运行的重要环节,检测的可靠与否直接关系到用户的生命财产安全。电网从业人员需要定期对剩余电流进行例行检查,不仅要记录当前的测量数据,更需要保存历史数据以便于进行数据分析、管理和预测。
为了解决目前发生漏电故障时常出现的抢修不及时和定位难等难题,本文提出了一种基于Android的剩余电流智能查询系统。通过此系统进行剩余电流数据处理可以分为两个步骤,首先由集成了电流互感器等的剩余电流实时监测系统对用户剩余电流进行采集,由通信模块对数据进行传输;再由客户端APP进行数据集成与管理。客户端APP具有用户登录、数据存储等功能。整个系统具有方便检索、便于存储、易于分析、寿命长、成本低等特点,解决了电网员工故障数据获取难的问题。
1 剩余电流实时监测系统
本文涉及的剩余电流实时监测系统主要包括电源模块、剩余电流互感器一、剩余电流IN变换电路、整流放大电路、剩余电流显示电路、A/D转换模块、MCU数据处理模块和蓝牙射频模块等,其模块结构如图1所示。
2 控制系统的设计
主控单元采用八位单片机(MCU) AT89S51,将相关程序写进其内的Flash ROM中。MCU具有以下几个扩展功能:具有专用的键盘及显示插口,具有全双工异步串行通信接口,具备两个16位计数器。
由于每个AT89S51芯片能独立承担起3个专用接口芯片的工作,这不仅降低了使用成本,也优化了硬件结构,简化了软件设计,为系统的设计提供了方便。
A/D转换功能采用TLC549来实现。TLC549是8位串行逐次逼近式A/D转换芯片,可与通用微处理器、控制器通过I/O , CLOCKCS, ATAOUT三线进行串行连接,转换时间不超过17s,最高转换速率为40 000次/s。
3 基于Android的APP设计
客户端APP基于Android SDK 4.4平台,主要包括三个界面,各个界面通过顶部Button进行View切换,三个界面分别实现不同的功能。第一个界面为设备连接界面,实现对硬件电路的配对;第二个界面为历史数据查看界面,实现对历史数据的调用查看;第三个界面为数据显示模块,显示剩余电流的实时信息。
3.1界面设计
Android系统提供了TabHost和TabWidget控件,两种控件结合便可实现View功能,使得界面的切换更顺畅。在设计过程中主要用到以下几个类。
TabHost:用来获取选项卡对象。
TabSpec:用来定义新View里的具体组件,为了实现三个界面的切换,设计中创建了三个TabSpec对象。
Intent: Intent负责对一次操作的动作涉及数据附加数据进行描述,Android系统则根据此Intent的描述,负责找到对应的组件,将Intent传递给调用的组件并完成组件的调用,本软件中用来传递界面的切换信息。
在XML布局文件里TabHost , TabWidget和FrameLayout的ID使用系统自带的ID,依次为android:id=“@android:id/tabhost”,android: id=“@android:id/tabs”,android: id=“@android:id/tabcontent”,同时在TabWidget属性里设置为android:layout-alignParentBottom= “true if,最后把View放置在界面顶部。
3.2设备配对界面设计
此部分用以实现对硬件设备的远程配对,以下是在开发过程中用到的几个类。
TextView:用来在界面上显示文字,通过setText设置显示的文字内容,setTextColor设置字体颜色,setTextSize设置字体大小。
Button: Button继承了TextView,其功能主要是在界面生成一个按钮,通过类中的setBackgroundResource方法设置按钮的背景,每个按钮绑定各自处理的事件,点击按钮可触发相应的事件。
Spinner: Android中的Spinner不同于Swing。
ImageView:该类主要显示图片信息。
Handler:为了解决Android的多线程问题,设计过程中采用Handler机制,新线程中使用SendMessage方法进行数据交互,主界面线程中通过回调函数HandlerMessage对信息进行处理,这样主界面线程就能根据不同的消息显示不同的界面,两个线程互不干扰,共同处理界面的更新。界面显示如图2所示。
3.3历史数据查询界面设计
此界面设计了两个Button,其余全为ImageView,与设备配对界面类似,点击按钮,存储于硬件中的历史数据信息传输至手机终端,手机终端通过Handler机制把实时的状态信息传递至远程服务器。这样检修人员便可通过随身携带的手机,方便地对辖区内所有的剩余电流信息进行实时掌握。界面如图3所示。
3.4当前数据查询界面设计
此模块主要用到了Android中的ListView(列表视图)组件,它以滚动列表的形式显示具体的内容,界面如图4所示,点击列表内容会触发相应的事件。设计中主要使用了如下几个类。
ListActivity:继承Activity,默认绑定一个ListView界面组件,并提供一些与列表视图相关的操作。
ArrayList:是动态数组,可动态地增加或减少数组中的元素,灵活地设置数组的大小,使用add增加指定的元素至此数组中,使用clear清空数组中的所有元素。
HashMap < String, String >:该类是基于哈希表的Map接口实现的,相当于一个存储数据的容器,不同的键值对应不同的信息。
SimpleAdapter:为一个简单的适配器,可以将静态数据映射到XML文件中。
定义好的视图,实现了列表更新,当切换至某界面,界面会自动更新一次,如果不退出界面,此界面每半分钟自动更新一次。
4 结束语
本文涉及的剩余电流智能查询系统能很好地进行人机交互,使用方便,操作简单,较好地把Android平台与剩余电流保护技术结合在一起。不仅可以远程对剩余电流进行监测,而且可以精准地对剩余电流故障位置进行定位,使检修人员很容易得到故障的详细信息,极大地提高了用电安全性。