師錦航 ,崔 健
(陜西國(guó)防工業(yè)職業(yè)技術(shù)學(xué)院,陜西 西安 710300)
在物流倉(cāng)儲(chǔ)單元控制系統(tǒng)中,堆垛機(jī)是主要的運(yùn)輸設(shè)備,它可以對(duì)倉(cāng)儲(chǔ)單元的貨物進(jìn)行取出和存放。在本項(xiàng)目中堆垛機(jī)由三臺(tái)伺服電機(jī)來(lái)驅(qū)動(dòng),可以實(shí)現(xiàn)堆垛機(jī)在空間內(nèi)的前后、升降和伸縮動(dòng)作[1]。西門子S7-1200 系列PLC 除了通過(guò)高速脈沖輸出口控制三臺(tái)電機(jī)運(yùn)行以外,也要通過(guò)RS-485 串行通信接口實(shí)時(shí)讀取電機(jī)的轉(zhuǎn)速數(shù)據(jù),系統(tǒng)構(gòu)成如圖1所示。
圖1 系統(tǒng)構(gòu)成
S7-1200 PLC 與三臺(tái)伺服驅(qū)動(dòng)器之間采用了Modbus RTU 協(xié)議進(jìn)行數(shù)據(jù)傳輸。Modbus RTU 協(xié)議是一種開放的串行通信協(xié)議,在農(nóng)業(yè)、工業(yè)等控制領(lǐng)域應(yīng)用較為廣泛。該協(xié)議一般采用RS-232 或RS-485 串行接口進(jìn)行數(shù)據(jù)傳輸[2]。若采用RS-485 串行接口,可以實(shí)現(xiàn)一臺(tái)Modbus主站設(shè)備和多臺(tái)Modbus從站設(shè)備之間的通信,從而形成串行通信網(wǎng)絡(luò)。在本項(xiàng)目應(yīng)用實(shí)例中,一臺(tái)西門子S7-1200 系列PLC 作為Modbus RTU 主站,三臺(tái)伺服驅(qū)動(dòng)器作為從站,PLC實(shí)時(shí)讀取伺服驅(qū)動(dòng)器的轉(zhuǎn)速數(shù)據(jù)[3]。
在本控制系統(tǒng)中采用了三菱公司的JE 系列伺服驅(qū)動(dòng)器,該驅(qū)動(dòng)器的速度頻率響應(yīng)為2.0 kHz,具有“一鍵式調(diào)諧”功能[4]。JE 系列伺服驅(qū)動(dòng)器支持Modbus RTU 串行通信,主站PLC 可輕易獲取驅(qū)動(dòng)器的狀態(tài)數(shù)據(jù)[5]。伺服驅(qū)動(dòng)器存儲(chǔ)轉(zhuǎn)速數(shù)據(jù)的Modbus地址如表1 所示,需要注意的是,在使用西門子PLC編程時(shí)該地址需要加上偏移量400001 進(jìn)行指定,即實(shí)際的Modbus地址為411011[6]。
表1 Modbus讀取地址
JE 系列伺服驅(qū)動(dòng)器進(jìn)行Modbus 通信時(shí),需要設(shè)置的參數(shù)如表2所示。
表2 伺服驅(qū)動(dòng)器參數(shù)設(shè)置
S7-1200 PLC 是西門子公司推出的一款模塊化、緊湊型PLC,S7-1200 集成了一個(gè)PROFINET 通信接口,通過(guò)擴(kuò)展模塊也可實(shí)現(xiàn)Modbus 串行通信[7]。在使用Modbus RTU 通信協(xié)議讀取從站設(shè)備數(shù)據(jù)時(shí),需要用到MB_COMM_LOAD 和MB_MASTER 指令[8],如圖2所示。
圖2 MB_COMM_LOAD與MB_MASTER指令
1)MB_COMM_LOAD 指令。MB_COMM_LOAD 指令用于配置串口參數(shù),以進(jìn)行Modbus通信,指令各參數(shù)含義如表3所示。
表3 MB_COMM_LOAD指令各參數(shù)含義
2)MB_MASTER 指令。MB_MASTER 指令用于使串口作為主站訪問一個(gè)或多個(gè)從站的數(shù)據(jù),指令各參數(shù)含義如表4所示。
表4 MB_MASTER 指令各參數(shù)含義
輪詢控制策略的基本原理:PLC 依次循環(huán)執(zhí)行多條通信指令,且保證同一時(shí)刻只有一條指令在執(zhí)行,并能根據(jù)邏輯條件進(jìn)行輪詢跳轉(zhuǎn)。采用輪詢控制策略的流程示例如圖3 所示,該示例包含了n條讀寫指令MB_MASTER,每條MB_MASTER 指令讀寫一臺(tái)從站設(shè)備,這n條指令將依次循環(huán)執(zhí)行,運(yùn)行過(guò)程如下。
圖3 采用輪詢策略的程序控制流程
1)PLC 啟動(dòng)時(shí)M1.0 接通一個(gè)掃描周期,使“初始步標(biāo)志位”置位,指令MB_COMM_LOAD 被執(zhí)行一次,配置串口參數(shù),使用MB_COMM_LOAD 的DONE完成信號(hào)置位“步1標(biāo)志位”。
2)“步1 標(biāo)志位”置位后執(zhí)行MB_MASTER 指令1,讀寫第1 個(gè)從站寄存器,執(zhí)行完成后使用MB_MASTER指令1的DONE完成信號(hào)置位“步2標(biāo)志位”。
3)“步2 標(biāo)志位”置位后程序又執(zhí)行M B_MASTER 指令2,讀寫第2 個(gè)從站寄存器,完成后使用MB_MASTER 指令2 的DONE 信號(hào)置位下一步的標(biāo)志位。直到MB_MASTER 指令n被執(zhí)行后,使用MB_MASTER 指令n的DONE 信號(hào)置位“步1 標(biāo)志位”,再次執(zhí)行MB_MASTER指令1,如此循環(huán)運(yùn)行。
在本項(xiàng)目中倉(cāng)儲(chǔ)單元的堆垛機(jī)通信程序設(shè)計(jì)采用了輪詢控制策略,在圖4 所示的程序段1 中M1.0為PLC 運(yùn)行后接通一個(gè)掃描周期的系統(tǒng)存儲(chǔ)器,利用該地址可以進(jìn)行程序初始化,例如本程序中置位M2.0,M2.0 置位后開始執(zhí)行MB_COMM_LOAD 指令,進(jìn)行串行通信端口組態(tài)。在程序段2 中,當(dāng)MB_COMM_LOAD 指令執(zhí)行完成后,其DONE 參數(shù)輸出信號(hào)使M2.1 接通。在程序段3 中,M2.1 接通后置位M2.2、復(fù)位M2.0,輪詢開始,首先執(zhí)行第一條MB_MASTER指令。
圖4 通信程序1
如圖5 所示,在程序段4 中執(zhí)行第一條M B_MASTER 指令,讀取堆垛機(jī)中升降電機(jī)的轉(zhuǎn)速數(shù)據(jù),站地址為1,若指令執(zhí)行完成則其DONE 參數(shù)輸出信號(hào)使位地址M2.3 接通。在程序段5 中,M2.3 接通后置位M2.4、復(fù)位M2.2,開始輪詢第二條MB_MASTER指令。
圖5 通信程序2
如圖6 所示,在程序段6 中執(zhí)行第二條M B_MASTER 指令,讀取堆垛機(jī)中前后電機(jī)的轉(zhuǎn)速數(shù)據(jù),站地址為2,讀取完成后其DONE 參數(shù)輸出信號(hào)使M2.5 接通。在程序段7 中,M2.5 接通后置位M2.6、復(fù)位M2.4,開始執(zhí)行第三條MB_MASTER指令。
圖6 通信程序3
如圖7 所示,在程序段8 中執(zhí)行第三條M B_MASTER 指令,讀取堆垛機(jī)中伸縮電機(jī)的轉(zhuǎn)速數(shù)據(jù),站地址為3,讀取完成后其DONE 參數(shù)輸出信號(hào)使M2.7 接通。在程序段9 中,M2.7 接通后置位M2.2、復(fù)位M2.6,程序則返回第一條MB_MASTER 指令循環(huán)執(zhí)行。
圖7 通信程序4
現(xiàn)階段我國(guó)倉(cāng)儲(chǔ)領(lǐng)域的發(fā)展已經(jīng)推動(dòng)了自動(dòng)化、智能化倉(cāng)庫(kù)的發(fā)展進(jìn)程。工業(yè)控制技術(shù)的有效融合也為新經(jīng)濟(jì)時(shí)代背景下的企業(yè)倉(cāng)儲(chǔ)控制提供有力的技術(shù)保障,倉(cāng)儲(chǔ)智能化是工業(yè)智能制造技術(shù)在倉(cāng)儲(chǔ)控制系統(tǒng)中的主要應(yīng)用[9]。智能倉(cāng)儲(chǔ)控制系統(tǒng)由多種模塊組建而成,主要包括網(wǎng)絡(luò)通信模塊、PLC 模塊、伺服運(yùn)動(dòng)控制模塊以及檢測(cè)識(shí)別模塊等[10]。在本項(xiàng)目的農(nóng)產(chǎn)品物流倉(cāng)儲(chǔ)單元控制系統(tǒng)中,通過(guò)使用輪詢控制策略編寫的Modbus RTU 通信程序?qū)崿F(xiàn)了PLC與多臺(tái)伺服驅(qū)動(dòng)器之間的實(shí)時(shí)數(shù)據(jù)傳輸,一臺(tái)S7-1200 系列PLC 作為Modbus 主站,三臺(tái)伺服驅(qū)動(dòng)器作為Modbus 從站,PLC 可穩(wěn)定地讀取每臺(tái)伺服電機(jī)的轉(zhuǎn)速數(shù)據(jù)。此外,輪詢控制策略也可應(yīng)用于其他通信控制場(chǎng)景,如PLC 與變頻器之間的通信控制、機(jī)器人與視覺檢測(cè)設(shè)備之間的通信控制等??傊?,凡是涉及多臺(tái)設(shè)備之間的串行通信,都可采用輪詢策略編寫程序,不僅可以提高程序運(yùn)行的穩(wěn)定性、可靠性,還可以提高數(shù)據(jù)傳輸?shù)男?,為?shí)現(xiàn)機(jī)械裝備的智能化、信息化奠定了基礎(chǔ)。