摘 要:以西门子840D数控系统为开发平台,利用OEM软件为锥齿轮数控研齿机开发出符合设计要求的控制界面,利用VC++创建和西门子数控系统相联系的语言动态链接库,并利用西门子数控系统提供的开发环境和VB、VC++接口,将用户的特殊界面及加工方法嵌入西门子系统中。介绍了OEM环境下界面的编制。
关键词:人机界面;西门子840D;语言动态链接库 锥齿轮因传动平稳可靠、承载能力高等优点被广泛应用于车辆、机械等行业.作为一种局部接触的不完全共轭齿轮副,其啮合质量至关重要.研齿是为了降低齿面粗糙度、改善齿面接触质量,使齿轮副在传动时达到高平稳和低噪声. 为了适应个性化市场的需要,锥齿轮的精加工需要使用先进的数控系统,而西门子公司提供的SINUMERIK 840D数控系统没有专门针对锥齿轮研齿机的控制界面,它只提供了开发软件OEM,用户可以通过二次开发把自己的功能模块集成到系统中.
1 OEM嵌入过程 本研究选用SINUMERIK 840D系统为开发平台,以锥齿轮数控研齿机为研究对象,在西门子标准界面下,用西门子840D数控系统提供的标准编程语言编写用于加工中的程序,并把程序存储在840D数控系统中.将开发软件OEM安装在PC机上,在OEM环境下,利用VB进行人机界面的设计,利用VC++创建语言动态链接库,按照OEM的说明把所设计的界面嵌入840D系统中.语言动态链接库的作用是实现软件文本的调用.软件内容可以从语言动态链接库中读取,最后按照OEM的说明,实现人机界面与数控系统的通讯.将PC机与西门子系统相连,系统再与研齿机相连,进行调试,最终实现对研齿机的控制.利用所设计的界面不仅能改变各种参数,而且可以将机床的运行情况显示在界面上,以监视机床的运行. 开发软件OEM提供了顺序控制结构,顺序结构可以为SINUMERIK的标准程序提供一个框架和兼容的OEM程序.顺序控制包括:管理程序(顺序)控制(菜单树由状态组成),查询软件(垂直和水平),查询NC专用键,显示软键文本,管理交互式提示行,提供语言支持.用户需要在顺序结构的框架中植入在VB环境中已经设计好的界面.描述顺序控制最核心的元素是状态,每一个状态有单独状态号码,可以通过VB把设计好的窗体加到所在区域,软件文本安装到语言动态链接库里,水平和垂直软件的内容从语言动态链接库里读取.所开发的操作系统每一个界面对应一个状态. 应用程序OEMBSP20的顺序控制包括6个文件,分别是REGIE.INI,MMC.OEMBSP20.INI,OEMBSP20.MDI,OEMBSP20.ZUS,LANGUAGE.DLL. REGIE.INI是程序管理器文件,MMC.INI是全局初始化文件.OEMBSP20.INI是本工程的初始化文件,是用记事本编辑的,内容为:
MDIList是子窗口的列表,所有的子窗口列表都在文件OEMBSP20.MDI中,ControFile表示控制的文件,如状态和动作都位于文件OEMBSP20.ZUS中. OEMBSP20.MDI是子窗口列表所在文件,它是用写字板编辑的,它的主要内容为:
所开发的操作系统的1个界面只包含1个窗体,由于窗体较多,这里只列出了其中一部分,OEM1是第1个窗体,后面的序号1表示一种窗体类型.当点击其他软件时,这种类型的窗体,可以被删除,其上的数据被删除,当再次启动后,上次的数据无效.这种窗体的load事件在每次启动时被重新调用. OEMBSP20.ZUS文件中存放着所有的状态矩阵,它也是用写字板编辑的,状态矩阵主要描述状态中的软件如何分配任务,下面以其中1个状态为例加以解释说明.此状态对应的状态矩阵为:
这是第2个状态的状态矩阵,第1行中的[2]表示状态的号码,16表示水平软键的起始地址,如要给每个界面上的软键写入文本,就要知道给哪个键写入文本,这就要求给每个软键编一个号;17表示垂直软键的起始地址;“OEM2”表示状态,显示的哪个界面;“0”表示返回值;0表示标志符.第2行中的0表示第1个水平软键,0~7表示水平方向的8个软键,8~15表示垂直的8个软键;最后1列的参数0表示按下第1个水平软键时将会显示第0个状态.下列几行的参数同第1行。 LANGUAGE.DLL是语言动态链接库文件,它是用VC++编辑的,语言动态链接库文件主要用来存储软件文本.顺序控制提供了很多标准的模块和窗体.用户只能把实现自己程序的窗体和模块嵌入到西门子提供的标准顺序控制中,从而实现特殊功能.
2 锥齿轮数控研齿机的界面设计 图1为基于西门子840D数控系统的研齿机主界面,从主界面的各种按键分别进入到研齿机需要的专用加工界面.
图2为锥齿轮研齿加工的参数输入界面,可以看到其中包括小轮的旋向,小轮、大轮的齿数,小轮、大轮的直径,并且基于更加人性化和可操作性的理念,对单位也可以做出选择,操作者可以选择使用英制(英寸)和美制(毫米)单位.
从主界面可以清楚的看到水平软键和竖直软键的自定义按钮(由于目前设计的界面数还不错暂时没有定义竖直软件的内容),按下第3个水平软键“研磨界面”就能进入锥齿轮研磨设定界面,如图3所示.
目前的研磨方式有2种模式选择,一种为从锥齿轮齿顶到齿根的单轨迹研磨方式(图3a),这种方式为最简单的研磨方式,对于数控程序的设计和编写都比较容易,实现起来比较简单;一种为齿面的椭圆轨迹研磨方式(图3b),这种方式综合了从齿根到齿顶,锥齿轮大端到小端的V/H调整方面.对于这2种研磨方式都可以通过手动输人数据来实现操作,可以对具体的齿面位置研磨时间进行设定,针对齿面接触区不良的位置进行专门研磨,达到更佳研磨效果.
3结束语 利用OEM软件提供的顺序控制,用VB把设计的人机界面嵌人到西门子系统,并且利用VC++环境中建立的语言动态链接库实现软件文本内容的读取,最终把特有的功能模块集成到西门子系统中,形成了适合于锥齿轮研齿机的操作系统.操作人员可以很方便地选择加工程序,并进行参数的编辑,无须修改工件加工程序,还可以随时得到加工过程中的各种状态信息,实现数控机床的监控和操作.这样,不仅扩展了数控系统的使用范围,简化了操作,提高了劳动生产率,而且还可以为机床的维护提供大量有价值的参考信息。
参考文献:[1]朱秀琳,文怀兴,孙波.数控磨齿机人机界面的开发[J].制造技术与机床,2004(5):88-89. [2]李旗号,胡俊.基于Win95的车床数控界面系统的研究[J].机床与液压,2000(1):27.[3]李南,王刚,赵学.开发软件OEM下界面的编制[J].机床与液压,2006(18).207-209[4]高峰.西门子OEM软件在数控凸轮轴磨床上的开发与应用[J].制造技术与机床,2006(10):122-125.[5]董因涛.法国NUM数控系统NC人机界面设计[J].2003(2):82.