电磁流量计是随着电子技术的发展而迅速发展起来的新型流量测量仪表。由于不受温度、黏度、压力等物理参数的影响,因此电磁流量计具有管道中无任何阻力部件、节能效果显著等诸多优点,受到了国内外众多厂商的青睐,现已发展成为工业用四大流量计之一。
目前,现有的电磁流量计一般都是以单片机为核心控制器,采用点阵式液晶显示,小容量 EEPROM存储数据,其测量精度、人机操作、信息存储等方面均存在着一定的局限性,已不能满足实际工业生产中流量测量与控制的需要。为此,本文提出一种基于ARM- Linux嵌入式开发平台,使用 MINIGUI开发环境进行图形用户界面graphical user interface,CUI)设计。该设计提供了友好的人机界面、大量数据存储与管理以及网络通信等功能,实现了电磁流量计的智能化、信息化与网络化。
1.电磁流量计的总体设计
电磁流量计的总体结构如图1所示。流量计主要由流量测量单元、智能监控终端和远程主机三部分组成。该仪表将嵌入式、数据库、图形开发和网络等技术集成到传统的电磁流量计中,构建了一个集流量测量、数据存储与管理和远程监控于一体的综合系统。
流量测量单元包括激磁电路、流量信号处理电路和存储器等模块,主要完成对流量的高精度测量,并将处理后的数据信息通过 Modbus总线传输到智能监控终端。智能监控终端运行基于LCD触摸屏的现场监控软件,并对整个电磁流量计系统进行现场实时监控,实现仪表参数设定、串口设置、流量和电势标定等多种功能,且提供友好的人机界面、数据管理和网络服务。
远程主机可以通过以太网登陆电磁流量计的远程监控系统,进行流量信息的实时查看、数据査询和用户管理等操作。
2.智能监控终端硬件设计
电磁流量计智能监控终端的硬件系统以基于ARMI1内核的S306410为核心处理器,包括电源模块、存储器模块(64MB~2 GB Nand Flash和128MBSDRAM)、串行通信接口、10/100Mbit/s以太网口和
LCD液晶显示屏等外围接口。智能监控终端硬件结构如图2所示。
智能监控终端硬件设计主要包括控制模块、存储模块和外围接口模块的设计。各模块介绍如下。
①控制模块采用S3C6410作为MCU。S3C6410是由 Samsung公司生产的低功耗、高集成度的32位RISC微处理器,它提供丰富的外围模块,集成有独立的16kB指令缓存、16kB数据缓存、ICD控制器、4通道UART、2通道SPI和1通道IIC等功能,可以满足电磁流量计智能监控终端所需性能要求。
②存储模块选用 Samsung公司生产的 Nand Flash芯片K9F1208U0M作为存储器,用于保存启动代码、Linux镜像文件、大容量程序和数据等;选用 Hynix公司生产的 SDRAM芯片HYS7V61620BT-H运行程序、维护数据和堆栈区,其单片容量为32MB。系统使用两片HY57V561620BT-H构成32位、64MB的 SDRAM存储器系统。
③外围接口模块包含以太网接口、LCD液晶触摸式显示屏以及串行通信接口等。系统选用NEC公司生产的型号为NL2432HC22-22B的TFT真彩液晶屏作为显示器,并在软件上实现LCD的驱动。S3C6410没有集成以太网控制器,所以系统外接了以太网控制器DM9000A,实现以太网接入。在电路设计时需要完成DM900OA与S306410总线的连接,以及网络隔离变压器PHI63539和以太网水晶接头RJ45的连接。
3.智能监控终端软件设计
电磁流量计智能监控终端的软件系统主要由4部分组成:硬件平台、嵌入式操作系统、设备驱动层和应用软件层。系统的软件设计主要包括嵌人式开发平台的建立和应用软件的设计,其软件结构如图3所示。
3.1嵌入式开发平台的建立
系统选用嵌入式Linux操作系统作为智能监控终端的软件开发平台,选用 MINIGUI 作为图形用户界面开发环境。嵌人式Linux操作系统源码开放,可移植性好,可以根据用户的需要进行相应的裁剪、定制,且具有强大的网络通信功能。 MINIGUI具有可伸缩性强、占用资源少、可配置性和支持多种嵌入式操作系统等特点,为嵌入式 Linux系统提供了完整的图形系统支持。 MINIGUI的运行需要一些动态链接库的支持,系统移植的库文件主要有:Zlib库、PNG库、JPEG库。要在目标板上运行 MINIGUI for Linux应用程序,首先要使用PC宿主机对 MINIGUI的源代码进行交又编译,生成 MINIGUI静态链接库文件;然后 MINIGUI应用程序在宿主机上进行交又编译,并且与 MINIGUI静态链接库和POSX线程库链接生成,*.axf映象文件或*.bin二进制文件;ZUI后将 MINIGUI应用程序下载到目标板并运行。
3.2应用软件的设计
3.2.1数据管理模块设计
系统采用 Sqlite数据库对测量数据和报吝等记录进行存储和管理。 Sqlite是 Hipp D R于2000年开发的款轻型C库实现的关系数据库,其设计目标就是为嵌人式系统服务,而且源代码是完全公开的。 Sqlite数据库提供的API函数有多个,系统使用到的函数有sqlite3_open()、 sqlite3_exe()、 sqlite3_get_ table()、sqlite3_ close()。当用户需要存储和管理流量信息时只需构造对应的SQL语句即可。
3.2.2用户界面操作模块设计
在 MNIGUI开发的人机交互界面中,用户可以通过操作触摸屏操控仪表。主界面的菜单栏中包含了登录管理、参数设置、数据管理、仪表标定、帮助和退出六个选项,每个选项又包含若干子选项。用户点击相应的弹出式菜单按钮,可进入相应的子窗口执行操作主菜单页面中还显示当前的流量信息,包括流量、流速、百分比和空管比等测量值以及当前仪表报警情况。
3.2.3串行通信模块设计
系统采用 Modbus的RTU模式进行信息传输,Modbus规定RTU模式中有效功能码范围为1-255,设计选择67~71作为智能监控终端(主机)请求功能码,196~199作为流量测量单元(从机)回应功能码。智能监控终端启动后,首先向从机发送功能码为67的请求帧,获取流量测量单元的仪表参数,然后调用 check_ setting(),比对消息帧的参数和智能监控终端的参数。比对相同时,系统采用流量测量单元的参数,否则,重新发送功能码。监控程序正常运行时,根据设定的时间间隔向流量测量单元发送流量数据和报警数据请求帧,如果在设定的通信时间内没有响应,则通信超时,主机重新发送请求帧。当用户在智能监控终端通过GUI完成仪表的参数设定或标定设置后,智能监控终端发送功能码为70或71的消息帧,把参数发送到流量测量单元,监控程序按设定的时间间隔读取串口数据,并调用 analysis_data()解析从机的应答消息帧。解析时,先获得从机地址,然后判断功能码并采取不同的处理措施。解析流程图如图4所示。
3.2.4网络服务模块的设计
在 Linux下进行网络通信可以通过调用 Linux内置的TCP/IP协议提供的 Socket套接字接口函数来实现,常见的 Socket主要有三种类型:流式 Socket、数据报 Socket、原始 Socket。本系统选用流式 Socket,即采用C/S模式,将智能监控终端构建成通信服务器,以响应监控软件的连接请求和操作。监控软件利用C++ Builder6为开发平台,在通信中作为客户端发起连接请求,监控电磁流量计的运行状态。
系统运行后,主进程首先新建一个子进程,随后主进程运行 MINIGUI的图形界面应用程序,由该子进程运行 Socket通信服务器程序。为了支持多个客户端同时访问本服务器,系统采用多进程技术,每接收到一个连接请求,系统即创建一个新的子进程,由该进程负责与客户端的通信。
4.结束语
本文结合嵌入式、数据库、网络和图形开发等技术,设计了一种基于嵌入式技术的电磁流量计智能监控终端。系统以高性能的S3C6410为核心处理器,以嵌入式 Linux操作系统为软件开发平台,具有可靠性高、人机界面友好、网络功能强大等特点,弥补了传统电磁流量计监控终端设计存在的局限性。目前,该系统已进入产品测试阶段,试验结果表明,监控终端运行稳定、可靠,满足了企业的需求,具有一定的实用价值和推广价值。
上一条:
电磁流量计励磁频率对测量的影响
下一条:
现场总线智能电磁流量计转换器的实现