在西門子802d數(shù)控系統(tǒng)中,有一個nc-plc數(shù)據(jù)交換區(qū),但是在840dsl中,好像沒有。我現(xiàn)在需要在840dsl的nc加工程序中設(shè)一個變量,來讀取plc中的一個變量值。當nc加工程序變量為“1”時,nc加工程序發(fā)生跳轉(zhuǎn)。請問nc與plc中的變量應(yīng)當如何編制程序?
答:樓主的問題,具有一定代表性,涉及到數(shù)控系統(tǒng)的主要內(nèi)容,這里舉兩例說明,
1.如在磨床中探頭的應(yīng)用:
探頭觸發(fā)信號直接送到nc內(nèi)部處理,即不經(jīng)過plc輸入映像緩沖區(qū),因此,這些信號在nc程序中是以變量形式出現(xiàn)的,840dsl系統(tǒng)提供了nck的外部數(shù)字輸入(db10)信號,其中就有探頭測量工件功能,地址對應(yīng)db10.db107.0,db10.db107.1,即探測器激活,db10.db107.0對應(yīng)probe探測器1,db10.db107.1,即對應(yīng)probe探測器2,當nc加工程序中的變量以上信號為“1”時,nc加工程序發(fā)生跳轉(zhuǎn)。
2.用pi服務(wù)即西門子的step-7功能塊fb4的pi服務(wù)功能來完成,fb4的pi_serv被用于nck內(nèi)部零件加工程序與外部開關(guān)量即plc的輸入輸出接口建立連接,從而達到內(nèi)外部轉(zhuǎn)換的過程。當內(nèi)部某中間繼電器為有效脈沖后,強制方式組轉(zhuǎn)換到auto方式,同時啟*能fb4,程序功能會自動尋找db91(事先做好)的指定外部零件加工程序的地址路徑,自動執(zhí)行該零件程序,執(zhí)行完畢后自動轉(zhuǎn)回到方式組初始狀態(tài)。例如在一個加載到nck的程序中,借助于piservice的申請,可以借助于機床檢測開關(guān)或者一個面板上的按鍵執(zhí)行一個特殊的功能。
注意在調(diào)用fb4時,必須分配一個單獨的db區(qū),樓主可以參考step-7的幫助獲得較為詳細建立數(shù)據(jù)塊的信息。
借助于piservice的參數(shù),可以實現(xiàn)指定的服務(wù)。
在調(diào)用fb4時,“db-name.pi-name”作為實參用于pi服務(wù)的傳送。
舉例如下:
callfb4,db100
req:=i6.3
piservice:=pi.asup
unit:=1
addr1:=new.p1_path//new是定義的字符,數(shù)據(jù)塊是db101,用來存
放程序?qū)傩?路徑、名字等
addr2:=new.p1_name
addr3:=
addr4:=
wvar1:=
wvar2:=
wvar3:=
wvar4:=
wvar5:=
wvar6:=
wvar7:=
wvar8:=
wvar9:=
wvar10:=
error:=m200.0
done:=m200.1
state:=mw201
此調(diào)用fb4的目的在于,當按下i6.3時(可將其定義為機床檢測開關(guān)),系統(tǒng)執(zhí)行程序p1,p1的內(nèi)容由用戶自行定義。如伺服電機的低速運動。