沈阳天乙新数控机械有限公司

机床商务网试用1

收藏

数控代码智能形成的措施及应用

时间:2022-07-05      阅读:441

1概述数控系统广泛应用于制造业的各种设备中,良好的数控系统是数控机床等加工高性能高精度零件产品的保证,随着开放式数控的发展,数控系统开发方法的研究已成为一个重要研究方向。从早期的结构化程序设计到面向对象思想的应用以及基于组件的数控系统设计的研究基本上都是采用以代码为中心的开发方式。但其存在如下缺点:(1)系统测试滞后,难以保证系统可靠性;(2)系统开发周期长,开发效率低。虽然基于模型驱动的数控系统开发.
 
  对上述弊端有一定的改善作用,但是其建模语言采用的是UML,难以被数控系统开发人员直接应用,因此,本文提出基于领域建模的数控系统开发方法,以解决传统开发方法遇到的问题。
 
  2基于领域建模的数控系统开发框架领域建模的开发方法提高了模型在整个开发中的地位,无论是系统分析、系统设计、还是系统实现都是以模型的构建、变换为核心,并以此增强开发过程中各个环节的耦合度,基于领域建模的数控系统开发框架它描述了基于领域建模数控系统的核心内容:领域建模,模型转换及代码自动生成。领域建模包括数控系统元模型的构建和数控系统模型构建。首先用通用的元元模型定义数控系统元模型的的元素以及元素的联系,而数控系统元模型又定义了数控系统模型的建模规则(即语法和语义),此元模型经解释后成为计算机数控系统建模语言(Computer Numeric Control Modeling Language, CNCML),CNCML具有明显的数控领域特征,各建模元素具有显式的领域语义,容易被数控领域工程师所识别和使用。模型转换主要负责把数控系统模型转换到第三方验证环境(如实时性能验证工具UPPAAL),工程师可以根据验证和仿真的结果有效改进模型,实现系统早期性能验证,保证*终系统的可靠性,提高系统质量。代码自动生成则实现对模型的遍历、分析、综合,并根据严格的元模型语法和语义,建立和目标编程语言(如C语言)对应的映射规则,实现从模型到可运行代码的自动转换,以此提高系统的开发效率。
 
  本文介绍关于数控系统元模型的构建以及代码自动生成的相关研究,其中,模型转换内容。
 
  3数控系统元模型的构建元模型对某一特定领域建模环境中如何建立模型、模型之间如何集成和互操作等规范的描述。元模型定义了该领域的语法和语义,能表示该领域内的所有或全部系统,经解释后直接成为该领域的建模语言。本研究采用基于多视角的元建模(Multi-View based Meta Modeling, MVMM)方法,应用GME元建模工具来实现数控元模型的构建。
 
  MVMM主要从功能视角和非功能视角并结合用层次化的方式来描述系统。从功能主视角出发。系统基本功能区划分为人机交互控制功能区(HMC)、可编程逻辑控制区(PLC)、数值控制功能区(NC)3个部分。HMC继续分为人机交互(HMI)、系统配置、故障诊断功能;PLC分为逻辑控制、输入输出控制;NC分为运动准备、运动控制、轴控制。如在人机交互HMI部分,CNC系统按照操作模式分成6大模式:手动模式、回零模式、自动模式、编辑模式、录入模式以及手轮模式,详细的元模型。
 
  从非功能主视角来看,计算机数控系统是典型的实时系统,实时性是*重要的非功能属性,另外,各任务的优先执行情况以及工作轴之间的同步情况,这些非功能性需求必须在元模型中能够如实地反映。
 
  具体分析如下:(1)运动任务元素是整个控制模块的主要元素,根据实际运动任务不同,派生出2种子任务类型:TTMotionTask和ETMotionTask,分别代表时间触发的硬实时运动任务和事件触发的弱实时任务。
 
  (2)每个任务具有*坏执行时间(WCET)、周期(period)以及优先级(priority)等参数。根据不同的目标平台(主要指实时操作系统)可设定任务的参数,以满足任务调度的要求。
 
  (3)轴组管理(AxisManager)根据运动指令(MotionCmd)的类型启动相应的任务,这些关系可通过它们之间的关联关系来表示,如TaskCmdConn表示运动任务和运动指令之间的关联关系。
 
  4代码自动生成实现从模型自动生成产品级源代码是基于领域建模的数控系统开发方法的关键环节。灵活的代码自动生成技术具有以下明显的优势:(1)提高了代码变更的能力;(2)实现代码与模型之间灵活的同步机制;(3)大幅度提高了工作效率;(4)保证了所有生成代码的一致性。
 
  代码自动生成的机理是根据读取模型的元数据,按照的映射规则,混合产生出规范的源代码。一般其生成过程可以分为以下2个步骤来实现:(1)模型解析。模型解析是对模型进行访问,提取模型信息,为下一步的模型到代码的映射做准备。本研究在元对象网络(Meta Object Network, MON)和构造对象网络(Builder Object Network, BON)的基础上
 
  建立面向数控领域的解析类库,通过领域解析类库对不同的应用模型进行解析,并获取与模型对应的信息,这些信息以各种类型的数据结构进行存储,并为下一步从模型到代码或其他信息的映射提供准备。
 
  (2)模型映射。模型映射是从模型信息到代码或其他模型信息的映射,根据不同的领域应用模型自动产生相应的代码或配置数据。本研究采用一种基于映射规则库和代码模板的映射方法,并结合可重用构件库,可自动生成产品级源代码。
 
  从本质上来看,模型映射过程是以领域应用模型为输入,以产品级源代码为输出的处理过程。领域应用模型根据系统需求的不同而各不相同,要把不同的应用模型映射成对应的系统源代码,其映射规律必然来自应用模型的建模规则以及目标源代码的组织结构。本研究中建模规范是数控领域元模型,目标源代码的组织结构与特定平台信息紧密关联,这些信息主要包括面向目标平台的软件体系结构、编程语言类型以及集成开发源代码组织结构及其配置结构。例如,基于DSP平台的运动控制系统,其编程语言一般采用C/C++,其集成开发环境为TI公司CCS开发环境,实时控制应用软件建立在DSP/BIOS的实时调度内核之上,因此,面向DSP平台的代码映射则必须考察CCS如何组织源代码组织结构、如何进行多任务配置以及DSP/BIOS提供何种类型的服务接口等。
 
  为了规范映射过程,结合数控系统的开放性要求,本研究提出一种基于映射规则库以及代码模板库模型映射过程,首先对数控领域元模型规则和目标平台源代码组织结构进行综合分析,分析的目的是建立从模型到代码的映射规则表,并为代码的自动生成设计相应的代码模板,映射规则库和代码模板库是代码映射过程中的重要信息来源;分析的内容主要为模型的不变性与可变性特征,及其与目标源代码的对应关系。通过4个步骤实现映射具体过程:(1)根据领域解析类库对模型进行解析,并把获取的模型信息以特定的数据格式进行存储;(2)以模型信息为基础,根据映射规则表,判断是否需要进行代码映射,调用相应的映射算法进行映射;(3)对代码模板进行解析,寻找相关的关键字(Keyword)或区标志(BlockFlag),根据模型信息对代码进行提取、填充或替代,生成对应的代码;(4)从构件库中选择合适的构件,与自动生成的代码进行粘合、补充,*后形成完整的产品级别源代码。
 
  5三轴车床设计实例根据以上的分析和建立的元模型以及相应代码自动生成器,本实例主要完成三轴车床设计。本车床采用基于Windows CE DSP的开放式CNC实现方案,即上位机嵌入式单板计算机(SBC-C26)与下位机DSP运动控制卡通过PC104总线实现主从式结构的连接。根据该要求,利用所描述运动控制形成的CNCML建立该车床的下位机模型如所示。
 
  使用代码自动生成器之后所得到的任务管理模块的代码如下:void Tsk_Axis_Manager(){ while(true){ //循环获取上位机发送的运动指令msgID= MsgCom::receiveMsg(pMsgAddr,pHC2DSP_Buf);switch (msgID)//判断消息运动指令{case LINE_3D_MOTION://三轴联动-3D直线运动…//启动相关任务break;case ARC_3D_Motion: //三轴联动-3D圆弧运动…//启动相关任务break;case LINE_3D_MOTION://三轴联动-3D直线插补…//启动相关任务break;case BALL_3D_Motion: //三轴联动-球面插补…//启动相关任务break;} 6结束语提高模型在系统开发中的作用是现代数控系统开发的趋势,本文分析基于领域建模的数控系统开发框架,指出代码自动生成是实现该框架的关键步骤,研究模型映射的框架和过程,并通过三轴数控车床的设计实例证实了该方法的可行性,目前整个项目进展顺利,下一步研究重点在于解决多目标平台的代码生成器的集成以及目标代码的优化。
上一篇: 利用电火花制作的机床的研制 下一篇: 螺旋数控制作工艺的探究与使用
提示

请选择您要拨打的电话: