求一个用VB编写的数控车床仿真系统的软件 谢谢啦24
发布网友
发布时间:2023-09-24 06:04
我来回答
共1个回答
热心网友
时间:2024-11-30 01:55
用VB开发数控车床模拟软件
数控机床现代机械工业的主力设备,数控车床是装备量最大的数控机床,约占42%。数控车床的培训是学校职业技能培训的重点。但数控车床特别是高性能数控车床价格昂贵,学校无力大量购买,故在购买少量的高性能数控车床上,装上笔者开发的相应模拟软件后,让学生在模拟软件上练习合格后,再上车床操作,该模式非常适合学校的大规模培训。该软件还可真实地模拟车削加工轨迹,检验数控加工程序确定的工艺路线是否合理,是否会出现刀具与工件相撞、过切等问题。
1 用VB开发软件
车床加工是典型的两坐标联动加工,用平面图形即可表示清楚。该模拟软件在Windows95/98中文版操作系统下运行,编程语言选择VB5中文版,是一种面向对象的可视化编程语言。数控车床的工作过程可视为操作者对数控车床上的键盘、开关等进行操作后产生相应的结果。VB提供了众多控件(对象),可用于表示数控车床上的键盘、开关等,如用CommondButton控件表示按钮,其功能在该控件的对应事件过程中编程即可实现。面向对象使得各事件过程相对独立,结构明晰,便于编程与修改。模拟软件的编程,应使学生在计算机前操作与在数控车床上操作的感觉相一致。
2 软件界面与实际完全一致
学生在数控车床前,其工作空间大体上可分为3部分:①车床机械部分,包括三爪卡盘、工件、刀架、尾座、床身等;②操作面板,有显示屏、键盘、各种开关、旋钮等;③刀具库,包括各种车刀、钻头、镗刀等。相应地,模拟软件设计了3个Form控件(界面),Form1控件:显示车床机械部分,显示装夹工件、装刀对刀、切削加工过程;Form2控件:显示数控车床的操作面板;Form3控件:显示可供选用的刀具。各Form控件上的布局与数控车床上的实际布局、位置、颜色等完全一致。
车床最常用的夹具是三爪卡盘与尾座顶尖,工件一般为管材或棒材。按“机械制图”的规定,在Form1中用若干Shape、Line控件来表示工件、卡爪、顶尖。用户输入工件尺寸,改变表示工件的Shape控件的Visible属性与Width、height属性,在Form1中显示出工件。在相应的键盘、鼠标事件过程中编程,用键盘、鼠标改变各Shape、Line控件的位置属性,移动工件与卡爪、顶尖,并给出相应的提示,即完成装夹过程。
Form3中设置多个PictureBox容器,每个容器中用若干Line控件“绘制”一种刀具。对钻头等形状相同、尺寸成系列的刀具,可根据用户输入的刀具尺寸,软件相应地改变容器中Line控件的位置属性,显示不同的规格。
3 设置数、识别输入指令及显示加工效果
数控车床刀架有12个工位,可任意选择某工位。Form1中设置了若干Line控件。此时双击任一PictureBox容器,Form1中的Line控件会在当前工位绘制出相应的刀具,在此工位“装刀”。如果该工位已有刀具,软件会提醒是否更换刀具。用户还可通过键盘、鼠标操作来改变刀具在刀架上的安装位置。Form1中每个工位上安装的“刀具”的Line控件的数目、各Line控件的位置属性值都将存入变量。当该工位被选为当前工位时,即显示其上所装刀具形状。在Form1上双击某工位,若该工位无刀,则该工位所有变量值均为0。数控加工中,还需输入刀具补偿参数(包括X与Z方向补偿值、刀尖圆弧半径、刀尖参数等)。全功能性数控车床一般配备对刀仪,软件中用若干Shape控件表示。通过键盘、鼠标事件,改变刀具Line控件与对刀仪Shape控件的位置,根据位置属性值,确定刀具补偿值。再用类似的方法,根据刀具Line控件与工件Shape控件的位置属性值确定工件坐标系与机床坐标系的关系。相应的数值保存在Form2中相应的Label控件中。
数控系统中,只有G、M、F、S、T等有限指令,格式也不复杂。数控加工程序与计算机程序类似,由若干程序段组成,每个程序段一般以“;”结束。模拟软件在Form2中设置了一个与实际一致的小键盘,用TextBox控件接受输入的程序。软件将输入的每个程序段看作一个字符串,VB提供了丰富的字符串函数,如Val、Instr等,可以很方便地提取其中包含的信息,并予执行。例如:
O0001;
G00 X60 Z5 S400 T0101;
G01 U-10 W20 F0.1;
……
程序以“O”开头,“0001”表示程序号,“;”后的“G00 X60 Z5 S400 T0101;”视为一个字符串,可用instr函数检测出“G”指令的存在,再用Val检测出其后的数字“0”,得到具体的“G00”指令。依此,检测出“X”、“60”及其它。所有输入的数控加工程序均以文件形式保存在硬盘中。
数控车床可加工的只有直线与圆弧(包括顺圆、逆圆),其余曲线可由直线、圆弧*近而成。直线、圆弧的形成过程采用数控插补方法。模拟软件无法模拟半闭环的数控车床实际运动的反馈控制,选用逐点比较法形成轨迹,计算简单,编程方便。软件通过如上的字符串计算,为插补计算提供轨迹性质、几何参数(起点、终点、圆心等)、转速、进给量等数据,还有工件坐标系与机床坐标系的关系、刀具的补偿。
模拟软件中,工件(Shape控件)填充以醒目的*。执行切削指令时,刀具按插补计算的轨迹在屏幕上移动,刀具切削刃从工件经过处,以屏幕背景色覆盖。视觉效果上,工件材料被切除。因为数控车床加工的是回转件,切削刃所经之处关于主轴轴线对称的工件部分,也要以屏幕背景色覆盖,显示出工件材料被切削的效果。
4 软件中一些问题的解决
数控车床所用FANUC数控系统中,还有G70、G90等复合加工指令,是直线运动(G00、G01)、圆弧运动(G02、G03)的组合。根据运动轨迹性质与切削效果,模拟软件编程时建立了G00、G01、G02、G03、G32(螺纹切削)共5个加工子程序。程序段中出现某一指令,则调用相应子程序或子程序组合,如“G00;”,调用G00子程序,根据“X60 Z5 S400 T0101”,形成相应的轨迹。
实际操作中,有些情况几乎不可能出现,如未夹紧就加工的情况。模拟软件编程时必须考虑 些情况,为此,在模拟软件中许多操作结果都以状态变量形式保存,如卡爪顶尖夹紧,该状态变量为“真”,是后续加工的前提。数控车床的分辨率一般已达0.001mm,计算机屏幕上无法表示如此小的 度。Form控件坐标系中编程时,以30Twip/mm为单位,而机床的坐标值以0.001mm为单位显示。实际位置值与显示的坐标值有一定误差,但不影响视觉效果。
模拟软件提供的数控车床的操作过程与实际的操作过程完全一致。模拟软件接受FANUV-0TC加工程序并演示加工轨迹,与实际效果相同。数控车床的各种功能,如单句执行、暂停、紧急停止等,模拟软件均可实现。对某些功能,如调整伺服系统参数、反馈控制等涉及机床“硬件”的,只保留其操作,无法进行效果的模拟。