资源目录
压缩包内文档预览:(预览前20页/共32页)
编号:78748448
类型:共享资源
大小:1.64MB
格式:ZIP
上传时间:2020-05-13
上传人:柒哥
认证信息
个人认证
杨**(实名认证)
湖南
IP属地:湖南
40
积分
- 关 键 词:
-
内燃机燃油喷射系统
燃油喷射装置设计【内燃机燃油喷射系统】
燃油
喷射
装置
设计
内燃机
系统
- 资源描述:
-
购买设计请充值后下载,,资源目录下的文件所见即所得,都可以点开预览,,资料完整,充值下载可得到资源目录里的所有文件。。。【注】:dwg后缀为CAD图纸,doc,docx为WORD文档,原稿无水印,可编辑。。。具体请见文件预览,有不明白之处,可咨询QQ:12401814
- 内容简介:
-
A research on open CNC system based onarchitecture/component software reuse technologyLi Bin*, Zhou Yun-fei, Tang Xiao-qiNational Research Center of NC System Engineering & Technology, Huazhong University of Science & Technology, 430074 Wuhan City, PR ChinaReceived 12 February 2003; received in revised form 25 October 2003; accepted 25 October 2003Available online 9 June 2004AbstractBy analyzing the current development situation of open computer numerical control (CNC) system and architecture/component software reuse technology, this paper researches on open CNC system based on this technology. Adopting domain engineering method, a CNC system is always organized with its data communication, which plays a role of key link. Furthermore, from which the reusable architecture of an open CNC system is extracted. Also the architecture is instanced to reusable data communication components, which differs from general architecture. The facet modal sorting, expression, storage and retrieval of CNC system components are introduced. Combined with all useful information as above, the integrated development platform of open CNC system is constructed. Supported by this platform, the workflow of developing open CNC systems includes two correlated courses: the development of reusable CNC components, and the construction of an application system with these reusable components. Furthermore, the real-time capability of a CNC application system on MS-Windows can be tested by this platform.Keywords: CNC; Open architecture; Component; Software reuse; Domain engineering1. IntroductionOwing to the double-quick development of hardware technology, the enhancement of computer numerical control (CNC) systems complexity, the increase of the compatible requests with third party software, the frequent job-hopping of developer, and the cut-throat competition among craft brothers, the CNC system manufacturers are compelled to do their best to continually improve their systems quality and shorten the periods of the products development. Hence, the open architecture is becoming the current trend of CNC technology, and its main goal is to build a uniform and recognizable system platform. Developed with the open architecture platform, the CNC application system would become more modular and flexible, thus users of this system will be allowed to choose function modules, even to integrate, modify, and expand systematic functions in order to meet different application demands.The up-to-date opinions on open CNC system can be concluded as follows 14:(1) An open CNC system is flexible in both hardware and software, so it does not only allow the hardware to change its basic configuration, but also allows the software to alter at all levels of control.(2) An open CNC system is provided with the plug-and-play compatibility in a real sense.(3) An open CNC system is standardized to let the third party develop new hardware and software that can meet its requirements.(4) An open CNC system has the capability of integration of other components at the level of parts with this standard, and can also share data among the components.(5) An open CNC system can cooperate with other systems at systematic level. In view of the above-mentioned causes, we take it as natural that establishing an open NC system model for the special NC domain may be a feasible method. On the other hand, the software reuse is in deep degree applied in the process of software development, especially in the same domain because a new system always has very intimate relation with the previous one 5. It is gradually convinced that the design and specification of the whole system architecture is more important than the selection of algorithm and data structure in company with the increasingly upgrading of software systems size and complexity. So the significance of software architecture is being recognized on the background. The architecture/component technology has been developing promptly among numerous software reuse technologies in recent years 6,7. Based on the above-mentioned viewpoints about open CNC and the software architecture/component reuse technology, the architecture of open CNC system and the integrated platform of developing CNC system are researched in this paper.2. Open CNC system based on architecture/component software reuse technology2.1. Software reuse and architecture/component technologySoftware architecture means the delineation of the overall structure design and the abstract specification of a system. It is a macroscopical description for software systems composition, architecture, and work mode. In short, the software architecture describes the components and the inner relation among these components in a system. The software development based on architecture diverts its emphasis from code lines to larger granularity architecture elements (for instance, components), as well as the holistic interlinkage structure among these elements. The development keynote is to construct reusable software architecture; it emphasizes the reusability of analyses and design instead of the restriction of code reuse.Component is a unit that is relatively independent in function. It can be identified clearly, and can be reused in a software system. It may be a class, a class tree, a frame, or a general module. Along with embedded comprehension to software reuse, the concept of components is no longer restricted to code components, but extended to demand, architecture, document, test plan, test cases and data, as well as other useful information to development activation. The software reuse based on architecture/component technology includes two correlative processes: The development of reusable components and the development of application system with reusable components. The functions of the software architecture/component technology in the process of development can be shown as Fig. 1. Firstly, special domain is analyzed with domain engineering method, and the software architecture of this special domain can be gained. Then the process of component development, sorting and storage can be guided with this architecture. When a new application system needs to be developed, some relevant components are searched and extracted from a domain component library and/or other general component libraries, following that the appropriate components will be selected and modified for adaptation, finally, these components will be assembled in a new application system.2.2. CNC system openness is the requirement for software reuse technology in a special domainThe first principle of open system technology is to apply interface standards in the process of system development and to use the realization according to interface standards in the meantime. This provides a stable foundation for the design decision of system development and the system evolution, also the guarantee for inter operation among systems (subsystems) at the same time 8. From 1980s, research projects on open NC system has been set out in the world one after another, some of which have great influence, such as OMAC of America, OSACA of Europe and OSEC of Japan. The OSACA realized data communication among task domains by the communication system, its system model is based on hierarchical structure, all data structures of each functional module of the application system and internal running mechanism based on these data structures of the module must be defined thoroughly, and it needs complicated configure system to establish and maintain the incompact topological structure of the application system.Now, the software reuse technology can ideally support the open architecture system, especially the components that are in accord with interface standards can be easily integrated to the system in plug and play method, which is a black box reuse. In this way, components can be developed independently according to interface standards.It is reputed that the potential way of realizing CNC system openness is software reuse based on architecture/component technology. The openness of CNC system is coincident with software reuse on three hands as follows:(1) On the base of the previous edition, joining new functions to produce a new CNC system edition in order to adapt some new requirements.(2) Modifying the parts associated with the running platform, to enable the software can run on another system platform.(3) Applying some software (or its components) of a CNC system to another CNC application system, evolving an old system to a new system with different functions and purposes.3. Analyzing and modeling of CNC systems architecture based on domain engineeringIt is very important to obtain a correct architecture for the system design. And the method of domain engineering 912 must be adopted to analyze the CNC system in order to get the correct system architecture. Domain means a suite of functional areas covered by the application systems with similar demands. Domain engineering includes three major stages: domain analysis, domain design, and domain realization. In the process of domain analyzing and modeling, the vital issue is to achieve the key link of an open CNC system.3.1. Acting the data communication as a key link to organize open CNC systemBy analyzing typical CNC systems with domain engineering method, we can discover that the processes and the threads of a CNC system can be organized with data communication that acts as key links of some functional components. The advantages of this kind of organization are shown as follows:(1) Owing to the developing direction of software integrated by components, a data communication module can be used as a skeleton to organize the system; this makes system organization easier than the former.(2) Acting data communication as the key link, the system is no longer a hierarchical structure. Every other module has an interface only to connect with the data communication module. The developers only need to pay attention to this interface without considering the organization mode of other modules.(3) It is sufficient to define the interface of data communication module in detail for one system. According to the interface, what the developers need to do is to develop individual module, in which there is no need to define the internal data structure and establish the internal running mechanism based on these data structures thoroughly.(4) The topology relationship of the whole system will be defined strictly if data communication of this system is ascertained. It ensures the inter-operability of software parts.We emphasize the autonomy of every module in the system. The so-called autonomy means that every module is an independent individual, which can ascertain its target and the target value independently, even make a decision, a plan, a action by itself to achieve the target, and can respond to any accident because its behavior is controllable. There is no functions call and memory share among autonomous modules. All information communication is carried out through the data communication module. Each module can only be on alternative state: running or sleeping. The module itself supervises the two states. The key linkdata communication modulehas the same characteristics too.The functional model of the CNC system that acts the data communication module as its key link is showed in Fig. 2. The functional module of data communication has several component interfaces. These interfaces can connect with other functional components, such as G-code interpreter component, tool compensation component and interpolation component etc. Inputting and outputting data of each component are realized by exchanging with the key link through its interface; the data communication module reads data from each interface and sends back autonomously.There are only two kinds of domanial behaviors based on the functional model: (1) sending/receiving data information and control information; (2) supporting activities, such as PLC programming, G-code file management and edit, parameter setting etc.3.2. Extracting systemic architecture from data communication moduleEmphasizing that the system function be realized by components and the components must be autonomous, we can analyze the architecture of CNC system by starting with open CNC systems key linkthe data communication module. The principle of components partition is to make the least coupling of function and the most independence among components, to make a great effort to let component function independent of its operational data stream. Components design should follow the universal technical standard in the field.As an example, the architecture of a CNC system based on MS Windows 2000 and a high performance motion control card will be analyzed in the following. The whole system is organized with the data communication module. The architecture describes the global system organization, the system control structure, the communication and its protocol among components, the components synchronization, the components function assignment, the components physical distribution, the components integration, the whole system retractility and so on.First of all, the relation between the domain and external elements will be analyzed, such as the operating environment and the data requirement. The variability will be evaluated too. The application inter-community and difference of the domain will be analyzed after the domain scope is ascertained, it includes the domain features, the domain knowledge information and the data requirement information that are requested to realize the application in the domain, the operation to data and control stream. On the basis of that, the follow-up works are identifying concurrent processes and common modules of domain-oriented, defining processes, distributing acquired feature, function and data object of these processes and modules, offering software solution for application in the domain, finally developing architecture model of the domain.The architecture of the open CNC system that is extracted is shown as Fig. 3. The CNC system software can be divided into two parts: the upper part that runs on computers CPU and the lower part that runs on the DSP of the high performance motion control card. It is a multi-task system of multiprocesses and multi-threads. The system components can be divided into four types: the device driver components, the basic components, the common components of CNC domain, and the special application components.The device driver programs of CNC system hardware are standardized to components. So the users can select and setup device driver components as operating other general components. The basic components are those ones that realize computer system common functions, such as internet-work communication component, file management component and singular hardware test component.Domain commonness components are those ones that realize domain common functions of CNC system. These components are the most important achievements acquired by domain engineering analysis to CNC system. Usually, it includes data communication component, human-machine interface component, task scheduler component, G-code interpretation component, interpolation component, tool compensation component, motion control component, diagnosis component, PLC procedure interpretation and compilation component, PLC execution component, parameter setting component, database operation component, real-time error compensation component and so on.The special application components are those developed for some special application, such as the calculation component of helical bevel gear.3.3. Instantiating the architecture of open CNC system to data communication componentsCurrently, there are four types of describing and expressing software architecture: (1) figure expression drawing with rectangles and directed line segments; (2) path language in module that links traditional programming language module; (3) special software architecture description language (SADL) combining object-oriented technology with the development experience of traditional program design language; (4) system description language based on components.The first type is often adopted, but the approach of figure + letter annotation is always random and not formalized, namely not strict. The shortcoming of the other types is not intuitionistic. We instantiate each kind of architecture to relevant system data communication component(s), which result that software architecture become no more conceptual model of abstract meaning, but program code which can be reused cosmically by other components. Owing to the difference of development environments, each abstract system architecture corresponds to one data communication component at least, and each data communication component corresponds to only a unique system abstract architecture.4. The classification and retrieval of the CNC system components4.1. The classification of the CNC system components4.1.1. Facet classification model of componentsComponent classification is the activity of constructing and maintaining catalog information of components, and component retrieval methodology depends on the component expression and classification, therefore component classification will facilitate management, storage, retrieval and comprehension of components. Therere a great deal classification modes, and it is facet classification that is applied widely 13,14.Facet classification mode is composed of a set of facets describing the essential characteristics of components. Each facet classifies components in the component library by its different aspects. The socalled facet is a term space made up of a set of basic terminology (namely keyword). Each component can be delineated by one or more terms with each facet (facet term is a determinate gather), and each facet reflects a method to classify components in the library. Wherefore, users are able to intuitively designate the components to be retrieved from different views. As a result, this process will also facilitate users to understand components.Facet classification has characteristics as follows according to combinatorics:(1) A facet must express all components in the component library fully and definitely, namely it is each component that can be classified by the facet.(2) Each facet is correlated with a term space. Any two term spaces are orthogonal, which means changes of terms in one facet will not influence the term space in any other facet.(3) The term space of a facet is a finite and indefinite space. Terms can be added or deleted dynamically.(4) All facets of each component must be predefined; it is not allowed that there exist undefined facets when classifying components. But when querying, users can query by random number of facets.(5) When a component library manager classifies components, he should aim at each facet to choose proper (one or more) terms from the term space, so as to finish components encapsulation work.(6) Terms in a term space present a dendriform hierarchical structure according to general-special relation. Each term is accompanied with indefinite number of synonyms.4.1.2. Classification of the CNC system components with facet mode According to the above-mentioned facet classification method, a facet classification for CNC system components is proposed, and can be expressed by BNF as follows: (component identification, component functionality, component application environment, component realization, component hierarchy, component information, component edition relation).(1) Component identification: Component identification uniquely marks a CNC component, and mainly contains following attributes: (i) Component ID number: distinguishing a CNC component from others. (ii) Component name: CNC components of the same type could not own the same name, but those of different type can own the same name. (iii) Entity type of components: Identifying the entity type of a component, such as source code file, object file, library file and so on; (iv) The version number: The relevant version number of a component in the component evolution series. (v) Applied machine tool style: Including the lathe, milling machine and so on.(2) Component functionality: The component functionality is a gather of software functions offered by the component in its original and possible software system. Any component in the component library must offer one or more functions. The terms of function facet are mostly composed of the component function keywords offered by the components fabricator/provider. For the accordance of the terms, the function terms should try to incarnate the component usages from a higher abstract level.According to the functional partition, CNC system components can be divided into G-code interpreter component, tool compensation component, velocity pretreatment component, interpolation component, position control component, human-computer interface component, diagnosis component and so on. Thus, function can be taken as a facet. As for interpolation components, according to different algorithms, they can adopt linear interpolation, circular interpolation, parabolic interpolation to meet high precision requirements, ellipse interpolation and so on. Different components can adopt one or more algorithms.(3) Component application environment: Component application environment is the hardware and software platform that must be offered when using (includes comprehending/assembling/modifying) components. Only when depending on a certain application environment, can each component in the component library be reused. Even the universal components of source code level also have to depend on special compiling system. The application environment mostly contains following attributes: (i) Component hardware environment. (ii) Component operating system environment. (iii) Database platform. (iv) Network environment. (v) Compiling and linking environment.(4) Component realization: Component realization describes some information related to realization, and mostly contains following attributes: (i) Development language/software tool. (ii) Component parameter type: Describing whether the parametric style of CNC components is optional, the interface parameters and the quote methodology in detail. (iii) Context environment: Namely the context environment on program level that must be offered by system if the component is assembled. (iv) Form: The composition of the components and their correlation, such as class, class tree, frame, module. (v) Representation: It is the form used to describe component content, such as figure, text, Chinese, English.(5) Component hierarchy: Component hierarchy is an abstract level of component that relatives to the software development process. Because relative simpleness of the terms of hierarchy facet, the component library manager usually enumerates them. The current hierarchy terms include: (i) analysis; (ii) design; (iii) coding; (iv) testing.(6) Component information: Component information depicts some specific historical information of CNC components, such as when they are created, and this information mostly contains following attributes: (i) Information about component developers and developing department. (ii) Component production date. (iii) Component warehousing date. (iv) Component size. (v) Component style, including device driver component, basic component, domain commonness component, special application component and so on.(7) Component edition relation: The edition relation of the components shows the relation among a serial of components that have similar functions, and mostly contains following attributes: (i) Correlate edition. (ii) Pioneer edition. The aforesaid facets are isolated from one another completely, so they fully embody component characteristics correlative to reuse, and are adaptable to the development of the component library of open CNC system.Attributes contained in each facet are their first-level term; the relation between terms and their junior terms is a general-special tree type. For instance, term of development language in component realization facet is the first-level term (general), whereas development language could be C, C+, Java, Fortran, ASM, etc, which are the further explanation to the term development language (specific).Toward such a subject: Interpolation component developed by C+ language adopting parabolic interpolation algorithm. By analyzing, we can extract the element in the component function facet: interpolation parabola algorithm; and the element in the component realization facet: developing language C+.4.2. Component retrievalIn the course of components reuse, firstly we should extract a set of keywords from the specification of given required functions, and then search candidate components that meet the requirements from existing component gather according to these keywords. If theres only a component meets all the requirements was found, then choose it. But usually there are more than one candidate components, and each candidate only partly meet users requirements. In this case, we should do some evaluations, such as to what degree the candidate component meet users requirements, the workload to modify it and so on. According to the evaluation, we can list candidate components, and users can select the component that needs least workload to complete the modification and reuse it.The following algorithm explained the course of reuse:BeginSearch in the component library by a matching methodReturn a set of components which satisfies the match predicateCompute the degree of match for each componentSelect the best componentModify the selected component for adaptabilityEndSignature matching method that presented by Zaremski and Wing 15 firstly can be used to match components when retrieving components (including searching in component library, matching degree computing): Attributive information extracted from components is called signature, when retrieving, the users match their retrieval requirements with componentssignatures.Signature match is defined as follows:Given a signature query q, match predication M, component library C, by signature match, return component gather c that meet matching predication conditions.Adaptability modification is to modify the selected component that not accord with the using requirement, for example the modification of source code component, the interface modification of binary component, the re-packaging of component and so on.5. Integrated development platform and workflow of open CNC system based on architecture/component reuse technologyThe workflow of developing open CNC systems is shown as Fig. 4. The whole flow includes two correlated courses: development of reusable CNC system components, and construction of an application system with the reusable components. The real-time capability of an application system can be monitored by the CncView software provided by the integrated development platform.5.1. The course of reusable CNC system components DevelopmentFirstly, CNC domain is analyzed with domain engineering method, and CNC system architecture is extracted. Then, the CNC systems architecture will be instantiated as the data communication component. This process is to define the interface of the data communication component and its interior running control algorithm in detail. The data communication component can be expressed by demand stipulation, document, source code, binary code, etc.Detailed defined interface of data communication component can acted as the major technology speci-fication to create other components, at the same time expressed by document, source code and data structure,etc.All the architectures and components formed in the course are sorted and stored in an architecture/component library.System routine management and maintenance includes components query, deletion, modification, purchase, creating new one and so on.5.2. Development of CNC application system with reusable componentsThe course that applies the aforementioned CNC system integrated development platform to develop a CNC application system can be divided into two stages:The first stage is frame generating, that is to say, the most suitable system architecture is selected according to new systems demand and system architecture supported by the architecture/component library, and the data communication component is extracted. If required, architecture and corresponding data communication components have to be modified. The process is shown as follows:(1) Analyzing the new system demands, obtaining the keywords and replacing the keywords with corresponding terms of the architecture/component library.(2) According to the gather of terms obtained by step 1, search and retrieve the suitable architecture gather from the architecture/component library.(3) If the architecture gather has only one element, it is chosen, and if has more than one element, every element has to be evaluated, and the best one can be obtained.(4) If the architecture gather obtained by step 2 is null, a new architecture will be created, and will be joined into the architecture/component library.(5) Retrieving according to the terms gather, a data communicate component gather of CNC system can be got.(6) If the data communicate component gather has only one element, it is chosen, and if has more than one element, every element has to be evaluated, and the best one can be obtained.(7) If the data communicate component gather obtained by step 5 is null, a new data communicate component will be created or purchased, and will be joined into the architecture/component library.(8) The architecture and components are modified according to the adaptability, and a new modified architecture and new components will be added to architecture/component library too.The second stage is integration and assembly. Taking the obtained communicate components interface requirement as the specification, other function components could be retrieved and extracted from the architecture/component library. In addition, some components may be developed or purchased for such an application. After all of obtained components are modified, they are integrated and assembled. Finally, a new system is obtained. The process can be expressed as follows:BeginFor each interface required by the data communicate componentExtract retrieval term gather from the interfaceRetrieve function components according to the term gatherObtain the function components gatherIf the gather is nullDevelop or purchase new componentNew component is warehousedElseEvaluate the function gatherExtract the only function elementEndifModify the selected components adapted to new requirementEnd forIntegrate, assemble, configure. Then obtain a new application systemEndFrom the above algorithm, it could be found that the development course of CNC application system involves some work of CNC components development.5.3. The real-time capability analysis of CNC application systemThere are strict time relationships among CNC systems modules. Some modules must execute periodically, while other modules must run in time to provide data for other modules or receive data from other modules. The executing sequence must be defined in advance under single task OS environment, but modern CNC application system is a multi-task system generally, its real-time capability is ensured by task priority preemption and synchronization control.Generally, a module of CNC system is defined as a task. For example, a simple CNC system under Windows 2000 OS can be divided into position control task, programmable machine tool control (PMC) task, data communication task, interpolation task, tool compensate task, G code interpret task, user interface (UI) task and so on. These tasks include two types: periodic task and aperiodic task. The tasks such as the position control and the PMC are generally designed as periodic task. On the other hand, according with the requirement of response time, the tasks can be divided into real-time task and non-real-time task, farther more, the real-time tasks include hard real-time and soft real-time. A hard real-time task often has higher priority, and requires shorter executing time. A task that cannot be interrupted can be protected by using task preemption locking. A non-real-time task can be preempted by the real-time. In the aforementioned CNC system, the position control, the interpolation and the PMC tasks are hard real-time; while the data communication, the tool compensation and the G-code interpreter tasks belong to soft real-time; and the UI task can be taken as non-real-time.In the integrated development platform of open CNC system, we realize the monitor function of task execute status with the kernel object technology under MS-Windows 16,17, thereby a CNC system can be tested whether or not it can achieve the real-time requirement. The software is named CNC View. The result of the aforementioned CNC system is shown as Fig. 5. The tasks rank according with priority from the top down, the Idle denotes that all tasks of the CNC system are not running, and the time coordinate of the figure is millisecond. A task in the executing state is shown as a solid horizontal line,
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。