一种构建工业自动化仪器仪表嵌入式软件系统的方法,属于工业自动化仪器仪表技术领域。本发明专利技术利用微控制器和外部设备,通过源代码,先建立仪器仪表行业常用微控制器和外部设备的构件库,后调用相应的构件快速自动生成仪器仪表软件驱动程序,再添加相应的功能应用程序,然后用Keil uVision2软件对源代码程序进行编译、链接、调试,从而逐一完成工业自动化仪器仪表的各个功能模块。由于本发明专利技术具有针对性强、实用性强、节省投资、减少重复劳动,产品质量高、出错率低、大大缩短产品开发周期等特点,故本发明专利技术可广泛应用于各种类型的工业自动化仪器仪表嵌入式软件系统的构建。
【技术实现步骤摘要】
本专利技术属于工业自动化仪器仪表
,特别涉及工业自动化仪器仪表嵌入式软件系统的构建方法。
技术介绍
工业自动化仪器仪表是集传感器技术、信号处理技术、计算机技术、网络通信技术于一体的高新技术产品,这类产品技术含量高、市场容量大、应用面广,工作环境恶劣,可靠性和测量精度要求高,是仪器仪表行业研究的重点课题。工业自动化仪器仪表种类繁多,如分析仪器、光学仪器、环保仪器、医疗仪器、电子测量仪器、地质仪器、气象海洋仪器、航空航天仪器、汽车仪表等等。若再细分,如分析仪又分为工业电导电浓度分析仪、智能微量氧分析仪、智能红外气体分析仪等等。随着社会进步和科技发展,工业自动化仪器仪表将向着数字化、智能化、网络化、微型化、高性能、高可靠性、高稳定性和光机电一体化的趋势发展,对软件系统提出了更高的要求。目前工业自动化仪器仪表结构上都是由信号采集、传输,处理、控制等功能模块构成,硬件上均包括各类常用微控制器和外部设备模块,比如英特尔(Intel)系列、爱特梅尔(Atmel)系列、飞利浦(Phlips)系列、新华龙(Cygnal)系列微控制器等、各类模数转换器、数模转换器、串行总线及通信接口,输出显示、脉宽调制等。现有工业自动化仪器仪表软件系统的构建都是从零开始,由软件工程师在硬件结构上按照仪器仪表功能进行嵌入式软件编码。实际上在软件工程师编写的程序中存在大量可重用的代码段,包括各类常用的微控制器及外部设备的驱动程序模块。这些代码都随着一次产品开发的结束而结束,只使用了一次,没有得到很好的积累和管理。因此软件工程师的离职常常导致技术无法继承,重复开发。这使得工业自动化仪器仪表产品的研发周期长、难度大、效率低、出错率高、成本也居高不下。为了缩短工业自动化仪器仪表产品的开发周期,提高产品质量,增强市场竞争能力,同时降低软件工程师的工作强度和增强技术的继承性,有必要将众多的可重用的源代码片段进行封装,生成重用性高的源码构件,提供给软件工程师使用。目前常用的构件模型包括微软公司的组件对象模型(COM/DCOM)、对象管理组织(OMG)的公共对象请求代理架构(CORBA)和太阳(SUN)公司的软件组件模型(JavaBean/EJB)等,它们已成为快速构建应用系统的关键。但在嵌入式应用领域,由于嵌入式平台的多样性,以及嵌入式系统对内存消耗、实时特性、可靠性和稳定性等重要的非功能性因素的考虑,上述的构件模型难以有效地适用于嵌入式系统。为此,国内外研究机构专门推出了一系列嵌入式构件模型,如比利时国际焊接技术员(IWT)协会赞助的射思科(SEESCOA)项目的耦合道光学模型(CCOM)、飞利浦公司用于消费电子的考拉(Koala)构件模型和电力和自动化技术集团(ABB)等公司用于现场设备技术的嵌入式系统组件模型(Pecos)等。这些模型的共同特点是基于源码级的构件复用,并有相应的方法支持。但是针对工业自动化仪器仪表的常用微控制器和外部设备驱动的构件,目前并没有相应的规范和标准,基于构件的仪器仪表嵌入式软件系统也没有具体的框架。因此,基于构件的工业自动化仪器仪表嵌入式软件系统构建方法越来越引起学术界和产业界的高度重视。
技术实现思路
本专利技术的目的是针对现有工业自动化仪器仪表软件系统构建方法的不足之处,提供一种,解决软件资源得不到有效的积累和复用,导致重复开发,效率低的问题。该方法具有针对性强、实用性强、节省投资、减少重复劳动,产品质量高、出错率低、大大缩短产品开发周期等特点。本专利技术的机理是通过对工业自动化仪器仪表产品的常用体系结构、程序设计语言、常用功能及微控制器和外部设备驱动,建立一种适用于仪器仪表的嵌入式软件构件化模型。软件工程师可以根据模型标准设计/生成源码构件,提交构件库统一管理。在构件库的基础上,根据仪器仪表产品软件体系结构和常用功能,构建一种基于构件的工业自动化仪器仪表嵌入式软件系统。实际开发中,通过调用相应的构件自动生成软件源代码,从而快速建立面向具体型号和应用领域的仪器仪表的嵌入式软件驱动程序,实现对工业自动化仪器仪表的控制。这种将大大降低开发难度,使开发者把精力集中于功能的开发和实现,开发效率显著提高。嵌入式软件构件是一段可重用的代码,粒度定义为语句级,即代码片段至少包含一条语句,使其具有更高的灵活性和可重用性,也可以是包含其他构件的构件,因此它可以是函数、过程或对象类,也可以是更大规模的单元。构件是可配置和共享的,这是基于构件开发的基石,且构件之间能相互提供服务。为了提高软件生产过程的复用力度,不仅需要复用旧的代码,而且要复用相似的分析设计结果和体系结构。这样才能减少构造新软件系统的代价,从而提高软件的可靠性,改变过去一次次、一个个地重复开发应用系统的状况,使软件工作者真正地从烦琐的劳动中解放出来。基于框架的软件开发方法就是这样一种面向特定领域的软件复用技术。一个对象框架是指在特定领域中的应用软件的半成品,它由一组协作构件组成,阐明了整个设计、构件间依赖及成员构件的责任分布,其优点在于能够通过软件重用提供高层服务而屏蔽底层细节,从而大大提高各类应用程序的开发效率,避免重复编写大量相同的代码以及由此可能产生的大量错误。框架由于提供了大力度的复用而被认为是一种非常有前途的面向对象技术。本专利技术的软件系统基于科尔公司(Keil)的uVision2软件设计的。Keil公司是一家业界领先的微控制器软件开发工具的独立供应商,制造和销售种类广泛的开发工具,包括美国国家标准协会(ANSI)C编译器、宏汇编程序、调试器、连接器、库管理器、固件和实时操作系统。目前有超过10万名微控制器开发人员在使用这种得到业界认可的解决方案。Keil公司针对51系列单片机推出了32位Windows环境、以51系列单片机为开发目标、高效率的C语言集成为基础开发平台的Keil uVision2软件。仪器仪表行业大多采用Keil uVision2软件,因此本专利技术构建的软件系统兼容uVision2软件的工程格式,可直接在uVision2软件中进行编译,下载,调试,极大的方便仪器仪表行业软件从业人员的使用,他们不必重新学习和掌握新的开发工具,节省投资。通过为各个微控制器和各类外部设备硬件模块编写硬件描述性操作的驱动和控制程序,如模数/数模转换器(ADC/DAC)、串口232(RS232)、内部集成电路(I2C)、串行外围接口(SPI),区域网络控制器(CAN)等,从而建立驱动构件。描述性操作是指在控制硬件时只需知道要完成什么,而不需要知道如何去完成,每个操作都是一些单一的动作。例如对于设置一个串口的波特率,只需要知道是哪个串口,波特率是多少,而不需要知道要写哪一个寄存器以及如何写等。驱动构件留出接口供开发人员调用,编程人员只需要了解程序开发中的初始化顺序以及初始化的内容而不需要了解初始化的具体细节就能完成程序的编写。这样可以大大的提高工作效率,减少硬件驱动程序具体细节设置中最容易出错的地方。建立驱动构件库,从而大大减少出错的可能性,使嵌入式系统应用开发过程简单化,节省大量的时间。本专利技术的目的是这样实现的一种,利用微控制器和外部设备,如各类模数转换器、数模转换器、串行总线及通信接口,输出显示、脉宽调制等,通过源代码,先建立仪器仪表行业常用微控制器和外部设备的构件库本文档来自技高网...
【技术保护点】
一种构建工业自动化仪器仪表嵌入式软件系统的方法,利用微控制器和各类模数转换器、数模转换器、串行总线及通信接口,输出显示、脉宽调制的外部设备,通过源代码,先建立仪器仪表行业常用微控制器和外部设备的构件库,后调用相应的构件快速自动生成仪器仪表软件驱动程序,再添加功能应用程序,然后用KeiluVision2软件对源代码程序进行编译、链接、调试,从而逐一完成工业自动化仪器仪表的各个功能模块。从而逐一完成工业自动化仪器仪表的各个功能模块,其特征在于具体的方法步骤如下:(1)建立构件库对工业自动化仪器仪表产品的常用体系结构、程序设计语言、常用功能及微控制器和外部设备驱动,建立一种适用于仪器仪表的嵌入式软件构件化模型,再根据构件化模型构建源码构件,并放置于构件库统一管理,供重复使用时调用;(2)构建仪器仪表嵌入式软件系统在第(1)步完成以后,根据仪器仪表产品的软件体系结构和常用功能,从第(1)步建立的构件库中调用相应的微控制器和外部设备驱动构件,通过源代码自动生成仪器仪表软件驱动程序,从而快速建立面向具体型号和应用领域的仪器仪表的驱动程序源代码框架;(3)添加功能应用程序在第(2)步完成以后,根据用户需求,再添加相应的功能应用程序,快速完成仪器仪表功能模块的构建;(4)调试功能模块在第(3)步完成以后,通过KeiluVision2软件,对功能模块进行编译、连接、调试,直到达到仪器仪表的功能,再返回到第(2)步添加另一功能的相应驱动构件及第(3)步添加功能应用程序,并进行调试,如此反复,逐步增加应用功能,直至完成仪器仪表的全部功能为止。...
【技术特征摘要】
【专利技术属性】
技术研发人员:石为人,黄剑,唐松松,许磊,黄奇,黄超,
申请(专利权)人:重庆大学,
类型:发明
国别省市:85[中国|重庆]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。