基于ARM和Qt的液氨罐区监控系统的设计

2015-01-27 06:29娄海强衷卫声王文海
自动化与仪表 2015年10期
关键词:罐区液氨氨气

娄海强 ,衷卫声,王文海,付 港

(1.南昌大学 机电工程学院,南昌 330031;2.南昌大学 信息工程学院,南昌 330031;3.浙江大学 信息学部,杭州 310027)

2014年,国家安全监管总局发布了《关于进一步加强化学品罐区安全管理的通知》,要求各企业必须完善化学品罐区监测监控设施,国家对罐区的监控和管理越来越重视。

液氨属于化工企业的重大危险源,液氨储罐的液位、压力和罐区的氨气浓度、气温都是重要监控对象。随着企业生产规模的扩大,不同工序的原料分布在不同地方,罐区分布较散,难以做到集中管理。采用远程监控可使分布较散的罐区做到统一管理。嵌入式系统技术和GPRS无线通信技术的发展,给罐区监控系统的发展与升级提供了优越的条件。本设计采用ARM-Linux嵌入式技术和GPRS无线通信技术来组建一个嵌入式远程监控系统,实现对液氨罐区的远程监控和报警。GPRS(general packet radio service)是通用分组无线业务的简称,它是基于现有的GSM基础上发展的一种低成本、高效的无线分组数据业务[1]。利用GPRS技术实现的监控系统,具有实时性强、设备成本低、按流量计费、价格合理的优点,适合间断的、长时间的数据传输[2]。

图1 系统的整体结构Fig.1 Overall structure of the system

1 系统的硬件设计

1.1 整体结构设计

整个系统采用上位机和下位机两层结构,分别为现场嵌入式监测终端和远程数据监视中心。整体结构如图1所示。ARM微处理器选择S3C2440A,该微处理器是韩国三星公司面向手持设备以及高性价比、低功耗和低价格而设计的一款基于ARM920T内核的16/32位RISC嵌入式处理器,标准工作频率可达400 MHz[3]。

现场嵌入式监测终端,主要完成液氨罐区参数的数据采集、语音和短信报警、数据的无线传输、执行安全联锁机构等工作。信息采集是由温度传感器、液位传感器、压力传感器、氨气浓度传感器采集标准模拟信号,标准模拟信号通过A/D模数转换芯片模块转为数字信号,然后ARM处理器对数据进行分析处理。当压力、液位、温度或空气氨气浓度达到报警值时,则触发ARM处理器控制现场语音模块进行语音报警和控制GPRS模块向安全管理人员发送短信报警,并控制安全联锁执行机构排除危险。现场嵌入式监测终端通过GPRS无线网络传输将罐区数据传送给数据中心。网络采用中国移动的GPRS的APN专网固定IP地址的方式传输数据。首先向中国移动公司开通GPRS的APN专网业务,开通该业务后就可以给现场监测终端和远程数据监视中心分配中国移动内部固定IP地址。这样,由现场嵌入式监测终端所采集的数据和图片都可以在中国移动GPRS的APN内网传送。监视中心负责罐区数据的接受、显示、存储和管理。

1.2 各模块硬件设计

1.2.1 数据采集模块

考虑到系统的兼容性,本系统主要选择输出为标准4~20 mA电流模拟传感器。液氨储罐压力传感器选择PT212BX压力变送器,采用防爆型壳体,耐腐蚀,可输出4~20 mA模拟信号。液氨储罐液位传感器选择HS-2000智能型液氨储罐液位计。测量时将超声波探头安装在液氨储罐外壁的底部,不需要对储罐开孔,安装也非常简单,不会影响现场的生产。仪器采用隔爆设计,满足防爆要求。此外仪表可输出4~20 mA标准信号。空气液氨浓度检测选择MOT500-NH3氨气检测仪,该仪器采用安全的防爆技术,可以用在危险场所,仪器具有4~20 mA信号输出。气温传感器采用武汉新绿原科技发展有限公司生产的LVQWC-21大气温度传感器,广泛应用于化工、农业、气象等需要测量大气温度的领域,可以输出4~20 mA的标准电流信号,测量范围-40~60℃。A/D模数转换芯片选择ADS8344E,该芯片为TI公司生产的16位8输入模拟通道的模数转换芯片,其转换速率高达100 kHz[4]。ADS8344E支持串行接口方式[5],本系统采用串行SPI接口与S3C2440A连接。

1.2.2 语音模块

语音模块采用ISD1420语音芯片,其内有128 K的E2PROM用于存放语音信息,并可以分为160段,每段存储0.125 s的语音信息,总共存储20 s[6]。由于本设计中的报警极限值分别为液氨储罐压力预警和上限报警、液氨储罐液位预警和上限报警、气温预警和上限报警、空气氨气浓度的预警和上限报警,共8段语音报警,录音及放音功能均从设定的起始地址开始,地址由A0~A7引脚设定,8段语音的ISD1420地址空间首地址分别为00000000、00010100、00101000、00111100、01010000、01100100、01111000、10001100。

语音芯片的电平触发引脚PLAYL与S3C2440A的GPA8引脚相连,地址控制端引脚A0~A7与GPA0~GPA7相连,放音时由ARM命令给出语音段首址和使PLAYL引脚为低电平开始放音。

1.2.3 GPRS模块

GPRS网络实现现场嵌入式监测终端和远程数据监视中心的数据通信。本设计选择G20模块,它是Motor公司生产的,内嵌TCP/IP协议栈,所以设计者自己不需要实现TCP的打包过程,简化了软件系统开发过程和节省了软件系统开发的时间。G20使用非常简单,只需要将它与S3C2440A的UART1串口相连。对G20的操作是通过AT指令来实现的,G20与ARM处理器成功连接后,系统就可以通过ARM处理器给G20发送相关的AT指令。

当然,光有G20模块是不能完成无线通信的,还必须连接用户身份识别卡SIM卡,而且所使用的SIM卡需开通中国移动的GPRS业务。数据监视中心以无线方式接入GPRS网络,并得到GPRS内网的静态IP地址,将静态IP地址与SIM卡号进行绑定。

1.2.4 安全联锁模块

安全联锁执行机构主要是电磁阀,是通过ARM微处理器控制相关继电器来控制电磁阀的开与关。一是当液氨储罐压力过高时,通过控制电磁阀给液氨储罐泄压至备用储罐;二是当气温过高时,通过控制电磁阀打开液氨储罐顶部的喷淋水出口,从而降低液氨储罐的温度;三是当液氨泄漏时,通过控制电磁阀打开喷淋水吸收空气中的氨气;四是当向储罐充液氨液位过高时,通过控制电磁阀快速切断充氨口。

电磁阀由S3C2440A的GPIO引脚控制,当GPIO为高电位时,驱动三极管放大电路,从而驱动继电器控制电磁阀。当监控要素超限达到上限报警值,ARM处理器使控制相应电磁阀的GPIO引脚产生高电平,从而执行安全联锁执行机构。液氨进口切断阀、液氨储罐泄压阀、储罐喷淋水出口阀、空气喷淋水出口阀分别由S3C2440A的GPA11、GPA12、GPA13、GPA14来控制相应的继电器。

1.2.5 图像采集模块

对罐区的图像监测采用USB高速摄像头进行图像采集,而视频格式数据量太大,不方便传输和保存,所以采用定时对化工罐区进行图片采集。因不需要进行图像优化处理,只需要图片格式文件,本系统选择ov518芯片摄像头。

2 现场嵌入式监测终端软件设计

2.1 Bootloader的移植和Linux内核的配置移植

Bootloader指系统启动后,在操作系统内核之前运行的一段小程序,它类似于PC中的BIOS程序。通过这段程序,可以完成硬件设备的初始化,并建立内存空间的映射图的功能,从而将系统的软硬件带到一个合适的状态,为最终调用系统内核做准备。

标准Linux内核2.6版本有1000多万行代码,相对于资源有限的嵌入式系统来说过于庞大,因此移植之前需要根据目标平台的实际情况对Linux内核进行裁剪和配置。裁剪配置完成后,再进行编译内核生成内核映像文件zImage。主要使用make menuconfig来裁剪配置内核。主要配置CPU平台、万能驱动USB摄像头、SD/MCC卡驱动、RTC实时时钟驱动等。

2.2 现场嵌入式监测终端应用程序

现场嵌入式终端程序主要完成以下几个功能:

1)完成数据采集工作:对外部的压力传感器、液位传感器、温度传感器以及氨气浓度传感器的信号进行采集,并对数据进行相关处理。

2)完成报警报警工作:分析采集的数据,判断是否达到报警值,当达到危险值时,进行语音和短信报警。

3)完成图像采集工作:控制USB高速摄像头完成罐区的图片采集。

4)完成数据传输工作:ARM处理器发送AT命令控制G20 GPRS模块将采集到的数据和图片通过GPRS网络传送给远程数据监视中心。

5)完成安全联锁控制工作:当液氨罐区状态参数达到危险值时,控制相应的外部继电器动作。

现场嵌入式监测终端应用程序流程如图2所示。

3 据监视界面设计

要想很好地显示数据,就要利用组态软件来进行图形界面设计。本系统的监视界面是采用Qt来设计的。Qt有着比较强的跨平台特性,它的出现给嵌入式程序设计人员带来了很大的便利,深受程序员的亲睐。

图2 场嵌入式监测终端应用程序流程Fig.2 rogram flow chart of embedded monitoring terminal

数据监视中心使用GPRS-DTU来接入中国移动的GPRS网络,通过Socket网络编程来传输数据。Qt中提供的Socket完全使用类的封装机制,用户不需要接触底层的各种结构体操作[7],并且它采用Qt本身的信号与槽机制,这使得我们设计的程序非常直观。Qt的Socket支持TCP或UDP协议,使用TCP协议去建立网络连接及传输数据。

数据库是组态软件的核心。本系统设计选择比较常用的MySQL数据库对数据进行管理。MySQL运行时需要的内存较少,其代码是开源的,所以成本低,并且MySQL可移植到不同硬件平台。Linux GUI提供的MySQL支持对数据库进行编程,通过Qt编程来实现,比较简单。

通过Qt Designer就很容易将所需的控件组合在一起形成一个整齐的数据监视界面。各个控件组合起来之后,通过信号与槽机制来设置各个控件之间的响应。

本系统在实验室进行了初步实验。氨气浓度直接采集实验室室内空气中氨气浓度,但是我们选择的氨气浓度检测仪的分辨率不是很高,不足以检测到实验室的氨气,所以氨气浓度显示为0.0。实验结果如图3所示。

图3 监视界面Fig.3 Monitoring interface

我们还可以点击“历史数据”、“日志”、“图片查询”分页按钮,分别进入到其他子页面窗口进行其他操作。

4 结语

越来越多的研究人员融合GPRS无线网络技术和嵌入式技术来实现嵌入式远程监控系统,充分体现了其广阔的应用领域和前景。嵌入式系统技术、GPRS无线通讯技术、现代检测与传感技术以及语音芯片技术的发展与成熟,给罐区监控和报警系统进行改造和升级提供了优越的条件。本文就是利用基于ARM和GPRS的嵌入式远程监控系统实现对液氨罐区的监控,并通过Qt来设计监控界面。通过实验验证,该系统运行稳定可靠。

[1]田羿.基于GPRS网络的数据无线传输接口实现[J].计算机与网络,2011(22):74-75.

[2]吴叶兰,廉小亲.基于GPRS的供水管网远程监控系统设计[J].计算机测量与控制,2012,20(10):106-109.

[3]杨辉,刘海龙,高子洁.基于ARM9及WinCE6.0的塔机安全监控系统[J].计算机测量与控制,2012,20(1):78-80.

[4]赵振,郑金吾,贾梦之.嵌入式Linux下AD驱动程序的实现与应用[J].化工自动化及仪表,2013,40(10):93-96.

[5]李琦,贺明,董利民,等.基于ARM嵌入式系统的SPI驱动程序设计[J].微型机与应用,2011,30(5):5-8.

[6]熊建云.基于ISD1420的智能仪器语音系统的设计[J].自动化与仪器仪表,2013(4):65-67.

[7]周名阳,韩秀玲.基于Qt的图像数据网络传输应用研究[J].计算机工程与设计,2011,32(6):41-45.

猜你喜欢
罐区液氨氨气
兴化市精准推动液氨制氢专项整治
洛阳石化一催化装置首次回炼罐区环丁砜污水创效益
液氨槽车事故应急处置探析
突发事件链的罐区定量风险分析
利空增多 液氨后市承压
基于FMEA 的低温乙烯罐区运行风险评价方法研究
液氨储罐采用水置换方案的探讨
渔船密闭舱室内氨气泄漏数值模拟
国家安监总局要求加强化学品罐区安全管理