李飛
(德州職業(yè)技術(shù)學(xué)院 山東省德州市 253014)
計算機技術(shù)和人工智能的快速發(fā)展,使得智能工業(yè)逐漸成為當(dāng)前設(shè)備加工領(lǐng)域的重要形式。其中,對數(shù)控機床等設(shè)備的數(shù)據(jù)采集、無線通信和遠程監(jiān)控也是當(dāng)前智能工業(yè)領(lǐng)域熱門話題。如何將單片機與PLC無線串行通信技術(shù)進行連接和處理是當(dāng)前數(shù)控設(shè)備數(shù)據(jù)采集研究的重點。湯才剛等采用 STM32型號的單片機作為數(shù)控設(shè)備數(shù)據(jù)采集中的的SD卡,通過該存儲器對數(shù)控工作時的信息進行采集和讀寫,并利用無線網(wǎng)絡(luò)與其采集設(shè)備進行連接,實現(xiàn)了無線通信;譚建斌等針對太陽能跟蹤數(shù)據(jù),設(shè)計并實現(xiàn)了基于STC8F單片機的PLC控制系統(tǒng),通過將單片機與PLC相結(jié)合,提升了太陽能數(shù)據(jù)的實時跟蹤和捕捉;石英等提出基于“單片機+FPGA”,設(shè)計一個數(shù)控機床運作數(shù)據(jù)自動采集和遠程監(jiān)測系統(tǒng),通過數(shù)字芯片對監(jiān)測信息進行讀取和表述,從而提高了遠程監(jiān)測數(shù)據(jù)的準確性?;诖耍蠁纹瑱C與PLC控制系統(tǒng)的原理,針對數(shù)控機床的工作原理,設(shè)計一個生產(chǎn)設(shè)備數(shù)據(jù)采集與遠程監(jiān)控原型系統(tǒng),通過該系統(tǒng)實現(xiàn)單片機的PLC無線串行通信的結(jié)合,從而完成數(shù)據(jù)采集、無線通信和遠程監(jiān)控。
為滿足智能工廠中,機床設(shè)備采集、互聯(lián)網(wǎng)通信和遠程監(jiān)控的需求,將設(shè)計一個多層的數(shù)據(jù)采集與設(shè)備監(jiān)控系統(tǒng)。系統(tǒng)分為五個層級,分別為設(shè)備層、數(shù)據(jù)采集層、網(wǎng)絡(luò)層、數(shù)據(jù)管理層和應(yīng)用層。系統(tǒng)整體架構(gòu)如圖1。
圖1:設(shè)備數(shù)據(jù)采集與遠程監(jiān)控系統(tǒng)架構(gòu)
(1)設(shè)備層主要包括傳感器、數(shù)據(jù)采集卡、通信卡和數(shù)控機床等基礎(chǔ)設(shè)備,其主要負責(zé)為系統(tǒng)提供基礎(chǔ)設(shè)計和數(shù)據(jù)。
(2)數(shù)據(jù)采集層則為所有采集系統(tǒng)集合,作用是通過采集系統(tǒng)進行數(shù)據(jù)采集。 數(shù)據(jù)采集主要包括感知層、信息處理層和應(yīng)用服務(wù)層。感知層中,采集設(shè)備包括數(shù)控機床、PLC設(shè)備數(shù)據(jù)和音視頻等設(shè)備,設(shè)備數(shù)據(jù)采集選用集成西門子840D數(shù)控系統(tǒng)中OPC實時采集數(shù)控機床NC變量。
西門子840D數(shù)控系統(tǒng)硬件主要由機床控制面板、主流電機、數(shù)控單元NCU和人機通訊接口MMC等部分組成。其中,基于OPC實時采集數(shù)控機床NC變量時西門子840D系統(tǒng)進行數(shù)據(jù)采集的主要方式。通過OPC服務(wù)器與其他應(yīng)用程序和服務(wù)器進行連接,可實現(xiàn)數(shù)據(jù)采集和通信,由此實現(xiàn)人機交互功能?;贠PC的數(shù)據(jù)采集方法在系統(tǒng)中擴展性更強,組網(wǎng)方便快捷,數(shù)據(jù)傳輸速度和效率高,通用性強,符合智能工廠各個機床設(shè)備的數(shù)據(jù)采集需求。
數(shù)據(jù)采集前,需對采集系統(tǒng)進行初始化處理,并選取相應(yīng)的配置文件;之后查看其是否需增加變量和連接OPC服務(wù)器,通過對遠程服務(wù)器進行連接后,即可進行數(shù)據(jù)采集,并將數(shù)據(jù)發(fā)送至遠程服務(wù)器中,之后判斷該程序是否完成采集工作,若是,則可斷開OPC和遠程服務(wù)器,結(jié)束采集工作;反之則重新進行數(shù)據(jù)采集。
(3)網(wǎng)絡(luò)層由一個路由器和多個交換機組成,采用車間級以太網(wǎng)進行數(shù)據(jù)交互和傳輸。
(4)數(shù)據(jù)管理層,即邏輯業(yè)務(wù)層,該層主要由多個服務(wù)器、數(shù)據(jù)庫和防火墻組成。
(5)應(yīng)用層通過企業(yè)互聯(lián)網(wǎng)與管理層進行無線通信,其主要負責(zé)對上傳的數(shù)據(jù)進行分析、運算決策和遠程監(jiān)控。
數(shù)據(jù)采集后,即可通過數(shù)據(jù)管理層中的服務(wù)器端進行數(shù)據(jù)通信和傳輸。根據(jù)本數(shù)據(jù)采集和遠程監(jiān)控系統(tǒng)的數(shù)據(jù)傳輸特性,將選用TCP/IP協(xié)議實現(xiàn)網(wǎng)絡(luò)通信,主要分為三步:
(1)服務(wù)器與客戶端間的連接,該連接對象為socket。
(2)連接完成后,通過方法調(diào)用方式對兩個設(shè)備間的通信信息進行監(jiān)聽;當(dāng)客戶機根據(jù)自身需求需求助與服務(wù)器時,客戶機即可通過監(jiān)聽設(shè)備對服務(wù)器發(fā)送請求,服務(wù)器接收請求后再進行信息處理再給與回復(fù)。
(3)服務(wù)器接收信息后,主要采用邏輯層進行信息邏輯分析和分類處理,邏輯分析結(jié)束后,即可將處理結(jié)果反饋至客戶機,由此完成TCP通信。
數(shù)據(jù)傳輸過程中,為保證數(shù)據(jù)的有效性,將對數(shù)據(jù)進行過濾和存儲,避免數(shù)據(jù)丟失和遺漏。針對此問題,基于TCP通信協(xié)議,對傳輸數(shù)據(jù)格式、字段解析方式對數(shù)據(jù)規(guī)則進行定義,從而存儲于數(shù)據(jù)庫。
當(dāng)采集數(shù)據(jù)傳輸至客戶端時,其可生成有效的字符串,并添加相應(yīng)的標志位;從而對該標志為進行奇偶校驗,若該數(shù)為奇數(shù)時,即則其校驗位=0,若該數(shù)為偶數(shù)時,則校驗位為1,完成奇偶校驗后,即可將兩者進行融合,從而組成新的字符串,并將該字符串發(fā)送至服務(wù)器端,服務(wù)端則根據(jù)接收的字符串進行再次校驗處理,若判別該設(shè)備為真時,則對其標志位進行檢查,從而進行數(shù)據(jù)處理,若校驗位假時,則返回至客戶端重新生成有效字符串進行操作,直至校驗為真,即可停止校驗。
采用圖6的數(shù)據(jù)傳輸格式解析,即可得到一個傳輸接口,從而實現(xiàn)采集數(shù)據(jù)的過濾和校驗等操作,從而提升了系統(tǒng)擴展性。
服務(wù)器與客戶機交互完成后,即可通過監(jiān)控端對傳輸數(shù)據(jù)進行分析、運算決策和遠程監(jiān)控。系統(tǒng)監(jiān)控主要分為三個步驟,具體如下:
(1)將監(jiān)控設(shè)備與服務(wù)器進行通信連接,獲取工廠車間內(nèi)的IP地址,通過密碼和用戶名進行賬號登錄;
(2)通過攝像頭對遠程監(jiān)控和環(huán)境信息進行采集,并設(shè)置定時器,當(dāng)采集時長達到定時標準時,定時器將作出反應(yīng),由此實現(xiàn)監(jiān)控信息采集;
(3)最后將數(shù)據(jù)設(shè)置為文件夾,將其保存在服務(wù)器硬盤中,便于后續(xù)數(shù)據(jù)查詢,并結(jié)束監(jiān)控。
為驗證設(shè)計的數(shù)據(jù)采集和遠程監(jiān)控系統(tǒng)是否有效,實驗將B/S架構(gòu)進行系統(tǒng)構(gòu)建,在 VB 語言中引入西門子opc,開發(fā)環(huán)境和平臺分別為DAAutomation2.0中的sopcdaauto.dll文件和MFC,系統(tǒng)信息集成采用Windows API,系統(tǒng)封裝方式為C++。
3.2.1 數(shù)據(jù)采集實現(xiàn)
本系統(tǒng)的數(shù)據(jù)采集實現(xiàn)主要從三個方面入手,分別為數(shù)控設(shè)備采集、PLC數(shù)據(jù)采集和監(jiān)控數(shù)據(jù)采集。
3.2.1.1 數(shù)控設(shè)備采集
選用 OPC服務(wù)器進行數(shù)控設(shè)備采集,采集對象分別為機床主要參數(shù)、安裝配置數(shù)據(jù)和NC數(shù)據(jù)等,設(shè)備常用變量為機床狀態(tài)數(shù)據(jù)、主軸驅(qū)動負載(其中通道和驅(qū)動均為1)、機床當(dāng)前位置、當(dāng)前操作模式、X軸狀態(tài)和X軸進給率等。
確定西門子840D常用變量后,即可利用OPC對數(shù)據(jù)進行訪問和處理,并根據(jù)其常用變量進行變量調(diào)用。根據(jù)OPC設(shè)定事件觸發(fā)器,當(dāng)觸發(fā)器響應(yīng)時即可得到數(shù)控機床具體參數(shù),通過OPC標簽名字數(shù)組,并在程序中對標簽名稱進行讀取操作,由此實現(xiàn)無線串行網(wǎng)絡(luò)與單片機的通信連接。 完成以上操作后,即可獲得數(shù)控機床采集數(shù)控。
得到數(shù)控機床采集數(shù)據(jù)后,即可切斷OPC端連接,并利用串行無線網(wǎng)絡(luò)通信將數(shù)據(jù)傳輸至服務(wù)器端。
3.2.1.2 PLC數(shù)據(jù)采集
PLC數(shù)據(jù)采集采用操作簡單、速度快、適用性強的組態(tài)軟件方式進行實現(xiàn),即安裝與西門子840D相對應(yīng)的WinCC組態(tài)軟件。將其與PLC中的SMATIC產(chǎn)品進行連接后,即可得到采集數(shù)據(jù),從而構(gòu)建PLC變量列表。在PLC列表中選擇一編碼與TCP網(wǎng)絡(luò)通信進行連接,從而將采集數(shù)據(jù)傳輸至服務(wù)器端。
3.2.1.3 監(jiān)控數(shù)據(jù)采集
系統(tǒng)監(jiān)控數(shù)據(jù)采集通過攝像頭開發(fā)接口API和SDK結(jié)合,并在MFC平臺上進行再次開發(fā),之后通過方法調(diào)用方式獲取監(jiān)控信息,根據(jù)想要查看的時間段進行數(shù)據(jù)標簽輸入,即可實現(xiàn)數(shù)據(jù)查詢和存儲。
3.2.2 服務(wù)器端管理功能的實現(xiàn)
服務(wù)器端功能主要從系統(tǒng)界面得以實現(xiàn),該界面中分為服務(wù)器開啟和關(guān)閉功能、數(shù)據(jù)庫配置功能、設(shè)備管理模塊、用戶管理模塊和視頻監(jiān)控模塊。
管理人員根據(jù)所需查詢設(shè)備在系統(tǒng)界面中輸入該設(shè)備編號,設(shè)備名稱等,系統(tǒng)連接無線網(wǎng)絡(luò)后,即可從數(shù)據(jù)庫中匹配出相應(yīng)的設(shè)備IP、在線狀態(tài)和設(shè)備類型等信息,用戶可在該數(shù)控設(shè)備顯示界面中,對設(shè)備信息進行進一步查詢、添加修改、檢索和刪除等操作。由此實現(xiàn)服務(wù)端管理功能實現(xiàn)。
3.2.3 監(jiān)控功能實現(xiàn)
要實現(xiàn)監(jiān)控窗口可視化,主要通過MFC將監(jiān)控視頻界面分為動態(tài)和靜態(tài)形式。管理人員根據(jù)攝像頭監(jiān)控信息,從數(shù)據(jù)庫中選擇某一時間段的設(shè)備信息,即可輸入該設(shè)備IP型號和時間,即可得到PLC監(jiān)控數(shù)據(jù)顯示界面,該界面中包含了設(shè)備的名稱、設(shè)備編號、實際工作圖像、可監(jiān)控變量信息等,管理人員可根據(jù)想要獲取的信息從界面中進行點擊和查詢操作,即可完成PLC控制系統(tǒng)的操作。
3.3.1 測試方案
為驗證設(shè)計系統(tǒng)的功能性,實驗將對系統(tǒng)性能和各功能模塊進行測試,具體測試方案如下所示。
(1)測試工具選擇。首先對測試腳本信息進行提前設(shè)置,選用Load Runner工具進行系統(tǒng)測試,并采用多臺測試終端服務(wù)器進行測試。
(2)測試數(shù)據(jù)準備。其中,測試數(shù)據(jù)的內(nèi)容為對一個省份內(nèi)全部管理人員和志愿者信息進行登錄維護。
(3)測試場景參數(shù)設(shè)置。根據(jù)不同的實驗場景,對其不同的參數(shù)進行設(shè)置。
(4)測試啟動。根據(jù)以上測試腳本進行參數(shù)設(shè)置和并發(fā)用戶輸入。
(5)實時監(jiān)控系統(tǒng)的表現(xiàn)參數(shù)。分別對TPS、ART、CPUT占用率、內(nèi)存占用率、輸入輸出IO等參數(shù)進行監(jiān)控,并實時查看系統(tǒng)各個功能模塊的運行狀況。
(6)測試完成,給出最終測試結(jié)果并進行具體分析,給出相應(yīng)的解決措施。
3.3.2 測試指標
根據(jù)設(shè)定的測試方案,采用以下評價指標對實驗結(jié)果進行評估:
(1)由用戶登錄系統(tǒng)的并發(fā)量大小、系統(tǒng)作出反應(yīng)的響應(yīng)時間對系統(tǒng)性能進行評估。
(2)查看用戶通過賬號密碼成功登錄系統(tǒng)后,系統(tǒng)各個設(shè)備和數(shù)據(jù)是否正常。
(3)對系統(tǒng)輸入不同大小的數(shù)據(jù),從而對系統(tǒng)服務(wù)器CPU、內(nèi)存和反饋時間進行判斷。
3.3.3 測試環(huán)境
為取得更好的實驗結(jié)果,將按照1:1比例還原真實環(huán)境下的生產(chǎn)狀態(tài)。并分別對系統(tǒng)性能、應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器性能進行測試,具體配置信息如下:
表1:系統(tǒng)測試缺陷清單列表
(1)Load Runner控制器,壓力測試服務(wù)器與Load Runner控制器相互配合,對運行腳本進行測試。并選擇普通的PC機器作為測試服務(wù)器,其硬件配置選用2個CPU,內(nèi)存大小為4GB,硬盤大小為500G,光纖大小為100M,軟件設(shè)置中,選用Window作為操作系統(tǒng),Load Runner選用9.5版本。
(2)應(yīng)用服務(wù)器主要負責(zé)系統(tǒng)應(yīng)用測試。依舊選用普通PC機器作為測試服務(wù)器,其硬件環(huán)境選用4CPU、8GB內(nèi)存和500G硬盤,光纖依舊為100M。系統(tǒng)軟件選擇Linux和Tomcat7.0。
(3)數(shù)據(jù)庫服務(wù)器與應(yīng)用服務(wù)器選用同種硬件配置,軟件配置則選用Linux、MySQL5.5進行測試。
3.3.4 測試結(jié)果
在以上測試環(huán)境下,將對系統(tǒng)正常運行時的CPU、內(nèi)存大小和響應(yīng)時間進行分析,在相同時間段內(nèi),由50名用戶進行系統(tǒng)并發(fā)操作后,得到測試結(jié)果如下:
從圖2結(jié)果能夠直觀的看出,相同條件下,50名用戶進行并發(fā)測試后,系統(tǒng)始終保持較為穩(wěn)定的狀態(tài),CPU使用率最高僅為25%,處于相對較低狀態(tài)。由此可知,通過50名用戶對系統(tǒng)進行并發(fā)測試對系統(tǒng)影響較小,系統(tǒng)無明顯卡頓現(xiàn)象。
圖2:50名用戶并發(fā)測試結(jié)果
因此,為進一步驗證系統(tǒng)性能,將并發(fā)用戶增加至100個,得到的系統(tǒng)測試結(jié)果如下:
從圖3結(jié)果可知,用戶并發(fā)量增加至100個時,系統(tǒng)仍無明顯卡頓和反饋慢的現(xiàn)象,且系統(tǒng)響應(yīng)時間依舊保持較好。CPU占用率增加了20%左右,但對系統(tǒng)內(nèi)存無較大影響。由此說明,即使增加了并發(fā)量,系統(tǒng)依舊可以取得較好的測試結(jié)果,系統(tǒng)性能優(yōu)越。
圖3:100名用戶并發(fā)測試結(jié)果
通過以上測試結(jié)果對系統(tǒng)測試的缺陷進行清單列表,得到的列表如下:
從表1中可以看出,系統(tǒng)在50~100個并發(fā)量的狀態(tài)下,除CPU占用率有所增加外,其他方面均保持穩(wěn)定,無明顯變化,由此說明該系統(tǒng)性能穩(wěn)定性較強,具備一定的有效性,通過以上改進措施即可提升系統(tǒng)性能,避免缺陷發(fā)生。
綜上所述,設(shè)計的生產(chǎn)設(shè)備數(shù)據(jù)采集與遠程監(jiān)控原型系統(tǒng)性能優(yōu)越,可實現(xiàn)數(shù)控機床智能工廠中數(shù)據(jù)采集、單片機與PLC無線串行通信和遠程監(jiān)控。測試結(jié)果表明,通過50名并發(fā)用戶進行系統(tǒng)測試后,系統(tǒng)可在短時間內(nèi)給與反饋和回復(fù),響應(yīng)時間較短,且系統(tǒng)CPU使用率保持在較低水平。將并發(fā)用戶增加至100人時,除CPU占用率少量增加外,系統(tǒng)依舊處理平穩(wěn)狀態(tài)。由此說明,系統(tǒng)受并發(fā)量的影響較小,系統(tǒng)穩(wěn)定性較強,各功能模塊性能優(yōu)越。