CN1963749B - 构建工业自动化仪器仪表嵌入式软件***的方法 - Google Patents
构建工业自动化仪器仪表嵌入式软件***的方法 Download PDFInfo
- Publication number
- CN1963749B CN1963749B CN200610095235A CN200610095235A CN1963749B CN 1963749 B CN1963749 B CN 1963749B CN 200610095235 A CN200610095235 A CN 200610095235A CN 200610095235 A CN200610095235 A CN 200610095235A CN 1963749 B CN1963749 B CN 1963749B
- Authority
- CN
- China
- Prior art keywords
- instrument
- software
- function
- liquid crystal
- crystal display
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
一种构建工业自动化仪器仪表嵌入式软件***的方法,属于工业自动化仪器仪表技术领域。本发明利用微控制器和外部设备,通过源代码,先建立仪器仪表行业常用微控制器和外部设备的构件库,后调用相应的构件快速自动生成仪器仪表软件驱动程序,再添加相应的功能应用程序,然后用Keil uVision2软件对源代码程序进行编译、链接、调试,从而逐一完成工业自动化仪器仪表的各个功能模块。由于本发明具有针对性强、实用性强、节省投资、减少重复劳动,产品质量高、出错率低、大大缩短产品开发周期等特点,故本发明可广泛应用于各种类型的工业自动化仪器仪表嵌入式软件***的构建。
Description
技术领域
本发明属于工业自动化仪器仪表技术领域,特别涉及工业自动化仪器仪表嵌入式软件***的构建方法。
背景技术
工业自动化仪器仪表是集传感器技术、信号处理技术、计算机技术、网络通信技术于一体的高新技术产品,这类产品技术含量高、市场容量大、应用面广,工作环境恶劣,可靠性和测量精度要求高,是仪器仪表行业研究的重点课题。
工业自动化仪器仪表种类繁多,如分析仪器、光学仪器、环保仪器、医疗仪器、电子测量仪器、地质仪器、气象海洋仪器、航空航天仪器、汽车仪表等等。若再细分,如分析仪又分为工业电导电浓度分析仪、智能微量氧分析仪、智能红外气体分析仪等等。随着社会进步和科技发展,工业自动化仪器仪表将向着数字化、智能化、网络化、微型化、高性能、高可靠性、高稳定性和光机电一体化的趋势发展,对软件***提出了更高的要求。
目前工业自动化仪器仪表结构上都是由信号采集、传输,处理、控制等功能模块构成,硬件上均包括各类常用微控制器和外部设备模块,比如英特尔(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)等,从而建立驱动构件。描述性操作是指在控制硬件时只需知道要完成什么,而不需要知道如何去完成,每个操作都是一些单一的动作。例如:对于设置一个串口的波特率,只需要知道是哪个串口,波特率是多少,而不需要知道要写哪一个寄存器以及如何写等。驱动构件留出接口供开发人员调用,编程人员只需要了解程序开发中的初始化顺序以及初始化的内容而不需要了解初始化的具体细节就能完成程序的编写。这样可以大大的提高工作效率,减少硬件驱动程序具体细节设置中最容易出错的地方。建立驱动构件库,从而大大减少出错的可能性,使嵌入式***应用开发过程简单化,节省大量的时间。
实现本发明目的的技术方案是:一种构建工业自动化仪器仪表嵌入式软件***的方法,利用工业自动化仪器仪表产品的常用体系结构,通过程序源代码,构建工业自动化仪器仪表嵌入式软件***的具体方法步骤如下:
(1)建立构件库
利用工业自动化仪器仪表产品的常用体系结构中的微控制器和外部设备的驱动程序(即驱动源代码),如模数/数模转换器(ADC/DAC)、串口232(RS232)、内部集成电路(I2C)、串行***接口(SPI),区域网络控制器(CAN)等,根据每个驱动功能的特点和构件化模型的要求,软件工程师通过驱动源代码编写、生成驱动源代码构件,并预留相应的方便调用的接口,从而建立工业自动化仪器仪表嵌入式软件驱动源代码构件。通过管理软件对驱动源代码构件进行积累和管理,从而建立构件库,以方便重复调用。
(2)构建仪器仪表嵌入式软件***
第(1)步完成后,根据特定工业自动化仪器仪表产品软件体系结构和常用功能,先建立特定工业自动化仪器仪表产品软件框架。该软件框架从第(1)步建立的构件库中调用相应功能的微控制器和外部设备的驱动程序(即驱动源代码),如模数/数模转换器(ADC/DAC)、串口232(RS232)、内部集成电路(I2C)、串行***接口(SPI),区域网络控制器(CAN)等驱动程序,通过驱动源代码构件组成特定仪器仪表软件驱动程序,从而快速建立面向具体型号和应用领域的特定仪器仪表嵌入式软件驱动程序,作为特定仪器仪表产品的应用软件半成品。
(3)添加功能应用程序
在第(2)步完成后,根据用户的需求,在第(2)步的应用软件半成品中再添加相应的功能应用程序,快速完成特定仪器仪表功能模块的构建。
(4)调试功能模块
在第(3)步完成后,通过Keil uVision2软件对功能模块进行编译、连接、调试:当未完成特定仪器仪表的功能要求时,返回第(2)步再增调未完成功能的驱动源代码构件和第(3)步再添加为完成功能的应用程序后,再次进行编译、连接、调试,如此反复,逐步增加应用功能,直至完成特定仪器仪表的全部功能为止;当完成特定仪器仪表的功能要求时,结束,封装使用。
本发明采用上述技术方案后,主要有以下特点:
(1)针对性强.本发明是针对工业自动化仪器仪表的常用微控制器和外部设备驱动,建立的嵌入式软件构件,针对性强,效率高.
(2)实用性强。本发明选择的代码片段是仪器仪表软件中的常用重复代码,将其标准化、系列化、规范化、模块化、参数化,以源码构件的形式使用,简单易行,减少重复劳动,从而使工业自动化仪器仪表产品开发周期大大缩短,出错率低,产品质量高。
(3)节省投资。本发明构建的软件***与uVision2软件兼容,因此能够很好的与现有开发工具和开发模式相结合,节省投资,成本低。
(4)扩展性好。基于构件库的软件***的构建方法能够快速构建特定的应用***,有利于产品的建设、维护与更新,具有很强的可扩展性。
本发明可广泛应用于各种类型的工业自动化仪器仪表嵌入式软件***的构建。
附图说明
图1是现有工业自动化仪器仪表软件传统开发流程图;
图2是本发明的构件库图;
图3是本发明的程序流程图。
具体实施方式
下面结合具体实施方式,进一步说明本发明。
如图2、3所示,一种构建工业自动化仪器仪表的精密流量测量仪表(即涡轮流量传感器)的液晶显示嵌入式软件的具体方法步骤如下:
(1)建立构件库
利用工业自动化仪器仪表产品的常用体系结构中的微控制器和外部设备的驱动程序(即驱动源代码),如模数/数模转换器(ADC/DAC)、串口232(RS232)、内部集成电路(I2C)、串行***接口(SPI),区域网络控制器(CAN)等,根据每个驱动功能的特点和构件化模型的要求,软件工程师通过驱动源代码编写、生成驱动源代码构件,并预留相应的方便调用的接口,从而建立工业自动化仪器仪表嵌入式软件驱动源代码构件。通过管理软件对驱动源代码构件进行积累和管理,从而建立构件库,以方便重复调用。
(2)构建精密流量测量仪表液晶显示嵌入式软件
第(1)步完成后,根据精密流量测量仪表液晶显示的需求,通过精密流量测量仪表液晶显示常用体系结构和常用功能建立流量测量仪表软件框架,该软件框架从第(1)步建立的构件库中调用液晶显示的微控制器驱动和SPI驱动、显示驱动以及串口驱动源代码构件,通过驱动源代码构件组成液晶显示的驱动程序,从而快速建立精密流量测量仪表液晶显示嵌入式软件驱动程序,作为精密流量测量仪表的应用软件半成品。
(3)添加液晶显示功能应用程序
在第(2)步完成后,根据用户需求,在第(2)步的应用软件半成品中再添加相应的功能应用程序,快速完成精密流量测量仪表液晶显示功能模块的构建。
(4)调试液晶显示功能模块
在第(3)步完成后,通过Keil uVision2软件对精密流量测量仪表液晶显示功能模块进行编译、连接、调试:当未完成精密流量测量仪表液晶显示功能要求时,返回第(2)步再增调未完成功能的驱动源代码构件和第(3)步再添加为完成功能的应用程序后,再次进行编译、连接、调试,如此反复,逐步增加应用功能,直至完成精密流量测量仪表液晶显示功能为止;当完成精密流量测量仪表液晶显示功能要求时,结束,封装使用.本精密流量测量仪表,与相应的流量积算仪表配套可用于测量液体的流量和总量,广泛用于石油、化工、冶金、科研等领域的计量、控制***.
Claims (2)
1.一种构建工业自动化仪器仪表嵌入式软件***的方法,利用工业自动化仪器仪表产品的常用体系结构,通过程序源代码,构建工业自动化仪器仪表嵌入式软件***,其特征在于具体方法步骤如下:
(1)建立构件库
利用工业自动化仪器仪表产品的常用体系结构中的微控制器和外部设备的驱动程序,如模数/数模转换器ADC/DAC、串口RS232、内部集成电路I2C、串行***接口SPI,区域网络控制器CAN,根据每个驱动功能的特点和构件化模型的要求,软件工程师通过驱动源代码编写、生成驱动源代码构件,并预留相应的方便调用接口,从而建立工业自动化仪器仪表嵌入式软件驱动源代码构件,通过管理软件对驱动源代码构件进行积累和管理,从而建立构件库,以方便重复调用;
(2)构建仪器仪表嵌入式软件***
第(1)步完成后,根据特定工业自动化仪器仪表产品软件体系结构和常用功能,先建立特定工业自动化仪器仪表产品软件框架,该软件框架从第(1)步建立的构件库中调用相应功能的微控制器和外部设备的驱动程序,如模数/数模转换器ADC/DAC、串口RS232、内部集成电路I2C、串行***接口SPI,区域网络控制器CAN驱动程序,通过驱动源代码构件组成特定仪器仪表软件驱动程序,从而快速建立面向具体型号和应用领域的特定仪器仪表嵌入式软件驱动程序,作为特定仪器仪表产品的应用软件半成品;
(3)添加功能应用程序
在第(2)步完成后,根据用户的需求,在第(2)步的应用软件半成品中再添加相应的功能应用程序,快速完成特定仪器仪表功能模块的构建;
(4)调试功能模块
在第(3)步完成后,通过Keil uVision2软件对功能模块进行编译、连接、调试:当未完成特定仪器仪表的功能要求时,返回第(2)步再增调未完成功能的驱动源代码构件和第(3)步再添加为完成功能的应用程序后,再次进行编译、连接、调试,如此反复,逐步增加应用功能,直至完成特定仪器仪表的全部功能为止;当完成特定仪器仪表的功能要求时,结束,封装使用。
2.按照权利要求1所述的构建工业自动化仪器仪表嵌入式软件***的方法,特征在于具体方法步骤如下:
(1)建立构件库
同权利要求1的第(1)步;
(2)构建精密流量测量仪表液晶显示嵌入式软件
第(1)步完成后,根据精密流量测量仪表液晶显示的需求,通过精密流量测量仪表液晶显示常用体系结构和常用功能建立流量测量仪表软件框架,该软件框架从第(1)步建立的构件库中调用液晶显示的微控制器驱动和SPI驱动、显示驱动以及串口驱动源代码构件,通过驱动源代码构件组成液晶显示的驱动程序,从而快速建立精密流量测量仪表液晶显示嵌入式软件驱动程序,作为精密流量测量仪表的应用软件半成品;
(3)添加液晶显示功能应用程序
在第(2)步完成后,根据用户需求,在第(2)步的应用软件半成品中再添加相应的功能应用程序,快速完成精密流量测量仪表液晶显示功能模块的构建;
(4)调试液晶显示功能模块
在第(3)步完成后,通过Keil uVision2软件对精密流量测量仪表液晶显示功能模块进行编译、连接、调试:当未完成精密流量测量仪表液晶显示功能要求时,返回第(2)步再增调未完成功能的驱动源代码构件和第(3)步再添加为完成功能的应用程序后,再次进行编译、连接、调试,如此反复,逐步增加应用功能,直至完成精密流量测量仪表液晶显示功能为止;当完成精密流量测量仪表液晶显示功能要求时,结束,封装使用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200610095235A CN1963749B (zh) | 2006-11-24 | 2006-11-24 | 构建工业自动化仪器仪表嵌入式软件***的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200610095235A CN1963749B (zh) | 2006-11-24 | 2006-11-24 | 构建工业自动化仪器仪表嵌入式软件***的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1963749A CN1963749A (zh) | 2007-05-16 |
CN1963749B true CN1963749B (zh) | 2010-05-12 |
Family
ID=38082823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200610095235A Expired - Fee Related CN1963749B (zh) | 2006-11-24 | 2006-11-24 | 构建工业自动化仪器仪表嵌入式软件***的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1963749B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102222009A (zh) * | 2011-06-02 | 2011-10-19 | 深圳市共进电子有限公司 | 一种家庭网关***分类版本的生产方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102270127B (zh) * | 2011-05-30 | 2014-04-16 | 桂林欧博仪器技术有限公司 | 分析仪器流程编程和控制的方法 |
CN102567022B (zh) * | 2011-12-28 | 2015-05-20 | 中国电子科技集团公司第四十一研究所 | 一种频谱分析仪类仪器***的框架式设计方法 |
CN108268732B (zh) * | 2018-01-25 | 2019-10-11 | 金肯职业技术学院 | 一种基于Keil软件仿真***及其仿真电路板的方法 |
CN112540744A (zh) * | 2020-12-06 | 2021-03-23 | 苗改燕 | 一种构建工业自动化仪器仪表嵌入式软件***的方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1313562A (zh) * | 2001-05-15 | 2001-09-19 | 北京慧讯信息技术有限公司 | 嵌入式开放平台的体系结构 |
-
2006
- 2006-11-24 CN CN200610095235A patent/CN1963749B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1313562A (zh) * | 2001-05-15 | 2001-09-19 | 北京慧讯信息技术有限公司 | 嵌入式开放平台的体系结构 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102222009A (zh) * | 2011-06-02 | 2011-10-19 | 深圳市共进电子有限公司 | 一种家庭网关***分类版本的生产方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1963749A (zh) | 2007-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1963749B (zh) | 构建工业自动化仪器仪表嵌入式软件***的方法 | |
CN1514363A (zh) | 一种cpu模拟装置与方法 | |
CN104794258A (zh) | 汽车硬件在环仿真*** | |
CN102968377A (zh) | 一种基于虚拟机技术的机载软件***测试通用平台 | |
CN101937205A (zh) | 新型便携式plc编程装置 | |
CN101551747A (zh) | Arm系列微处理器的软件体系架构工具 | |
Parai et al. | An overview of microcontroller unit: from proper selection to specific application | |
CN102541614B (zh) | 基于代码分析的计算模块输入输出数据自动解析方法 | |
CN110196720A (zh) | 一种Simulink生成动态链接库的优化方法 | |
CN205228803U (zh) | 一种隔离开关状态测试装置 | |
CN102750177B (zh) | 一种使用编译器的脚本实现方法 | |
CN102279736B (zh) | 一种基于d2p的rms电机控制器开发*** | |
CN101673089A (zh) | 车辆中央控制器的开发平台及控制方法 | |
Zou et al. | Cost optimization in the construction of prefabricated buildings by using BIM and finite element simulation | |
CN209168499U (zh) | 电子实验教学平台 | |
CN105162645A (zh) | 一种基于piif架构的互操作测试方法 | |
CN108802314A (zh) | 一种水质监测仪现场自动检定*** | |
CN201145858Y (zh) | 一种基于工业组态的航天器测试设备 | |
CN101025386A (zh) | 汽车检测*** | |
CN209231782U (zh) | 一种用于伺服***的多通道便携式测试装置 | |
CN208458816U (zh) | 一种光电直读式智能远传水表电路板快速检测工装 | |
Zhou | Soft PLC Research And Development System Based On PC | |
Li et al. | Design of communication system in intelligent instrument based on HART protocol | |
CN100576139C (zh) | 一种数字角度转换器的实现方法 | |
CN101169659A (zh) | 一种控制***集成测试装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100512 Termination date: 20131124 |