錢至遠 谷金健 孟瑜煒 李漢秋 俞榮棟 蔣肇標
【摘 要】文章梳理了目前前庭控制器(FCC)的基本功能,同時針對油機設(shè)備的快速發(fā)展,以及IFSF協(xié)議擴展到支持TCP/IP的改進,對虛擬FCC的實現(xiàn)方式進行研究,同時開發(fā)出一套完整的虛擬FCC系統(tǒng),并將其應(yīng)用到站級業(yè)務(wù)系統(tǒng)中,能夠?qū)崿F(xiàn)與FCC同樣的功能與效果。
【關(guān)鍵詞】虛擬FCC;IFSF;TCP/IP;數(shù)據(jù)庫;通信報文
【中圖分類號】X924.3 【文獻標識碼】A 【文章編號】1674-0688(2020)10-0073-04
前庭控制器[1](Fore Court Controller,F(xiàn)CC)是加油站管理系統(tǒng)架構(gòu)中的重要設(shè)備,負責(zé)傳遞站級系統(tǒng)與前庭設(shè)備之間的數(shù)據(jù)與指令,它不僅負責(zé)將設(shè)備數(shù)據(jù)上傳至前臺銷售系統(tǒng)(Point of Sale,POS)、后臺管理系統(tǒng)(Back Office System,BOS)等站級系統(tǒng)[2],同時站級系統(tǒng)也通過FCC對前庭設(shè)備(如油槍、油機和液位儀等)進行控制[3-5]。
目前,國內(nèi)外加油站的前庭控制器主要是硬件設(shè)備,其運行往往受到時間、空間的限制,經(jīng)過長時間的運行之后,故障率會逐漸提高,因此容易影響加油站的正常營業(yè)[6,7]。
1 虛擬FCC功能簡介
傳統(tǒng)的FCC多由專用硬件組成,主要實現(xiàn)油機通信接口(多為串行接口,如RS485、電流環(huán)等)與后臺系統(tǒng)(主要為以太網(wǎng)接口)的通信和協(xié)議轉(zhuǎn)換。隨著加油機硬件的不斷改進和升級,如今大多數(shù)油機都自帶網(wǎng)絡(luò)接口,從而也具備了直接接入后臺管理系統(tǒng)的條件。因此,完全可以采用特定軟件控制程序的方式代替?zhèn)鹘y(tǒng)硬件產(chǎn)品的功能,本研究稱之為虛擬FCC軟件。
基于虛擬FCC的加油站管理系統(tǒng)的功能架構(gòu)如圖1所示。
(1)通信協(xié)議處理模塊:該模塊主要實現(xiàn)與油機之間的通信,目前采用國際通用協(xié)議,實現(xiàn)了協(xié)議的基本框架和處理,并可根據(jù)新的功能需求擴展相關(guān)數(shù)據(jù)定義。
(2)系統(tǒng)配置及油機數(shù)據(jù)庫管理模塊:該模塊提供油機數(shù)據(jù)庫管理功能,可實現(xiàn)對多油機的配置數(shù)據(jù)、交易數(shù)據(jù)的管理,并提供對IFSF協(xié)議數(shù)據(jù)的映射功能。
(3)日志及故障診斷模塊:該模塊實現(xiàn)對油機交易及故障的日志記錄等功能,便于對通信和其他運行故障進行分析和處理。
(4)云平臺通信及管理模塊:該模塊實現(xiàn)與后臺云平臺的通信,負責(zé)將油機交易數(shù)據(jù)發(fā)送到后臺,接受云平臺管理并控制油機。
虛擬FCC是前庭設(shè)備和后臺系統(tǒng)之間的網(wǎng)關(guān)軟件,在設(shè)計過程中需要注重標準化和模塊化,對外接口秉承統(tǒng)一規(guī)范的原則,因此虛擬FCC是設(shè)計開發(fā)的關(guān)鍵,在于對IFSF協(xié)議的實現(xiàn)。
2 基于IFSF協(xié)議的虛擬FCC實現(xiàn)
IFSF(International Forecourt Standard Forum)是石油零售行業(yè)的國際標準組織,致力于協(xié)調(diào)石油零售行業(yè)前庭設(shè)備的可互操作和通信標準。圖2是協(xié)議中一些常見狀態(tài)的邏輯切換。
早期的IFSF協(xié)議是基于LonWorks網(wǎng)絡(luò)規(guī)范制定的,后來進一步擴展到支持TCP/IP的標準網(wǎng)絡(luò)系統(tǒng)。在本研究的虛擬FCC軟件中,實現(xiàn)了基于TCP/IP網(wǎng)絡(luò)的IFSF協(xié)議功能。
2.1 IFSF數(shù)據(jù)庫的實現(xiàn)
數(shù)據(jù)庫是IFSF協(xié)議中的核心內(nèi)容,油機和虛擬FCC之間交換的所有數(shù)據(jù)都在保存數(shù)據(jù)庫中。IFSF數(shù)據(jù)庫本質(zhì)是一個實時數(shù)據(jù)庫,主要保存實時交易的數(shù)據(jù)信息。IFSF的數(shù)據(jù)庫包含如下組成和層次。
(1)節(jié)點(Node)表示IFSF系統(tǒng)中的單一主體設(shè)備,如一臺油機、FCC或液位儀等。
(2)數(shù)據(jù)庫(Database)表示一個節(jié)點下的同一類數(shù)據(jù)的總和。在一個節(jié)點下可以由多個數(shù)據(jù)庫組成,單一數(shù)據(jù)庫由數(shù)據(jù)庫地址表示。
(3)數(shù)據(jù)(Data)表示在數(shù)據(jù)庫的所有數(shù)據(jù),一個數(shù)據(jù)庫下可以由多個數(shù)據(jù)組成。每個單一數(shù)據(jù)由數(shù)據(jù)ID和數(shù)據(jù)內(nèi)容組成。
IFSF系統(tǒng)中的每個節(jié)點(如油機、FCC等),都具備一個或多個實時數(shù)據(jù)庫,IFSF協(xié)議本質(zhì)上就是交換設(shè)備節(jié)點之間的數(shù)據(jù)庫數(shù)據(jù)。IFSF協(xié)議規(guī)定了一些常用的實時數(shù)據(jù)庫定義,包括常用的數(shù)據(jù)ID,例如用于油機設(shè)備的一些數(shù)據(jù)(如油品、單價、金額、升數(shù)等)。當然,IFSF也是一個開放式的協(xié)議,允許廠商根據(jù)需要增加不同的數(shù)據(jù)庫和數(shù)據(jù)ID定義。
對于IFSF實時數(shù)據(jù)庫的具體實現(xiàn),我們采用樹形結(jié)構(gòu)的方式:最上層結(jié)構(gòu)為ifsf_node_t,表示一個設(shè)備節(jié)點,全部節(jié)點用單鏈表串接。每個ifsf_node_t包含多個數(shù)據(jù)庫結(jié)構(gòu)ifsf_db_t,它們也采用同樣的方式串接,也通過鏈表串接。同樣的方式,在每個ifsf_db_t下包含多個數(shù)據(jù)結(jié)構(gòu)ifsf_db_
data_t??傊?,通過這種樹形鏈表的方式,將形成一個完整的IFSF協(xié)議設(shè)備的實時數(shù)據(jù)庫內(nèi)存結(jié)構(gòu),從而為協(xié)議報文的處理建立良好的基礎(chǔ)。IFSF數(shù)據(jù)庫樹形結(jié)構(gòu)如圖3所示。
2.2 IFSF基礎(chǔ)協(xié)議通信報文的實現(xiàn)
IFSF協(xié)議規(guī)定了在TCP/IP協(xié)議基礎(chǔ)上的通信報文,主要包含用于基于UDP的節(jié)點之間心跳檢測報文及用于基于TCP的節(jié)點數(shù)據(jù)庫數(shù)據(jù)傳遞報文,其在TCP基礎(chǔ)上的應(yīng)用數(shù)據(jù)傳遞報文格式見表1。
IFSF協(xié)議通過上述報文傳遞設(shè)備的數(shù)據(jù),如虛擬FCC可以通過讀取報文獲得油機數(shù)據(jù)庫的數(shù)據(jù),油機收到發(fā)送報文后,回應(yīng)報文將當時數(shù)據(jù)值返回給虛擬FCC。
在具體協(xié)議代碼實現(xiàn)過程中,本研究主要采取以下方案:{1}IFSF報文的創(chuàng)建。用于從IFSF實時數(shù)據(jù)庫生成IFSF報文??紤]到不同的報文格式,本研究采用了相關(guān)的數(shù)據(jù)結(jié)構(gòu)存儲報文信息,然后通過相關(guān)函數(shù)生成完整的報文。{2}IFSF報文的解析。用于對收到的IFSF報文進行解析。{3}報文交互流程,包括UDP心跳報文收發(fā),建立與設(shè)備端的連接,并在連接上進行交互通信等。根據(jù)IFSF協(xié)議規(guī)范,虛擬FCC對每個油機節(jié)點建立兩條連接,一條連接用于發(fā)送報文,一條用于接收,最終虛擬FCC對多個油機節(jié)點的連接進行處理并實現(xiàn)數(shù)據(jù)收發(fā)。
3 虛擬FCC的設(shè)計方案
由于本研究基于為加油站設(shè)計開發(fā)的一套站級信息管理系統(tǒng),因此需要針對站點內(nèi)部需求對協(xié)議進行改造,以滿足實際業(yè)務(wù)需要和場景,同時為了方便協(xié)同開發(fā),本文在編碼中將虛擬FCC命名為Fuel。
3.1 基于IFSF協(xié)議標準的改造
在站級的日常管理中,除了交易記錄外,還有績效、盤存等其他日常事務(wù),因此信息系統(tǒng)需要完善功能,例如記錄加油員授權(quán)油槍加油記錄,支持客戶通過虛擬加油卡預(yù)授權(quán)加油等。為了實現(xiàn)以上功能,需要對現(xiàn)有的IFSF基礎(chǔ)協(xié)議進行改造,從而滿足業(yè)務(wù)需求,表2是協(xié)議新增的命令信息。
3.2 功能流程
隨著物聯(lián)網(wǎng)及移動支付的快速發(fā)展,在加油站中衍生出如車牌付、自助加油等新的業(yè)務(wù)形式,這讓加油員或者客戶可以通過一些交互設(shè)備控制油機油槍,而Fuel的設(shè)計剛好符合這種業(yè)務(wù)形式下軟件程序開發(fā)的需求。
圖4是基于Fuel的加油業(yè)務(wù)時序圖,F(xiàn)uel在通過IFSF協(xié)議實現(xiàn)與油機交互功能后,將油機交易記錄上傳到業(yè)務(wù)系統(tǒng),同時基于新協(xié)議的命令信息,交易記錄中帶有員工卡號、起止泵碼數(shù)等數(shù)據(jù),為員工績效、損益分析、庫存盤點等其他功能模塊提供基礎(chǔ)數(shù)據(jù)。
由于Fuel能夠?qū)崿F(xiàn)對油機的控制,因此開發(fā)站級業(yè)務(wù)系統(tǒng)時,只需要通過調(diào)用Fuel的對外接口,就可以通過軟件系統(tǒng)實現(xiàn)對油機油槍的控制。
3.3 主要功能清單
(1)基本功能。①IFSF協(xié)議支持,支持加油站標準IFSF通信協(xié)議,主要包括IFSF TCP協(xié)議報文格式支持,支持讀消息、寫消息、應(yīng)答消息、帶確認數(shù)據(jù)消息等;IFSF UDP協(xié)議報文支持,主要用于傳送廣播和心跳;IFSF協(xié)議數(shù)據(jù)格式支持,支持整數(shù)、浮點、字符串、金額等多種數(shù)據(jù)格式;IFSF協(xié)議交互功能,用于油機或液位儀與FCC之間的協(xié)議交互;錯誤處理功能。②多設(shè)備通信網(wǎng)關(guān)及后臺通信功能:FCC可以同時與多臺油機或液位儀進行通信,并可以將所有信息進行匯總處理,并統(tǒng)一打包上傳;將匯總后的油機交易數(shù)據(jù)上報到站級后臺管理系統(tǒng)(如Fuel Server);接收后臺管理系統(tǒng)的要求,并下發(fā)到油機,如設(shè)置油品價格、鎖槍和解鎖等。③本地存儲功能:虛擬FCC具備一定的本地交易存儲功能,當發(fā)生通信中斷時可以保存一定的交易數(shù)據(jù),并在網(wǎng)絡(luò)恢復(fù)時上傳至后臺管理系統(tǒng)。④外部通用接口功能:除與站級管理系統(tǒng)通信外,虛擬FCC還可以提供通用的接口,用于將交易上報到特定的應(yīng)用中,如云平臺數(shù)據(jù)中心等,用于數(shù)據(jù)分析等功能。虛擬FCC還可以接入非油機或液位儀的其他設(shè)備,只要滿足IFSF協(xié)議的通用接口均可接入。⑤界面配置功能:虛擬FCC雖然主要用于后臺協(xié)議報文通信和處理功能,但也包括特定的Web交互界面,用于參數(shù)配置、相關(guān)交易信息顯示等功能,以及輔助在無后臺管理情況下的狀態(tài)顯示和分析工作。⑥故障診斷和數(shù)據(jù)分析功能:包括油機通信中斷及相關(guān)系統(tǒng)故障分析,交易數(shù)據(jù)的特定處理和分析功能。
(2)油機功能。①油機數(shù)據(jù)讀取功能,主要包括與油機的數(shù)據(jù)通信和采集,具體為油機狀態(tài)獲取,包括空閑、提槍、授權(quán)、加油、掛槍等不同的油機狀態(tài)獲取;獲取油品信息,包括不同油品代號、油品描述信息等;獲取實時加油數(shù)據(jù)信息,包括當前加油的升數(shù)和金額信息;獲取交易信息,包括一次交易的油品、升數(shù)、金額等信息;獲取油泵信息,如起止泵碼信息;獲取離線脫機交易信息,包括油機脫機交易的升數(shù)、金額等信息;油氣二次回收數(shù)據(jù)獲取,根據(jù)油機實時加油升數(shù)和氣體流量計的讀數(shù),實時計算油氣回收比,對偏離系統(tǒng)設(shè)定值的交易進行報警處理;在線監(jiān)測,實時監(jiān)測站級設(shè)備的工作狀態(tài),實時顯示交易數(shù)據(jù)。并可將相關(guān)數(shù)據(jù)上傳給指定平臺或者數(shù)據(jù)中心。②油機控制功能,主要用于對油機的數(shù)據(jù)配置和控制功能,具體為(也可以在虛擬FCC上實現(xiàn)透傳,在上位油品/氣品/電力控制服務(wù)器上實現(xiàn))設(shè)置油品價格,用于下發(fā)新的油品價格給油機;交易確認及清除功能,可用于確認并清除油機保存的在線和離線交易;授權(quán)功能,用于對油槍進行授權(quán),提槍后只有獲得授權(quán)的油槍才能加油;鎖槍功能,在特定條件下用于禁止油槍加油;解鎖功能,對加鎖的油槍進行解鎖;通信設(shè)置功能,如設(shè)置實時交易數(shù)據(jù)傳輸?shù)臅r間間隔等。③虛擬油機功能:虛擬FCC除可以與真實油機通信外,還可以支持虛擬油機,虛擬油機用于模擬加油功能,可以與真實油機一樣實現(xiàn)完整的提槍、授權(quán)、加油、掛槍等過程。通過虛擬油機可以實現(xiàn)對整個FCC系統(tǒng)的功能測試和壓力測試等。
(3)液位儀功能。液位儀通信功能,主要用于獲取液位儀數(shù)據(jù),具體如下:獲取液位儀狀態(tài),如正常、故障、報警等;獲取液位儀當前數(shù)據(jù),包括油高、水高、油體積、水體積、油水總體積、溫度等。
(4)地罐泄漏檢測系統(tǒng)。①支持從雙層罐主板獲取檢測數(shù)據(jù)并上傳到上位服務(wù)器。具體如下:能檢測出雙層系統(tǒng)中液面以上和以下的滲漏。存在檢漏液進入環(huán)境的可能性。Ⅰ級測漏系統(tǒng)通過在雙層罐的中間層施加正壓或真空進行測漏,原先施加在油罐中間層的壓力或真空度就會發(fā)生變化,從而被檢測儀器感應(yīng)到,觸發(fā)報警。Ⅱ級液媒測漏系統(tǒng)利用測漏液體自身的重力進行測漏,不需要額外的氣壓源和動力源。②支持從SCADA系統(tǒng)獲取數(shù)據(jù)并上傳到上位服務(wù)器。具體為SCADA數(shù)據(jù)采集與監(jiān)視控制系統(tǒng)。SCADA系統(tǒng)可以對現(xiàn)場的運行設(shè)備進行監(jiān)視和控制,實現(xiàn)數(shù)據(jù)采集、設(shè)備控制、測量、參數(shù)調(diào)節(jié)及各類信號報警等功能;支持從SCADA系統(tǒng)獲取檢測數(shù)據(jù)并上傳到上位服務(wù)器,并可以透傳相關(guān)控制指令及報文給SCADA系統(tǒng)。
(5)加氣機機功能。①氣機數(shù)據(jù)讀取功能,主要包括與氣機的數(shù)據(jù)通信和采集,具體為加氣機狀態(tài)獲取,包括空閑、提槍、授權(quán)、加氣、掛槍等不同的氣機狀態(tài)獲取;獲取實時加氣數(shù)據(jù)信息,包括當前加氣的升數(shù)和金額信息;獲取交易信息,包括一次交易的升數(shù)、金額等信息;獲取氣泵信息,如起止泵碼信息;獲取離線脫機交易信息,包括加氣機脫機交易的升數(shù)、金額等信息。②加氣機控制功能,主要用于對加氣機的數(shù)據(jù)配置和控制功能,具體如下(也可以實現(xiàn)透傳,在上位油品/氣品/電力控制服務(wù)器上實現(xiàn)):設(shè)置氣品價格,用于下發(fā)新的氣品價格給氣機;交易確認及清除功能,可用于確認并清除油機保存的在線和離線交易;授權(quán)功能,用于對氣槍進行授權(quán),提槍后只有獲得授權(quán)的氣槍才能加氣;鎖槍功能,在特定條件下用于禁止氣槍加氣;解鎖功能,對加鎖的氣槍進行解鎖;通信設(shè)置功能,如設(shè)置實時交易數(shù)據(jù)傳輸?shù)臅r間間隔等。③加氣機連接功能:虛擬FCC還可以通過擴展模塊的方式實現(xiàn)非IFSF設(shè)備到IFSF設(shè)備的協(xié)議轉(zhuǎn)換,用于將其他的設(shè)備(如非IFSF氣機)接入加油站站級系統(tǒng)中。支持422/CAN 總線等常用氣機協(xié)議。
(6)充電樁功能。①變壓器數(shù)據(jù)讀取功能,將每臺變壓器包含智能電表及DTU模塊主要包括變壓器的實時信息(電壓、電流、功率等)。②智能控制單元讀取及控制功能,匯總充電終端的用電信息,接受虛擬FCC下發(fā)的控制指令,控制每個充電終端的充電功率,實現(xiàn)柔性控制。具備充電站功率控制功能,智能控制中心模塊在在線、離線兩種環(huán)境下,均能實現(xiàn)以下功能:能夠采集充電站的充電樁的狀態(tài)信息、告警信息和充電樁參數(shù)信息等,能通過充電控制指令控制充電樁的啟、停,能夠?qū)χ绷鞒潆姌兜妮敵龀潆姽β蔬M行控制。③虛擬FCC支持以下功能(也可以實現(xiàn)透傳,在上位油品/氣品/電力控制服務(wù)器上實現(xiàn))。黑名單存儲功能;交易記錄存儲;認證結(jié)算模型存儲功能;遠程升級功能;RTC時鐘和校正功能;掉電檢測功能。
(7)洗車機功能。洗車機數(shù)據(jù)讀取功能,訪問汽車機終端設(shè)備或者云平臺主機,獲取及設(shè)置參數(shù)信息(狀態(tài)、收費模式、用戶數(shù)據(jù)、模式、交易、支付等數(shù)據(jù))。
3.4 站級管理信息系統(tǒng)及應(yīng)用
目前,B/S架構(gòu)已成為Web開發(fā)的流行方式,該模式是Brower對Web Server直接訪問,因此用戶只需要通過站內(nèi)電腦的瀏覽器輸入指令,就可以實現(xiàn)對室外油槍進行鎖槍、授權(quán)等控制。為了貼合加油站的實際業(yè)務(wù)場景,本研究開發(fā)了一套站級管理信息系統(tǒng)。在室內(nèi)POS系統(tǒng)中,可以瀏覽交易信息和油槍狀態(tài),同時通過點擊頁面按鈕實現(xiàn)對油機油槍的控制。在站級運行的軟硬件環(huán)境中,并沒有前庭控制器硬件設(shè)備,取而代之的則是虛擬FCC軟件Fuel,信息系統(tǒng)讀取的數(shù)據(jù)全部來自Fuel,同時基于改造后協(xié)議開發(fā)的Fuel,也在通信報文中增加了更多信息。
4 總結(jié)與展望
本文基于對油機通信IFSF協(xié)議的研究和改造,設(shè)計并開發(fā)了一套虛擬FCC軟件Fuel,不僅支持IFSF協(xié)議及完整的油機交易數(shù)據(jù)管理,還能實現(xiàn)與云平臺的數(shù)據(jù)通信,同時支持后臺信息系統(tǒng)實現(xiàn)豐富的功能,滿足站級日常業(yè)務(wù)需求。
在實際應(yīng)用中,虛擬FCC具有以下優(yōu)勢:復(fù)用率高,可以針對不同廠商修改相關(guān)配置,不用再次開發(fā);相對硬件設(shè)備故障率低;成本低,當站點的前庭設(shè)備越多時,用虛擬FCC代替硬件設(shè)備邊際成本越低。
參 考 文 獻
[1]江衛(wèi)星.加油站前庭控制器研究與實現(xiàn)[J].中國石油和化工標準與質(zhì)量,2011,31(12):88.
[2]任旭虎,蔡麗娟,楊磊.加油站前庭控制器研究與實現(xiàn)[J].工業(yè)儀表與自動化裝置,2010(3):37-42.
[3]鐘柯佳.基于IFSF協(xié)議的加油站前庭控制器設(shè)計[D].北京:中國地質(zhì)大學(xué),2010.
[4]張振生.基于IFSF協(xié)議的加油站前庭控制器設(shè)計[D].重慶:重慶大學(xué),2009.
[5]向婕.嵌入式加油站前庭控制器研究及設(shè)計[D].重慶:重慶大學(xué),2008.
[6]楊小義.基于IFSF協(xié)議的加油站前庭控制器軟件系統(tǒng)研究[D].重慶:重慶大學(xué),2007.
[7]石永財.基于IFSF協(xié)議的加油站前庭控制器設(shè)計研究[D].重慶:重慶大學(xué),2007.