基于西门子 840Dsl 系统的数控强力刮齿加工软件开发
2019-11-7 来源:南京工业大学机械与动力工程学院 等 作者:刘 晟 洪荣晶 孙小敏
SINUMERIK 840Dsl 数控系统是西门子公司开发的一款开放、灵活、强大的高端数控机床系统,其凭借强大的数控性能,以及独一无二的灵活性与开放性,收到越来越多的机床厂商青睐。然而目前大多数的西门子数控系统的应用仅仅局限于其标准数控系统,没有完全发挥其开放、可二次开发的特点,也无法满足复杂加工的个性化需求。随着齿轮切削技术向着高精度、高效率的方向发展,传统的滚齿插齿、铣齿越来越难以满足生产加工的要求。一种新型的齿轮加工技术———强力刮齿,逐渐走入了人们的视野。数控强力刮齿加工是一种不同于滚齿插齿等传统齿轮加工方法的全新的切齿加工概念。刮齿也可称为车齿,剐齿等。其具有加工精度高,刀具耐用度好和经济效益好等优点,尤其在加工非贯通、无退刀槽内齿轮方面具有无可比拟的优势。1985 年美国 Gleason 公司首次提出了强力刮齿( powerskiving) 的概念,并开发出了配套于其强力刮齿机床的CAM 软件,但是并未详细介绍刮齿关键技术,且 PC端软件需要人工拷贝数控代码至数控系统,编程加工效率较低。重庆大学王时龙等以滚齿加工为研究对象,针对 840D 数控系统开发了一种滚齿自动编程系统。刘倩等利用西门子 840Dsl 二次开发接口,提出了一种凸轮加工嵌入式解决方案。而目前刮齿加工编程具有耗时长、易出错、加工质量难以保证以及对操作人员技能要求高的问题等缺点,尚缺乏有效的解决方案,阻碍了刮齿加工的进一步发展推广。利用西门840Dsl 数控系统的优势,应用SINUMERIK Operate 编程包对数控系统进行二次开发,设计开发数控强力刮齿加工软件,可以有效提高刮齿加工效率保证加工质量。
1、西门子 840sl HMI 二次开发技术
Sinumerik 840Dsl 系统具有极好的开放性、柔性与加工适应性,主要是因为其良好便捷的二次开发功能,允许用户根据自身的使用需求,开发更适合自己的加工软件或加工界面嵌入数控系统中,实现通用系统难以完成的加工工艺任务。
1. 1 系统构架
为了实现对 Sinumerik 840Dsl 数控系统的二次开发,关键在于将 Sinumerik Operate 软件集成嵌入到 Si-numerik 840Dsl 控制系统中。图 1 展示了 HMI ( 人机界面) 与 PLC( 可编程控制器) 、NCK( 控制设备) 和驱动单元的通讯方式,以及 Sinumerik 840Dsl HMI 二次开发的系统构架。如图所示,软总线联接了 HMI 与NCK、PLC 和驱动器,在 S7 通讯协议下实现了各组件之间的通讯,该总线的功能与 PLC 的 K 总线类似。外部接入的 HMI 与系统内部的 HMI 都可以通过通讯处理器( CP) 来访问系统内的 NCK、PLC 和驱动器。通一个所谓的薄型客户单元( Thin-Client-Unit,简称TCU) 可以实现操作界面的可视化( 输入 / 输出) 。TCU实际上是一个单独的操作设备,通过以太网与 NCU 进行通讯。图 1 中标为“TCU”的组件包含了 TCU 运行所 需 的 服 务 器 ( 即 VNC 服 务 器 ) 和 TCU 在SINUMERIK 系统环境下运行所需的其他必要功能。
1. 2 开发方案选择
SINUMERIK Operate 提供了多种开发接口。可以通过 Easy Screen、Wincc 对人机界面进行修改,好处是开发周期短,但是开发功能比较羸弱。而基于 SINU-MERIK Operate 编程包开发方式更加灵活,功能更加强大。通过 cpp 接口,可以实现应用软件与数控系统的通讯。也允许用户使用 C #或 VB. NET 创建标Windos 窗体作为用户界面。但是上述开发方案具有界面开发效率低、开发局限性大、无法跨平台的缺陷。
通过 C++GUI 类库 Qt,可以实现源文件的平台通用性。Qt/Windows 主要基于 Windows 窗口系统以及Windows GDI( 图形设备接口) 以输出图形基。Qt / Em-bedded 具有单独的窗口系统,直接使用 Linux 帧缓冲。源文件借助 Windows 和 Linux 专用的编译程序与链接程序分别转化为各系统可执行的文件。强力刮齿加工软件选择利用 Qt 与 C++的编写源文件,数控系统选择PCU+NCU 形式,在Windows 平台下编译生成文件嵌入数控系统中。软件具有开发周期短,嵌入性好,可跨平台的优势。
2、数控强力刮齿软件开发
2. 1 840Dsl 二次开发基本流程
基于 SINUMERIK Operate 编程包开发首先需要对开发环境进行配置,在 VS2008 菜单栏工具菜单下增加 HMI 启动选项。数控强力刮齿软件采用 Qt 图形框架在 Qt Designer 中进行人机界面设计,在 Visual 2008开 发 环 境 下 利 用 C + + 编 写 后 台 程 序。 安 装SINUMERIK Operate 编程包后,可以 VS2008 中创建“”HMI Project”模板,项目配置完成后一般包含以下项目文件夹:Scource files 包含实现项目功能的源代码文件( * . cpp)Header files 包含项目头文件( * . h) :Reasource file 包 含对 话 框 配 置 文 件 ( * . XML ) 、语 言 翻 译 文 件( . ts) ;Generated 包 含 预 处 理 文 件 文 件 ( MOC - . CPP ) 、UI 界 面 的头( UI-. h) ;Forms 包含项目的窗体界面文件( * . ui) ;systemconfiguration. ini HMI 操作区域组成结构初始化文件。启动调试项目源文件,XML 文件会编译转换为 .hmi 人机界面文件。项目程序文件会编译转换为 . dll文件,可以在 PCU+NCU 的 840Dsl 系统下实现逻辑运算功能。语言翻译文件 . qm 根据 ts 文件中定义的索引关系实现语言切换功能。为了将软件嵌入数控数控系统,需要复制项目目录中 “systemconfiguration. ini”初始化配置文件至 . /hmisl/siemens/ sinumerik /hmi/cfg 路 径 下,安 装 dll 文 件 与 hmi 文 件 至 . / hmisl /siemens / sinumerik / hmi / appl 路径 下,在 . / hmisl / sie-mens / sinumerik / hmi / lng 路径下加入 qm 语言文件。完成文件配置安装后,启动数控系统,可以从自定义的入口按钮处进入二次开发软件界面。
2. 2 数控强力刮齿软件人机界面开发
SINUMERIK Operate 具有一种以组件为导向的架构。其组件分为 GUI 组件和 HMI 服务两大类。其中,GUI 组件是组成人机界面的主要部分,主要用于实现系统与用户即时交互。通过 GUI 组件与 HMI 服务灵活配合,可以创建出满足我们需求的 HMI 系统。SINUMERIK 数控系统操作界面按功能划分由若干操作区域组成,通常一个操作区域只有一个对话框。一个对话框可以分为多个屏幕,一块屏幕包含消息栏、水平软件、垂直软件和窗体。窗体是我们实现输入操作的载体,软键是触发函数功能的媒介。在配置文件“systemconfiguration. ini”中确定 HMI操作区域的组成结构和系统的 HMI 对话框,通过 XML文件定义了 HMI 对话框的屏幕布局,所包含的屏幕,界面软键以及各屏幕的切换关系。软件主页面部分XML 源文件如下:<SCREEN implementation = " powersiking. homescreen" name = " home-screen" > / / 屏幕定义与命名< FORiMimplementation = " powersiking. homeform " name = "homeform" formpanel = " Full Form" / >/ / 屏幕内窗体定义<MENU name = " homehu"softkeybar = " hu" > / / 底部软键栏定义<SOFTKEY position = " 1" > / / 底部第一个软键定义<PROPERTY name = " text ID" type = " QString" >usermanagement< / PROPERTY> / / 定义软件名称<NAVIGATION target = " screen" > / / 点击软键,跳转到目标屏幕<SCREEN name = " managementscreen" / >< / NAVIGATION><FUNCTION name = " donothing" args = " / " / > / / 点击软键触发函数< / SOFTKEY>……窗体设计采用 QtDesigner 中 HMI-solutionline 组件搭建图形化用户界面。对 vs2008 调试环境进行配置,修改系统配置文件,运行源程序后生成人机界面hmi 文件、后台逻辑动态链接库 dll 文件以及语言翻译ts 文件,生成文件会自动导入数控系统相应文件夹路径下,实 现 将 数 控 强 力 加 工 软 件 嵌 入 SINUMERIK840Dsl 数控系统中。我们的 HMI 系统入口为标准操作界面主页上预留的第七个软键,启动数控系统点击软键即可启动数控强力刮齿加工软件,在软件不同功能模块下实现所需的功能业务。如图 2 为数控强力刮齿加工软件主页面。
2. 3 数控强力刮齿软件主要功能模块
根据数控强力刮齿的加工要求,可知,系统结构模型输入是制造信息( 工件信息,工具信息,工艺信息等) ,要求获得的输出是产品信息( 加工参数,NC 代码等) 。分析软件功能构架,对软件进行模块划分 ,包含以下模块: 用户管理模块,机床管理模块,数据库管理模块,参数设定模块,任务单记录模块,绘图模块,再对各模块子功能进行划分。系统主要功能模块如图 3。
进入软件主页面需要首先进行登陆操作,预留初始用户名和密码,登陆系统后可以在软件主页面用户管理窗体下添加或删除用户。
数控强力刮齿软件数据库功能采用 QSqlite 轻量级数据库作为数据支撑,包括用户数据库、机床数据库、工件数据库、刀具数据库和加工记录数据库,数据库参数添加删除查询等功能分别在各自窗体完成。参数输入模块中可以从数据库中读取所需参数,将加工参数带入强力刮齿加工数学模型进行运算,输出数控程序。
2. 4 代码生成功能实现
SINUMERIK 840Dsl 二次开发软件中通过点击软键触发屏幕内的某一项任务,实现不同模块功能。在XML 文件中定义软键 FUNCTION 功能函数名为“pro-duce“,该窗体文件的 CPP 文件的 on Function 函数中添加代码 if( “produce”= =rs Function) { ……} ,连接界面软键与代码生成业务逻辑。自动生成数控程序是数控强力刮齿软件主要的功能模块,图 4 为软件代码生成功能流程图。本模块通过设定齿轮参数、刀具参数、机床参数和工艺参数,输出数控程序,实现数控强力刮齿加工参数化编程。
软件从工件数据库加载工件参数,包括齿轮类型、旋向、齿数、法面模数、螺旋角、压力角、齿宽、齿顶高系数,顶隙系数和变位系数。从刀具数据库中加载刀具模数、刀齿数、刀具厚度、刀具螺旋、安装角、刀具变位系数和刀具主前角、主后角。机床参数为 X、Y、Z、A、C 各轴对刀值。工艺参数包括走刀数目、主轴与工件转速、粗切进给量、精切进给量、每刀切深、总切深和加工时间。根据齿轮模数,软件自动分配走刀数目,以及每刀切深。通过设定粗精进给量,根据加工数学模型,可以计算出加工时间。每次生成数控程序后软件会自动保存任务单记录,通过选定历史加工参数可以加载加工记录信息,完成加工参数设定。图 5 为软件参数设定模块界面。
3 结语
( 1) 介绍了采用 Qt 图形框架与 C++编程语言,在PCU+ NCU 构架下对 SINUMERIK 840Dsl 数控系统进行二次开发的一般步骤。
( 2) 在开放式数控系统 SINUMERIK 840Dsl 下,对其 HMI 界面进行二次开发,嵌入了数控强力刮齿加工软件,实现了参数化编制刮齿加工数控程序。软件人机界面友好,参数输入便捷,操作难度低。缩短了刮齿加工编程时间,减轻了操作员工作强度,对于推广刮齿加工具有积极意义,为进一步研究强力刮齿加工提供了条件。
投稿箱:
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
更多相关信息