羅守品,楊 濤
(西南科技大學信息工程學院,四川 綿陽 621000)
自動導(dǎo)引小車(automated guided vehicle,AGV)是現(xiàn)代工業(yè)生產(chǎn)中重要的運輸設(shè)備,其投入使用極大地提高了工廠的運輸和生產(chǎn)效率,減少了人力成本,是數(shù)字化工廠中不可缺少的組成部分。同時,現(xiàn)行的設(shè)備監(jiān)控方案多使用視屏監(jiān)控系統(tǒng),在中控室通過視屏影像集中監(jiān)控設(shè)備運行狀況[1]。其優(yōu)點是通過可視化監(jiān)控手段,使監(jiān)控效果清晰明了[2]。但其不足之處在實際使用過程中也同樣十分突出。首先,視屏監(jiān)控只能通過設(shè)備的外現(xiàn)判斷設(shè)備是否工作正常,如堵塞停止、沖撞損害、短路燒毀等,當設(shè)備表現(xiàn)出明顯故障時,往往已經(jīng)造成較嚴重的生產(chǎn)事故,無法實時監(jiān)控設(shè)備的實際工作狀況和運行狀態(tài)[3]。其次,視屏監(jiān)控對于遠端監(jiān)控較為有利,但現(xiàn)場工作人員更希望設(shè)備本身能夠顯示其工作狀態(tài)及實時運行任務(wù)等信息,以便直接判斷設(shè)備的工作狀況,從而有較為充裕的時間處理設(shè)備特殊狀況及調(diào)整相關(guān)生產(chǎn)運行任務(wù),達到提高生產(chǎn)效率的目的。同時,現(xiàn)有的大多數(shù)監(jiān)控系統(tǒng)大多獨立于整個設(shè)備系統(tǒng),數(shù)據(jù)獲取不便且監(jiān)控具有時間延時,無法達到實時監(jiān)控的目的[4],很難實現(xiàn)監(jiān)控系統(tǒng)的信息共享和平臺的無縫連接,為后期系統(tǒng)平臺的升級和改造帶來諸多不便。
針對以上設(shè)備監(jiān)控的實際需求,本文提出并設(shè)計了一種基于Qt的AGV實時任務(wù)監(jiān)控系統(tǒng)。該系統(tǒng)選用15英寸(1英寸=25.4 mm)工控機作為終端顯示設(shè)備,使用Qt完成上位機的設(shè)計與編寫,構(gòu)建面向局域網(wǎng)的OPC系統(tǒng)框架[5]。利用AGV系統(tǒng)網(wǎng)絡(luò),實時同步訪問接收來自系統(tǒng)的調(diào)度任務(wù)信息和AGV的車身狀態(tài)數(shù)據(jù)信息。通過對數(shù)據(jù)進行分析解碼后在終端實時顯示其工作狀況,并使用SQL Server 2008數(shù)據(jù)庫記錄設(shè)備運行時的調(diào)度指令、故障狀況等數(shù)據(jù)信息。同時,系統(tǒng)設(shè)計根據(jù)需求采用模塊化的設(shè)計方法,減少子系統(tǒng)間的系統(tǒng)耦合度,便于后期系統(tǒng)的維護與升級。
系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖
為充分適應(yīng)一線生產(chǎn)對設(shè)備監(jiān)控的實際需求,該系統(tǒng)設(shè)計分為三層,分別為數(shù)據(jù)獲取層、通信傳輸層和應(yīng)用顯示層[6]。數(shù)據(jù)獲取層主要完成對AGV的調(diào)度任務(wù)信息和狀態(tài)數(shù)據(jù)信息的獲取。其中,調(diào)度任務(wù)信息在其有效時間段內(nèi)存儲于AGV調(diào)度系統(tǒng)SQL Server 2008數(shù)據(jù)庫的MianYangAGVWork數(shù)據(jù)表中,AGV車身狀態(tài)數(shù)據(jù)實時保存于AGV本地Access數(shù)據(jù)庫的EVY-DSC數(shù)據(jù)表中。通信傳輸層在數(shù)據(jù)獲取層工作完成后,同步將數(shù)據(jù)傳輸至終端設(shè)備,用于后續(xù)數(shù)據(jù)處理。同時,系統(tǒng)通信使用AGV調(diào)度網(wǎng)絡(luò)進行局域網(wǎng)傳輸通信,減少了額外通信設(shè)備的采購和安裝。應(yīng)用顯示層在接收到其需要的AGV各項數(shù)據(jù)信息后,對數(shù)據(jù)進行分析處理,包括數(shù)據(jù)解碼、信息匹配等。
系統(tǒng)實際工作時,所處環(huán)境為工廠一線生產(chǎn)區(qū)域,環(huán)境較為復(fù)雜。終端設(shè)備具有運行穩(wěn)定、觸摸控制、低功耗、風冷散熱等優(yōu)點。設(shè)備同時加裝WiFi模塊,可進行局域網(wǎng)通信,搭載Window7系統(tǒng)作為監(jiān)控系統(tǒng)運行環(huán)境。
不同于常規(guī)固定監(jiān)控終端,本設(shè)計中的終端設(shè)備安裝于AGV車身,小車移動運行和取卸貨物時,不可避免地會產(chǎn)生持續(xù)震動,對電子設(shè)備的穩(wěn)定性及使用壽命造成極大的危害,極易造成設(shè)備器件松動而導(dǎo)致短路損壞等情況。為解決設(shè)備安裝固定及AGV運行過程中的震動對終端設(shè)備造成的不良影響,設(shè)計了一套支架結(jié)構(gòu)及相應(yīng)的減震機構(gòu)。該機構(gòu)主要由固定絲桿、牛筋減震墊圈、支撐支架等組成,其結(jié)構(gòu)如圖2所示。 實際測試和使用表明,該機構(gòu)可完成對終端設(shè)備的固定安裝和有效減少AGV運動時的震動影響。
圖2 支架結(jié)構(gòu)示意圖
終端設(shè)備運行工作時,需要提供12 V直流電源。但AGV運動時無法使用固定電源輸入。對此,考慮使用AGV車載電源經(jīng)穩(wěn)壓器,為工控機供電。但實地考察和運行測試后發(fā)現(xiàn),AGV車載電源存在運行電壓不穩(wěn)、充電電壓劇烈跳變、關(guān)斷頻繁等諸多問題。為解決電源不穩(wěn)定為設(shè)備帶來的潛在風險,保障系統(tǒng)正常運行,根據(jù)實際需求設(shè)計和制作了一款電源模塊,主要由濾波器、直流空氣開關(guān)、開關(guān)穩(wěn)壓電源組成。電源模塊結(jié)構(gòu)如圖3所示。實地運行測試表明,所設(shè)計的電源模塊可有效解決AGV系統(tǒng)電源不穩(wěn)定問題,能為終端設(shè)備提供穩(wěn)定、可靠的電能。
圖3 電源模塊結(jié)構(gòu)示意圖
系統(tǒng)上位機使用Qt完成相關(guān)應(yīng)用開發(fā)。Qt是一種跨平臺C++圖形用戶界面程序開發(fā)軟件,使用組件編程,可實現(xiàn)應(yīng)用程序的快速開發(fā)和跨平臺使用。
系統(tǒng)開發(fā)過程中,綜合考慮系統(tǒng)功能實現(xiàn)和系統(tǒng)響應(yīng)速度優(yōu)化,針對不同系統(tǒng)功能采用不同類實現(xiàn),減少了子系統(tǒng)間的耦合度。對于實時性和重要性要求較低的監(jiān)控內(nèi)容,系統(tǒng)將自動降低其刷新速率或處于待機狀態(tài),以減少系統(tǒng)運行時的資源占用,提高系統(tǒng)響應(yīng)速度。此次系統(tǒng)開發(fā)設(shè)計中完成了對AGV調(diào)度任務(wù)數(shù)據(jù)信息和狀態(tài)數(shù)據(jù)信息的實時監(jiān)控,并于終端設(shè)備動態(tài)顯示。在獲取相關(guān)數(shù)據(jù)后,將原始數(shù)據(jù)和系統(tǒng)解析后的數(shù)據(jù)信息保存于本地數(shù)據(jù)庫形成歷史記錄,以便查詢[7],這也為日后可能的系統(tǒng)升級維護等提供數(shù)據(jù)支持。系統(tǒng)功能如圖4所示。
圖4 系統(tǒng)功能示意圖
系統(tǒng)上線運行時,共分為兩種運行模式,分別為模擬測試及工作運行模式。管理員登錄后,可根據(jù)需求手動選擇。系統(tǒng)默認為工作運行模式[8]。使用模擬測試模式時,系統(tǒng)將使用本地數(shù)據(jù)庫預(yù)存數(shù)據(jù)作為試驗數(shù)據(jù)來源,檢驗系統(tǒng)相關(guān)功能和穩(wěn)定性,相關(guān)試驗數(shù)據(jù)可由工作人員手動設(shè)置。工作運行模式時,管理員登錄成功后系統(tǒng)將自動進行通信連接,使用AGV系統(tǒng)網(wǎng)絡(luò)自動訪問相關(guān)數(shù)據(jù)表,獲取系統(tǒng)所需數(shù)據(jù)信息并進行解碼和信息匹配。在完成數(shù)據(jù)處理后,在終端設(shè)備實時顯示AGV工作狀態(tài),實現(xiàn)系統(tǒng)監(jiān)控功能。
當AGV發(fā)生堵塞停止、運行沖撞等故障時,系統(tǒng)將自動記錄下相關(guān)故障狀態(tài)信息,包括故障車輛編碼、故障時間、故障類型等,為維護檢修提供數(shù)據(jù)參考。同時,在獲取故障信息后,將自動發(fā)送故障信息給予指定的工作人員,提醒檢修維護。現(xiàn)行提示方式為通過短信發(fā)送,信息內(nèi)容包括故障車輛編號、故障類型及故障車輛位置信息等。系統(tǒng)軟件設(shè)計流程如圖5所示。
圖5 系統(tǒng)軟件設(shè)計流程圖
在完成系統(tǒng)架構(gòu)設(shè)計時,對實地考察AGV的運行使用情況和相關(guān)監(jiān)控系統(tǒng)的設(shè)計思路進行分析。為避免由于數(shù)據(jù)大量傳送及處理時占用系統(tǒng)資源而導(dǎo)致的系統(tǒng)卡頓情況,在系統(tǒng)架構(gòu)設(shè)計時,對相關(guān)功能頁面進行編碼,選用區(qū)分功能模塊更新的方式[9]。
系統(tǒng)正常運行時,實時刷新AGV的調(diào)度任務(wù)信息和故障信息,并進行保存,且該線程一直處于運行狀態(tài)。但對于AGV的車身狀態(tài)信息及位置信息等,特別是對于AGV的車身狀態(tài)信息,其數(shù)據(jù)解析量較大。若全系統(tǒng)同步工作,監(jiān)控系統(tǒng)將出現(xiàn)卡頓現(xiàn)象,降低監(jiān)控效果[10]。對于該部分系統(tǒng)功能,系統(tǒng)運行時將默認為待機狀態(tài),只有當工作人員選擇該子系統(tǒng)功能頁面時,才觸發(fā)對應(yīng)系統(tǒng)線程,系統(tǒng)開始運行相關(guān)程序?qū)崿F(xiàn)監(jiān)控[11]。整個系統(tǒng)運行過程中,故障監(jiān)控及報警具有最高優(yōu)先級,同時系統(tǒng)刷新時間預(yù)設(shè)為500 ms。系統(tǒng)功能頁面編碼如圖6所示。
圖6 系統(tǒng)功能頁面編碼圖
系統(tǒng)上位機使用Qt編寫,其豐富的類功能庫和UI控件設(shè)計功能可實現(xiàn)上位機界面的快速開發(fā)和跨平臺運行。實際運行時上位機安裝于終端設(shè)備,隨AGV的移動而移動,工作人員可直觀地查看AGV的各項狀態(tài)信息和任務(wù)信息等。同時,登錄成功后進入二級功能選擇界面,用戶可根據(jù)需求選擇相應(yīng)的系統(tǒng)功能。
具體系統(tǒng)功能如下。
①管理員登錄與注冊。該功能允許系統(tǒng)使用人員進行系統(tǒng)登錄校驗,只有相關(guān)工作人員擁有系統(tǒng)權(quán)限,防止無關(guān)人員誤操作。
②系統(tǒng)設(shè)置。該功能允許用戶修改賬戶密碼、選擇系統(tǒng)運行模式、設(shè)置系統(tǒng)訪問IP地址、訪問數(shù)據(jù)庫名等信息。
③調(diào)度任務(wù)信息顯示。該功能將實時顯示AGV的調(diào)度任務(wù)信息,如取卸貨站點、物料類型、工作類型、完成狀態(tài)、任務(wù)開始時間等。
④故障顯示及報警。該功能將記錄AGV運行過程中出現(xiàn)的各類故障信息,并將故障類型、小車編號、車輛位置信息等發(fā)送給指定工作人員。
⑤實時地圖。該功能將獲取的AGV實時位置信息與AGV的實際工作地圖相匹配,從而實現(xiàn)位置的實時顯示。
⑥歷史記錄查詢。該功能允許管理員查看監(jiān)控系統(tǒng)運行過程中記錄的各項任務(wù)調(diào)度、運行狀態(tài)、故障狀態(tài)等信息。
在完成系統(tǒng)軟件編寫和相關(guān)的硬件安裝調(diào)試后,首先于試驗環(huán)境完成對系統(tǒng)的模擬測試,并在AGV實際運行的輔料庫,完成對系統(tǒng)的各項功能測試和上線運行觀察。測試內(nèi)容主要包括各子系統(tǒng)刷新時間、系統(tǒng)管理員登錄和注冊、調(diào)度任務(wù)指令監(jiān)測、AGV車身狀態(tài)監(jiān)測等。各子系統(tǒng)刷新時間測試結(jié)果如表1所示。實地測試表明,各子系統(tǒng)均在500 ms時間內(nèi)完成對其監(jiān)控功能的實現(xiàn)和運行,滿足設(shè)計需求。
表1 子系統(tǒng)刷新時間記錄
為檢驗系統(tǒng)上線運行后的實際工作情況,主要包括檢驗系統(tǒng)硬件的穩(wěn)定性和可靠性、系統(tǒng)軟件的功能實現(xiàn)情況和運行穩(wěn)定性,分別每隔一周實地進行檢查,觀察整機系統(tǒng)運行狀態(tài)和完成相關(guān)功能測試。經(jīng)過多次實地運行觀測,該系統(tǒng)穩(wěn)定、可靠,可完成對AGV各項狀態(tài)信息的實時監(jiān)控。
針對AGV實際運行的具體情況和工作特點,本文分析了現(xiàn)有視屏監(jiān)控方案的不足和相關(guān)工作人員的實際需求,設(shè)計了一款基于Qt的AGV實時任務(wù)監(jiān)控系統(tǒng)。該系統(tǒng)主要由系統(tǒng)硬件和監(jiān)控軟件組成。其中,系統(tǒng)硬件主要包括終端顯示設(shè)備、支架及減震結(jié)構(gòu)和系統(tǒng)電源。系統(tǒng)監(jiān)控軟件主要完成數(shù)據(jù)獲取、傳輸及解碼顯示三個部分,實現(xiàn)了對AGV的調(diào)度任務(wù)信息、狀態(tài)數(shù)據(jù)信息、故障信息,實時地圖位置信息等實時更新和動態(tài)顯示。為現(xiàn)場工作人員提供AGV的各項實時數(shù)據(jù)信息,便于對AGV有效管理和運用。試驗測試和實地運行表明,該系統(tǒng)可有效地完成對AGV的各項調(diào)度任務(wù)信息和狀態(tài)信息的實時監(jiān)控、記錄故障數(shù)據(jù)和發(fā)送故障信息、實時更新AGV的地圖位置信息等,與AGV原有系統(tǒng)實現(xiàn)了無縫連接,滿足設(shè)計要求,具有較高的工程應(yīng)用價值。