全球旧事资料 分类
盘手工输入和程序文件读入两种方式;代码解释和分析主要是分析程序的结构,通过对NC代码的理解、检查代码语法语意的正确性,经过译码、刀补计算、进给速度处理,以得到刀具中心轨迹和其它所需数据,为刀具路径建立数据表,作为仿真的驱动信息,用于模拟加工模块。该模块的具体实现是由NC程序的预处理和代码的解释两个大的过程来完成的。1预处理模块NC代码的预处理过程主要完成NC程序的读入以及对读入程序的词法、语法检查。目前国内外的数控装置几乎都采用可变程序段“字地址格式”,国际标准化组织制定了字地址程序段格式ISO698311982标准,形式如下:NGX±Y±Z±I±J±K±MSTF数控程序是由这样一组字地址组成的指令集,根据数控程序的特点本系统存取、管理这些代码采用单向链表结构来实现。由于本系统数控源代码是以文本格式存储的,所以首先由C提供的IO流操作函数Ofstream,fstream,ifstream来
f实现对源代码的存取,由类ifstream读入每一程序行,将读入的程序行以字符串的格式存入text_list链表的text成员中,该链表的具体结构为:structPro_textCStri
gtext;i
tle
gh;Protext3
ext;;对数控程序代码和数控仿真目的分析可知,我们只需从数控程序中提炼与仿真系统运动部件有关的运动与状态信息,而对于那些与运动轴无关的代码,只要计算机能够识别它们并进行词法的检验就可以了。因此,遍历text_list链表对结构体中成员text进行分析,根据特定的算法,去除注释等不必要的信息,提取有用的代码信息即程序行中的指令值存入dictate_list链表。同时该过程还完成数控程序的词法和语法的检查,若有错误的信息将其存入指定的文件中。dictate_list链表的结构即:structComma
di
tN;行号CStri
gG;G指令doubleX;x坐标doubleZ;z坐标doubleR;圆弧半径值doubleI;圆弧中心坐标IdoubleK;圆弧中心坐标KdoubleF;进给速度值i
tS;S指令CStri
gM;M指令i
tT;刀具号Comma
d3
ext;
ext指针2解释处理模块解释处理模块负责提取有关命令动作和状态信息,通过对已经存入缓冲区的数据结构进行分析扫描,即遍历dictate_list链表,分离出相应的信息,进行刀具轨迹的离散和插补,得到仿真的驱动信息,将其存入一定的数据结构中。G代码是数控代码中最重要的代码,几乎控制了数控机床所有的功能和重要设置,必须对其进行合理有效的处理。在本文研究中根据仿真需要忽略其他G代码而只
f对以下r
好听全球资料 返回顶部