精工加工代码的识别为了完成精工加工程序仿真图形的生成,要求VB程序能识别精工代码,比如G01直线插补、G03圆弧插补等,然后将程序转入相应的指令模块中,进行插补运算及显示[36]。精工加工中心中使用的典型语句模式为[36]:N□□□G□□G□□G□□X±□□□Y±□□□Z±□□□I□□□J□□□K□□□F□□S□□T□□M□□M□□其中□代表一位十进制数字。基于PMAC加工中心精工系统采取直接从能显示精工代码的文本框中读取精工代码,再进一步分析的方法。精工代码的识别过程是:直接将文本框中的精工代码读入到字符窜变量中,然后根据精工加工代码的每一行的结束标志”;”,来将其分割成一行一行的代码,放入字符窜数组,再分析字符窜数组的每一个元素即每一行精工代码[36]。在精工代码的分析过程中,考虑到精工系统只是进行图形仿真,所以在对代码进行识别的时候,关键就是识别出G代码、X代码、R代码等[36]。程序识别的关键语句如下:t1=Split(stra1,";")'以符号“;”进行分行i=1Fori=1ToUBound(t1)-1Fornextchar=8ToLen(t1(i))SelectCaseMid(t1(i),nextchar,1)Case"G"'提取字母Glg=InStr(nextchar,t1(i),"G",1)num=Mid(t1(i),lg+1,2)SelectCasenumCase"02"Text2.Text="G02"n=2Case"01"n=1……EndSelectCase"X"'提取字母Xj=InStr(t1(i),"X")x(i)=Val(Mid(t1(i),j+1,3))'提取XY后面的数值,放到数组X(i),Y(i)里面……EndSelectNextnextcharDimyanseIfn=""ThenElseIfn=1Orn=0ThenIfn=0Thenyanse=vbGreenElseyanse=vbBlackEndIfCall直线(dqdx,dqdy,CDbl(x(i)),CDbl(y(i)),yanse)'调用直线插补子程序dqdx=CDbl(x(i))dqdy=CDbl(y(i))ElseIfn=2ThenCall圆弧(dqdx,dqdy,CDbl(x(i)),CDbl(y(i)),dRadius)'调用圆弧插补子程序dqdx=CDbl(x(i))dqdy=CDbl(y(i))EndIfNexti2.圆弧插补R编程在精工零件加工图纸上,一般都用半径R来表示圆弧,故R编程格式对于精工程序员来说是非常便利的[37]。但是,在精工系统内部必须知道圆心的坐标,才能进行圆弧插补[37]。因此,在R编程方式下,精工系统需要解决已知两点的坐标和圆弧半径,求解圆心坐标的问题[37]。影响圆心坐标的因素很多,如圆弧的长短、顺时针走刀、逆时针走刀以及起止点的相对位置等,如图3-8所示,假设已知圆弧半径R、起点A(Xl,yi)和终点B(x2,y2),满足条件的圆心有两个OKXi,Y2),连接AB和ChCb,其交点坐标为M(xm,ym)。利用矢量算法简单快捷的求出圆心坐标,其计算圆心的关键公式为:如果弧AB是G02的劣弧,如图3-8(a)所示,其圆心为02,此圆心02的坐标是:如果弧AB是G02的优弧如图3-8(b)所示,其圆心为,此圆心Ch的坐标是:本文采摘自“基于PMAC的加工中心开放式精工系统研究”,因为编辑困难导致有些函数、表格、图片、内容无法显示,有需要者可以在网络中查找wnsr888手机版相关的文章!本文由海天精工整理发表文章均来自网络仅供学习参考,转载请注明! 相关产品可查阅:介绍页(线轨加工中心)、介绍页(龙门加工中心)、介绍页(卧式加工中心)