面向STEP-NC标准化过程与数控技术的走向_天分决定速度,勤奋决定高度_ ...
                  
                                 陈 虎
                     北京首科凯奇电气技术有限公司
0.引言
数控技术应经发展了半个多世纪,并且确实为制造业自动化和信息化奠定了重要的基础。传统的数控加工程序,大多遵循ISO6983(G/M代码)标准。该标准至今仍然是绝大多数数控系统遵循的基本程序输入的数据标准。ISO6983标准进约定了加工运动轨迹的基本定义(G代码),以及辅助加工过程的指令(M代码),并不包含加工过程的其他信息(攻击毛坯的集合信息,材料信息;刀具信息及工序信息等)。这些信息表述的欠缺在一定程度上制约了制造过程的信息集成和自动化管理。
针对上述问题,欧共体于1997年提出了OPTIMAL计划,将STEP(Standard for the Exchange of Product model date,ISO 10303)标准延伸到自动化制造的底层设备,开发了一种STEP-NC的数据模型,作为铣削加工编程的数据接口。该接口遵从STEP标准,具有面向对象的特征。STEP-NC将产品模型数据转换标准STEP扩展到CNC领域,重新制订了CAD/CAM与CNC之间的接口,它要求CNC系统直接使用符合 STEP标准的CAD三维数据模型(包括工件几何数据、参数配置和制造特征)、工艺信息和刀具信息直接产生加工程序。STEP-NC 作为数控技术中编程技术和数据交换的重要技术,正成为制造自动化领域的研究热点之一。正视STEP-NC技术的发展,正确评估该技术对NC技术乃至制造自动化技术的影响是非常必要的。本文仅就上述问题,谈一些意见和看法。

1.     STEP-NC与NC技术的关系
STEP-NC作为数控技术领域的一个技术热点,它的产生与发展与数控技术的发展有很多联系。但有几个基本问题必须澄清:

STEP-NC不是NC
有一种观点说STEP-NC是下一代数控的标准,或STEP-NC是下一代数控。这种概念是不准确的。NC技术的核心是要解决面向制造过程的运动控制问题和逻辑控制问题,而实际上SETP-NC并不涉及上述数控技术的核心控制问题。数控技术相关标准涵盖了从操作到电气等诸多方面的标准,STEP –NC是一个面向对象的新型NC编程数据接口国际标准(ISO 14649),它于1996年初开始制订,在2001年底成为国际标准草案(Draft International Standard, DIS),由国际标准化组织ISO/TC184工业数据技术委员会正式命名为ISO14649,其目的旨在取代在数控机床中广泛使用的ISO 6983标准。因此我们说STEP-NC不是NC,而是一套NC编程的标准。

STEP-NC不是ISO6983的高级语言版
在长期的技术发展和市场竞争的促进下,许多数控厂商都推出了带有各自应用特征的用户宏语言和兼容ISO 6983标准的数控语言扩展,其中相当多支持判断、循环、数学运算等高级语言特征。而STEP-NC不是简单的ISO 6983标准的扩展和延伸,可以说基本与ISO 6983标准没有太多的形式上的演进关系。准确地讲STEP-NC是STEP(Standard for the Exchange of Product model date,ISO 10303)标准的延伸,是将产品模型数据转换标准STEP扩展到CNC领域;因此STEP-NC不是ISO6983的高级语言版本,而是全新的,可以替代ISO6983的NC编程的信息模型。

2.STEP-NC编程的信息模型简介
STEP-NC借鉴了面向对象的模型思想,保留了STEP对产品的特征描述,在其信息模型中加入了面向制造的信息描述。STEP-NC以工步(workstep)为基本单位,工步是针对产品几何特征的特定加工操作,包括加工策略、刀具信息等。下图可以简要说明工件特征与工步的关系

图1 STEP-NC工程中特征与工步的关系
为了方便语言的解析,避免二义性,STEP-NC文件语法采用沃思法(WSN: Wirth Syntax Notation)。WSN包括一组产生表达式,即:
元素 =   表示产生公式。。
实际的标准中采用了EXPRESS语言。EXPRESS语言包括TYPE(类型)和ENTITY(实体)说明、CONSTANT说明、约束规定和算法描述。下例是在用EXPRESS语言定义了一个实体类型:
--------------------------------------------------------------------------------------------------
TYPE
    primary_colour_abbreviation = ENUMERATION OF (r,g,b);
END_TYPE
;定义了颜色属性类型
ENTITY widget;
    attribute1: INTEGER;
    attribute2: STRING;
    attribute3: LOGICAL;
    attribute4: BOOLEAN;
    attribute5: REAL;
    attribute6: LIST[1:2]OF LOGICAL;
    attribute7: ARRAY[-1:3]OFINTEGER;
    attribute8: PRIMARY_COLOUR_ABBREVIATION;
END_ENTITY;
;定义了一种实体类型包含8种属性,其中有一种为自定义的颜色属性
#1=WIDGET(1,’A’,.T.,.F.,1.0,(.T.,.F.),(1,0,1,2,3),.R.);
;一个具体的实体,标号为#1,其中为各属性附初值

完整的基于EXPRESS语言的STEP-NC文件包括头段和数据段。
头段包含了与整个文件有关的信息,以专用记号“HEADER”开始,以“ENDSEC”结束。头段包含文件描述(file_discription)、文件名(file_name)、文件结构(file_schema)三部分。文件描述是对整个文件的功能做以诠释;文件名是详细地介绍了文件的各种属性,包括时间、作者、文件名等信息;文件结构指明了文件包含何种典型加工的结构。
数据段包括产品数据,是STEP-NC的核心部分,以专用记号“DATA”开始,后接实体实例,以专用记号“ENDSEC”结束。数据段是从三个方面对加工过程进行描述的:工件特征、工艺计划、操作。
实例:

HEADER;头段
FILE_DESCRIPTION((‘EXAMPLE 1’ ,
       ‘EXAMPLE PROGRAM’
       ‘1’);文件描述信息
FILE_NAME(‘EXAMPLE1.STP’,
‘2006-07-12’,  
(‘KaWen’),
(‘’),
$,
‘ISO 14649’
$); 文件名称等信息
FILE_SCHEMA((‘MACHINING_SCHEMA’)); 文件结构信息
ENDSEC
DATA;
#1= PROJECT(‘EXECUTE_EXAMPLE1’,#2,(#4),$,$,$);
;项目:程序入口,指明工艺计划,工件
#2= WORKPLAN(‘MAIN WORKPLAN’,(#10,#11,#12,#13,#14),$,#8,$);
;工艺计划:说明工步序列、加工前的准备等信息
#4= WORKPIECE(‘SIMPLE WORKPIECE’,#6,0.010,$,$,$,(#66,#67,#68,#69));
     ;工件:说明材料,装卡点等信息
#6= MATERIAL(‘ST-50’, ‘STEEL’,(#7));
     ; 材料:材料名称,及性能参数
#7= PROPERTY_PARAMETER(‘E=200000N/M2’);
     ;性能参数:
#8= SETUP(‘SETUP1’,#71,#62, (#9));
;坐标系的设定
#9=WORKPIECE_SETUP( #4,#74,$,$,());
     ; 工件坐标系的设定
#10= MACHINING_WORKINGSTEP(‘WS FINISH PLANAR FACE1 ’,#62,#16,#19,$);
#11= MACHINING_WORKINGSTEP(‘WS DRILL HOLE1’, #62,#17,#20,$);
#12= MACHINING_WORKINGSTEP(‘WS REAM HOLE1’, #62,#17,#21,$);
#13=MACHINING_WORKINGSTEP(‘WS ROUGH POCKET1’, #62,#18,#22,$);
#14= MACHINING_WORKINGSTEP(‘WS FINISH POCKET1’, #62,#18,#23,$);
     ;加工工步:指明安全面,待加工特征,以及所需操作 描述部分解释操作
#16=PLANAR_FACE(‘PLANAR_FACE1’,#4,(#19),#77,#63,#24,#25,$,());
    
#17= ROUND_HOLE(‘HOLE D=22MM’,#4,(#20,#21),,#81,#64,#58,$,#26);
     ;圆孔:型腔特征,工步序列,特征位置,深度,地面特点等信息
#18= CLOSED_POCKET(‘POCKET1’,#4,(#22,#23),#84,#65,(),$,#27,#35,#37,#28);
     ;封闭槽:与圆孔的信息基本一致
#19= PLANE_FINISH_MILLING($,$, ‘FINISHI PLANAR FACE’,10.000,$,#39,#40,
#41,$,#60,#61,#42,2.500,$);
;平面铣削操作:抬刀高度,刀具,加工技术,机床功能,轴向切削深度,
;经向切削度,边余量,底部余量等
#20= DRILLING($,$, ‘DRILL HOLE1’,10.000,$,#44#45,#41,$,$,$,$,$,#46);
       ;钻孔操作:与上的内容相似
#21= REAMING($,$, ‘REAM   HOLE1’,10.000,$,#47,#48,#41,$,$,$,$,$,#49,.T.,$,$);
      ; 铰孔操作:与上内容相似
#22= BOTTOM_AND_SIDE_ROUGH_MILLING($,$,‘ROUGH POCKET1’,15.000,
$,#39,#50,#41,$,$,$,#51,2.500,5.000,1.000,0.500);
; 粗铣操作:同上
#23= BOTTOM_AND_SIDE_FINISH_MILLING($,$,‘FINISH POCKET1’,15.000,
$,#39,#52,#41,$,$,$,#53,2.000,10.000,$,$);
;精铣操作:同上
#24= LINEAR_PATH($,#54,#55);
#25= LINEAR-PROFILE($,#57);
#26= THROUGH_BOMTOM_CONDITION();
;型腔底部条件:
#27= PLANAR_POCKET_BOTTOM_CONDITION();
      ; 槽底面条件:
#28= GENERAL_CLOSED_PROFILE($,#59);
      ; 一般封闭轮廓:几何信息
#29= TAPERED_ENDMILL(#30,4,$,.F.,$,$);
       ;锥形端铣刀:尺寸,刀刃数以及其他参数
#30= MILLING_TOOL_DEMETION(20.000,$,$,$,1.5000,$,$);
       ;铣刀尺寸:多种信息
#31= TWIST_DRILL(#32,2,.RIGHT.,.F.,$,$)
      ; 螺旋钻:
#32= MILLING_TOOL_DEMETION(20.000,31.000,0.100,45.000,2.000,5.000,8.000);
      ; 铣刀尺寸:多种信息
#33= TAPERED_REAMER(#34,6,$,.F.,$,$);
       ;锥形端铣刀:尺寸,刀刃数以及其他参数
#34= MILLING_TOOL_DEMETION(22.000,$,$,$,$,$,$);
      ; 铣刀尺寸:多种信息
#35= TORLERANCED_LENGTH_MEATURE(1.000,#36);
        ;底边圆角尺寸:数值,偏差
#36= PLUS_MINUS_VALUE(0.100,0.100,3);
       ; 偏差:数值及有效位数
#37= TORLERANCED_LENGTH_MEATURE(10.000,#38);
#38= PLUS_MINUS_VALUE(0.100,0.100,3);
#39= MILLING_CUTTING_TOOL(‘MILL 20MM’,#29,(#125),80.000,$,$);
        ;铣刀工具:型号,切削刃,长度等
#40= MILLING_TECHNOLOGY(0.040,.TCP.,$,12.000,$,.F.,.F.,.F.,$);
        ;铣削工艺:切削速度,主轴转速等
#41= MILLING_MACHINE_FUNTIONS(.T.,$,$,.F.,$,(),.T.,$,$,());
… …
;操作相关信息
#62=ELEMENTARY_SURFACE(‘SECURITY   PLANE’,#73);
#63=ELEMENTARY_SURFACE(‘PLANER   FACE1-DEPTH   PLANE’,#80);
… …
;元素表面:面的信息(安全面,加工面等)
#66=CARTESIAN_POINT(‘CLAMPING_POSITION1’,(0.000,20.000,25.000));
#67=CARTESIAN_POINT(‘CLAMPING_POSITION2’,(100.000,20.000,25.000));
… …

3.面向STEP-NC,数控技术的走向
STEP-NC数据包含了加工产品所需的所有信息,这是制造信息化欢迎的。但是为了支持这一信息模型NC必须进行相应的技术准备。
首先NC必须从语言上支持STEP-NC语法。ISO 6983标准诞生时计算机高级语言还没出现。基于ISO 6983标准的GM代码属于基于单字符的助记码,基本上不存在语法问题,词法也很简单,基本上可以直接与运动指令相对应。而STEP-NC属于一种高级语言,他的解析需要严格的经过词法、语法、语义流程。当然,在计算机技术飞速发展的今天,上述问题并不存在技术上的障碍,但NC制造商必须在这方面付出更多的努力。
针对STEP-NC,NC必须接受STEP-NC的信息模型,并实现工艺解析和运动轨迹的生成。这一点远比处理STEP-NC的语言复杂的多。因为STEP-NC的数据交换文件中并没有任何描述运动轨迹的指令,而是大量的特征基本几何信息和工艺规划。如何生成运动轨迹的工作xx要由数控系统完成。这相当于要求NC具有强大的CAM功能。理论上讲NC技术与CAM技术的融合是增强制造单元柔性制造能力的合理的发展方向,但NC属于实时控制系统,复杂的信息模型解析和路径规划并不适于在线实时完成,因为上述工作增加NC运算负荷,也会影响系统实时控制的稳定性。
尽管STEP-NC的实施存在很多问题,还是有许多研究机构和数控公司在不断努力,推进STEP-NC的工业应用。从2000 年开始,美国STEP Tools公司在国家标准技术协会NIST的资助下起动了为期3年的“超级模型”(Super Model)项目。该项目(全称为Model Driven Intelligent Control of Manufacturing)的主要目标是建立一个适合于铣削、车削的数据库和软件工具,验证CNC机床能否直接读取3D设计和制造数据,进行快速、安全和智能化的零件制造。2001年秋季,Super Model 项目与韩国开展的国际IMS STEP-NC项目中的内容合并。2000年6月韩国POHANG科技大学的STEP-NC技术国家研究实验室NRL-SNT开始了为期5年(分2个阶段进行)的STEP-NC研究计划,重点开展车削STEP-NC中从数据模型到智能化加工相关技术的研究。日本于2001年启动了名为“数字大师” (DIIGITAL MASTER)的项目,虽然该项目未列入国际IMS STEP-NC项目中,但研究工作与STEP-NC建模有关。国际IMS STEP-NC项目于2001年夏季启动,参加的国家与地区有欧盟、瑞士、美国以及韩国等,并于2003年在德国的亚琛(Aachen)市开始实施了一个 IMS STEP-NC车间。2002年12月在美国Boeing公司用 CATIL软件生成了一个STEP-NC零件程序,然后在西门子公司的一台具有STEP-NC功能的机床上进行了运行,证明STEP-NC可支持多种不依赖于NC编程的机床。

4.     STEP-NC技术发展预测
纵观国际上关于STEP-NC技术的发展和应用推广,可以发现大多数主流的数控系统制造商都是谨慎的参与和观望。而数控装备制造商尚没有积极投入STEP-NC的应用推广。在STEP-NC的技术发展中,最活跃的当属美国STEP Tools公司。该公司可以提供多种支持STEP-NC的应用软件插件。这种局面的深层原因是指的思考的。
首先STEP-NC的实施将面临着对具体装备工艺解析个性化的难题。不同的机床或其他加工设备具有不同的加工运动特征,特别是当前数控装备针对加工对象定制,基于模块化和部件化的设计和制造模式正在形成潮流。数控装备本身的通用的运动模型描述对于数控系统还属于值得研究的问题,而这部分模型是真正实现STEP-NC加工策略和加工路径规划的基础。
第二STEP-NC在线加工信息描述的复杂性带来在线信息交互的困难。很显然EXPRESS语言并不适合工人在操作现场阅读和编写。EXPRESS语言的编辑必须通过可视化工具完成。因此可以说EXPRESS语言是写给机器的语言,是面向CAD-CAPP-CAM-NC一体化的语言。这对于工人现场操作、调试、试切都带来很大的不便。即EXPRESS语言不适于单件小批量的生产。另一方面传统的批量制造模式下,由工艺部门统一制定工艺编写数控程序已经成为工业界习惯的制造流程。应用STEP-NC要求设计部门,工艺部门,现场加工都要进行工作习惯的调整,显然STEP-NC不具有显性的替代优势。
基于上述考虑,我们可以判断STEP-NC技术替代ISO 6983标准不会在可预见的短时间内实现,但STEP-NC技术作为国际上数控领域的新的研究热点,也是值得我们继续关注的。


郑重声明:资讯 【面向STEP-NC标准化过程与数控技术的走向_天分决定速度,勤奋决定高度_ ...】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——