劉本剛,金光云,吳天馳,潘高楊,張云鵬
(沈陽飛機工業(yè)(集團)有限公司,遼寧 沈陽 110034)
西門子SINUMERIK 840D/840Dsl作為完全開放性的數(shù)控系統(tǒng),支持用戶根據(jù)業(yè)務(wù)需求深度擴展和二次開發(fā)并定制相關(guān)功能。其中,為實現(xiàn)數(shù)控系統(tǒng)人機通信單元MMC、數(shù)控單元NCK、邏輯控制單元PLC與驅(qū)動系統(tǒng)數(shù)據(jù)交互,提供了若干數(shù)據(jù)接口信號,極大方便了不同領(lǐng)域的用戶自定義實現(xiàn)高級功能。本文以某機床測量系統(tǒng)現(xiàn)場頻發(fā)的硬件故障診斷和維護為例,通過在原控制邏輯基礎(chǔ)上增加基于機床PLC數(shù)據(jù)信號的測量系統(tǒng)快速切換功能,替代原繁瑣低效的基于電腦端S7軟件修改測量系統(tǒng)指令以切換測量系統(tǒng)生效的方式,并基于接口信號通過優(yōu)化原PLC邏輯提高故障診斷過程的人機交互性,從而實現(xiàn)故障和報警快速定位能力。
接口信號實現(xiàn)了PLC與數(shù)控系統(tǒng)NCK以及人機界面MMC之間的數(shù)據(jù)通信。在西門子數(shù)控系統(tǒng)中,接口信號數(shù)量非常豐富[1],理解這些接口地址及意義對實現(xiàn)自定義的控制功能具有重要意義。其中,PLC與NCK、MMC之間的數(shù)據(jù)接口就是數(shù)據(jù)塊DB,包括基本數(shù)據(jù)塊和用戶數(shù)據(jù)塊,數(shù)據(jù)塊中保存了數(shù)控系統(tǒng)控制(指令)信息和狀態(tài)(過程)信息?;緮?shù)據(jù)塊又稱為系統(tǒng)數(shù)據(jù)接口,按照數(shù)據(jù)功能通常分為MMC數(shù)據(jù)接口(DB19)、NC數(shù)據(jù)接口(DB10)、方式組數(shù)據(jù)接口(DB11)、通道數(shù)據(jù)接口(DB21~DB30)、軸數(shù)據(jù)接口(DB31~DB61)、安全集成接口信號(DB18)等。在使用時應(yīng)注意系統(tǒng)接口信號是有方向性的,如NCK到PLC的是只讀的系統(tǒng)內(nèi)部狀態(tài)信號,而PLC到NCK的是控制請求信號。如自定義帶參數(shù)的Mxxxxyyyy指令(其中xxxx為M功能碼,yyyy為用戶參數(shù),文中特指流量),PLC通過解析動態(tài)M擴展指令接口信號DB21.DBD72來執(zhí)行預(yù)定按需冷卻功能[2]。相對于系統(tǒng)數(shù)據(jù)接口,上述提到的用戶數(shù)據(jù)塊作為數(shù)據(jù)交互的途徑之一,在本文中泛指根據(jù)功能開發(fā)需要通過NC VAR SELECTOR軟件生成與NC變量對應(yīng)的自定義數(shù)據(jù)塊,在PLC中通過使用FC2/3功能調(diào)用該數(shù)據(jù)塊,實現(xiàn)用戶功能程序數(shù)據(jù)與NC數(shù)據(jù)的交互,該方法支持西門子向用戶提供的所有NC變量與PLC數(shù)據(jù)進行交互。如通過選擇機床位置變量(channel oolactposp[u1,1],具體是通道1中1號軸的位置)生成自定義數(shù)據(jù)塊,在PLC用戶程序中監(jiān)控機床旋轉(zhuǎn)軸位置,從而判斷是否可以執(zhí)行主軸松刀指令。
本文在原控制邏輯基礎(chǔ)上,通過使用PLC機床數(shù)據(jù)(DB20)接口信號交互功能,解決機床測量系統(tǒng)全閉環(huán)與半閉環(huán)之間的快速切換問題。同時,通過程序優(yōu)化,實現(xiàn)報警信號的自解析與故障快速定位功能。
西門子數(shù)控系統(tǒng)支持測量系統(tǒng)切換的方式多樣,但最主要的是更改軸信號接口(DB31~DB60)相關(guān)數(shù)據(jù)和機床參數(shù)MD30200。
某機床頻發(fā)測量系統(tǒng)硬件故障,伴隨同步超差報警處理過程中,需要頻繁切換第一、二測量系統(tǒng)以變換軸第二測量系統(tǒng)讀頭的相對位置嘗試尋找測量系統(tǒng)有效位置,并在此基礎(chǔ)上解決移動軸同步問題。原操作是每次通過外部連接安裝S7軟件的電腦,并在線分別修改每個軸的軸信號(DB3X.DBX1.5/ DB3X.DBX1.6,X是軸號),在此基礎(chǔ)上修改其他機床參數(shù)(MD30200等)使期望測量系統(tǒng)生效,該過程繁瑣、效率低,且頻繁連接外部電腦不符合保密管理規(guī)定。本文采用模塊化程序設(shè)計模式,由機床用戶參數(shù)14512[n](n為參數(shù)編號)控制軸信號的切換,所有軸信號修改定義在同一功能FC中。當某個具體軸測量系統(tǒng)切換時,PLC只需根據(jù)14512[n]的設(shè)定值調(diào)用上述功能FC即可完成相應(yīng)軸的軸信號(DB3X.DBX1.5/ DB3X.DBX1.6,X是軸號)修改,在此基礎(chǔ)上修改其他機床參數(shù)即可完成軸測量系統(tǒng)的切換。如此,避免了連接電腦、手動修改程序的繁瑣步驟和確認過程。
測量系統(tǒng)快速切換功能流程如圖1所示,以切換Y軸為第一測量系統(tǒng)為例,在機床通用參數(shù)中將14512[10]的第二位清0,修改機床參數(shù)MD30200為1,重啟NCK后,Y軸已修改為第一測量系統(tǒng)。反之,將14512[10]的第二位置為1,并修改機床參數(shù)MD30200為2,重啟NCK后,Y軸已修改為第二測量系統(tǒng)。具體過程如下:當PLC監(jiān)測到十六進制數(shù)據(jù)DB20.DBX89.1(即十六進制用戶機床數(shù)據(jù)1512[10]的第二位,本文中第一位到第七位分別對應(yīng)機床X/Y/Z/A/B/TM/SP軸)變化后,自動判斷Y軸機床數(shù)據(jù)MD30200(編碼器個數(shù))是否與Y軸接口信號一致,即DB20.DBX89.1值為1時,MD30200=2,此時是設(shè)置第二測量系統(tǒng)將生效;反之, DB20.DBX89.1值為0時,MD30200=1,此時是設(shè)置第一測量系統(tǒng)將生效。若不一致則觸發(fā)測量系統(tǒng)數(shù)據(jù)設(shè)置錯誤提示,若僅清除報警不修改數(shù)據(jù)將在后續(xù)軸回零后仍觸發(fā)軸未回參考原點報警。上述設(shè)置切換測量系統(tǒng)參數(shù)后,自動調(diào)用相應(yīng)軸的接口信號修改功能FC131,如設(shè)置半閉環(huán)則FC131將執(zhí)行DB32.DBX1.5置位, DB32.DBX1.6復(fù)位等操作。上電后,可執(zhí)行軸回原點操作。在執(zhí)行上述程序過程中,若觸發(fā)相關(guān)報警(報警號與接口信號DB2對應(yīng)),則自動調(diào)用FC152功能。FC152定義了報警號與DB2的地址解析過程,并將解析結(jié)果(即當前用戶報警地址)保存在14514中,供直接查詢和快速定位PLC中的報警點和觸發(fā)報警的程序段。其中部分重要程序說明如下:
(1) 調(diào)用程序。在調(diào)用程序中,主要是判斷測量系統(tǒng)切換方向,主要程序如下:
CALL FC 131
IN0:=L1.0 // 軸已激活,未屏蔽
IN1:=L1.1 // 當前測量系統(tǒng)狀態(tài)
IN2:=L1.2 // 測量系統(tǒng)切換指令(0:第一測量系統(tǒng);1:第二測量系統(tǒng))
IN3:=LB2 //軸接口數(shù)據(jù)塊號(31-37)
IN4:=T60 //報警定時
OUT5:=M64.3 //輸出指令?
IO6:=DB2.DBX248.3 //異常報警
IO7:=DB60.DBW118 //狀態(tài)信息
(2) 參數(shù)修改功能FC131主程序。該部分主要實現(xiàn)軸接口信號的值為復(fù)位,其中半閉環(huán)置位復(fù)位觸發(fā)器實現(xiàn)代碼如下:
OPEN DB35
AN #IN2
S DBX 1.5
A(
A #IN1
AN DBX 93.7
O #IN2
)
R DBX1.5
本文在分析常用數(shù)據(jù)接口信號基礎(chǔ)上,結(jié)合機床測量系統(tǒng)頻發(fā)故障,基于原控制邏輯通過增加機床PLC數(shù)據(jù)接口和控制邏輯優(yōu)化,實現(xiàn)了機床各軸測量系統(tǒng)快速切換功能,提高了測量系統(tǒng)故障快速定位和快速診斷水平,對于提高機床維護能力和定制開發(fā)自定義功能模塊具有重要意義。