文献标识码: A
远程测控系统是当前工业自动化领域研究的热点之一。远程测控已渗入工业自动化和办公信息化的各个系统。这些测控系统大多是根据具体的应用需求进行专门设计的,实际上它们的功能或相同或相似,关联较大。如果将每个系统看成独立体,每次开发均从零开始,就会带来大量的重复劳动,这无疑加大了设计成本[1]。现代测控系统的开发要求,需要设计人员在尽可能短的时间内开发出满足客户需求的软硬件系统。因此,如何提高软硬件的可重用性,如何在保证系统性能的前提下,避免重复劳动,缩短开发周期,就成为越来越多的嵌入式系统开发人员研究的热点。
本文分析研究了远程测控系统的共性,建立了测控系统的一般模型,利用嵌入式以太网、Web服务器、硬件构件和软件可重用等技术,设计了一种面向测控领域的基于B/S与C/S相结合体系结构的通用软硬件平台。
1总体设计方案
1.1 一般测控系统的通用模型特点分析
基于通用设计思想的系统开发在设计思路上须遵循模块化、可二次开发性和平台化的设计原则。实际的应用系统需要处理的信号可能存在很大的差异,所以本文在系统总体设计过程中,分析了各种应用系统之间的共性,从现有的一般的测控系统中抽象出一个通用模型。
一个典型的嵌入式测控系统通常包括模拟量输入模块、开关量输入模块、模拟量输出模块、开关量输出模块、数据通信模块[2]和MCU工作支撑电路。
实际模拟信号是物理世界的自然信号,需要通过传感器将其转换为电信号,然后由A/D转换接口将电信号转换为数字信号。由于传感器输出的电信号通常比较微弱,而且输出的信号类型各异,因此,需要相应的转换电路对其进行处理。实际开关信号一般来自开关类传感器或手动开关,需要开关量转换电路将实际开关信号转换至MCU可接受的电信号范围。
测控系统的执行机构,包括开关量控制和模拟量控制。开关量执行机构只有开和关两种状态。模拟量执行机构需要连续变化的模拟量控制,MCU通过D/A转换接口将数字量转换为模拟量输出控制。此外,由于MCU引脚的驱动能力在10 mA左右,不能直接控制这些执行机构,因此需要借助于相应的驱动电路来实现。
通信接口模块主要实现MCU与各外围模块或设备之间的通信,常用的通信方式有:UART、SPI、USB、以太网等。对于远程测控系统,通常采用以太网与远程主机进行通信。
通过分析,本文建立了如图1所示的一般测控系统的通用模型。
1.2 通用模型特点分析
完整的测控系统包括硬件和软件两部分。建立测控系统通用模型就是分别为软、硬件建立相应的通用模型。硬件模型体现在测控终端控制器的硬件设计上;软件模型根据所选择的体系结构不同而有所差别。但不论是哪一种体系结构,对软件的设计都是建立在硬件的基础之上,所以整个通用模型的建立首先且关键是对硬件通用模型的建立。
1.2.1 远程测控系统的硬件模型
远程测控系统的测量与控制在硬件上主要体现在位于现场的网络化测控终端对外界数据的采集以及控制量的输出,其中数据采集部分通常包括模拟量输入模块和开关量输入模块;控制输出部分通常包括模拟量输出模块和开关量输出模块。因此,通用模型的建立主要体现在对这四种输入输出模块的设计上。
本文通过提供业内比较通用的信号类型来达到通用的目的。对于使用这些信号接口的测控设备,可直接互连;对于使用其他信号接口的测控设备,只需要增加相应的信号转换电路即可互连。通过对多个具体测控系统的分析,采用了如下的硬件设计方案:
(1)模拟量输入接口,提供8路模拟量输入通道;考虑到市场上大多数传感器或变送器都提供0~5 V电压信号输出,另一方面由于A/D转换器通常以0~5 V电压信号输入,因此本文将模拟量输入接口设计为可直接处理0~5 V电压信号。另外为了便于给传感器或外接的转换电路供电,提供5 V和12 V电源接口。
(2)开关量输入接口,提供8路开关量输入通道,可直接处理12 V开关信号。对于其他类型的开关信号,需要外接转换电路。
(3)模拟量输出接口,提供8路模拟量输出通道,提供0~12 V电压信号输出,对于其他类型的模拟信号,需要外接相应的驱动电路。
(4)开关量输出接口,提供8路开关量输出通道;可直接输出12 V电压信号,也可通过更换继电器实现对其他电压信号的输出。
(5)通信接口,采用以太网作为传输媒介,与远程主机进行信息交互,从而实现远程测控功能;对于其他通信接口,由其他辅助模块决定。
(6)提供良好的人机交互接口。现场信息采用液晶显示;对受控设备的现场手动干预采用SDF-1通用型手持编程器实现,以避免为所有的输出接口配备相应的控制按钮。
(7)在进行具体的硬件设计时,融入硬件构件的设计思想,将各个硬件模块进行独立的封装,以提高硬件的可重用性[3]。
根据以上方案所设计的硬件模型如图2所示。
1.2.2 远程测控系统的软件模型
采用何种网络体系结构是开发网络软件时首当其冲考虑的问题。究竟是采用C/S模式还是B/S模式,或是两者兼有的混合模式,这就需要分析它们各自的特点,扬长避短,这样才能设计出最合适的网络结构。为了实现实时方便地访问任一台终端控制器,查看当前的监控信息,本文将终端控制器设计为一个嵌入式Web服务器。但是由于嵌入式系统资源很有限,无法实现对长时间历史记录的保存,因此必须借助于上位机的存储能力,将所有的历史记录转移到监控上位机保存。另一方面,B/S结构采用浏览器访问时,每次只能查看单个控制器的现场信息,无法实现集中监控和管理功能,而C/S结构的客户端软件可以很好地解决这个问题。因此,本文采用B/S与C/S相结合的体系结构,对于浏览器客户端采用HTTP协议与测控终端交互;对于监控平台软件客户端采用UDP协议进行通信。
根据上述的体系结构,通用平台的软件系统应该包括3部分:测控终端内的嵌入式软件、提供可配置功能的二次开发软件以及用于集中监控和数据存储的监控管理软件,由于后两种软件都是在PC上运行的,本文将其合二为一集成在同一个软件系统——监控平台软件中实现。其软件模型如图3所示。
2通用模型的软硬件解决方案
2.1基于MCF52233的单芯片方案
单芯片解决方案是一种选用带有以太网接口MCU的以太网接入方案,因此,以太网驱动与TCP/IP协议栈的实现需要开发人员完成,软件实现相对较复杂。但是与多芯片解决方案相比,单芯片解决方案具有硬件设计简单、集成度高、成本低廉等优点,而且便于修改和扩充。
经过比较,本文采用了单芯片的以太网接入方案,主控MCU选用Freescale公司的32位ColdFire系列微控制器MCF52233[4]。它内部集成了快速以太网控制器FEC(Fast Ethernet Controller)和以太网物理层收发器EPHY(Ethernet Physical Transceiver),实现了以太网的单芯片解决方案;还拥有UART、I2C、QSPI、PWM以及A/D转换模块等丰富的外围接口,包含32 KB片内SRAM,256 KB片内Flash,总线频率最高可达60 MHz,是Freescale公司大学计划2008年主推的芯片之一。
根据硬件模型的设计,测控终端的具体硬件总体设计框图如图4所示,按硬件模块划分为:电源转换模块、开关量输入模块、A/D转换模块、开关量输出模块、PWM输出模块、以太网通信模块、液晶显示模块、手持编程器模块和时钟模块。基于适配性和通用性考虑,预留了8路模拟量输入、8路模拟量输出和8路开关量输入、8路开关量输出作为二次开发的可配置接口。此外,报警灯蜂鸣器控制2个引脚、LCD显示控制3个引脚以及以太网/系统运行指示灯控制3个引脚。在数据通信过程中,串行通信、以太网通信以及I2C通信各需要2个、2个以及4个引脚,共8个引脚。经过仔细分析,测控终端需44个I/O引脚。
根据MCU与外围模块的选型原则,以及对控制器的功能需求与输入输出分析,本文选了表1所示的外围器件和模块,从而确保测控终端芯片工作稳定,进而满足测控系统的通用性。
本文选用80引脚LQFP封装的MCF52233作为测控终端的主控MCU[5],在充分考虑到布线以及编程的方便后,为各个模块分配了如表2所示的I/O引脚。
2.2 监控平台的软件设计
监控平台软件主要实现对测控终端的配置式二次开发,对所有已配置测控终端的实时信息进行远程监控,并将这些信息存入数据库中以便管理。它是测控系统通用平台必不可少的组成部分,待开发完成后,它就只是作为监控并存储各测控终端信息的辅助工具。监控平台软件按功能划分为数据库管理模块、功能界面模块和网络通信模块3部分,其中功能界面模块包括二次开发模块、参数设置模块、远程监控模块、物理量回归的动态在线校准模块[6]、历史记录查询与导出模块、系统维护模块、用户管理模块以及辅助功能模块共8部分。除了辅助功能模块之外,其他模块都涉及到数据库的操作,包括记录的添加、查询检索、修改、删除等。
3 配置式二次开发界面
配置式二次开发主要是添加接入网络中的测控终端控制器,以及对控制器的网络参数和各通道及其控制关系的配置。添加控制器的界面如图5所示,其中单元名和网络参数属于必配项,其他通道配置由实际项目需求确定。
单元名用于直观地表示各控制器的名称,用户可以根据控制器所放置的监控现场对其命名,之后的监控界面都以该名称唯一标识对应的控制器。实际通信时以IP地址唯一确定一个控制器,对于同一版终端软件,其配置的IP地址、MAC地址等网络参数皆相同,接入网络后会出现IP地址冲突,无法进行网络通信。所以在添加控制器时需要修改其网络配置参数。控制器的默认IP地址为192.168.1.164,在新增控制器时,需确保PC到控制器之间的网络是连通的。
对于控制器提供的模拟量输入、开关量输入、模拟量输出、开关量输出等通道,本系统默认不作任何配置,因此在添加控制器时需要根据实际需求配置传感器和输入输出设备所接的相应通道。将所有通道配置信息填好之后,就可以通过“新增”按钮将这些配置信息写入数据库,系统会自动将这些信息写入需要配置的新控制器内。
另外,本界面还提供了模板功能,用户在添加新的控制器时,可以通过添加模块按钮将当前配置信息以模块形式保存,在配置后续控制器时,只需要选择该模板,然后修改IP地址等少量信息即可实现快速的添加并配置控制器功能。与添加控制器菜单相对应的还有一个修改控制器菜单,开发人员可以在相应的界面中重新修改某个已存在控制器的配置信息或删除不再使用的控制器,该功能对于后期维护比较实用。
输入输出控制关系配置界面如图6所示。本文实现的控制关系中每个模拟量输入通道可以控制2个模拟量输出通道和2个开关量输出通道;每个开关量输入通道可以控制一个开关量输出通道。控制关系配置界面中各选项的内容是根据添加控制器界面中配置的通道信息加载的,所以应该先添加控制器,才能对其进行控制关系的配置。
现有测控系统的开发基本是根据具体应用需求进行单独重复的设计、编码、测试,而实际上这些系统在功能结构上具有雷同性,为提高软硬件的可重用性,本文通过对测控系统的分析,抽象出测控系统的一般结构,在此基础上实现了一种基于嵌入式以太网的面向测控领域的通用平台。该平台已应用于网络机房远程环境监控系统和基于嵌入式以太网的IC(Integrate Circuit,集成电路)硬化炉监控系统中,为现代嵌入式系统开发提供了一个快速原型工具。
参考文献
[1] 陈鸣慰. 基于ARM的通用型实时测控系统设计与实现[D].南京:东南大学,2006.
[2] 王宜怀.嵌入式技术基础与实践[M].北京:清华大学出版社,2007.
[3] 荐红梅.基于硬件构件的嵌入式底层软件开发方法研究及其应用[D].苏州:苏州大学, 2008.
[4] 王宜怀,陈建明,蒋银珍.基于32位ColdFire构建嵌入式系统[M].北京:电子工业出版社,2009.
[5] Freescale. MCF52233 ColdFire Integrated Microcontroller Reference Manual [EB/OL].http://www.freescale.com,2006.
[6] 刘伟,沈安东,王宜怀.低端嵌入式系统中物理量回归算法的优化[J].现代电子技术,2008(18):31-34.