何用輝
(福建信息職業(yè)技術(shù)學(xué)院機(jī)電工程系,福州350003)
自動化立體倉庫是當(dāng)代工業(yè)生產(chǎn)中物流技術(shù)、倉儲技術(shù)、自動化技術(shù)與計算機(jī)技術(shù)高度集成化的產(chǎn)物,它集存儲、輸送、管理等功能于一體,是工廠物流和FMS中的重要環(huán)節(jié)。iFIX是美國GE公司的工控組態(tài)軟件,融合控制、網(wǎng)絡(luò)、數(shù)據(jù)庫、人機(jī)界面等技術(shù)為一體,軟件功能強(qiáng)大,組態(tài)靈活方便,可靠性高。基于iFIX的立體倉庫監(jiān)控系統(tǒng)是實現(xiàn)立體倉庫自動化控制的重要部分,基于iFIX組態(tài)軟件平臺,可有效設(shè)計與實現(xiàn)倉庫運(yùn)行實時過程監(jiān)控、數(shù)據(jù)采集、報表查詢打印、報警及報警管理等監(jiān)控功能。
立體倉庫監(jiān)控系統(tǒng)采用上、下位機(jī)組織結(jié)構(gòu),監(jiān)控系統(tǒng)各控制器之間通過工業(yè)以太網(wǎng)絡(luò)通信連接,實現(xiàn)現(xiàn)場控制與遠(yuǎn)程管理的運(yùn)行模式?;趇FIX組態(tài)軟件和OPC(OLE for process control)服務(wù)器運(yùn)行于上位的遠(yuǎn)程監(jiān)控計算機(jī),實時進(jìn)行整個立體倉庫出入庫運(yùn)行狀態(tài)監(jiān)控、倉庫信息管理和倉庫數(shù)據(jù)信息查詢。下位PACSystemsRX3i控制器接受上位監(jiān)控計算機(jī)的監(jiān)控,直接控制現(xiàn)場立體倉庫的工作運(yùn)行,實時采集過程數(shù)據(jù),通過交換機(jī)實現(xiàn)與上位監(jiān)控計算機(jī)互換數(shù)據(jù)信息的功能。Quickpanel觸摸屏是設(shè)備現(xiàn)場人機(jī)界面設(shè)備,進(jìn)行立體倉庫現(xiàn)場設(shè)備的操作與控制,圖1為自動化立體倉庫監(jiān)控系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)示意圖。
圖1 自動化立體倉庫監(jiān)控系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)示意圖
實現(xiàn)立體倉庫監(jiān)控系統(tǒng)的上位機(jī)與下位機(jī)之間的通信,首先需了解整個監(jiān)控系統(tǒng)的通信機(jī)制,并在此基礎(chǔ)上完成iFIX組態(tài)軟件與PACSystemsRX3i控制器的通信配置。
如圖2所示的監(jiān)控系統(tǒng)通信機(jī)制中,由PACSystemsRX3i控制器采集現(xiàn)場數(shù)據(jù),并保存在CPU模塊的數(shù)據(jù)塊中。PACSystemsRX3i控制器不斷循環(huán)運(yùn)行包括內(nèi)部處理、通信服務(wù)、輸入采樣、程序執(zhí)行、輸出刷新等5個過程,其CPU通過以太網(wǎng)與上位機(jī)建立連接,GE9 I/O驅(qū)動器獲取CPU模塊中的數(shù)據(jù)。GE9驅(qū)動器配置包括通道Channel、設(shè)備Device、數(shù)據(jù)塊 Date Block等3個層次對象;iFIX通過GE9-GE Ethernet Series 90 v7.19a(I/O驅(qū)動器),按照采樣率,從Date Block對象中讀取數(shù)據(jù),保存在驅(qū)動器映像表DIT(driver image table)中;掃描報警控制程序SAC依照配置的掃描時間,從DIT中讀取數(shù)據(jù)保存到過程數(shù)據(jù)庫PDB(process database)中,最后歷史數(shù)據(jù)、畫面顯示、操作指令等應(yīng)用便可通過標(biāo)簽名、節(jié)點(diǎn)名及域名訪問PDB,完成iFIX讀取 PACSystemsRX3i控制器數(shù)據(jù)的過程,二者之間的數(shù)據(jù)流是雙向的,可通過相反的順序使iFIX向PACSystemsRX3i控制器寫入數(shù)據(jù)。
圖2 監(jiān)控系統(tǒng)通信機(jī)制
將PACSystemsRX3i控制器與上位機(jī)通過以太網(wǎng)以及交換機(jī)物理連接,然后進(jìn)行PACSystems RX3i系統(tǒng)配置和iFIX的配置。
2.2.1 PACSystems RX3i系統(tǒng)配置
啟動Proficy Machine Edition軟件,創(chuàng)建并命名工程及選擇工程類型 PACSystems RX3i,通過Logic Developer-PLC配置PLC硬件。CPU上電及其運(yùn)行過程實時檢查軟硬件中的機(jī)架和配置模塊匹配情況。二者間的配置差別作為配置故障報告給CPU報警處理器。軟件中硬件配置及參數(shù)設(shè)置如下:
(1)配置項目標(biāo)簽屬性,選擇通訊方式為ETHERNET,并設(shè)置IP地址;
(2)依據(jù)實際機(jī)架上模塊位置,在 Hardware Configuration中添加配置相應(yīng)的模塊;
(3)完成硬件配置后,設(shè)置相應(yīng)模塊的通信參數(shù),設(shè)置主要包括:
(a)設(shè)置臨時IP地址,輸入以太網(wǎng)通訊模塊ETM001的12位MAC地址以及IP地址。(b)設(shè)置以太網(wǎng)模塊ETM001IP地址,與臨時IP地址一致;設(shè)置計算機(jī)的IP地址,與以太網(wǎng)模塊IP地址在同一個網(wǎng)段內(nèi)。(c)設(shè)置 IC694ACC300模塊的Reference Address(I/O口地址)為%I00001。
2.2.2 iFIX的配置
SCU(System Configuration Utility)文件為iFIX的系統(tǒng)配置文件,通過配置SCU完成iFIX節(jié)點(diǎn)的報警、網(wǎng)絡(luò)、安全、數(shù)據(jù)庫等內(nèi)容配置。在SCU的本地啟動中,設(shè)置本地節(jié)點(diǎn)名為FIX,組態(tài)文件為當(dāng)前文件;在設(shè)置 SCADA組態(tài)窗口中,選擇啟用SCADA,選擇數(shù)據(jù)庫名稱,I/O驅(qū)動器選擇GE9-GE Fanuc Ethernet Series 90 v7.19a,表示通過GE9方式獲取數(shù)據(jù);點(diǎn)擊配置,與本地服務(wù)器建立聯(lián)系,成功后彈出Power-Tool應(yīng)用程序,用于建立GE9與本地服務(wù)器的連接,在Powe-Tool增加一個Channel,命名為Channel,并激活;接著增加設(shè)備Device,在Primary Device IP設(shè)置PACSystemsRX3i控制器的IP為3.0.0.2,并激活;最后增加數(shù)據(jù)塊Date Block,設(shè)置 I/O地址,并激活。
完成后進(jìn)行測試通訊,可在Date Block下看到測試信息,在Data項中顯示Good,說明通訊成功,完成后保存配置文件;接著進(jìn)行任務(wù)配置,在iFIX根目錄下選擇添加工作臺WorkSpace;最后設(shè)置報警區(qū),以供設(shè)置變量報警和報警一覽表時使用;配置結(jié)束后保存配置文件并確認(rèn)修改注冊表。這樣就完成了iFIX與PACSystems RX3i系統(tǒng)的基本通信。
本立體倉庫組態(tài)監(jiān)控系統(tǒng)程序采用iFIX4.5工控組態(tài)軟件開發(fā)實現(xiàn),其設(shè)計開發(fā)包括構(gòu)建過程數(shù)據(jù)庫、監(jiān)控界面設(shè)計與編程、監(jiān)控系統(tǒng)運(yùn)行調(diào)試等方面內(nèi)容。
構(gòu)建立體倉庫過程數(shù)據(jù)庫時,先要通過FIX本地節(jié)點(diǎn)和已配置的SCU文件啟動iFIX。打開數(shù)據(jù)管理器,添加一個數(shù)字量輸出型的數(shù)據(jù)塊,命名標(biāo)簽名DI1 X_AXIS_FROWARD_0。接著進(jìn)行GE9-GE Fanuc Ethernet Series 90 v7.19a驅(qū)動器選擇和Device0:Q5 I/O地址配置,完成掃描時間設(shè)定、輸出選項啟用、數(shù)據(jù)塊保存等,再刷新數(shù)據(jù)庫便可看到PLC中Q5的值。以相同的方式添加立體倉庫其他的過程數(shù)據(jù)塊,并加以保存整個數(shù)據(jù)庫,通過組態(tài)畫面調(diào)用這些過程數(shù)據(jù)庫,便可將PLC中該些過程數(shù)據(jù)顯示出來。
監(jiān)控系統(tǒng)界面主要包括主控制界面、倉庫運(yùn)行歷史信息查詢界面、倉庫運(yùn)行歷史報警查詢界面、自動控制界面、手動控制界面。
3.2.1 主監(jiān)控界面
主監(jiān)控界面主要由標(biāo)題區(qū)、狀態(tài)顯示區(qū)、動畫仿真區(qū)3個區(qū)域組成,是模擬仿真立體倉庫現(xiàn)場運(yùn)行狀況的監(jiān)控界面。標(biāo)題區(qū)繪制出主監(jiān)控界面標(biāo)題;狀態(tài)顯示區(qū)顯示主機(jī)當(dāng)前工作運(yùn)行狀態(tài)和倉位存儲狀態(tài),打開自動控制按鈕,顯示出自動控制界面,可直接控制系統(tǒng)的執(zhí)行存貨或取貨過程;動畫仿真區(qū)直觀形象地實時監(jiān)控堆垛機(jī)進(jìn)行存貨或取貨時的動態(tài)運(yùn)行過程和倉位存儲狀態(tài),如圖3所示為立體倉庫主監(jiān)控界面。
圖3 立體倉庫主監(jiān)控界面
完成主監(jiān)控畫面3個區(qū)域繪制后,便可對畫面上按鈕、狀態(tài)顯示、報警一覽表等功能對象進(jìn)行定義,建立畫面事件連接,通過VBA腳本語言實現(xiàn)功能。VBA(Visual Basic for Applications)是iFIX內(nèi)建的標(biāo)準(zhǔn)腳本編寫語言,可制定和擴(kuò)展iFIX的功能;可靈活運(yùn)用、搜索和修改iFIX應(yīng)用程序的數(shù)據(jù);能利用Microsoft Excel文檔的信息靈活操作iFIX的對象。
比如堆垛機(jī)X軸右移行走的功能對象Group40,事件對象名稱為X_Forward_to,描述為X軸向右運(yùn)動時發(fā)生,事件類型總為真,時間間隔10 ms,事件源為 Fix32.THISNODE.X_AXIS_FROWARD_0.F_CV。Group40運(yùn)動軌跡是一條斜線,VBA腳本編程時將運(yùn)動軌跡分為水平的軌跡與垂直的軌跡,通過Group40的HorizontalPosition屬性與VerticalPosition屬性讓事件發(fā)生時每次水平與垂直方向都增加一定的位移量,實現(xiàn)X軸斜線右移。Group40的VBA腳本編寫如下:
3.2.2 倉庫運(yùn)行歷史信息查詢界面
倉庫運(yùn)行歷史信息查詢界面主要實現(xiàn)對立體倉庫各倉位貨物的存取情況進(jìn)行反饋及處理,生成歷史數(shù)據(jù)報表,為后期的歷史數(shù)據(jù)查詢提供方便。本歷史信息查詢界面主要包括倉位歷史信息表和倉位存取信息表2個查詢類型,用戶可選擇查詢類型、查詢時間段,就可在歷史數(shù)據(jù)報表中顯示相應(yīng)時間段內(nèi)各倉位的歷史存取數(shù)據(jù)。圖4為倉庫運(yùn)行歷史信息查詢流程圖。
圖4 倉庫運(yùn)行歷史信息查詢流程圖
以倉位歷史信息表為例具體說明歷史信息查詢制作過程。在倉庫運(yùn)行歷史信息查詢界面中,創(chuàng)建添加打印查詢、保存、返回按鈕;相繼從OLE對象中選擇插入單選按鈕Microsoft Forms 2.0 Option-Button;插入日期時間選擇控件Microsoft Date and Time Picker Control 6.0顯示選擇查詢時間段,并修改Format屬性為2-dtpTime;插入web瀏覽器Microsoft web Browser顯示報表數(shù)據(jù)的查詢結(jié)果;制作一個 EXCEL報表作為時間日期查詢模板結(jié)果,并將它放在E:、GE9APP的目錄下。倉位歷史信息表的制作要求能根據(jù)日期時間控件顯示的時間,將查詢結(jié)果通過web瀏覽器以EXCEL報表的形式顯示;用戶任意更改2個時刻的日期時間,點(diǎn)擊查詢按鈕后,web瀏覽器能顯示2個時刻段的歷史數(shù)據(jù)。根據(jù)圖5所示報表查詢流程,界面中報表查詢的VBA腳本如下:
圖5 報表查詢流程圖
3.2.3 倉庫信息歷史報警查詢界面
倉庫信息歷史報警查詢界面是對立體倉庫現(xiàn)場設(shè)備出現(xiàn)故障進(jìn)行報警,并記錄報警時的參數(shù)信息,以便管理員通過查詢歷史報警信息,分析處理出現(xiàn)的問題。本歷史報警查詢界面包括對軟件運(yùn)行狀態(tài)的查詢和報警及操作歷史的查詢,在選擇不同的時間段內(nèi)可以查詢歷史報警信息并可打印。以制作報警及操作歷史查詢?yōu)槔?分別添加查閱與打印按鈕,從OLE對象選擇插入web瀏覽器Microsoft web Browser顯示報警數(shù)據(jù)的查詢結(jié)果。
報警時需要啟動報警文件服務(wù);報警配置,選擇報警文件格式配置;啟用報警處理。依據(jù)如圖6所示倉庫信息歷史報警及操作查詢流程圖。報警及操作歷史查詢操作區(qū)內(nèi)的有無報警文件查閱的VBA腳本如下:
圖6 倉庫信息歷史報警查詢流程圖
下載并運(yùn)行立體倉庫系統(tǒng)的控制程序和人機(jī)界面。將iFIX切換到運(yùn)行模式,進(jìn)入主控界面,選擇倉位位置運(yùn)行,組態(tài)畫面能動態(tài)準(zhǔn)確顯示到達(dá)該倉位位置;當(dāng)完成存貨時,倉位狀態(tài)中倉位由綠色無貨物狀態(tài)變?yōu)榧t色有貨物狀態(tài)。切換到倉位運(yùn)行歷史信息查詢界面,選擇倉位歷史信息表或倉位存取信息表查詢類型。選擇倉位歷史信息表,可根據(jù)需要選擇某一時間段,查詢該時段的數(shù)據(jù)信息;選擇倉位存取信息表,選擇欲查詢的倉位,查詢該倉位信息。選擇歷史報警查詢按鈕,畫面切換到倉庫運(yùn)行歷史報警查詢界面,在報警及操作歷史查詢中,選擇想要查詢的日期,查閱,即可顯示該日的報警。如果無報警事件,則彈出無此日報警。軟件運(yùn)行狀態(tài)歷史查詢與報警操作歷史類似。
本立體倉庫監(jiān)控系統(tǒng)結(jié)合PACSystems RX3i和iFIX組態(tài)軟件設(shè)計的運(yùn)行軟件結(jié)構(gòu)簡單、實時性好、頗具靈活性;系統(tǒng)界面友好,能逼真觀察系統(tǒng)運(yùn)行過程,實用性較強(qiáng)。本監(jiān)控系統(tǒng)實現(xiàn)了對立體倉庫現(xiàn)場設(shè)備的工作情況實時監(jiān)控與管理,也可控制整個系統(tǒng)的運(yùn)行,并提供歷史數(shù)據(jù)和報警信息查詢,滿足系統(tǒng)自動控制與管理的要求,具有一定實用性。
[1]翁貽方,廉小親.自動化立體倉庫信息管理與監(jiān)控系統(tǒng)[J].微計算機(jī)信息(管控一體化),2007,23(8):26-27.
[2]陶崢,陳曾漢.基于OPC及工業(yè)以太網(wǎng)的iFIX與PLC的通信[J].計算機(jī)工程與設(shè)計,2008,30(8):2064-2070.
[3]譚曉東,劉俊鵬.基于VB的自動化立體倉庫監(jiān)控系統(tǒng)設(shè)計[J].控制與檢測,2008,10(3):75-82.
[4]張運(yùn)波.PAC實現(xiàn)智能控制算法的關(guān)鍵技術(shù)研究[J].長春工程學(xué)院學(xué)報:自然科學(xué)版,2010,11(3):51-54.
[5]陳靜,吳迅舟.WinCC在自動化立體倉庫監(jiān)控系統(tǒng)中的應(yīng)用[J].起重運(yùn)輸機(jī)械,2010,10(6):79-80.
[6]孟雷,臧華東.基于PLC的立體倉儲控制系統(tǒng)及組態(tài)監(jiān)控的設(shè)計[J].自動化技術(shù)與應(yīng)用,2010,9(3):69-72.