基于ARM 的化工企业电力监测系统设计
2020-01-09王鹏飞任垚煜
唐 超,王 轲,田 豆,王鹏飞,任垚煜
(1. 西安石油大学电子工程学院,陕西 西安 710065;2. 陕西省油气井测控技术重点实验室,陕西 西安 710065)
随着嵌入式技术的发展,越来越多的嵌入式设备应用于化工企业用电安全监测领域[1-2],随着中国工业化水平的提高和国民生活质量的提升,化工产品的使用量急剧增加,大型化工企业数量快速增加因用电安全引发的事故时有发生,企业财产以及员工生命安全受到潜在威胁。工业电表数据监测系统是为防止因用电安全引发事故而设计的实时数据监控系统。本系统主要实现对相电流、相电压、电压频率、功率等电表主要数据的采集。通过对采集到的化工企业用电数据进行智能分析来判断是否存在用电危险。一旦出现数据异常通过警示措施提示现场工作人员和企业管理部门。本系统使用的电表型号为台仪电子DTS1187-SDG 三项四线型,通讯方式为以太网。
1 系统整体设计
本监测系统主要实现的功能有:通过ARM平台实现相电压、相电流、有功功率、电压频率等主要参数采集,按照设备编号以及时间顺序存储到数据库;实现B/S 模型WEB 服务器构建主页,用户可登陆主页查看当前数据;数据处理中心通过485 总线接收电表数据,每5min 进行一次数据更新,并存储到数据库,将采集到的数据通过本地LCD 以图形化界面进行显示,可通过触摸屏查询历史数据。
系统主要实现了电表数据采集节点设计、数据处理终端设计、UI 界面设计。数据接收处理终端和采集节点通过总线实现数据交互,数据采集结点主要实现了参数实时采集、存储、传输等功能。 通过对相电流、相电压、电压频率、功率等主要参数的采集与存储,实现B/S 模型WEB服务器将采集到的数据发布到查询页面供用户查询。采集节点以5min 为时间间隔进行数据采集并逐一进行数据存储。本系统支持当日、一周内、一月内历史数据查询,可通过本地触摸屏进行查询设置。
2 数据采集节点设计
本节点主要组成包括电表测量模块、ARM 核心处理模块、WEB 服务器模块。整体框图如图1所示。
图1 数据采集节点整体框图
电表测量模块测得当前电力的相关数据,将采集到的数据通过GPIO 接口电路发送给ARM 核心处理芯片。主控芯片接收到数据后将解析好的数据通过网络编程及其它相关程序一路按设备编号和时间顺序存入数据库[3],一路将数据直接写入控制页面,方便本地用户查看,最后一路利用WEB 服务端等待网络用户访问查询。
2.1 采集系统硬件设计
本设计的数据采集模块硬件主要包括三星4412 最小系统和台仪电子DTS1187-SDG 三项四线型智能电表。电表可实时测量输入电的各个参数,系统软件会在固定时间间隔发出指令从电表对应接口读取电表各项参数,主控芯片只需要从GPIO 引脚读取数据即可。
三星4412 最小系统是以高端的ARM Cortex-A9 为开发平台,内建32/32KB 数据/指令一级缓存、1MB 的二级缓存,GPU 采用Mali 400 MP 四核图形处理器,支持2D/3D 图形加速可显示高清大尺寸图形,四核处理器在达到双核双倍性能的同时,功耗却只有双核的80%,所以此芯片非常适合用于高端物联网开发。
2.2 采集系统软件设计
采集系统软件设计部分主要包含搭建WEB服务器、创建数据库。B/S 模型WEB 服务器的搭建是通过SOCKET 套接字的创建、BIND 绑定服务器的IP 地址、LISTEN 监听网络端用户的访问请求等步骤完成。当网络服务器端有用户查询请求时,服务器会自动按照用户需求在数据库中查找相应的数据,并通过HTTP 协议发送至客户浏览器,达到实时查询数据的目的。
2.2.1 主程序设计
主程序设计中,当主控芯片上电之后首先进行系统初始化的操作,其主要目的是完成SOCKET 套接字的创建,端口号的绑定,创建数据库等任务。程序设计为双线程,主线程持续监听浏览器端发送的请求,子线程主要完成将数据存储到数据库的操作。程序框图如图2 所示。
图2 主程序框图
2.2.2 WEB 服务器设计
当程序执行到服务器模块时,系统将创建监听套接字随时等待客户的连接请求,收到客户浏览器的接入请求时程序自动打开一个预先编写好的HTML 模板,并将填入实时采集到的电表数据发回给客户浏览器,至此客户就完成一次实时查询数据的流程;最后系统关闭SOCKET 通信套接字。具体流程如图3 所示。
3 数据处理模块设计
系统数据处理模块主要包括4412 主控制芯片、LCD 显示屏、报警模块。数据处理模块框图如图4 所示。
图3 WEB 服务器流程图
数据处理模块通过485 总线获取电表实时数据存储到数据库,并采用framebuffer 绘屏技术将检测结果以柱状图的形式绘制在LCD 屏上,在Linux 系统下一切设备皆文件,在绘制屏幕时使用open 函数打开屏幕设备文件,调用read、write函数按照预先标定的坐标基准值绘制对应的像素点即可在LCD 屏幕上绘出当前时刻的数据柱状图。当检测到某项数据超过预先设置的阈值时则系统触发报警器提示管理人员及时排查险情;系统报警模块选择4412 板载的蜂鸣器,通过软件在不同情况下设置PWM0 引脚值即可实现报警功能。
4 结语
图4 数据处理模块框图
本系统以三星Exynos4412 芯片为核心,设计并完成整套简易而实用的智能电表监测系统。因其是基于嵌入式微控制器开发,具有很好的功能扩展性优势。随着物联网技术的快速兴起,该系统能很好的满足用户以及管理人员随时获取电表数据及时发现安全隐患的需求,因此本系统具有很好的应用前景。