, ,
(1.華南理工大學(xué)聚合物新型成型裝備國(guó)家工程研究中心,廣東 廣州 510640; 2.華南理工大學(xué)聚合物成型加工工程教育部重點(diǎn)實(shí)驗(yàn)室,廣東 廣州 510640)
隨著工業(yè)互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,塑料生產(chǎn)企業(yè)生產(chǎn)自動(dòng)化水平進(jìn)一步提高,越來越多的塑料生產(chǎn)企業(yè)引進(jìn)了集中監(jiān)控系統(tǒng)[1-2]。由于基于PC或服務(wù)器的集中監(jiān)控系統(tǒng),其搭建成本昂貴,搭建過程較為復(fù)雜。許多中小企業(yè)依然采用人工巡視的方式監(jiān)控設(shè)備的生產(chǎn)狀態(tài)。
為了解決中小塑料生產(chǎn)企業(yè)擠出機(jī)生產(chǎn)時(shí)采用人工巡視而導(dǎo)致的監(jiān)控效率低,發(fā)現(xiàn)問題不及時(shí)的情況。采用Android系統(tǒng)為開發(fā)平臺(tái),開發(fā)一款能與西門子S7-1200PLC通訊的無線控制軟件,結(jié)合工業(yè)路由器和S7-1200PLC,構(gòu)建一個(gè)擠出機(jī)無線監(jiān)控系統(tǒng)。該系統(tǒng)通過移動(dòng)終端人機(jī)界面與人交互,實(shí)現(xiàn)對(duì)多臺(tái)擠出機(jī)實(shí)時(shí)工作參數(shù)的在線監(jiān)控。
擠出機(jī)電機(jī)的啟停和轉(zhuǎn)速是由變頻器控制的,機(jī)筒的加熱和冷卻則是由溫控模塊根據(jù)設(shè)定溫度與當(dāng)前溫度進(jìn)行調(diào)控的,而部分報(bào)警功能則是通過PLC控制繼電器的通斷實(shí)現(xiàn)的。擠出機(jī)的控制系統(tǒng)中,PLC作為核心,它通過與變頻器、溫控模塊和繼電器等的連接,獲取擠出機(jī)運(yùn)行的各項(xiàng)所需參數(shù),并對(duì)擠出機(jī)的可設(shè)置參數(shù)進(jìn)行修改。移動(dòng)終端作為擠出機(jī)無線監(jiān)控器運(yùn)行監(jiān)控軟件,通過WiFi無線網(wǎng)絡(luò)與S7-1200PLC建立通訊,從PLC中讀取要監(jiān)控的擠出機(jī)的各項(xiàng)參數(shù),如電機(jī)轉(zhuǎn)速、機(jī)筒溫度和熔體壓力等。并且根據(jù)用戶操作向PLC發(fā)出更改參數(shù)或運(yùn)動(dòng)控制指令,PLC接收到指令后控制其子控制器完成相應(yīng)動(dòng)作。如上所述,擠出機(jī)無線監(jiān)控系統(tǒng)整體結(jié)構(gòu)如圖1所示。
圖1 無線監(jiān)控系統(tǒng)
整個(gè)無線監(jiān)控系統(tǒng)主要分為3個(gè)部分:下位機(jī)控制部分、局域網(wǎng)通信部分和移動(dòng)端監(jiān)控部分。下位機(jī)控制部分主要是通過編寫PLC程序,使PLC能通過指令對(duì)設(shè)備進(jìn)行控制,且能將設(shè)備的特征參數(shù)采集上來,保存到指定寄存器中。局域網(wǎng)通信部分主要包括通過工業(yè)路由器,將移動(dòng)終端和多臺(tái)擠出機(jī)的PLC接入到同一個(gè)局域網(wǎng)內(nèi),使得移動(dòng)終端能和多臺(tái)擠出機(jī)實(shí)現(xiàn)穩(wěn)定的通信。移動(dòng)端監(jiān)控部分主要包括與PLC建立連接后,從PLC指定寄存器中獲取當(dāng)前被監(jiān)控?cái)D出機(jī)的實(shí)時(shí)工作參數(shù),并將用戶更改參數(shù)的指令發(fā)送給PLC,完成參數(shù)的更改或設(shè)定,同時(shí)保存參數(shù)更改的歷史信息。擠出機(jī)無線監(jiān)控系統(tǒng)整體架構(gòu)如圖2所示。
圖2中,首先通過工業(yè)路由器,將移動(dòng)終端和擠出機(jī)的S7-1200PLC配置到同一局域網(wǎng)。用戶打開移動(dòng)終端監(jiān)控軟件,首先與PLC建立通信,一旦建立通信,軟件便會(huì)自動(dòng)向PLC發(fā)送請(qǐng)求指令,讀取擠出機(jī)當(dāng)前的各項(xiàng)參數(shù)到顯示界面,使用戶能夠監(jiān)視當(dāng)前擠出機(jī)的各項(xiàng)主要運(yùn)行參數(shù)。當(dāng)用戶在操作界面更改可設(shè)定參數(shù)時(shí),軟件接收到操作響應(yīng),向PLC發(fā)送相應(yīng)數(shù)據(jù)或指令,PLC接收到指令或數(shù)據(jù)后對(duì)相應(yīng)寄存器或開關(guān)變量進(jìn)行更改,從而控制變頻器、溫控模塊或繼電器,進(jìn)而控制擠出機(jī)的運(yùn)行狀態(tài)。
圖2 無線監(jiān)控系統(tǒng)整體架構(gòu)
本課題需要用到的設(shè)備和硬件:多臺(tái)以S7-1200 PLC為控制核心的擠出機(jī)、工業(yè)路由器和1臺(tái)Android移動(dòng)終端。硬件連接方案:通過雙絞線,把擠出機(jī)中PLC的以太網(wǎng)接口和工業(yè)路由器的LAN口連接起來,對(duì)多臺(tái)擠出機(jī)進(jìn)行組網(wǎng)。工業(yè)路由器擬采用AP模式(接入點(diǎn)模式),放射WiFi熱點(diǎn), Android移動(dòng)終端接入路由器的WiFi熱點(diǎn)。Android手機(jī)應(yīng)用和PLC通過Modbus TCP/IP協(xié)議進(jìn)行通信[3-4]。
Android系統(tǒng)是Google公司發(fā)布的基于Linux內(nèi)核的開源操作系統(tǒng)。Android應(yīng)用程序的開發(fā)工具有很多,通常使用Eclipse或者Android Studio作為應(yīng)用開發(fā)環(huán)境[5]。相比Eclipse,Android Studio的功能更加強(qiáng)大,具有構(gòu)建程序界面方便,打印信息更加詳細(xì),智能識(shí)別更強(qiáng)大等特點(diǎn)。因此,移動(dòng)終端的軟件開發(fā)選用對(duì)開發(fā)者更友好的Android Studio作為開發(fā)工具。
移動(dòng)終端的APP需要以下幾個(gè)功能:通訊設(shè)置功能、數(shù)據(jù)寫入功能、數(shù)據(jù)自動(dòng)更新功能和查看監(jiān)控歷史記錄功能。其中,通訊設(shè)置功能通過在APP中輸入目標(biāo)PLC的IP地址,便能使移動(dòng)終端和PLC實(shí)現(xiàn)通信連接;數(shù)據(jù)寫入功能主要是通過移動(dòng)終端的APP能往PLC中特定的寄存器寫入數(shù)值,并能在APP的數(shù)據(jù)操作顯示界面中顯示寫入的值;數(shù)據(jù)自動(dòng)更新功能則使APP能實(shí)時(shí)地讀取PLC中特定寄存器的值,并在界面中顯示實(shí)時(shí)數(shù)值;查看監(jiān)控歷史記錄功能則是為了方便查看何時(shí)對(duì)擠出機(jī)的哪些參數(shù)進(jìn)行了更改,對(duì)擠出機(jī)的運(yùn)行參數(shù)做一個(gè)記錄。監(jiān)控APP軟件的功能如圖3所示。
圖3 軟件功能模塊
S7-1200PLC的程序則由西門子PLC專用編程軟件博途TIA V14編寫。首先,對(duì)PLC的IP地址進(jìn)行配置,使其與工業(yè)路由器的IP地址位于同一網(wǎng)段內(nèi)。然后,編寫PLC程序?qū)D出機(jī)工作時(shí)的各項(xiàng)參數(shù)進(jìn)行讀取,并將其保存到指定的寄存器中。且PLC程序還能通過寫入數(shù)據(jù)到指定寄存器,并將該數(shù)據(jù)發(fā)送到子控制系統(tǒng),進(jìn)而改變擠出機(jī)的運(yùn)行狀態(tài)。最后,通過在PLC的啟動(dòng)塊中設(shè)置Modbus_server功能模塊,將PLC設(shè)置為可被外部設(shè)備訪問的從站,移動(dòng)終端的APP根據(jù)PLC程序中指定的寄存器地址,便能實(shí)現(xiàn)對(duì)指定變量的讀寫。
擠出機(jī)無線監(jiān)控系統(tǒng)首先配置工業(yè)路由器,使移動(dòng)終端和S7-1200PLC能接入并實(shí)現(xiàn)通信。工業(yè)路由器和家用路由器一樣,是用于連接2個(gè)或超過2個(gè)的設(shè)備接入網(wǎng)絡(luò)的設(shè)備器件。工業(yè)路由器其實(shí)就是功能更加強(qiáng)大,性能更為穩(wěn)定的路由器。 其高性能高主頻處理器使其網(wǎng)絡(luò)有更大的輻射范圍,而其工業(yè)級(jí)的做工則讓它能在較惡劣的工業(yè)環(huán)境中長(zhǎng)時(shí)間使用不出現(xiàn)問題。無線監(jiān)控系統(tǒng)中將工業(yè)路由器配置成為AP模式。在這種模式下,無線網(wǎng)絡(luò)得到擴(kuò)充,無線和有線網(wǎng)絡(luò)可以并存。進(jìn)入路由器設(shè)置界面,將路由器IP設(shè)置為192.168.2.1, WiFi命名為“C”,并對(duì)其進(jìn)行加密。
擠出機(jī)S7-1200PLC的系統(tǒng)控制程序在博途TIA V14中采用梯形圖的方式編寫,使用MB_COMM_LOAD_DB功能塊,以及MB_MASTER_DB功能塊與變頻器和溫控模塊建立通信,設(shè)置開關(guān)變量控制電機(jī)和加熱冷卻系統(tǒng)的啟停。創(chuàng)建DB數(shù)據(jù)塊,為擠出機(jī)待設(shè)定變量和狀態(tài)變量指定數(shù)據(jù)存儲(chǔ)的寄存器。接著,通過邏輯編程,實(shí)現(xiàn)整個(gè)擠出機(jī)的功能控制。最后,創(chuàng)建MB_SERVER_DB功能塊,將PLC設(shè)置為從站,使其能被處于同一網(wǎng)段的移動(dòng)終端訪問。
智能終端無線監(jiān)控軟件是在Android開發(fā)平臺(tái)的基礎(chǔ)上進(jìn)行軟件實(shí)現(xiàn)的。開發(fā)環(huán)境需要安裝Android Studio,Java JDK,Android SDK,NDK等[6]。該軟件是用Java語(yǔ)言編寫的,為了實(shí)現(xiàn)和相關(guān)設(shè)備進(jìn)行基于Modbus協(xié)議的通信,需要在Modbus組織的官網(wǎng)上下載Jamod庫(kù)[7],該庫(kù)提供了Modbus通信中每種不同類型所需的類,如表1所示。
表1 Jamod提供的操作類
在擠出機(jī)無線監(jiān)控系統(tǒng)中,通信部分主要在后臺(tái)運(yùn)行,不和用戶進(jìn)行交互服務(wù),因此采用Android的服務(wù)(Service)來實(shí)現(xiàn)[8]。在手機(jī)監(jiān)控軟件的數(shù)據(jù)顯示頁(yè)面設(shè)置開關(guān)按鈕,用以啟動(dòng)服務(wù)和停止服務(wù),相對(duì)應(yīng)于功能上的開啟監(jiān)控和停止監(jiān)控。開啟服務(wù)后,啟動(dòng)定時(shí)器,每隔2 s,后臺(tái)服務(wù)執(zhí)行讀取PLC特定寄存器的代碼,將讀取數(shù)據(jù)寫入數(shù)據(jù)庫(kù),并將其顯示到監(jiān)控界面。通過每隔2 s讀取1次擠出機(jī)運(yùn)行狀態(tài)的數(shù)據(jù),完成對(duì)擠出機(jī)的實(shí)時(shí)監(jiān)測(cè)。其流程如圖4a所示。
為了實(shí)現(xiàn)對(duì)擠出機(jī)的控制,使用EditText控件,獲取用戶輸入的值,并且通過建立和擠出機(jī)PLC的Modbus TCP通信,將讀取的值直接寫入特定的保持寄存器、線圈或者輸入寄存器,從而改變預(yù)設(shè)溫度、電機(jī)轉(zhuǎn)速等參數(shù),以完成對(duì)擠出機(jī)的控制。數(shù)據(jù)寫入功能的流程如圖4b 所示。
圖4 軟件監(jiān)控流程
查看監(jiān)控歷史記錄功能,系統(tǒng)軟件采用了數(shù)據(jù)庫(kù)記錄數(shù)據(jù),再?gòu)臄?shù)據(jù)庫(kù)中讀取數(shù)據(jù)來更新數(shù)據(jù)顯示界面,除了方便活動(dòng)和服務(wù)的數(shù)據(jù)交換,還有另外一個(gè)重要原因是,要對(duì)采集的數(shù)據(jù)進(jìn)行記錄。在歷史記錄界面,可以通過選取合適的時(shí)間段來指定顯示的需要查找的歷史記錄。
根據(jù)系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)流程,選用3臺(tái)以S7-1200PLC為下位機(jī)控制器的擠出機(jī)、1部Android系統(tǒng)手機(jī)和1臺(tái)工業(yè)路由器,搭建擠出機(jī)無線監(jiān)控系統(tǒng)。
打開移動(dòng)端監(jiān)控APP,對(duì)其中1臺(tái)擠出機(jī)進(jìn)行監(jiān)控,對(duì)比擠出機(jī)觸摸屏控制面板可以看到,移動(dòng)監(jiān)控界面可以實(shí)時(shí)地讀取擠出機(jī)的溫度、電流和轉(zhuǎn)速等參數(shù)。并能對(duì)擠出機(jī)的運(yùn)行參數(shù)進(jìn)行更改設(shè)定。擠出機(jī)無線監(jiān)控效果如圖5所示。切換其他擠出機(jī)監(jiān)控界面,監(jiān)測(cè)效果相同。通過以上測(cè)試可知,本文所提出的基于Android的擠出機(jī)無線監(jiān)控系統(tǒng)搭建簡(jiǎn)單,易于操作,整體功能完好。
圖5 系統(tǒng)整體測(cè)試監(jiān)控?cái)?shù)據(jù)
基于Android和WiFi技術(shù)開發(fā)了一套擠出機(jī)無線監(jiān)控系統(tǒng)。該系統(tǒng)的監(jiān)控界面運(yùn)行在移動(dòng)終端上,利用WiFi便能和正在運(yùn)行的多臺(tái)擠出機(jī)進(jìn)行通信,并對(duì)多臺(tái)擠出機(jī)進(jìn)行監(jiān)控。經(jīng)過實(shí)驗(yàn)測(cè)試表明,該擠出機(jī)無線監(jiān)控系統(tǒng)監(jiān)控不僅實(shí)時(shí)性好、穩(wěn)定,而且大大提高了擠出機(jī)生產(chǎn)過程中的監(jiān)控效率。隨著工業(yè)控制技術(shù)的發(fā)展和設(shè)備制造技術(shù)的不斷進(jìn)步,基于移動(dòng)端的無線監(jiān)控在未來的自動(dòng)化生產(chǎn)中會(huì)越來越普遍。