張紹軍 楊 曦
(1.西門(mén)子工廠(chǎng)自動(dòng)化工程有限公司西安分公司 西安710065;2.西門(mén)子中國(guó)有限公司西安分公司 西安710065)
隨著對(duì)機(jī)床安全性能要求的提高,為了滿(mǎn)足ISO13849-1和IEC62061中的規(guī)定,越來(lái)越多的高端機(jī)床開(kāi)始配備 SINUMERIK840D數(shù)控系統(tǒng)的安全集成功能,使用安全集成功能可以在增加很少成本的情況下大幅度地提升機(jī)床安全性能。由于安全集成功能存在多路比較關(guān)系,出現(xiàn)此類(lèi)報(bào)警后往往報(bào)警內(nèi)容較多,其中又可能包含其它種類(lèi)的報(bào)警,使得報(bào)警信息看似復(fù)雜,這就需要合理的思路來(lái)分析此類(lèi)問(wèn)題,理解報(bào)警背后的實(shí)際含義,找到產(chǎn)生報(bào)警的最根本原因和解決方法。本文從安全集成功能原理出發(fā)對(duì)此進(jìn)行闡述,為簡(jiǎn)化敘述控制篇幅,以下以國(guó)內(nèi)常見(jiàn)的840DPL(以下簡(jiǎn)稱(chēng)840D)安全集成功能為例介紹,840DSL安全集成功能的思路也是基本相同的。
安全集成功能主要分為兩大類(lèi):安全基本功能Safe Basic Function(以下簡(jiǎn)稱(chēng)SBF)和安全可編程邏輯功能Safe Programmable Logic(以下簡(jiǎn)稱(chēng)SPL)。
SBF功能是基于驅(qū)動(dòng)的安全功能。這些功能主要體現(xiàn)在對(duì)軸的速度、位置的檢測(cè)和控制上,依靠伺服驅(qū)動(dòng)來(lái)實(shí)現(xiàn)。包含:安全剎車(chē)(SBR),安全靜止(SH),安全操作停止(SBH),安全減速(SG),安全軟限位(SE),安全軟凸輪(SN),安全剎車(chē)管理(SBM)等。
SPL功能是基于NC的安全功能。主要體現(xiàn)在對(duì)機(jī)床各種安全防護(hù)裝置的邏輯關(guān)系的檢測(cè)和控制,例如安全鎖、驅(qū)動(dòng)使能繼電器等,此檢測(cè)和控制依靠NC-CPU和PLC-CPU的內(nèi)部邏輯運(yùn)算來(lái)實(shí)現(xiàn)。
目前安全集成功能在磨床類(lèi)、齒輪類(lèi)機(jī)床、高速多軸加工中心類(lèi)機(jī)床上應(yīng)用越來(lái)越多。
具體到不同的機(jī)床、不同的軸會(huì)有不同的安全功能選擇。某類(lèi)型的機(jī)床,完全可以只使用SBF而不用SPL,或者兩者都用。而同一臺(tái)設(shè)備的不同的軸,也可以有的軸使用安全集成功能,而有的軸不使用,使用安全集成的若干軸也可以分別選擇不同的SBF功能。
對(duì)于SBF,這個(gè)功能選擇就在軸數(shù)據(jù)MD36901(軸安全功能使能)和驅(qū)動(dòng)數(shù)據(jù)MD1301(驅(qū)動(dòng)安全功能使能)里設(shè)置。例如:某個(gè)軸的安全功能參數(shù)MD36901=383H(0011 1000 0011)。根據(jù)這個(gè)不同位的定義,此軸使用了以下安全功能:SG(安全減速),SE(安全軟限位),SN(安全凸輪),以及SN1+(安全凸輪正位置)和 SN1-(安全凸輪負(fù)位置)。即這個(gè)軸必須要受到參數(shù)設(shè)置的安全軟凸輪和安全軟限位的限制,在參數(shù)規(guī)定的位置進(jìn)行安全減速。由于不同的軸的工藝特點(diǎn)不同,并不是所有的軸都一定會(huì)有相同的功能。分析安全集成報(bào)警,首先要關(guān)注這兩個(gè)參數(shù)的設(shè)置含義。
而對(duì)于SPL,體現(xiàn)在兩個(gè)安全程序的獨(dú)立運(yùn)行和比較。NC-CPU里運(yùn)行SAFE.SPF安全子程序,PLC-CPU運(yùn)行PLC程序?qū)B18安全數(shù)據(jù)塊和軸數(shù)據(jù)塊進(jìn)行操作。兩者運(yùn)行結(jié)果之間存在交叉比較過(guò)程,只有邏輯一致才算安全,邏輯不一致就會(huì)發(fā)出SPL類(lèi)的安全報(bào)警。
安全功能生效后開(kāi)始循環(huán)檢測(cè),當(dāng)檢測(cè)到發(fā)生上述各種非安全因素,則會(huì)觸發(fā)停止安全停止操作(Safe stopping process),出現(xiàn)諸如“STOP A”,“STOP F”等停止動(dòng)作,各種“STOP”的目的就是盡快地切斷驅(qū)動(dòng)使能使軸盡快停下來(lái),具體含義在此不再贅述?!癝TOP…”是某不安全因素導(dǎo)致的結(jié)果而不是原因,分析報(bào)警時(shí)不必過(guò)多考慮它,直接找引起它的原因。這個(gè)原因既可能是來(lái)自于SBF,也可能來(lái)自于SPL,或者兩者兼而有之。
對(duì)于SBF類(lèi)功能,其功能的設(shè)計(jì)的出發(fā)點(diǎn)是:普通NC系統(tǒng)只存在一個(gè)生效的速度環(huán)和一個(gè)生效的位置環(huán),但具有安全集成功能的NC系統(tǒng)存在兩個(gè)生效的速度環(huán)和位置環(huán)。分別是 NCK的速度位置環(huán)和和驅(qū)動(dòng)的速度位置環(huán),兩個(gè)環(huán)的數(shù)據(jù)要進(jìn)行實(shí)時(shí)比較。對(duì)于第二測(cè)量系統(tǒng)生效的軸來(lái)說(shuō),安全集成診斷信息中 NCK位置數(shù)值來(lái)自于第二測(cè)量系統(tǒng)(如光柵尺等),驅(qū)動(dòng)的位置數(shù)值來(lái)自于第一測(cè)量系統(tǒng)(如電機(jī)編碼器),如圖1所示。這兩者的絕對(duì)位置,以及兩者之間的誤差必須在一個(gè)允許的范圍之內(nèi),否則就會(huì)有SBF類(lèi)的報(bào)警,此類(lèi)報(bào)警一般只和軸的位置速度有關(guān),通俗地說(shuō)就是“位置和速度的誤差變大了”。
圖1 安全集成位置診斷信息
一般地,如果機(jī)床的機(jī)械傳動(dòng)鏈和位置反饋元件正常,則第一第二測(cè)量系統(tǒng)的反饋應(yīng)該是非常接近的,其誤差應(yīng)在非常小的范圍之內(nèi)。而一旦絕對(duì)位置超差,或者兩者之間的誤差過(guò)大,那么基本上可以肯定是上述環(huán)節(jié)哪里出現(xiàn)了問(wèn)題。如機(jī)械傳動(dòng)鏈出現(xiàn)較大誤差,例如間隙、打滑等,或者測(cè)量系統(tǒng)故障,如光柵尺/外置編碼器的硬件誤差和缺陷等。
舉例:某磨床的一個(gè)進(jìn)給軸比較頻繁地出現(xiàn)“27001 X1交叉校對(duì)錯(cuò)誤,代碼3,NCK xxxxx 驅(qū)動(dòng) xxxxx”(xxxxx表示數(shù)值)的報(bào)警,在安全集成診斷信息的“安全實(shí)際位置”中發(fā)現(xiàn) NCK的數(shù)值和驅(qū)動(dòng)的數(shù)值有比較明顯的差異。報(bào)警含義即這個(gè)誤差超過(guò)機(jī)床數(shù)據(jù)MD36942和MD1342設(shè)定的允許范圍。經(jīng)過(guò)檢查,發(fā)現(xiàn)是電機(jī)和絲杠之間的同步齒型帶的個(gè)別齒有明顯地?fù)p壞,如此則光柵尺反饋的該軸溜板的實(shí)際位置相對(duì)給定值移動(dòng)距離不足,兩個(gè)測(cè)量系統(tǒng)數(shù)值之間的誤差超過(guò)了安全位置公差的設(shè)定,于是有“27001”報(bào)警,更換齒型帶后問(wèn)題解決。
在沒(méi)有安全集成功能時(shí),對(duì)于全閉環(huán)的軸,由于只有第二測(cè)量系統(tǒng)反饋位置有效,對(duì)于兩個(gè)測(cè)量系統(tǒng)之間的不合理差異是不判為異常的,隨著情況的不斷惡化,直到傳動(dòng)部分確實(shí)出現(xiàn)了較大的缺陷才可能會(huì)有報(bào)警產(chǎn)生。而由于SBF引入了兩個(gè)測(cè)量系統(tǒng)反饋之間的交叉比較,可以及時(shí)地發(fā)現(xiàn) NCK和驅(qū)動(dòng)分別反饋帶來(lái)的不合理差異,能夠提前預(yù)警傳動(dòng)鏈的問(wèn)題,而這種預(yù)警功能對(duì)于保護(hù)精密傳動(dòng)零部件顯得尤為必要,因而提升了機(jī)床在傳動(dòng)方面的安全性能,最終可以延長(zhǎng)機(jī)械部件的使用壽命。
對(duì)于SPL類(lèi)功能,其功能設(shè)計(jì)的出發(fā)點(diǎn)是:對(duì)于一個(gè)和安全有關(guān)的邏輯的判斷和執(zhí)行,如果在PLC里和NC里同時(shí)執(zhí)行,增加冗余設(shè)計(jì),將極大地提高安全可靠性。因此,可在PLC里按照傳統(tǒng)思路處理某個(gè)安全信號(hào)的邏輯,同時(shí)將這個(gè)邏輯完全照搬到NC的SAFE.SPF子程序中里也循環(huán)運(yùn)算,即可保證同一個(gè)安全邏輯在PLC和NC里被同時(shí)執(zhí)行。如此,則對(duì)于安全裝置的信號(hào),就產(chǎn)生了“數(shù)字信號(hào)雙胞胎”的要求。除了傳統(tǒng)的PLC輸入輸出端,再增加一路NCK的輸入輸出端(簡(jiǎn)稱(chēng)“NCK I/O”,如圖2所示),由PLC和NC分別對(duì)安全裝置的狀態(tài)進(jìn)行邏輯關(guān)系運(yùn)算,運(yùn)算的內(nèi)部信號(hào)稱(chēng)之為“安全相關(guān)輸入輸出信號(hào)”(簡(jiǎn)稱(chēng)SGE/SGA),邏輯運(yùn)算后進(jìn)行兩者之間運(yùn)算結(jié)果的對(duì)比,邏輯關(guān)系對(duì)了就認(rèn)為安全,邏輯關(guān)系不對(duì)就認(rèn)為不安全,會(huì)發(fā)出安全報(bào)警,這就是SPL的基本原理。
圖2 “NCK I/O”示意圖
因?yàn)榇嬖凇皵?shù)字信號(hào)雙胞胎”的要求,那么也就要求這些安全裝置(如急停開(kāi)關(guān),防護(hù)門(mén)鎖,使能繼電器等)要求有雙路輸入輸出,信號(hào)既接入PLC的I/O端子中,也同時(shí)接入NCK I/O端子中(連接在NCU總線(xiàn)上的DMP模塊),如圖3所示,急停按鈕輸入既接入了PLC輸入模塊的I76.0地址,又接入了NCK輸入模塊的E1地址。
圖3 雙路輸入示意圖
NCK I/O端地址在SAFE.SPF程序中被預(yù)先定義為NC變量,然后在其中進(jìn)行變量的邏輯運(yùn)算,而PLC I/O端的邏輯運(yùn)算在PLC程序的語(yǔ)句中,如同一般的PLC語(yǔ)句。兩者都需要設(shè)備制造商根據(jù)安全裝置的邏輯關(guān)系進(jìn)行編寫(xiě)且兩者邏輯關(guān)系必須完全相同。
例如:在PLC中如下一條語(yǔ)句
在SAFE.SPF程序中表達(dá)為:
N100 IDS=10 DO OUT4 =IN1 and IN2
常用NC邏輯指令和PLC指令對(duì)照表見(jiàn)圖4。
圖4 NC邏輯指令和PLC指令對(duì)照表
PLC是循環(huán)運(yùn)行的,運(yùn)行后產(chǎn)生 PLC方面的SGE/SGA信號(hào),SAFE.SPF是在插補(bǔ)時(shí)鐘周期內(nèi)循環(huán)運(yùn)行的子程序,運(yùn)行后也產(chǎn)生 NCK方面的SGE/SGA信號(hào),系統(tǒng)實(shí)時(shí)交叉對(duì)比這些信號(hào),如果對(duì)應(yīng)的這兩個(gè)信號(hào)不一致,則會(huì)出現(xiàn)例如“27004”等報(bào)警。
NCK I/O端子中,輸入端通過(guò)機(jī)床數(shù)據(jù)MD10390、MD36970到MD36979的定義,從一個(gè)物理實(shí)體端子最終轉(zhuǎn)為NCK內(nèi)部的SGE/SGA信號(hào)。輸出端則是通過(guò)機(jī)床數(shù)據(jù) MD10392、MD36980到MD36990的定義,從一個(gè) NCK內(nèi)部的 SGE/SGA信號(hào)最終轉(zhuǎn)化為實(shí)體的物理輸出端子。SAFE.SPF內(nèi)的NC變量在這個(gè)過(guò)程中起到中間橋梁的作用。
PLC的I/O端子中,輸入端通過(guò)實(shí)際的輸入端子地址賦值給 PLC 的 DB18數(shù)據(jù)塊的DB18.DBX38.0_DBX45.7以及 DB18.DBX62.0到DB18.DBX69.7轉(zhuǎn)變?yōu)轵?qū)動(dòng)內(nèi)部的SGE/SGA信號(hào),并可以對(duì)軸數(shù)據(jù)塊進(jìn)行操作,輸出部分則是通過(guò)從DB18.DBX54.0到 DB18.DBX61.7以及DB18.DBX46.0到 DB18.DBX53.7,從一個(gè)驅(qū)動(dòng)內(nèi)部的SGE/SGA信號(hào)轉(zhuǎn)化為實(shí)體的物理輸出端子。
一般當(dāng)出現(xiàn)如“27004”等SPL報(bào)警時(shí),報(bào)警信息會(huì)提示出現(xiàn)NCK邏輯和PLC邏輯結(jié)果不同的SGE/SGA點(diǎn)。必須注意:這個(gè)報(bào)警并不直接指出實(shí)際的物理端子狀態(tài)的不同,而是指出SGE/SGA內(nèi)部信號(hào)狀態(tài)的不同,而SGE/SGA信號(hào)又是內(nèi)部SAFE.SPF子程序和PLC程序分別處理得出的結(jié)果。分析過(guò)程所要做的就是從報(bào)警的 SGE/SGA信號(hào)找到實(shí)際的物理端子。從方便查找的角度,一般從PLC程序中進(jìn)行查找,這是因?yàn)樵赑LC中查找地址更為方便,當(dāng)找到對(duì)應(yīng)數(shù)據(jù)塊某位的PLC地址時(shí),再對(duì)照電路圖紙找另一路NCK I/O的端子就很容易了。
例如:某機(jī)床的幾個(gè)軸同時(shí)報(bào)警“27004 difference safe input SS, NCK SPL 01.01.05=0,drive DBX22.1=1”,首先從報(bào)警含義得知SS表示SGE中的“Safe operating stop(SBH)”,從字面上看NCK的SGE中的“01.01.05”為0,即NCK的SAFE.SPF子程序運(yùn)行結(jié)果是“要求安全停止”,而PLC的SGE中的“DBX22.1”為1,即PLC的邏輯運(yùn)算結(jié)果要求“取消安全停止”,互相矛盾因此報(bào)警。查找NCK的SGE中的“01.01.05”要對(duì)照機(jī)床數(shù)據(jù)MD10390、MD36970等進(jìn)行翻譯,并查找SAFE.SPF內(nèi)的邏輯判斷語(yǔ)句,這個(gè)過(guò)程難度較大,為快速查找一般從PLC程序中入手。
在 PLC中軸的“SBH”的接口信號(hào)為DB3x.DB22.1,因此在 PLC 程序中搜索DB3x.DBX22.1,搜索出如下語(yǔ)句:
根據(jù)此邏輯可以看出,來(lái)源可能和 I46.1或者I46.2對(duì)應(yīng)的硬件有關(guān)。檢查發(fā)現(xiàn)是I46.2端子對(duì)應(yīng)安全門(mén)鎖的中到NCK端(DMP模塊的E15端子)的觸頭接觸不良造成 NCK端的輸入點(diǎn)沒(méi)有閉合,NCK端和PLC端兩者狀態(tài)不同造成的報(bào)警。
整個(gè)過(guò)程總結(jié):機(jī)床防護(hù)門(mén)安全門(mén)鎖的“閉合到位”有兩路輸入,分別進(jìn)入NCK的輸入端子(E15)和PLC的輸入端子(地址I46.2)。NCK端子對(duì)應(yīng)定義了一些NC變量,這些變量在SAFE.SPF子程序中進(jìn)行邏輯運(yùn)算,由于E15這個(gè)端子信號(hào)狀態(tài)不正確,SAFE.SPF邏輯運(yùn)算結(jié)果是“要求安全停止”,而PLC端的信號(hào)狀態(tài)是正確的,其邏輯運(yùn)算結(jié)果要求“取消安全停止”,兩者結(jié)果矛盾,于是出現(xiàn)“27004”報(bào)警。也由此可見(jiàn),由于安全集成功能存在可靠性設(shè)計(jì)中的冗余雙路比較,很大程度上防止了安全裝置狀態(tài)已經(jīng)不好了使用者卻渾然不知的情況,機(jī)床對(duì)于操作人員的安全性能得到了大幅度地提升。
SINUMERIK840D的安全集成功能比較豐富,由于篇幅限制無(wú)法更多地展開(kāi),本文從安全集成功能原理出發(fā),解析功能本身的設(shè)計(jì)思路,從案例分析再反推其工作流程,能幫助應(yīng)用人員快速地找出根本原因。如需更好地理解安全集成功能的含義和具體參數(shù)含義,以及編寫(xiě)NC/PLC安全程序,請(qǐng)參考《840D安全集成功能手冊(cè)》和《840D機(jī)床數(shù)據(jù)和PLC接口信號(hào)手冊(cè)》。