外挂式U形梁冲孔生产线CAM系统及构建方法与流程

文档序号:11581408阅读:273来源:国知局
外挂式U形梁冲孔生产线CAM系统及构建方法与流程

本发明涉及数控冲孔设备的机械设计、控制系统和计算机辅助制造技术领域,尤其涉及汽车车架u形梁冲孔生产线cam系统和cad系统的并行运行模式。



背景技术:

随着汽车质量和安全性的要求,汽车车架u形梁冲孔生产线得到了卡车生产厂和大型客车厂的广泛应用,计算机技术的发展使得卡车生产厂拥有32位操作系统和64位操作系统共存,其cad系统的各种版本共存,特别是autocad2012版及以后的版本,内嵌式cam系统已经无法运行,迫切需要解决autocad2012版及以后的版本的cam系统运行问题,现有的内嵌式u形梁冲孔生产线cam系统已经满足不了卡车生产厂的需求,为了达到卡车生产厂的需要,达到一套u形梁冲孔生产线cam系统能在不同的操作系统(32位或64位)不同cad版本上(特别是autocad2012-2017版)实现nc程序代码,开发一套外挂式u形梁冲孔生产线cam系统是必然趋势。现有技术如图1所示,cad/cam集成系统首先创建一个cam系统图标菜单,编写脚本(scripts)jmcar.mns,在autocad使用工具→自定义菜单→\jmcar.mns加载,把cam菜单加载到autocad系统中,以便用户像点击autocad的图标一样点击cam图标。第二步用vba编写jmvb1.dvb工程,用于调用dll工程中类的成员,第三步中使用visualbasic6.0创建工程,包括各种窗体、模块、类、过程、函数和各种功能模块并编译成dll工程,以备vba调用,该部分的工作量最大约占整个开发总量的90%以上。最后集成打包封装形成setup安装文档。它是一个内嵌式实现cad/cam集成系统技术方案。本发明在现有技术方案的基础上,进一步提出了一种外挂式u形梁冲孔生产线cam系统的构建方法,通过新的技术方案,解决了不同位数(32位或64位)的操作系统,不同版本的autocad系统,特别是autocad2012-2017版cam系统的构建方法,为卡车生产厂和大型客车厂提供一套更加高效,兼容性更强的cam系统,以此改善系统的安全性和可用度。



技术实现要素:

为了克服上述现有技术的不足,本发明提供了一种外挂式u形梁冲孔生产线cam系统,针对内嵌式u形梁冲孔生产线cam系统的缺点进行了技术创新,它突破了二次开发人员局限32位或64位系统的代码在其他版本不能使用的技术瓶颈,解决了开发人员长期存在的难题。实现一套外挂式u形梁冲孔生产线cam系统能适应不同的操作系统(32位或64位)和多种cad版本生成u形梁冲孔生产线的nc程序的目的。

本方案是通过如下技术措施来实现的:一种外挂式u形梁冲孔生产线cam系统,它包括:

exe程序生成模块:exe程序生成模块把dll工程改为exe可执行程序,exe程序生成模块是编译可执行程序的主模块,先设置工程属性,再建立cam系统与cad系统连接,然后创建cam系统窗体和cam系统公用模块,定义刀具库数组、冲压数组、优化数组、cam层、模拟层以及公共变量;exe程序生成模块有4个主要功能:其一是设置工程属性:工程类型设置为标准exe,启动对象为主菜单窗体,工程名称为u形梁冲孔生产线cam系统;其二是建立cam系统与cad系统连接,定义cad应用和cad文件;连接至autocad应用程序,连接至autocad图形;其三是创建cam系统窗体,cam系统窗体包括cam主窗体、板材窗体、参数窗体、刀具窗体、优化窗体、输出窗体和转盘窗体;cam主窗体是只带有命令按钮的窗体,其他六个窗体是带有用户界面和命令按钮的窗体;其四是创建cam系统公用模块,用于定义公共变量、过程、函数,定义刀具库数组、冲压数组、优化数组、cam层、模拟层;并把创建的连接、窗体、模块传递给cam系统主菜单模块、窗体处理模块、信息处理模块、u形梁冲孔模块;

cam系统主菜单模块:cam系统主菜单模块承接exe程序生成模块传递来的cam主窗体,进一步对cam主窗体进行设计,在cam主窗体上创建若干按钮,这些按钮是板材、模具、手动适配、自动配刀、优化、冲压参数、添加属性、nc输出、模拟开始、下一步、下五步、到结束、退出模拟、删除重复、退出;编写每个按钮点击(click)所对应的程序,形成cam主菜单窗体;

cam系统主菜单模块有4个主要步骤,其一是设置cam主窗体参数,设置cam主窗体的maxbutton属性设置为false,minbutton属性设置为false,width属性设置为1500,height属性设置为8000,使cam主菜单窗体呈现竖条状,以便于放在屏幕右侧位置;其二是添加命令按钮,创建板材、模具、手动适配、自动配刀、优化、冲压参数、添加属性、nc输出、模拟开始、下一步、下五步、到结束、退出模拟、删除重复和退出按钮,形成cam主菜单窗体;其三是对各个命令按钮分别编写程序,用于控制和操作u形梁冲孔模块;其四是外挂式u形梁冲孔生产线cam系统的特别处理,执行各个命令按钮的程序中有关窗体切换的命令采用”窗体名.show1”的有模式方式,cam主菜单窗体form_load过程中最后两行加入如下:me.left=screen.width-me.width:me.top=0目的使cam主菜单窗体位于屏幕的右上角;并对各个命令按钮编写程序,用于控制和操作u形梁冲孔模块;并把cam主菜单窗体属性设置传递给窗体处理模块,把cam主菜单窗体的各个命令按钮的点击状态传递给u形梁冲孔模块;

窗体处理模块:窗体处理模块承接exe程序生成模块传递来的cad系统和cam系统的连接状况和cam系统的各个窗体状况,该模块处理cad窗体和cam各个窗体的显示、覆盖、重叠、激活、获得焦点、切换操作;并把cad系统和cam系统处理窗体的结果及状态传递给信息处理模块和u形梁冲孔模块;

信息处理模块:信息处理模块接受来自cam系统的exe程序生成模块、cam系统主菜单模块、窗体处理模块和u形梁冲孔模块的信息,根据信息的类别进行处理,处理结果一部分以信息弹出框的形式显示出来,另一部分直接反馈给u形梁冲孔模块;为了保证信息弹出框在cad窗体和cam窗体的最前层,分别对msgbox信息弹出框和msgbox函数进行处理:其一对msgbox信息弹出框加一参数,呈现如下形式:msgbox提示信息,4096;其二对msgbox函数在函数调用中增加一参数,呈现如下形式:str1=提示信息:intr=msgbox(str1,4096);信息处理模块并把处理结果传递给exe程序生成模块、cam系统主菜单模块、窗体处理模块和u形梁冲孔模块;

u形梁冲孔模块:u形梁冲孔模块继承exe程序生成模块建立的与cad系统的连接,继承cam系统主菜单模块的命令选择结果、与窗体处理模块和信息处理模块共同协作处理刀具库数组、冲压数组、优化数组、cam层、模拟层以及公共变量;进行动态板材设置与参数设置并放入公共变量中;从cad部分的u形梁图形库读取读取cad图形数据的所有图素,从中筛选出图素名称等于圆的实体,获取其中两个属性:圆心和直径,并把圆心的坐标值x、圆心的坐标值y和直径值d转换进公共变量定义的冲压数组中;读取和保存刀具库外部刀具库文件的数据;对每个刀具以块的形式建立刀具块图形并把每个刀具的数据放入刀具库数组;根据冲压数组中的圆直径、圆中心的x坐标值和y坐标值、u形梁的梁参数、刀具库的刀具信息分别对前翼面、腹面、后翼面自动适配刀具,并把适配刀具的刀具块的图形以块的形式回写到u形梁图形库由公共变量定义的cam层中;对腹面的前检测需要添加属性处理;之后获取cam层的所有块的插入点的坐标值、刀具号、插入点的x坐标值加该刀具的刀具偏置放入由公共变量定义的优化数组,优化数组按x+刀具偏置由小到大排序并输出排序完成的优化数组数据至nc程序创建过程,并按顺序转换成输出的语句格式显示在输出窗体中或把输出的语句格式写入到nc程序文件中或进行模拟仿真;最后输出nc程序到执行对象中-u形梁数控冲孔设备的数控系统中加工运行。

本方案的具体特点还有,窗体处理模块承接exe程序生成模块传递来的cad系统和cam系统的连接状况和cam系统的各个窗体状况,该模块对带有用户界面和命令按钮的六个窗体的每个form_load过程中最后两行加入如下:me.left=screen.width-me.width:me.top=0目的使这六个窗体在分别载入时位于屏幕的右上角;带有用户界面和命令按钮的六个窗体具体是指:板材窗体、参数窗体、刀具窗体、优化窗体、输出窗体和转盘窗体;窗体处理模块处理cad窗体和cam各个窗体的显示、覆盖、重叠、激活、获得焦点、切换操作;窗体处理模块处理cam各个窗体的加载模式为有模式方式,以达到不同位数(32位或64位)的操作系统兼容;窗体处理模块处理cam各个窗体的载入过程,以保证弹出的cam窗体在屏幕的右上角;该模块要求cad窗体去除全屏显示,避免cad窗体覆盖cam窗体,总体布局为cad窗体在屏幕的左侧,占据百分之九十以上的屏幕空间,cam主菜单窗体在屏幕的右侧,占据十毫米宽的屏幕空间,cam带有用户界面和命令按钮的窗体在屏幕的右上角,部分覆盖cad窗体,cam带有用户界面和命令按钮的窗体操作完成后自动关闭,在屏幕的右侧显示cam主菜单窗体,并把cad系统和cam系统处理窗体的结果及状态传递给信息处理模块和和u形梁冲孔模块。

所述u形梁冲孔模块还包括如下功能:

其一是建立cam系统与cad系统之间的快速通道,用于快速读取cad系统u形梁图形库的数据,用于快速向u形梁图形库回写适配刀具的刀具块的图形,用于快速向u形梁图形库回写适配刀具的属性值,用于快速在优化过程中获取cam层的所有块数据;

其二是腹面前后检测的实现方法,首先在模具库中增加四项,这四项分别是每把模具对应的四个检测杆号码,即后检测进板检测杆号、前检测进板检测杆号、后检测出板检测杆号、前检测出板检测杆号;其次把模具库放入模具库数组时也把对应的四个检测竿号码放入模具库数组,然后根据每个冲点的x+刀具偏置、添加属性的属性值、刀具的工位号、u形梁长度计算出该冲点的检测杆号,最后输出到nc程序中;对板头(250mm)和板尾(150mm)分别处理:板头的处理:

当有属性前检测当x+刀具偏置小于250mm时用前检测进板检测杆号

当无属性后检测当x+刀具偏置小于250mm时用后检测进板检测杆号

板尾的处理

当有属性前检测当x+刀具偏置大于板长-150时用前检测出板检测杆号

当x+刀具偏置小于等于板长-150时用前检测进板检测杆号

当无属性后检测当x+刀具偏置大于板长-150时用后检测出板检测杆号

当x+刀具偏置小于等于板长-150时用后检测进板检测杆号。

在内嵌式cam系统中用0,1来实现后检测和前检测,这种算法简单,副作用是在板头或板尾处容易撞坏检测竿;为了克服这种缺陷,对检测算法进行了彻底改进,避免了在板头或板尾处撞坏检测竿,增加设备运行的可靠性,减少了更换检测竿的成本和时间,提高了效率。

其三是实现了智能适配模具算法;智能适配模具模块对从cad图形读取模块输出的冲压数组中所有有效数据首先进行双冲处理,然后大主机和小主机分别预加一次模具处理,按照大、小主机预加模具的状态形成主从两个队列,各个队列按各自的x+模具偏置由小到大排序,形成主从两个有序队列;根据独冲孔和双配孔、两主机同时冲条件、梁参数及孔在梁的位置来确定预冲孔主机和预冲模具号;然后根据预冲孔主机和预冲模具号,调用该模具号对应的模具块的图形以块的形式回写到u形梁图形库由数据定义模块定义的cam层中,供优化模块读取。

在外挂式cam系统中智能适配模具算法:在u形梁冲孔生产线由于腹面的孔占u形梁的总孔数的90%以上,因此加快腹面的冲孔速度尤其显得重要,在机械配置上通常采用两个或三个主机冲腹面的孔,两个主机采用一个18工位的小主机和一个23工位的大主机组成,三个主机采用两个18工位的小主机和一个8工位的大主机组成,本发明以腹面两个主机的配置为研究对象,为了提高冲孔速度,实现单主机双冲(一次两个孔),两个主机同时冲(一次两到四个孔),减少了空行程,提高了冲孔速度,板材只进不退减少了丝杠的重复定位误差和反向间隙误差,提高了冲孔精度。

本发明还提供了一种外挂式u形梁冲孔生产线cam系统构建方法,它包括如下步骤:

exe程序生成步骤:exe程序生成步骤把dll工程改为exe可执行程序,exe程序生成步骤是编译可执行程序的主步骤,先设置工程属性,再建立cam系统与cad系统连接,然后创建cam系统窗体和cam系统公用步骤,定义刀具库数组、冲压数组、优化数组、cam层、模拟层以及公共变量;exe程序生成步骤有4个主要功能:其一是设置工程属性:工程类型设置为标准exe,启动对象为主菜单窗体,工程名称为u形梁冲孔生产线cam系统;其二是建立cam系统与cad系统连接,定义cad应用和cad文件;连接至autocad应用程序,连接至autocad图形;其三是创建cam系统窗体,cam系统窗体包括cam主窗体、板材窗体、参数窗体、刀具窗体、优化窗体、输出窗体和转盘窗体;cam主窗体是只带有命令按钮的窗体,其他六个窗体是带有用户界面和命令按钮的窗体;其四是创建cam系统公用步骤,用于定义公共变量、过程、函数,定义刀具库数组、冲压数组、优化数组、cam层、模拟层;并把创建的连接、窗体、步骤传递给cam系统主菜单步骤、窗体处理步骤、信息处理步骤、u形梁冲孔步骤;

cam系统主菜单步骤:cam系统主菜单步骤承接exe程序生成步骤传递来的cam主窗体,进一步对cam主窗体进行设计,在cam主窗体上创建若干按钮,这些按钮是板材、模具、手动适配、自动配刀、优化、冲压参数、添加属性、nc输出、模拟开始、下一步、下五步、到结束、退出模拟、删除重复、退出;编写每个按钮点击(click)所对应的程序,形成cam主菜单窗体;

cam系统主菜单步骤有4个主要步骤,其一是设置cam主窗体参数,设置cam主窗体的maxbutton属性设置为false,minbutton属性设置为false,width属性设置为1500,height属性设置为8000,使cam主菜单窗体呈现竖条状,以便于放在屏幕右侧位置;其二是添加命令按钮,创建板材、模具、手动适配、自动配刀、优化、冲压参数、添加属性、nc输出、模拟开始、下一步、下五步、到结束、退出模拟、删除重复和退出按钮,形成cam主菜单窗体;其三是对各个命令按钮分别编写程序,用于控制和操作u形梁冲孔步骤;其四是外挂式u形梁冲孔生产线cam系统的特别处理,执行各个命令按钮的程序中有关窗体切换的命令采用”窗体名.show1”的有模式方式,cam主菜单窗体form_load过程中最后两行加入如下:me.left=screen.width-me.width:me.top=0目的使cam主菜单窗体位于屏幕的右上角;并对各个命令按钮编写程序,用于控制和操作u形梁冲孔步骤;并把cam主菜单窗体属性设置传递给窗体处理步骤,把cam主菜单窗体的各个命令按钮的点击状态传递给u形梁冲孔步骤;

窗体处理步骤:窗体处理步骤承接exe程序生成步骤传递来的cad系统和cam系统的连接状况和cam系统的各个窗体状况,该步骤处理cad窗体和cam各个窗体的显示、覆盖、重叠、激活、获得焦点、切换操作;并把cad系统和cam系统处理窗体的结果及状态传递给信息处理步骤和u形梁冲孔步骤;

信息处理步骤:信息处理步骤接受来自cam系统的exe程序生成步骤、cam系统主菜单步骤、窗体处理步骤和u形梁冲孔步骤的信息,根据信息的类别进行处理,处理结果一部分以信息弹出框的形式显示出来,另一部分直接反馈给u形梁冲孔步骤;为了保证信息弹出框在cad窗体和cam窗体的最前层,分别对msgbox信息弹出框和msgbox函数进行处理:其一对msgbox信息弹出框加一参数,呈现如下形式:msgbox提示信息,4096;其二对msgbox函数在函数调用中增加一参数,呈现如下形式:str1=提示信息:intr=msgbox(str1,4096);信息处理步骤并把处理结果传递给exe程序生成步骤、cam系统主菜单步骤、窗体处理步骤和u形梁冲孔步骤;

u形梁冲孔步骤:u形梁冲孔步骤继承exe程序生成步骤建立的与cad系统的连接,继承cam系统主菜单步骤的命令选择结果、与窗体处理步骤和信息处理步骤共同协作处理刀具库数组、冲压数组、优化数组、cam层、模拟层以及公共变量;进行动态板材设置与参数设置并放入公共变量中;从cad部分的u形梁图形库读取读取cad图形数据的所有图素,从中筛选出图素名称等于圆的实体,获取其中两个属性:圆心和直径,并把圆心的坐标值x、圆心的坐标值y和直径值d转换进公共变量定义的冲压数组中;读取和保存刀具库外部刀具库文件的数据;对每个刀具以块的形式建立刀具块图形并把每个刀具的数据放入刀具库数组;根据冲压数组中的圆直径、圆中心的x坐标值和y坐标值、u形梁的梁参数、刀具库的刀具信息分别对前翼面、腹面、后翼面自动适配刀具,并把适配刀具的刀具块的图形以块的形式回写到u形梁图形库由公共变量定义的cam层中;对腹面的前检测需要添加属性处理;之后获取cam层的所有块的插入点的坐标值、刀具号、插入点的x坐标值加该刀具的刀具偏置放入由公共变量定义的优化数组,优化数组按x+刀具偏置由小到大排序并输出排序完成的优化数组数据至nc程序创建过程,并按顺序转换成输出的语句格式显示在输出窗体中或把输出的语句格式写入到nc程序文件中或进行模拟仿真;最后输出nc程序到执行对象中-u形梁数控冲孔设备的数控系统中加工运行。

本方案的具体特点还有,窗体处理步骤承接exe程序生成步骤传递来的cad系统和cam系统的连接状况和cam系统的各个窗体状况,该步骤对带有用户界面和命令按钮的六个窗体的每个form_load过程中最后两行加入如下:me.left=screen.width-me.width:me.top=0目的使这六个窗体在分别载入时位于屏幕的右上角;带有用户界面和命令按钮的六个窗体具体是指:板材窗体、参数窗体、刀具窗体、优化窗体、输出窗体和转盘窗体;该步骤处理cad窗体和cam各个窗体的显示、覆盖、重叠、激活、获得焦点、切换操作;该步骤处理cam各个窗体的加载模式为有模式方式,以达到不同位数(32位或64位)的操作系统兼容;该步骤处理cam各个窗体的载入过程,以保证弹出的cam窗体在屏幕的右上角;该步骤要求cad窗体去除全屏显示,避免cad窗体覆盖cam窗体,总体布局为cad窗体在屏幕的左侧,占据百分之九十以上的屏幕空间,cam主菜单窗体在屏幕的右侧,占据十毫米宽的屏幕空间,cam带有用户界面和命令按钮的窗体在屏幕的右上角,部分覆盖cad窗体,cam带有用户界面和命令按钮的窗体操作完成后自动关闭,在屏幕的右侧显示cam主菜单窗体,并把cad系统和cam系统处理窗体的结果及状态传递给信息处理步骤和和u形梁冲孔步骤。

所述u形梁冲孔步骤还包括如下功能:

其一是建立cam系统与cad系统之间的快速通道,用于快速读取cad系统u形梁图形库的数据,用于快速向u形梁图形库回写适配刀具的刀具块的图形,用于快速向u形梁图形库回写适配刀具的属性值,用于快速在优化过程中获取cam层的所有块数据;

其二是腹面前后检测的实现方法,首先在模具库中增加四项,这四项分别是每把模具对应的四个检测杆号码,即后检测进板检测杆号、前检测进板检测杆号、后检测出板检测杆号、前检测出板检测杆号;其次把模具库放入模具库数组时也把对应的四个检测竿号码放入模具库数组,然后根据每个冲点的x+刀具偏置、添加属性的属性值、刀具的工位号、u形梁长度计算出该冲点的检测杆号,最后输出到nc程序中;对板头(250mm)和板尾(150mm)分别处理:板头的处理:

当有属性前检测当x+刀具偏置小于250mm时用前检测进板检测杆号

当无属性后检测当x+刀具偏置小于250mm时用后检测进板检测杆号

板尾的处理

当有属性前检测当x+刀具偏置大于板长-150时用前检测出板检测杆号

当x+刀具偏置小于等于板长-150时用前检测进板检测杆号

当无属性后检测当x+刀具偏置大于板长-150时用后检测出板检测杆号。

当x+刀具偏置小于等于板长-150时用后检测进板检测杆号

在内嵌式cam系统中用0,1来实现后检测和前检测,这种算法简单,副作用是在板头或板尾处容易撞坏检测竿;为了克服这种缺陷,对检测算法进行了彻底改进,避免了在板头或板尾处撞坏检测竿,增加设备运行的可靠性,减少了更换检测竿的成本和时间,提高了效率。

其三是实现了智能适配模具算法;智能适配模具过程对从cad图形读取过程输出的冲压数组中所有有效数据首先进行双冲处理,然后大主机和小主机分别预加一次模具处理,按照大、小主机预加模具的状态形成主从两个队列,各个队列按各自的x+模具偏置由小到大排序,形成主从两个有序队列;根据独冲孔和双配孔、两主机同时冲条件、梁参数及孔在梁的位置来确定预冲孔主机和预冲模具号;然后根据预冲孔主机和预冲模具号,调用该模具号对应的模具块的图形以块的形式回写到u形梁图形库由数据定义步骤定义的cam层中,供优化步骤读取。

在外挂式cam系统中智能适配模具算法:在u形梁冲孔生产线由于腹面的孔占u形梁的总孔数的90%以上,因此加快腹面的冲孔速度尤其显得重要,在机械配置上通常采用两个或三个主机冲腹面的孔,两个主机采用一个18工位的小主机和一个23工位的大主机组成,三个主机采用两个18工位的小主机和一个8工位的大主机组成,本发明以腹面两个主机的配置为研究对象,为了提高冲孔速度,实现单主机双冲(一次两个孔),两个主机同时冲(一次两到四个孔),减少了空行程,提高了冲孔速度,板材只进不退减少了丝杠的重复定位误差和反向间隙误差,提高了冲孔精度。

与现有技术相比,本发明的有益效果是:一套外挂式u形梁冲孔生产线cam系统能在不同的操作系统(32位或64位)不同cad版本上(特别是autocad2012-2017版)实现nc程序代码。腹面前后检测的实现方法,避免了在板头或板尾处撞坏检测竿,增加设备运行的可靠性,减少了更换检测竿的成本和时间,提高了效率。与内嵌式cam系统比较,不需要在autocad加载图标菜单,不用vba调用,不需要dll工程,不需要setup封装,避免了由于操作系统缺少某些dll引起的故障,用户使用方便,增强了市场的快速响应能力,节约了时间成本。

附图说明

下面结合附图和实例对本发明做进一步说明。

图1是已现有技术中cad/cam集成系统框应用环境示意图。图2是外挂式u形梁冲孔生产线cad/cam系统应用环境示意图。图3是外挂式u形梁冲孔生产线cam系统框图。图4是u形梁冲孔模块的程序流程图。图5是外挂式u形梁冲孔生产线cam系统在设计阶段各模块与窗体和主窗体的命令按钮之间的关系图。图6是外挂式u形梁冲孔生产线cam系统在运行阶段主窗体的命令按钮与其他窗体的调用关系图。图7是外挂式u形梁冲孔生产线cam系统的数据流图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。

图2是外挂式u形梁冲孔生产线cad/cam系统应用环境示意图。与图1相比发生了根本性的变化,其一不需要在autocad加载图标菜单,其二不用vba调用,其三不需要dll工程,其四不需要setup封装,而是直接通过exe可执行方式和cad并行运行(严格说有个先后次序),通过点取cam系统主菜单来完成板材设置、刀具库操作、删除重复、手动配置刀具、自动适配刀具、路径和刀具优化、冲压参数设置、模拟演示、nc程序输出;由于autocad加载图标菜单方式、vba调用、dll文件的加载都与系统和版本有关;所以外挂式u形梁冲孔生产线取消了autocad加载图标菜单、vba调用、dll文件的加载。

图3是外挂式u形梁冲孔生产线cam系统框图。图中包括三大部分,cad部分是绘制u形梁的图形;cam部分是核心内容,功能是产生cam系统主菜单、及时进行窗体处理和信息处理、读取u形梁图形库的u形梁图纸、自动适配刀具、优化、创建nc程序;第三部分程序执行对象——冲压u形梁数控冲孔设备;外挂式采用了创新的窗体处理技术、信息处理技术和cam系统主菜单处理技术;

cam部分即外挂式u形梁冲孔生产线cam系统,它包括:

exe程序生成模块:exe程序生成模块定义cam工程名称为upunch,工程类型为标准exe,启动对象为main,工程描述为upunchforzds,创建main窗体及在main窗体增加15个命令按钮并分别进行命名,创建bancai、canshu、daoju、youhua、output、zhuanpan窗体及窗体上的用户界面,创建模块module1并在模块module1上定义公共变量、过程、函数;再建立cam系统与cad系统连接,publicacadappasobject:publicacaddocasobject:

publicsubacadini()'连接至autocad应用程序

onerrorresumenext

setacadapp=getobject(,"autocad.application")

iferrthen

err.clear

setacadapp=createobject("autocad.application")

iferrthen

msgboxerr.description,4096

exitsub

endif

endif

setacaddoc=acadapp.activedocument'连接至autocad图形

endsub

连接至autocad应用程序,连接至autocad图形;acadini过程有三大特点,一是公用变量的定义数据类型为object,二是autocad.application无版本后缀,三是”msgboxerr.description,4096”带有4096这一常数,确保信息弹出框在最前面。

设置工程属性:工程类型设置为标准exe,启动对象为主菜单窗体,工程名称为up4ls;

创建cam系统窗体包括主窗体、板材窗体、参数窗体、刀具窗体、优化窗体、输出窗体、转盘窗体,主窗体是只带有命令按钮的窗体,其他七个窗体是带有用户界面和命令按钮的窗体;其四是创建cam系统模块,用于定义公共变量、过程、函数;并把与cad系统建立的连接及创建的窗体、公共变量、过程、函数传递给cam系统主菜单模块、窗体处理模块、信息处理模块、u形梁冲孔模块。

并把与cad系统建立的连接及cam创建的窗体、公共变量、过程、函数传递给cam系统主菜单模块、窗体处理模块、信息处理模块、u形梁冲孔模块;

cam系统主菜单模块:

cam系统主菜单模块承接exe程序生成模块传递来的cam主菜单窗体,进一步进行设计,十五个命令按钮采用竖体放置,运行时放置在屏幕的最右侧,这十五个命令按钮完成板材设置、刀具库操作、手动配置刀具、自动适配刀具、路径和刀具优化、冲压参数设置、添加属性、nc程序输出、模拟演示(开始、下一步、下五步、到结束、退出)、删除重复及退出功能,并对十五个命令按钮click过程进行详细设计。

cam系统主菜单窗体的名称为u形梁冲孔生产线cam系统,maxbutton属性设置为false,minbutton属性设置为false,width属性设置为1500,height属性设置为8000,使cam系统主菜单窗体呈现竖条状,以便于放在屏幕右侧位置;执行各个命令按钮的程序中有关窗体切换的命令采用”窗体名.show1”的有模式方式;cam系统主菜单窗体form_load过程中最后两行加入如下:me.left=screen.width-me.width:me.top=0目的使cam系统主菜单窗体位于屏幕的右上角;cam系统主菜单模块把cam系统主菜单窗体属性设置传递给窗体处理模块,把cam系统主菜单窗体的各个命令按钮的点击状态传递给u形梁冲孔模块;

窗体处理模块:

窗体处理模块承接exe程序生成模块传递来的cad系统和cam系统的连接状况和cam系统的各个窗体状况,该模块对带有用户界面和命令按钮的六个窗体(板材窗体、参数窗体、刀具窗体、优化窗体、输出窗体和转盘窗体)的每个form_load过程中最后两行加入如下:

me.left=screen.width-me.width

me.top=0

目的使这六个窗体在装入时位于屏幕的右上角;该模块处理cad窗体和cam各个窗体的显示、覆盖、重叠、激活、获得焦点、切换操作;该模块处理cam各个窗体的加载模式为有模式方式,以达到不同位数(32位或64位)的操作系统兼容;该模块处理cam各个窗体的载入过程,以保证弹出的cam窗体在屏幕的右上角;该模块要求cad窗体去除全屏显示,避免cad窗体覆盖cam窗体,总体布局为cad窗体在屏幕的左侧,占据百分之九十以上的屏幕空间,cam主菜单窗体在屏幕的右侧,占据十毫米宽的屏幕空间,cam其他窗体在屏幕的右上角,部分覆盖cad窗体,cam其他窗体操作完成后自动关闭,在屏幕的右侧显示cam主菜单窗体,并把cad系统和cam系统处理窗体的结果及状态传递给信息处理模块和u形梁冲孔模块。

窗体处理模块根据用户点击选择状态先关闭cam主菜单窗体,然后加载cam系统主菜单模块选中的窗体并在屏幕的右上角显示选中的窗体,进行与各个窗体对应的操作,操作完成后关闭本窗体,加载cam主菜单窗体。

当点击板材设置按钮后,隐藏主菜单窗体,在屏幕的右上角加载板材窗体。

当点击板材设置确定按钮后,关闭板材窗体,在屏幕的右侧显示主菜单窗体。

窗体处理模块操作示例如下:首先运行autocad,非最大化,显示在屏幕的左侧(只留出右侧10mm即可),打开一张u形梁图纸,移动图纸的左下角到零点,再运行外挂式cam,主菜单显示在屏幕的右侧,点击主菜单的板材按扭,隐藏主菜单,在屏幕的右上角显示板材窗体,此时可修改输入板材设置参数,输入完成后,按确认按钮,此时在cad窗体显示板材边框线和行程线,在屏幕的右侧自动关闭板材窗体,显示主菜单窗体;点击主菜单的刀具按扭后,隐藏主菜单,在屏幕的右上角显示刀具库窗体,此时可修改刀具库的配置,输入完成后,按确认按钮,此时在cad窗体内已建立了刀具库中每个刀具的图形块,在屏幕的右侧自动关闭刀具库窗体,显示主菜单窗体;点击主菜单的自动配刀按扭后,隐藏主菜单,在屏幕的右上角显示自动配刀窗体,此时可选取自动配刀的方式,选取后按确认按钮,在cad窗体内选取需要自动配刀图形,进行自动配刀,在cad窗体内显示增加了刀具图形(红色,放在cam层上),在屏幕的右侧自动关闭自动配刀窗体,显示主菜单窗体;点击主菜单的优化按扭后,隐藏主菜单,在屏幕的右上角显示优化窗体,此时可选取优化方式,选取后按确认按钮,在cad窗体内选取刀具图形(红色,放在cam层上)并把这些刀具图形转换进优化数组,多重排序,在屏幕的右侧自动关闭优化窗体,显示主菜单窗体;点击主菜单的nc输出按扭,隐藏主菜单,在屏幕的右上角显示nc程序输出窗体,给出输出文件名后,按生成程序按扭,此时系统把多重排序后的优化数组转换成nc程序,显示在输出窗体上,同时存入文件中,按输出窗体的退出按扭,在屏幕的右侧自动关闭nc程序输出窗体,显示主菜单窗体;点击主菜单的退出按扭,关闭cam系统,把输出的nc程序文件传送到执行对象中-u形梁数控冲孔设备的数控系统中加工运行。

信息处理模块:

信息处理模块接受来自cam系统的exe程序生成模块、cam系统主菜单模块、窗体处理模块和u形梁冲孔模块的信息,根据信息的类别进行处理,处理结果一部分以信息弹出框的形式显示出来,另一部分直接反馈给u形梁冲孔模块;为了保证信息弹出框在cad窗体和cam窗体的最前层,分别对msgbox信息弹出框和msgbox函数进行处理:其一对每个msgbox信息弹出框都加一参数,呈现如下形式:msgbox提示信息,4096;其二对每个msgbox函数在函数调用中都增加一参数,呈现如下形式:str1=提示信息:intr=msgbox(str1,4096);信息处理模块并把处理结果传递给exe程序生成模块、cam系统主菜单模块、窗体处理模块和u形梁冲孔模块;

信息处理模块处理cam的报警、各步完成情况、刀具的适配状况、死区报警、超行程报警;以确保信息弹出框在cad窗体和cam窗体的最前层;当一个圆孔无合适的刀具进行适配时,cam系统在cad窗体的前面弹出一个信息框”此孔无合适的模具!!x"+x值+"y"+y值+"d"+d值,当一个圆孔在冲压死区时,cam系统在cad窗体的前面弹出一个信息框”该孔在纵梁的上下部死区内,无法冲孔x"+x值+"y"+y值+"t"+t值,当一个圆孔适配的刀具超吨位时,cam系统在cad窗体的前面弹出一个信息框”该圆的直径:"+d值+"允许的最大直径为:"+dmax值,产生超吨位报警;

u形梁冲孔模块:

u形梁冲孔模块继承exe程序生成模块建立的与cad系统的连接,继承cam系统主菜单模块的命令选择结果、与窗体处理模块和信息处理模块共同协作处理刀具库数组、冲压数组、优化数组、cam层、模拟层以及公共变量;进行动态板材设置与参数设置并放入公共变量中;u形梁冲孔模块建立cam系统与cad系统之间的快速通道,用于快速读取cad系统u形梁图形库的数据,用于快速向u形梁图形库回写适配刀具的刀具块的图形,用于快速向u形梁图形库回写适配刀具的属性值,用于快速在优化过程中获取cam层的所有块数据;该模块从cad部分的u形梁图形库读取cad图形数据的所有图素,从中筛选出图素名称等于圆的实体,获取其中两个属性:圆心和直径,并把圆心的坐标值x、圆心的坐标值y和直径值d转换进公共变量定义的冲压数组中;读取和保存刀和y坐标值、u形梁的梁参数、刀具库的刀具信息分具库外部刀具库文件的数据;对每个刀具以块的形式建立刀具块图形并把每个刀具的数据放入刀具库数组;根据冲压数组中的圆直径、圆中心的x坐标值别对前翼面、腹面、后翼面自动适配刀具,u形梁的三面适配刀具的规则如下:

当冲压数组中的圆的圆心y坐标值<0时,对u形梁的后翼面适配刀具;

当冲压数组中的圆的圆心y坐标值≥0且≤腹面宽度时,对u形梁的腹面适配刀具;

当冲压数组中的圆的圆心y坐标值≥腹面宽度时,对u形梁的前翼面适配刀具

以上规则与u形梁的左右上料方向有关,上面的算法以右上料为参考;

u形梁冲孔模块创建了腹面前后检测的实现方法,首先在模具库中增加四项,这四项分别是每把模具对应的四个检测杆号码,即后检测进板检测杆号、前检测进板检测杆号、后检测出板检测杆号、前检测出板检测杆号;其次把模具库放入模具库数组时也把对应的四个检测杆号码放入模具库数组,然后根据每个冲点的x+刀具偏置、添加属性的属性值、刀具的工位号、u形梁长度计算出该冲点的检测杆号,最后输出到nc程序中;对板头(250mm)和板尾(150mm)分别处理:

板头的处理:

当有属性前检测当x+刀具偏置小于250mm时用前检测进板检测杆号

当无属性后检测当x+刀具偏置小于250mm时用后检测进板检测杆号

板尾的处理

当有属性前检测当x+刀具偏置大于板长-150时用前检测出板检测杆号

当x+刀具偏置小于等于板长-150时用前检测进板检测杆号

当无属性后检测当x+刀具偏置大于板长-150时用后检测出板检测杆号

当x+刀具偏置小于等于板长-150时用后检测进板检测杆号;

u形梁冲孔模块创建了智能适配模具算法;u形梁冲孔模块的智能适配模具过程对从cad图形读取过程输出的冲压数组中所有有效数据首先进行双冲处理,然后大主机和小主机分别预加一次模具处理,按照大、小主机预加模具的状态形成主从两个队列,各个队列按各自的x+模具偏置由小到大排序,形成主从两个有序队列;根据独冲孔和双配孔、两主机同时冲条件、梁参数及孔在梁的位置来确定预冲孔主机和预冲模具号;然后根据预冲孔主机和预冲模具号,调用该模具号对应的模具块的图形以块的形式回写到u形梁图形库由数据定义步骤定义的cam层中,供优化步骤读取。

u形梁的腹面适配刀具:智能适配模具算法;以腹面两个主机的配置为例,为了提高冲孔速度,实现单主机双冲(一次两个孔),两个主机同时冲(一次两到四个孔),智能适配模具步骤先处理双冲再处理同时冲;先定义双冲的虚拟模具(用于实现上排两个模具和下排两个模具、上排两个模具和下排两个模具同时冲孔),查找能双冲的孔作特定标记位(圆直径相等且两圆间距为规定长度的圆作特定标记位),如该位是双冲自动适配虚拟模具号,如该位是单冲自动适配实有模具号,如该位为不冲不匹配模具;预加一次模具处理:对从cad图形读取步骤输出的冲压数组中所有有效数据首先进行双冲处理,然后大主机和小主机分别预加一次模具处理,按照大、小主机预加模具的状态形成主从两个队列,各个队列按各自的x+模具偏置由小到大排序,形成主从两个有序队列;根据独冲孔和双配孔、两主机同时冲条件、梁参数及孔在梁的位置来确定预冲孔主机和预冲模具号;然后根据预冲孔主机和预冲模具号,调用该模具号对应的模具块的图形以块的形式回写到u形梁图形库由数据定义步骤定义的cam层;对前检测需要添加属性处理;获取cam层的所有块的插入点的坐标值、刀具号、插入点的坐标值加该刀具的刀具偏置放入由公共变量定义的优化数组,各队列按x+刀具偏置由小到大排序并输出排序完成的优化数组数据至nc程序创建按顺序转换成输出的语句格式显示在输出窗体中并把输出的语句格式写入进nc程序文件中和模拟仿真;输出nc程序到执行对象中-u形梁数控冲孔设备的数控系统中加工运行。

图4是u形梁冲孔模块的程序流程图

步骤1:系统的初始化:

exe程序生成模块:由401实现,exe程序生成模块定义模具库数组moju(49,7)、data1(x,y,d,num)冲压数组、cam层、优化数组pdata(600,4)、模拟层以及公共变量prognum程序号,banlenth板材长度,banwidth板材宽度,houdu厚度,clqd材料强度,pnum有效孔计数等100多个;建立cad与cam的连接由402实现;创建cam系统窗体包括主窗体、板材窗体、参数窗体、刀具窗体、优化窗体、输出窗体、转盘窗体;读入模具库数据并放入模具库数组m1中;板材数据放入公共变量中;分别用于各个功能模块。

步骤2:u形梁冲孔模块的cad图形读取过程:403到408实现,读取u形梁图形库的所有图素,筛选出图素名称等于圆的实体,获取实体的属性值圆心和直经,把圆心的坐标值x、圆心的坐标值y和直径值d转换进数据定义过程定义的冲压数组data1的x、y和d中并输出冲压数组data1的数据至自动适配模具过程。

步骤3:u形梁冲孔模块的智能适配模具过程:409到421实现;包括前翼面(上翼面)、腹面、后翼面(下翼面)自动适配刀具,腹面的智能适配模具包括单主机双冲(一次两个孔),两个主机同时冲(一次两到四个孔),智能适配模具过程对从cad图形读取过程输出的冲压数组中所有有效数据首先进行双冲处理,然后大主机和小主机分别预加一次模具处理,按照大、小主机预加模具的状态形成主从两个队列,各个队列按各自的x+模具偏置由小到大排序,形成主从两个有序队列;根据独冲孔和双配孔、两主机同时冲条件、梁参数及孔在梁的位置来确定预冲孔主机和预冲模具号;然后根据预冲孔主机和预冲模具号,调用该模具号对应的模具块的图形以块的形式回写到u形梁图形库由数据定义过程定义的cam层中,不能适配模具的孔传递给信息处理模块进行报警处理,能适配模具时把模具块写入u形梁图形库供优化过程读取。

步骤4:u形梁冲孔模块的手动适配模具过程:422到423实现;包括不能适配模具的孔传递给信息处理模块进行报警处理,能适配模具时把模具块写入u形梁图形库;供优化过程读取。

步骤5:u形梁冲孔模块的优化过程:424到432实现,424前检测处理,425到429实现优化过程读取,430-432实现优化过程排序;u形梁冲孔模块的优化过程读取动态适配模具过程和手动适配模具过程块回写的图形数据库的cam层的所有块插入点的坐标值和模具号,放入优化数组pdata,并增加一项插入点的坐标值x+该模具的偏置,模具的偏置从模具库数组中获得;优化数组第1项块插入点的坐标值x,第2项块插入点的坐标值y,第3项模具号,第4项插入点的坐标值x+该模具的偏置。

优化数组按插入点的坐标值x+该模具的偏置由大到小排列由428实现;若x+该模具的偏置相同y不同,按最近点二次排序即按过滤式排序;并输出排序完成的优化数组数据至nc程序创建过程和模拟仿真过程。

步骤6:u形梁冲孔模块的模拟仿真过程433-434实现根据优化数组的数据先后依次在图形数据库中进行仿真显示,退出模具进入正常显示。

步骤7:u形梁冲孔模块的nc程序创建过程435-436实现,nc程序创建过程根据优化数组的数据和夹钳交换的算法、程序语句格式、辅助语句创建nc程序,437-438实现传送程序和加工运行。

图5是外挂式u形梁冲孔生产线cam系统在设计阶段各模块与窗体和主窗体的命令按钮之间的关系图。

exe程序生成模块:创建cam系统窗体包括主窗体、板材窗体、参数窗体、刀具窗体、优化窗体、输出窗体,建立了cam系统与cad系统连接。

cam系统主菜单模块:cam系统主菜单模块承接exe程序生成模块传递来的cam主菜单窗体,进一步进行设计,创建了十五个命令按钮完成板材设置、刀具库操作、手动配置刀具、自动适配刀具、路径和刀具优化、冲压参数设置、添加属性、nc程序输出、模拟演示(开始、下一步、下五步、到结束、退出)、删除重复及退出功能。

窗体处理模块:窗体处理模块主要处理六个窗体即主窗体、板材窗体、参数窗体、刀具窗体、优化窗体、输出窗体。

信息处理模块:信息处理模块主要处理来自u形梁冲孔模块中来自通用模块module1模块的信息和带有用户界面的窗体的信息。

u形梁冲孔模块:u形梁冲孔模块处理cad系统和所有cam系统的窗体和主窗体的全部按钮,贯穿在整个module1模块的过程和函数。

图6是外挂式u形梁冲孔生产线cam系统在运行阶段主窗体的命令按钮与其他窗体的调用关系图。

图中可见,一旦运行cam系统,就建立了cam系统与cad系统连接,调取module1模块定义的公用变量数组函数,显示cam系统主菜单,板材按钮调用板材窗体,模具按钮调用刀具窗体,冲压参数按钮调用参数窗体,优化按钮调用优化窗体,nc输出按钮调用输出窗体,其他按钮调用module1模块的过程和函数。

图7是外挂式u形梁冲孔生产线cam系统的数据流图。

主要有两个数据流,第一个数据流从图形到智能适配刀具回写图形数据库,实现exe程序生成模块、cam系统主菜单模块和u形梁冲孔模块的自动适配模具的功能,一张u形梁图形经过u形梁冲孔模块的cad图形读取成为图素集合(包括圆、线、尺寸标注、多边形、矩形、圆弧、椭圆等),图素集合经过筛选圆过滤成为圆的集合,圆的集合获取两个属性值(圆心,半径)成为圆心点直径集合,圆心点直径集合经过圆心点的x坐标赋给自定义数组(即冲压数组data1)的x,圆心点的y坐标赋给自定义数组y,直径赋给自定义数组d变成为自定义数组(即冲压数组data1),在数组中搜索查找冲压数组的y值,当y值<0时为u形梁的下翼面,当y值>腹面板宽时为u形梁的上翼面,当y值>0且y值<腹面板宽时为u形梁的腹面面,腹面板宽来源于板材设置窗体的输入项并放入到公用变量中,刀具参数来源于刀具库文件并把有关参数放入刀具数组,本例以四主机为参照,腹面主机有两个主机,小主机18把刀具,刀具号为1-18,大主机21把刀具,刀具号为19-39,前翼面主机有6把刀具,刀具号40-45,后翼面主机有6把刀具,刀具号46-51,当y值<0且冲压数组中圆的直径等于刀具号40-45中的刀具直径时,对满足条件的圆适配刀具,当y值>腹面板宽时且冲压数组中圆的直径等于刀具号46-5中的刀具直径时,对满足条件的圆适配刀具;当y值>0且y值<腹面板宽时且冲压数组中圆的直径等于刀具号1-39中的刀具直径时,对满足条件的圆适配刀具;在腹面如果需要以前检测为基准,则需要对适配的刀具添加属性,即刀具图形添加“wb”标记,把匹配刀具的刀具块的图形连同标记以块的形式回写到图形数据库的cam层中块的插入点为该孔的中心并用红色显示,块名为刀具号,供第二个数据流读取。

第二个数据流是从第一个数据流回写u形梁图形库的cam层的所有块插入点的坐标值、刀具号到创建nc程序,实现u形梁冲孔模块的优化过程、nc程序创建过程和模拟仿真过程,u形梁冲孔模块的优化过程通过读取图形数据库的cam层上的刀具块成为刀具集合,刀具集合通过获取刀具块的插入点坐标、刀具号,然后经过插入点的x坐标赋给自定义数组(即优化数组pdata)的第1项,插入点的y坐标赋给优化数组pdata的第2项,刀具号赋给优化数组pdata的第3项,插入点的x坐标+刀具偏置赋给优化数组pdata的第4项,形成优化数组,优化数组经过按刀具号大小排序(即按pdata的第3项),成为有序优化数组,有序优化数组按x坐标+刀具偏置由小到大排序成为有序队列,有序队列通过可视化显示进行模拟仿真演示,有序队列通过腹面前后检测的实现方法、冲孔语句格式转换、四个主机的分配及输出形成nc程序到执行对象中-u形梁数控冲孔设备的数控系统中加工运行。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1