武漢中控南方科技有限公司 胡國清
內容提要:文章針對多軸多通道數控機床,以1臺16軸五面體龍門加工中心的改造為例,敘述了同類機床應用SINUMERIK 840D系統常用功能的應用開發技術,包括多通道設置、9軸以上的FC19修改、HHU應用、MMC自定義畫面制作以及刀庫程序的開發等。
關鍵詞: 840D 多軸 多通道 MCP程序修改 HHU應用 MMC畫面制作 刀庫程序設計
Function development & application in SIEMENS 840D
on Multi-axis & Multi-channel NC machine
HU Guoqing
(Wuhan ZoControl South Science & Technology Co.,Ltd.,Wuhan 430070,CHN)
Abstract:In allusion to multi-axis & multi-channel NC machine,starting from an example of one 16-axis CNC maching centre,normal function devolopment and application in SIEMENS SINUMERIK 840D on the congener machine are described. Such as multi-channel setting,modification of FC19 more than nine axis,application of HHU,user-defined HMI exploitation,application program devolopment of tool magazine,etc..
Keywords:840D;Multi-axis;Multi-channel;Modification of MCP program;Application of HHU;User-defined HMI exploitation;Application program devolopment of tool magazine.
對于數控軸較多的機床,在設計與開發中需充分考慮系統軟硬件特性,避免設計與調試過程的反復,從而給項目的實施帶來影響。筆者以1臺KOLB 16軸CNC五面體龍門加工中心應用SIEMENS SINUMERIK 840D和SIMODRIVE 611D改造實施過程中常用功能的應用開發與應用為例,同行交流,不對之處敬請指正。
本文所述的內容包括:硬件組態、多通道及雙方式組參數設置、多軸MCP功能塊程序的修改、多軸HHU操作功能的實現、MMC自定義功能畫面制作、刀庫程序的編制。
1 硬件組態
1.1 NCU及其啟動軟件
SIEMENS 840D的NCU包括有561.2、571. 2/3、572. 3/4和573. 3/4,由其硬件特性可知分別支持2軸、6軸、31軸和31軸,對于16軸系統來說應選572.3以上的NCU。
NCU啟動軟件常用的有4類,分別支持2/6/12/31軸,所以選型型號應為6FC5250-*AX(或Y)30-*AA*。由于SIEMENS的NCU啟動軟件5.X及以前版本的啟動軟件是與硬件有關的,注意軟件與PC卡及NCU的配套,自6.0以后版本的啟動軟件可靈活運用。
1.2 PLC硬件組態
由于I/O點較多,又因為NCU內置的IM360最多只能擴展3個S7-300機架,有可能不夠用,此時可以設計1個或幾個(最多31個)ET200遠程站,應用PROFIBUS DP總線連接至NCU的X102接口。
1.3 數控系統組態
仔細計算每個機架的功率分配,選擇合適的電源模塊;對于功率較小的軸應選用雙軸模塊以節約空間,連接雙軸模塊時應注意信號線與電源線的位置匹配;如果一個機架中模塊數量太多應增加監控模塊,另外需注意驅動總線與數據總線的連接。
因驅動模塊較多,應仔細計算電源模塊與驅動功率模塊以及電抗器等的散熱,從而選擇相應容量的空調設備。
2 多通道及雙方式組參數設置
2.1 特殊功能的激活
SIEMENS 840D的一些非標準配置功能均需要激活,否則就不能使用,通用MD19000以后的參數分別對應于它的一些特殊功能。
2.2 通道軸的設置
多通道功能激活后,首先設置1通道的軸,然后可以通過切換通道設置2通道的軸,通常將加工軸放在1通道,刀庫軸放在2通道。
取軸名時應注意SIEMENS的相關規定,否則會造成報警和參數配置失敗。
配置軸驅動參數時,應注意軸的物理順序和軟件順序的協調一致,若有雙軸模塊只用一個通道時應設置另一個通道為非活動軸。
2.3 雙方式組的設置
當機床具有兩個MCP,且使用要求需要設置兩個方式組時,可以將不同的通道定義到不同的方式組。
除設置功能激活參數外,還應對機床通用參數相應的數值進行設置。
設置成雙方式組后,在主程序中DB19/DB21/DB22的接口信號處理和調用FC19時相應的參數設置要一致。
3 MCP功能塊程序的修改
SIEMENS 8x0D Toolbox 為制造商提供了較好的開發工具,其中包括MCP應用功能塊程序FC19,使用STL編制,通常直接在OB1中調用即可。
但FC19標準程序只支持9個軸的操作,如果機床的軸多于9個,而且你希望直接通過MCP選軸進行JOG等模式下操作,則需要對FC19進行修改。
SIEMENS特意沒有對FC19進行加密保護,這也為制造商提供了修改FC19來適應設計與應用需要的可能性。
3.1 FC19結構說明
FC19的關系數據塊是DB7,程序首先將調用參數傳遞到內存中,傳送保存MCP輸入輸出地址到五個數組,處理INC值和倍率、取當前軸號,處理選軸輸入輸出及其鏈接信號,然后處理方式組信號。
3.2 程序修改方法
從選軸程序段著手,修改原來只讀9個軸的輸入輸出狀態為16個軸,對隨后的軸信號處理分支程序進行修改,增加10-16軸信號狀態的處理即可。
修改程序前應確定使用哪幾個自定義鍵來作為10-16軸的操作鍵,并查出對應的I/O的數組地址,修改時應注意對上一次被選軸號的保存和上下程序段的銜接。
相應的DB塊也需要作一些修改,以適應數據的一致性。
3.3 多通道多方式組機床FC19的調用
對于雙通道系統,應調用FC19兩次,并分別給以調用條件。下面就是一個雙通道單方式組的FC19調用程序(程序中FC118即是修改后的FC19,調用參數不變)
L DB19.DBB 22
T MW 90
SET
SAVE
CLR
A BR
= L 20.0
A L 20.0
A(
L MW 90
L 1
<=I
)
JNB _001
CALL FC 118
BAGNo :=B#16#1
ChanNo :=B#16#1
SpindleIFNo:=B#16#6
FeedHold :=DB21.DBX6.0
SpindleHold:=DB36.DBX4.3
_001: A L 20.0
A(
L MW 90
L 2
==I
)
JNB _002
CALL FC 118
BAGNo :=B#16#1
ChanNo :=B#16#2
SpindleIFNo:=B#16#0
FeedHold :=DB22.DBX6.0
SpindleHold:=M92.0
_002: NOP 0
有一點需要說明,從上面的程序可看出通道1調用時采用比較指令為<=I,也就是說當MW90=0時也調用通道1,這是因為調試中發現840D系統剛啟動且未操作過通道切換鍵時DB19.DBB22=0,此時若按常規使用==I指令則會造成開機無通道激活的問題。
3.4 相關問題
如果你對FC19現有程序控制的操作方法不滿意,或者有一個自制MCP需與原裝MCP之間進行操作方式切換、點動功能鍵的互相屏蔽等,也可以通過對FC19的相關部分進行修改來達到目的。
4 多軸HHU操作功能的實現
HHU是數控機床的常用操作設備,掌握它的應用是制造商的基本要求,SIEMENS為此在Toolbox中提供了相應的文檔。下面就以Ver6.3版為例說明如何實現HHU操作多軸機床。
4.1 FC68&DB68的生成
(1) 打開toolbox6.3中Handheldunit.zip釋放到一個目錄中(如\HHU)
(2) 在Step 7中建立一個新Project,打開GP8x0d63庫,將所有文件Copy到新Project中。
(3) 在新Project中Source夾下,用insert external source打開\HHU目錄下所有.AWL文件。
(4) 由于該源文件是德文版的,所有應在項目管理器的Option-Customize-Language下將當前語言改為德文,并重新啟動。
(5) 在新建項目Symbol Editor中增加“—DB” DB68 DB68條目。
(6) 先編譯HHU2_db68,生成DB68文件。
(7) 再編譯HHU2_fc68,生成FC68文件。
(8) 若有兩個MCP,則用同樣方法生成FC119或FC124即可。
(9) 在新建項目Symbol Editor中增加“BHG_stv” FC68 FC68條目。
4.2 FC68的調用
一個典型的FC68調用程序:
L DB19.DBB 8
OW W#16#0
JN M002
L 1
T DB19.DBB 8
M002: CALL "BHG_stv"
BHG_on_condition:=M50.2
BHG_stop :=M50.1
HW_to_mmc :=TRUE
inch :=DB10.DBX107.7
BHG_activ :=DB2.DBX187.7
chan_nr :=DB19.DBB8
BAG_nr :=MB181
下面對其調用參數進行說明:
BHG_ON_condition——它可以使HHU處于不可激活狀態。
BHG_stop——若為“1”,則HHU被停止激活并可以拔下來。
HW_to_mmc——相當于FB1中的HWheelMMC參數。若為“1”,則第一個手輪可以通過MMC來激活。
Inch——對應DB10.DBX107.7,若為“1”,則實際位置顯示為英制。
Chan_nr——選擇的通道號。
BAG_nr——方式組號(在DB68中設定的)
4.3 操作方法及相關說明
使用DB68&FC68激活HHU后,就可以通過其鑰匙開關來開啟/關閉HHU了。
操作說明:
(1) 方式選擇:使用INC/handw.按鈕可以切換到INC模式,使用JOG和AUTO可以切換到點動與自動模式
(2) 幾何軸的選擇:直接使用X/Y/Z按鈕即可。
(3) 其它軸的選擇:使用“4”鍵可以激活選軸的子菜單,然后通過“JOG”、“KT1”、“KT2”和“FeedStop”、“+”、“KT3”鍵選擇上下兩行相應的軸。如果軸數超過6個,則使用“~”鍵進入下面6軸的選擇子菜單,以此例推。
(4) 通道切換:使用“+”、“-”鍵直接切換。相應的通道名和方式組就隨著改變。
(5) 報警復位:當報警出現時,“~”鍵就相當于Reset按鈕。
可以通過對DB68的修改來制定HHU開機狀態的顯示文本,文本長度不超過32;也可以修改軸操作狀態及位置顯示格式,文本長度不超過16。這樣可以使用戶界面更加友好。
5 MMC自定義功能畫面的實現
隨著MMC的不斷升級,其性能在處理速度、數據存儲、顯示、通訊、接口等方面不斷增強,常規的操作系統從Windows 95/NT 4.0到Windows XP,并開始支持以太網和USB,為使用和開發帶來了很大的方便。
制作動態友好實用的HMI畫面可以使用戶更好地掌握機床的狀態,并可以通過制作系統故障監控畫面來縮短故障排除時間,提高機床運行效率。
下面就以PCU50為例說明其自定義功能畫面的實現。
由于文件數據交換量較大,可以使用交叉電纜將PCU50與編程器連成一個網絡,速度可達到100Mbps。
5.1 開關機畫面
根據顯示器的分辨率和顏色位數使用圖像處理軟件制作好開關機畫面文件,然后使用工具軟件轉換圖像格式為BMP。
送PCU50電源,選擇菜單進入操作系統平臺,拷貝做好的文件至一個自定義目錄中,然后修改開關機畫面文件名為自定義文件名即可。
5.2 EasyMask Ver6.30功能
EasyMask是一種可以嵌入到MMC軟件系統的用戶界面開發軟件,使用方法簡單,但因為不是可視化面對面開發,制作界面時往往費時較多。
(1) 通用功能:激活PLC信號、設定給定值,同一臺MMC中可以最多安裝3套EasyMask,每套可制定最多24個人機對話界面,支持MS Windows NT/XP操作系統。
(2) 靜態元素:直線、文本、靜態圖像(支持BMP、WMF、ICO格式)、支持靜態圖標按鈕、對應PLC相應位的軟按鈕。
(3) 動態元素:棒圖(3種動態顏色)、動態圖像(根據相應值改變的圖像)、輸入輸出域、背景色動態顯示、動態文本。
5.3 使用EasyMask制作畫面
將EasyMask安裝到C:\ADD_ON目錄下,在提示輸入軟按鈕位置時可以修改默認值7為9、10或其它空余的位置,提示按鈕提示文本時根據需要修改,對于界面已經漢化的MMC來說,如果希望顯示中文提示文本,則此項修改無效,需到相應的INI文件中手工寫入相應的命令。
在做好了所有準備工作后,就可以開始制作畫面了:
(1) 先在EM.INI文件中確定AUTO_MOVE變量的值(TRUE表示輸入框之間通過回車鍵來移動),增加[TEXT_CH]子項,對應于漢化版界面變量,在相應的位置輸入軟按鈕的中文名稱
(2) 然后打開相應的.TXT和.INI文件,使用各種繪圖指令布置靜態與動態元素,對于背景較復雜的畫面,建議使用專業的繪圖軟件和圖像處理軟件事先制作好指定格式的圖像文件,然后嵌入到畫面的相應位置。對于關聯PLC或NCU變量的動態元素,應注意其格式與PLC和NCU內部定義類型的一致性。
6 刀庫程序的編制
對于數控機床來說,刀庫的動作控制可以使用PLC程序編寫,也可以使用NC子程序與PLC相結合來實現。對于鏈式刀庫和轉塔刀庫來說,使用第一種方法較為方便,對于刀庫軸較多的機床來說,使用第二種方法往往達到事半功倍的效果。
6.1 用PLC程序實現隨機存取刀具
下面將隨機存取刀具的編程思路簡述如下:
(1) 先建立一個DB塊,在DB中定義一個結構,其數據類型均為INT,數據數量為刀庫中刀座數量+1(即將主軸刀座作為刀庫的一部分),根據用戶刀具編號和預擺放順序將刀具號分別輸入到各數據單元作為其數據值。
(2) 在DB塊定義的刀座結構后定義3個數據類型INT的單元,分別存放刀具總數量、當前需更換的目標刀具號、當前刀庫定位處的刀具號。
(3) 程序控制:若當前刀庫定位處的刀具號=目標刀具號,則刀庫停止運動;若主軸刀座中的刀具號=目標刀具號,則換刀結束。
(4) 采集一個刀座移動的上升沿信號,每走一步即根據刀庫刀具號順序刷新當前刀庫定位處的刀具號,然后將定位處的刀具號與目標刀具號比較,直到二者相等。
(5) M06對應的PLC換刀動作完成后,在DB塊中將剛找到的目標刀具的刀座數據值與主軸刀座刀具號值相交換,使DB中的刀座結構的數據值始終跟蹤當前刀庫中的刀具擺放順序。
(6) 在MMC中用EasyMask作一個監控畫面,實時顯示DB中刀座結構的各數據值,以便于用戶隨時查詢刀具擺放狀況以及在必要時調整擺放順序。
2.6.2 用NC程序與PLC相結合存取刀具
如果刀庫軸較多,則使用上述的方法編程換刀程序,會造成PLC與NC之間的數據交換很多,程序繁瑣且可讀性不好,此時可考慮將刀庫定位及機械手的動作過程用NC子程序編寫,將動作連鎖程序用PLC編寫,二者通過M06指令連接。
(1) 先定義一個二維數組,數組的行數等于刀庫刀具的數量,列數等于相關動作的數控軸的數量。將測量好的各定位數據分別賦值到各數組單元。
(2) 編寫一個帶參數傳遞的子程序,INT參數就是要換的刀具號。根據調用的參數值動態定位各相應軸的位置。
(3) 機械手抓取刀具停止在等待換刀位,然后根據主軸原刀具號對應數組的各軸位置值重新定位各相應刀庫軸的位置,等待舊刀還原。
(4) 當換刀的準備工作完成后,即可停止主軸,定位滑枕到換刀位。
(5) 待機械手將新刀與主軸原刀具交換后,繼續完成舊刀還原動作。最終機械手停止在等待換刀位。一個換刀動作過程完成。
對于這類機床,通常刀庫軸在第二通道,主加工軸在第一通道,關于NC程序編寫有兩點需要說明:
(1) 常規時第一通道的NC程序只能使用第一通道的數控軸,第二通道的NC程序只能使用第二通道的數控軸,要想將所有的數控軸結合在一個程序中編程,則需要使用一些通道程序運行協調指令。
(2) 子程序若直接存放在子程序庫中,則用戶程序中的首行必須對需調用的子程序進行類型聲明。
7 結語
多軸多通道數控機床設計與調試過程中遇到的工作還很多,常見的有手輪操作權限的轉移與相互屏蔽、同步軸功能實現及其精度調整、自行編寫MCP程序、附件頭自動識別技術等。限于篇幅,文中所述未能詳盡之處歡迎同行聯系以進一步相互溝通。