2.1 从数据模型到数控程序
2.1.1 基于应用参考模型的实现方案
STEP-NC在许多方面(如建模语言、文件格式等,如图2)参考或直接引用了sTEP(ISO 10303),因而被公认是一种与sTEP兼容的数据模型,但关于两者的准确关系却存在着分歧。部分研发人员[B3认为,STEP-NC的实施必须优先考虑数控加工的特殊需要(而不是sTEP方法论),它应该:①利于编程;②提供全面的信息;③以合理的数据结构将数控加工中的几何信息和制造信息组织起来。
基于这一观点,ISO/TC 184/SCl(国际标准化组织工业自动化系统和集成委员会物理装置控制分委员会)制订了一个独立的标准ISO 14649。所以在一定意义上,STEP-NC(ISO 14649)与sTEP是两个标准。正因为如此,ISO 14649中给出的数控程序并没有特意使用STEP的集成资源,而是将ISO 14649中的EXRESS定义实体直接映射为STEP—NC程序中的实体实例(参阅Iso 14649—11附录F)。这样得到的数控程序与一般的STEP文件在形式上显然存在着差异(如图3)。
2.1.2基于应用解释模型的实现方案
也有一部分研发人员认为,STEP—NC是sTEP向数控加工领域的拓展,或者是数控领域的sTEP,因而应当与sTEP完全兼容。基于这一观点,ISO/TC 184/sc 4(工业数据分委员会)将sTE卜NC作为sTEP的一部分,具体地说是其中的一个应用协议,即STEP AP 238或ISO 10303—238。
通常,按照sTEP方法,一种应用协议的实际应用(如本文中的数控编程)需经过以下过程:①进行功能分析,建立应用活动模型(Application ActivityModel,AAM);②对AAM进行抽象,建立应用参考模型(Application Reference Model,ARM)}③根据AAM和ARM,从集成资源中抽出所需资源构件(unit of unctionality),增加约束、关系和属性,建立应用解释模型(Application Interpretation Mod—ei,AIM);④将AIM映射为具体的文件结构和具体应用系统程序设计语言(如c++,Java等)的描述形式;⑤用程序设计语言实现应用系统的功能。因此,如果将STEP-NC看作是sTEP的一个应用协议,则ISO 14649中定义的数据模型相当于ARM,应该先映射为AIM后才能进一步映射为STEP—NC数控程序的文件结构,如图4中虚线所示。
虽然(按照上述观点)STEP AP 238的范畴更大,但实际上,ISO/TC 184/sc 4目前正在制订的STEP AP 238主要侧重于AIM。STEP Tools公司推出的工具(sT_P1an,sT—Machine等,http://www.steptools.com)也都是面向AIM的。
2.1.3 两种实现方法的比较
STEP—NC是为现代计算机数控机床制订的一种与STEP兼容的数据接口,而STEP—NC的ARM和AIM代表了数据模型建立过程中的两个阶段,表达的对象和内容是一致的,只是描述方式不同””。从STEPNc的ARM向AIM映射可以充分利用STEP的资源构件,并保持与STEP—CAD,STEPcAM(分别指CAD和CAM领域的数据模型)等的一致;另一方面,这种转化降低了数控程序的可读性,增加了后续处理的难度。通常ARM更接近应用领域,便于人类的理解,但没有实现与sTEP的完全兼容;而AIM更抽象、更复杂一些,但真正体现了与STEP的兼容。
基于ARM和基于AIM的数控程序都采用STEP中规定的文件格式(ISO 10303—21),但由于二者在定义方式上的差异,同一个概念(如图3中的Machining—workstep)反映在数控程序中的组织形式也往往不同。图5中,语句#10为机加工工步按照IsO 14649中的定义直接映射到数据文件(数控程序)的实例,其安全面、被加工特征和操作分别通过#52,#16和#19以属性的形式给出。语句#160#173#194#315则是由STEP AP_238映射到文件中的形式,其中#194给出了工步的标志;#173将特征和工步联系到一起;#160将操作和工步联系到一起;#315指定了操作的安全面,从而间接地将安全面和工步联系到一起。从这个实例可以看出两种方案各有优点,但却存在着矛盾(实现STEP_NC与sTEP的完全兼容或者保持sTEP_NC的简洁性)。文献[11]对此也进行了分析,认为在表达同一概念时,AIM数据通常是ARM数据的3倍~7倍。献[8]认为,AIM不仅造成了数据量的巨增,而且在某些地方甚至偏离了ISO 14649,从而加大了STEP-NC实现的难度。文献[12]则针对文件的实时翻译和处理问题,对这两种方案进行了测试,并提供了对AIM有利的结论。该文献认为,尽管AIM形式的数据需要较长的处理时间,但这两种形式的文件都可以直接用作计算机数控机床的实时控制。