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