主軸正轉(zhuǎn)控制過程分析
發(fā)布時間:2021-04-02 21:24:38 點擊率:
主軸正轉(zhuǎn)控制過程分析
手動模式下,按下主軸正轉(zhuǎn)按鈕后,軟PLC運行系統(tǒng)會進行一系列的函數(shù) 調(diào)用,整個數(shù)據(jù)的運算與存儲過程就是實現(xiàn)主軸正轉(zhuǎn)的過程:
1)人機界面進程響應(yīng)主軸正轉(zhuǎn)按鈕函數(shù)。
這是人機界面進程把數(shù)據(jù)寫入軟PLC與HMI共享內(nèi)存區(qū)的過程。首先HMI 進程調(diào)用主軸正轉(zhuǎn)按鈕函數(shù)給人機界面數(shù)據(jù)域中變量m_M03賦為true,該變量 作為軟PLC的一個輸入信號存儲在人機界面緩存區(qū)中。
當軟PLC進入周期循環(huán)掃描時,系統(tǒng)任務(wù)管理線程置位通訊事件句柄 h_eventcommuni,觸發(fā)軟PLC與人機界面進程和軟CNC的通訊任務(wù)。系統(tǒng)中 設(shè)置軟PLC先與HMI進程進行通訊。HMI進程利用寫函數(shù)WriteData〇將人機 界面緩存區(qū)數(shù)據(jù)寫入軟PLC與HMI的共享內(nèi)存區(qū)HMIToPLCBuffer單元中, 使地址PI0.5中數(shù)據(jù)置1?!癙I0.5”是HMI分配給軟PLC的10地址,在這里對 應(yīng)五軸銑床主軸正轉(zhuǎn)輸入位。
與HMI的通訊結(jié)束后,軟PLC系統(tǒng)任務(wù)調(diào)度線程取得控制權(quán),通過判斷 運行狀態(tài)字得知整個通信任務(wù)并未完成,返回繼續(xù)執(zhí)行與CNC的通訊任務(wù)。其 中軟PLC與CNC共享內(nèi)存PLCToCNCBuffer單元中存儲了上一周期PLC發(fā)往 CNC的狀態(tài)信息。由于是手動模式,所以該共享區(qū)中0號通道的第0位軟邏輯 狀態(tài)為“1” ;此外0號通道第5位狀態(tài)軟邏輯狀態(tài)為“0”,5號通道第2位 的軟邏輯狀態(tài)為“0”,5號通道第3位的軟邏輯狀態(tài)為“0”。
執(zhí)行I/O讀任務(wù)線程
執(zhí)行完通訊任務(wù),軟PLC運行系統(tǒng)進入I/O讀任務(wù)線程,將SoftSERCANS 卡雙口存儲區(qū)中數(shù)據(jù)讀入軟PLC與Sercos的共享內(nèi)存區(qū)SercosToPLCBuffer單
元,其中該共享單元0號通道第1位軟邏輯狀態(tài)為“0”,對應(yīng)本次掃描輸入映 像區(qū)主軸的當前狀態(tài),該共享單元0號通道第2位軟邏輯狀態(tài)為“0”。
執(zhí)行PLC用戶程序
完成I/O讀任務(wù)線程,軟PLC系統(tǒng)任務(wù)調(diào)度線程喚醒程序執(zhí)行任務(wù)線程。 程序執(zhí)行任務(wù)線程一個是不斷取指令、調(diào)用指令函數(shù)的過程,它從指令鏈表節(jié)點 數(shù)據(jù)域中讀取到指令索引值,然后判斷指令類型調(diào)用指令函數(shù)進行運算。
當執(zhí)行到圖5.1主軸正轉(zhuǎn)這一梯級時,軟PLC系統(tǒng)首先對CQ0.0這一位的 軟邏輯進行狀態(tài)判斷和操作,從指令存儲區(qū)的鏈表節(jié)點數(shù)據(jù)域中讀到指令索引值 “ 1001”,調(diào)用讀輸入位指令函數(shù)ReadInBit〇,利用位尋址函數(shù)ReadBit〇從PLC 與CNC的共享內(nèi)存區(qū)PLCToCNCBuffer單元中讀0號通道0號位的狀態(tài),通過 函數(shù)CurrentBitStatusG與系統(tǒng)中標志位進行比較確認它的狀態(tài),然后壓入堆棧, 當前棧頂元素值為“1”;接著對軟邏輯PI0.5進行狀態(tài)判斷,執(zhí)行完一條指令后 指令鏈表的指針移指向下一個節(jié)點,根據(jù)索引值“1003”調(diào)用讀輸入位相與指 令函數(shù)ReadInANDBit〇,從軟PLC與HMI的共享內(nèi)存區(qū)HMIToPLCBuffer單元 中讀取0號通道第5位狀態(tài)值“1”,接著利用堆棧操作函數(shù)AndStack()與當前棧 頂元素進行邏輯與運算將結(jié)果“1”壓入棧頂;然后判斷由軟邏輯CQ0.7、RI1.0 和LQ0.1組成的并聯(lián)電路塊的狀態(tài)并與棧頂元素“1”進行邏輯或運算,將結(jié)果 壓入棧頂。
接著從PLC與Sercos共享內(nèi)存PLCToSercosBuffer讀取0號通道第2位的 狀態(tài)“0”取反后與棧頂元素“1”進行邏輯與運算,將結(jié)果“1”壓入邏輯堆棧, 然后從軟PLC內(nèi)部輸入映像區(qū)中讀取0號字節(jié)的第3位狀態(tài)“0”,取反后與棧 頂元素進行邏輯與運算,將結(jié)果壓入棧頂(狀態(tài)為“1”),然后執(zhí)行輸出指令OutBit LQ0.1,利用寫輸入位指令函數(shù)WriteOutBitG將當前邏輯棧頂元素“1”改寫PLC 與Sercos共享內(nèi)存PLCToSercosBuffer單兀中0號通道第1位的狀態(tài),接著執(zhí)行 指令OutBit CQ5.2,改寫PLC與CNC共享內(nèi)存區(qū)PLCToCNCBuffer單元中5號 通道第2位的狀態(tài),然后繼續(xù)掃描下一梯級。
在圖5.1中的第二梯級中,軟PLC從共享內(nèi)存PLCToCNCBuffer單元中讀取 到5號通道第2位狀態(tài)“ 1 ”壓入堆棧,接著讀取PLCToCNCBuffer單元5號通 道中第3位的狀態(tài)“0”取反后和棧頂元素“1”進行邏輯與運算,將結(jié)果“1” 壓入棧頂,執(zhí)行輸出指令0utBitPQ3.3,用邏輯棧頂元素值“1”改寫PLC與HMI 界面共享內(nèi)存區(qū)PLCToHMIBuffer單元中3號通道第3位的狀態(tài);然后執(zhí)行OutBit LQ 4.1,用邏輯棧頂元素值“ 1 ”改寫PLC與Sercos共享內(nèi)存區(qū)PLCToSercosBuffer 單元中4號通道第1位的狀態(tài),繼續(xù)掃描其他梯級。
4)執(zhí)行I/O寫任務(wù)線程
程序執(zhí)行任務(wù)線程結(jié)束,軟PLC系統(tǒng)任務(wù)管理線程調(diào)度執(zhí)行I/O寫任務(wù)線 程,將PLC與Sercos共享內(nèi)存區(qū)PLCToSercosBuffer中數(shù)據(jù)寫入SoftSERCANS
被動式主站卡的雙口 RAM存儲區(qū)的對應(yīng)地址。
完成I/O寫任務(wù)線程,軟PLC系統(tǒng)任務(wù)管理線程判斷運行狀態(tài)字決定是否 進行下一周期的循環(huán)掃描,是則繼續(xù)重復(fù)上述的四個階段,否則判斷是否退出軟 PLC應(yīng)用程序。
控制信號結(jié)果輸出 一方面,HMI在下一個掃描周期的通訊階段從共享內(nèi)存區(qū)讀取到對應(yīng)主軸 正傳位的狀態(tài),使人機界面HMI上主軸正轉(zhuǎn)燈亮。
其中HMI界面圖中軟邏輯位對應(yīng)關(guān)系如下:
X000——CQO.O: PLC給CNC分配的10地址中的手動模式位
X001——PI 0.5:人機界面HMI給PLC分配的10地址中的主軸正轉(zhuǎn)位
Y000——LQ0.1: PLC給SERCOS分配的主軸上電位
Y001——CQ5.2: PLC給CNC分配的主軸正轉(zhuǎn)位
Y002——PQ0.3: PLC給人機界面HMI分配的主軸正轉(zhuǎn)燈位
Y003——LQ4.1: PLC給SERCOS分配的主軸正轉(zhuǎn)燈位
另一方面,SoftSERCANS卡在周期通訊的CP4階段將雙口 RAM數(shù)據(jù)打包
發(fā)往各個從站,PLCI/0從站總線控制器DM9000接收并解析報文,處理后由五 軸數(shù)控加工中心的2塊32位I/O數(shù)字量輸出模塊輸出。
其中第1塊數(shù)字量輸出模塊WordO外部接線端子2.1輸出高電平信號,繼 電器KA2接通,主軸電源控制電路上KA2的常開觸點閉合,使主軸驅(qū)動器電 源主電路上的接觸器KM2主觸頭閉合,向主軸驅(qū)動器發(fā)出使能信號,控制五 軸數(shù)控加工中心主軸正轉(zhuǎn),接線端子分配如圖5.4所示;第2塊數(shù)字量輸出模塊外 部接線端子2.1輸出高電平信號,接通五軸數(shù)控加工中心操作面板上的主軸正轉(zhuǎn)指 示燈。
主軸反轉(zhuǎn)、主軸停止控制過程與按下主軸正轉(zhuǎn)按鈕的控制過程類似,這里 就不再一一解釋它們的執(zhí)行過程。
5.4本章小結(jié)
本章分析了五軸數(shù)控加工中心軟PLC所要控制的具體內(nèi)容,根據(jù)五軸數(shù)控加工中心 的控制邏輯編制了主軸正、反轉(zhuǎn)的控制程序,通過下載到軟PLC運行系統(tǒng)中運 行,實現(xiàn)了對五軸數(shù)控加工中心的主軸正、反轉(zhuǎn)控制,驗證了軟PLC運行系統(tǒng)的有 效性。
手動模式下,按下主軸正轉(zhuǎn)按鈕后,軟PLC運行系統(tǒng)會進行一系列的函數(shù) 調(diào)用,整個數(shù)據(jù)的運算與存儲過程就是實現(xiàn)主軸正轉(zhuǎn)的過程:
1)人機界面進程響應(yīng)主軸正轉(zhuǎn)按鈕函數(shù)。
這是人機界面進程把數(shù)據(jù)寫入軟PLC與HMI共享內(nèi)存區(qū)的過程。首先HMI 進程調(diào)用主軸正轉(zhuǎn)按鈕函數(shù)給人機界面數(shù)據(jù)域中變量m_M03賦為true,該變量 作為軟PLC的一個輸入信號存儲在人機界面緩存區(qū)中。
當軟PLC進入周期循環(huán)掃描時,系統(tǒng)任務(wù)管理線程置位通訊事件句柄 h_eventcommuni,觸發(fā)軟PLC與人機界面進程和軟CNC的通訊任務(wù)。系統(tǒng)中 設(shè)置軟PLC先與HMI進程進行通訊。HMI進程利用寫函數(shù)WriteData〇將人機 界面緩存區(qū)數(shù)據(jù)寫入軟PLC與HMI的共享內(nèi)存區(qū)HMIToPLCBuffer單元中, 使地址PI0.5中數(shù)據(jù)置1?!癙I0.5”是HMI分配給軟PLC的10地址,在這里對 應(yīng)五軸銑床主軸正轉(zhuǎn)輸入位。
與HMI的通訊結(jié)束后,軟PLC系統(tǒng)任務(wù)調(diào)度線程取得控制權(quán),通過判斷 運行狀態(tài)字得知整個通信任務(wù)并未完成,返回繼續(xù)執(zhí)行與CNC的通訊任務(wù)。其 中軟PLC與CNC共享內(nèi)存PLCToCNCBuffer單元中存儲了上一周期PLC發(fā)往 CNC的狀態(tài)信息。由于是手動模式,所以該共享區(qū)中0號通道的第0位軟邏輯 狀態(tài)為“1” ;此外0號通道第5位狀態(tài)軟邏輯狀態(tài)為“0”,5號通道第2位 的軟邏輯狀態(tài)為“0”,5號通道第3位的軟邏輯狀態(tài)為“0”。
執(zhí)行I/O讀任務(wù)線程
執(zhí)行完通訊任務(wù),軟PLC運行系統(tǒng)進入I/O讀任務(wù)線程,將SoftSERCANS 卡雙口存儲區(qū)中數(shù)據(jù)讀入軟PLC與Sercos的共享內(nèi)存區(qū)SercosToPLCBuffer單
元,其中該共享單元0號通道第1位軟邏輯狀態(tài)為“0”,對應(yīng)本次掃描輸入映 像區(qū)主軸的當前狀態(tài),該共享單元0號通道第2位軟邏輯狀態(tài)為“0”。
執(zhí)行PLC用戶程序
完成I/O讀任務(wù)線程,軟PLC系統(tǒng)任務(wù)調(diào)度線程喚醒程序執(zhí)行任務(wù)線程。 程序執(zhí)行任務(wù)線程一個是不斷取指令、調(diào)用指令函數(shù)的過程,它從指令鏈表節(jié)點 數(shù)據(jù)域中讀取到指令索引值,然后判斷指令類型調(diào)用指令函數(shù)進行運算。
當執(zhí)行到圖5.1主軸正轉(zhuǎn)這一梯級時,軟PLC系統(tǒng)首先對CQ0.0這一位的 軟邏輯進行狀態(tài)判斷和操作,從指令存儲區(qū)的鏈表節(jié)點數(shù)據(jù)域中讀到指令索引值 “ 1001”,調(diào)用讀輸入位指令函數(shù)ReadInBit〇,利用位尋址函數(shù)ReadBit〇從PLC 與CNC的共享內(nèi)存區(qū)PLCToCNCBuffer單元中讀0號通道0號位的狀態(tài),通過 函數(shù)CurrentBitStatusG與系統(tǒng)中標志位進行比較確認它的狀態(tài),然后壓入堆棧, 當前棧頂元素值為“1”;接著對軟邏輯PI0.5進行狀態(tài)判斷,執(zhí)行完一條指令后 指令鏈表的指針移指向下一個節(jié)點,根據(jù)索引值“1003”調(diào)用讀輸入位相與指 令函數(shù)ReadInANDBit〇,從軟PLC與HMI的共享內(nèi)存區(qū)HMIToPLCBuffer單元 中讀取0號通道第5位狀態(tài)值“1”,接著利用堆棧操作函數(shù)AndStack()與當前棧 頂元素進行邏輯與運算將結(jié)果“1”壓入棧頂;然后判斷由軟邏輯CQ0.7、RI1.0 和LQ0.1組成的并聯(lián)電路塊的狀態(tài)并與棧頂元素“1”進行邏輯或運算,將結(jié)果 壓入棧頂。
接著從PLC與Sercos共享內(nèi)存PLCToSercosBuffer讀取0號通道第2位的 狀態(tài)“0”取反后與棧頂元素“1”進行邏輯與運算,將結(jié)果“1”壓入邏輯堆棧, 然后從軟PLC內(nèi)部輸入映像區(qū)中讀取0號字節(jié)的第3位狀態(tài)“0”,取反后與棧 頂元素進行邏輯與運算,將結(jié)果壓入棧頂(狀態(tài)為“1”),然后執(zhí)行輸出指令OutBit LQ0.1,利用寫輸入位指令函數(shù)WriteOutBitG將當前邏輯棧頂元素“1”改寫PLC 與Sercos共享內(nèi)存PLCToSercosBuffer單兀中0號通道第1位的狀態(tài),接著執(zhí)行 指令OutBit CQ5.2,改寫PLC與CNC共享內(nèi)存區(qū)PLCToCNCBuffer單元中5號 通道第2位的狀態(tài),然后繼續(xù)掃描下一梯級。
在圖5.1中的第二梯級中,軟PLC從共享內(nèi)存PLCToCNCBuffer單元中讀取 到5號通道第2位狀態(tài)“ 1 ”壓入堆棧,接著讀取PLCToCNCBuffer單元5號通 道中第3位的狀態(tài)“0”取反后和棧頂元素“1”進行邏輯與運算,將結(jié)果“1” 壓入棧頂,執(zhí)行輸出指令0utBitPQ3.3,用邏輯棧頂元素值“1”改寫PLC與HMI 界面共享內(nèi)存區(qū)PLCToHMIBuffer單元中3號通道第3位的狀態(tài);然后執(zhí)行OutBit LQ 4.1,用邏輯棧頂元素值“ 1 ”改寫PLC與Sercos共享內(nèi)存區(qū)PLCToSercosBuffer 單元中4號通道第1位的狀態(tài),繼續(xù)掃描其他梯級。
4)執(zhí)行I/O寫任務(wù)線程
程序執(zhí)行任務(wù)線程結(jié)束,軟PLC系統(tǒng)任務(wù)管理線程調(diào)度執(zhí)行I/O寫任務(wù)線 程,將PLC與Sercos共享內(nèi)存區(qū)PLCToSercosBuffer中數(shù)據(jù)寫入SoftSERCANS
被動式主站卡的雙口 RAM存儲區(qū)的對應(yīng)地址。
完成I/O寫任務(wù)線程,軟PLC系統(tǒng)任務(wù)管理線程判斷運行狀態(tài)字決定是否 進行下一周期的循環(huán)掃描,是則繼續(xù)重復(fù)上述的四個階段,否則判斷是否退出軟 PLC應(yīng)用程序。
控制信號結(jié)果輸出 一方面,HMI在下一個掃描周期的通訊階段從共享內(nèi)存區(qū)讀取到對應(yīng)主軸 正傳位的狀態(tài),使人機界面HMI上主軸正轉(zhuǎn)燈亮。
其中HMI界面圖中軟邏輯位對應(yīng)關(guān)系如下:
X000——CQO.O: PLC給CNC分配的10地址中的手動模式位
X001——PI 0.5:人機界面HMI給PLC分配的10地址中的主軸正轉(zhuǎn)位
Y000——LQ0.1: PLC給SERCOS分配的主軸上電位
Y001——CQ5.2: PLC給CNC分配的主軸正轉(zhuǎn)位
Y002——PQ0.3: PLC給人機界面HMI分配的主軸正轉(zhuǎn)燈位
Y003——LQ4.1: PLC給SERCOS分配的主軸正轉(zhuǎn)燈位
另一方面,SoftSERCANS卡在周期通訊的CP4階段將雙口 RAM數(shù)據(jù)打包
發(fā)往各個從站,PLCI/0從站總線控制器DM9000接收并解析報文,處理后由五 軸數(shù)控加工中心的2塊32位I/O數(shù)字量輸出模塊輸出。
其中第1塊數(shù)字量輸出模塊WordO外部接線端子2.1輸出高電平信號,繼 電器KA2接通,主軸電源控制電路上KA2的常開觸點閉合,使主軸驅(qū)動器電 源主電路上的接觸器KM2主觸頭閉合,向主軸驅(qū)動器發(fā)出使能信號,控制五 軸數(shù)控加工中心主軸正轉(zhuǎn),接線端子分配如圖5.4所示;第2塊數(shù)字量輸出模塊外 部接線端子2.1輸出高電平信號,接通五軸數(shù)控加工中心操作面板上的主軸正轉(zhuǎn)指 示燈。
主軸反轉(zhuǎn)、主軸停止控制過程與按下主軸正轉(zhuǎn)按鈕的控制過程類似,這里 就不再一一解釋它們的執(zhí)行過程。
5.4本章小結(jié)
本章分析了五軸數(shù)控加工中心軟PLC所要控制的具體內(nèi)容,根據(jù)五軸數(shù)控加工中心 的控制邏輯編制了主軸正、反轉(zhuǎn)的控制程序,通過下載到軟PLC運行系統(tǒng)中運 行,實現(xiàn)了對五軸數(shù)控加工中心的主軸正、反轉(zhuǎn)控制,驗證了軟PLC運行系統(tǒng)的有 效性。
下一個:加工中心主軸故障分析與維修
返 回