基于西門子 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
更多相關信息