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