加油站虚拟FCC的研究与实现

2020-12-09 05:24钱至远谷金健孟瑜炜李汉秋俞荣栋蒋肇标
企业科技与发展 2020年10期
关键词:数据库

钱至远 谷金健 孟瑜炜 李汉秋 俞荣栋 蒋肇标

【摘 要】文章梳理了目前前庭控制器(FCC)的基本功能,同时针对油机设备的快速发展,以及IFSF协议扩展到支持TCP/IP的改进,对虚拟FCC的实现方式进行研究,同时开发出一套完整的虚拟FCC系统,并将其应用到站级业务系统中,能够实现与FCC同样的功能与效果。

【关键词】虚拟FCC;IFSF;TCP/IP;数据库;通信报文

【中图分类号】X924.3 【文献标识码】A 【文章编号】1674-0688(2020)10-0073-04

前庭控制器[1](Fore Court Controller,FCC)是加油站管理系统架构中的重要设备,负责传递站级系统与前庭设备之间的数据与指令,它不仅负责将设备数据上传至前台销售系统(Point of Sale,POS)、后台管理系统(Back Office System,BOS)等站级系统[2],同时站级系统也通过FCC对前庭设备(如油枪、油机和液位仪等)进行控制[3-5]。

目前,国内外加油站的前庭控制器主要是硬件设备,其运行往往受到时间、空间的限制,经过长时间的运行之后,故障率会逐渐提高,因此容易影响加油站的正常营业[6,7]。

1 虚拟FCC功能简介

传统的FCC多由专用硬件组成,主要实现油机通信接口(多为串行接口,如RS485、电流环等)与后台系统(主要为以太网接口)的通信和协议转换。随着加油机硬件的不断改进和升级,如今大多数油机都自带网络接口,从而也具备了直接接入后台管理系统的条件。因此,完全可以采用特定软件控制程序的方式代替传统硬件产品的功能,本研究称之为虚拟FCC软件。

基于虚拟FCC的加油站管理系统的功能架构如图1所示。

(1)通信协议处理模块:该模块主要实现与油机之间的通信,目前采用国际通用协议,实现了协议的基本框架和处理,并可根据新的功能需求扩展相关数据定义。

(2)系统配置及油机数据库管理模块:该模块提供油机数据库管理功能,可实现对多油机的配置数据、交易数据的管理,并提供对IFSF协议数据的映射功能。

(3)日志及故障诊断模块:该模块实现对油机交易及故障的日志记录等功能,便于对通信和其他运行故障进行分析和处理。

(4)云平台通信及管理模块:该模块实现与后台云平台的通信,负责将油机交易数据发送到后台,接受云平台管理并控制油机。

虚拟FCC是前庭设备和后台系统之间的网关软件,在设计过程中需要注重标准化和模块化,对外接口秉承统一规范的原则,因此虚拟FCC是设计开发的关键,在于对IFSF协议的实现。

2 基于IFSF协议的虚拟FCC实现

IFSF(International Forecourt Standard Forum)是石油零售行业的国际标準组织,致力于协调石油零售行业前庭设备的可互操作和通信标准。图2是协议中一些常见状态的逻辑切换。

早期的IFSF协议是基于LonWorks网络规范制定的,后来进一步扩展到支持TCP/IP的标准网络系统。在本研究的虚拟FCC软件中,实现了基于TCP/IP网络的IFSF协议功能。

2.1 IFSF数据库的实现

数据库是IFSF协议中的核心内容,油机和虚拟FCC之间交换的所有数据都在保存数据库中。IFSF数据库本质是一个实时数据库,主要保存实时交易的数据信息。IFSF的数据库包含如下组成和层次。

(1)节点(Node)表示IFSF系统中的单一主体设备,如一台油机、FCC或液位仪等。

(2)数据库(Database)表示一个节点下的同一类数据的总和。在一个节点下可以由多个数据库组成,单一数据库由数据库地址表示。

(3)数据(Data)表示在数据库的所有数据,一个数据库下可以由多个数据组成。每个单一数据由数据ID和数据内容组成。

IFSF系统中的每个节点(如油机、FCC等),都具备一个或多个实时数据库,IFSF协议本质上就是交换设备节点之间的数据库数据。IFSF协议规定了一些常用的实时数据库定义,包括常用的数据ID,例如用于油机设备的一些数据(如油品、单价、金额、升数等)。当然,IFSF也是一个开放式的协议,允许厂商根据需要增加不同的数据库和数据ID定义。

对于IFSF实时数据库的具体实现,我们采用树形结构的方式:最上层结构为ifsf_node_t,表示一个设备节点,全部节点用单链表串接。每个ifsf_node_t包含多个数据库结构ifsf_db_t,它们也采用同样的方式串接,也通过链表串接。同样的方式,在每个ifsf_db_t下包含多个数据结构ifsf_db_

data_t。总之,通过这种树形链表的方式,将形成一个完整的IFSF协议设备的实时数据库内存结构,从而为协议报文的处理建立良好的基础。IFSF数据库树形结构如图3所示。

2.2 IFSF基础协议通信报文的实现

IFSF协议规定了在TCP/IP协议基础上的通信报文,主要包含用于基于UDP的节点之间心跳检测报文及用于基于TCP的节点数据库数据传递报文,其在TCP基础上的应用数据传递报文格式见表1。

IFSF协议通过上述报文传递设备的数据,如虚拟FCC可以通过读取报文获得油机数据库的数据,油机收到发送报文后,回应报文将当时数据值返回给虚拟FCC。

在具体协议代码实现过程中,本研究主要采取以下方案:{1}IFSF报文的创建。用于从IFSF实时数据库生成IFSF报文。考虑到不同的报文格式,本研究采用了相关的数据结构存储报文信息,然后通过相关函数生成完整的报文。{2}IFSF报文的解析。用于对收到的IFSF报文进行解析。{3}报文交互流程,包括UDP心跳报文收发,建立与设备端的连接,并在连接上进行交互通信等。根据IFSF协议规范,虚拟FCC对每个油机节点建立两条连接,一条连接用于发送报文,一条用于接收,最终虚拟FCC对多个油机节点的连接进行处理并实现数据收发。

3 虚拟FCC的设计方案

由于本研究基于为加油站设计开发的一套站级信息管理系统,因此需要针对站点内部需求对协议进行改造,以满足实际业务需要和场景,同时为了方便协同开发,本文在编码中将虚拟FCC命名为Fuel。

3.1 基于IFSF协议标准的改造

在站级的日常管理中,除了交易记录外,还有绩效、盘存等其他日常事务,因此信息系统需要完善功能,例如记录加油员授权油枪加油记录,支持客户通过虚拟加油卡预授权加油等。为了实现以上功能,需要对现有的IFSF基础协议进行改造,从而满足业务需求,表2是协议新增的命令信息。

3.2 功能流程

随着物联网及移动支付的快速发展,在加油站中衍生出如车牌付、自助加油等新的业务形式,这让加油员或者客户可以通过一些交互设备控制油机油枪,而Fuel的设计刚好符合这种业务形式下软件程序开发的需求。

图4是基于Fuel的加油业务时序图,Fuel在通过IFSF协议实现与油机交互功能后,将油机交易记录上传到业务系统,同时基于新协议的命令信息,交易记录中带有员工卡号、起止泵码数等数据,为员工绩效、损益分析、库存盘点等其他功能模块提供基础数据。

由于Fuel能够实现对油机的控制,因此开发站级业务系统时,只需要通过调用Fuel的对外接口,就可以通过软件系统实现对油机油枪的控制。

3.3 主要功能清单

(1)基本功能。①IFSF协议支持,支持加油站标准IFSF通信协议,主要包括IFSF TCP协议报文格式支持,支持读消息、写消息、应答消息、带确认数据消息等;IFSF UDP协议报文支持,主要用于传送广播和心跳;IFSF协议数据格式支持,支持整数、浮点、字符串、金额等多种数据格式;IFSF协议交互功能,用于油机或液位仪与FCC之间的协议交互;错误处理功能。②多设备通信网关及后台通信功能:FCC可以同时与多台油机或液位仪进行通信,并可以将所有信息进行汇总处理,并统一打包上传;将汇总后的油机交易数据上报到站级后台管理系统(如Fuel Server);接收后台管理系统的要求,并下发到油机,如设置油品价格、锁枪和解锁等。③本地存储功能:虚拟FCC具备一定的本地交易存储功能,当发生通信中断时可以保存一定的交易数据,并在网络恢复时上传至后台管理系统。④外部通用接口功能:除与站级管理系统通信外,虚拟FCC还可以提供通用的接口,用于将交易上报到特定的应用中,如云平台数据中心等,用于数据分析等功能。虚拟FCC还可以接入非油机或液位仪的其他设备,只要满足IFSF协议的通用接口均可接入。⑤界面配置功能:虚拟FCC虽然主要用于后台协议报文通信和处理功能,但也包括特定的Web交互界面,用于参数配置、相关交易信息显示等功能,以及辅助在无后台管理情况下的状态显示和分析工作。⑥故障诊断和数据分析功能:包括油机通信中断及相关系统故障分析,交易数据的特定处理和分析功能。

(2)油机功能。①油机数据读取功能,主要包括与油机的数据通信和采集,具体为油机状态获取,包括空闲、提槍、授权、加油、挂枪等不同的油机状态获取;获取油品信息,包括不同油品代号、油品描述信息等;获取实时加油数据信息,包括当前加油的升数和金额信息;获取交易信息,包括一次交易的油品、升数、金额等信息;获取油泵信息,如起止泵码信息;获取离线脱机交易信息,包括油机脱机交易的升数、金额等信息;油气二次回收数据获取,根据油机实时加油升数和气体流量计的读数,实时计算油气回收比,对偏离系统设定值的交易进行报警处理;在线监测,实时监测站级设备的工作状态,实时显示交易数据。并可将相关数据上传给指定平台或者数据中心。②油机控制功能,主要用于对油机的数据配置和控制功能,具体为(也可以在虚拟FCC上实现透传,在上位油品/气品/电力控制服务器上实现)设置油品价格,用于下发新的油品价格给油机;交易确认及清除功能,可用于确认并清除油机保存的在线和离线交易;授权功能,用于对油枪进行授权,提枪后只有获得授权的油枪才能加油;锁枪功能,在特定条件下用于禁止油枪加油;解锁功能,对加锁的油枪进行解锁;通信设置功能,如设置实时交易数据传输的时间间隔等。③虚拟油机功能:虚拟FCC除可以与真实油机通信外,还可以支持虚拟油机,虚拟油机用于模拟加油功能,可以与真实油机一样实现完整的提枪、授权、加油、挂枪等过程。通过虚拟油机可以实现对整个FCC系统的功能测试和压力测试等。

(3)液位仪功能。液位仪通信功能,主要用于获取液位仪数据,具体如下:获取液位仪状态,如正常、故障、报警等;获取液位仪当前数据,包括油高、水高、油体积、水体积、油水总体积、温度等。

(4)地罐泄漏检测系统。①支持从双层罐主板获取检测数据并上传到上位服务器。具体如下:能检测出双层系统中液面以上和以下的渗漏。存在检漏液进入环境的可能性。Ⅰ级测漏系统通过在双层罐的中间层施加正压或真空进行测漏,原先施加在油罐中间层的压力或真空度就会发生变化,从而被检测仪器感应到,触发报警。Ⅱ级液媒测漏系统利用测漏液体自身的重力进行测漏,不需要额外的气压源和动力源。②支持从SCADA系统获取数据并上传到上位服务器。具体为SCADA数据采集与监视控制系统。SCADA系统可以对现场的运行设备进行监视和控制,实现数据采集、设备控制、测量、参数调节及各类信号报警等功能;支持从SCADA系统获取检测数据并上传到上位服务器,并可以透传相关控制指令及报文给SCADA系统。

(5)加气机机功能。①气机数据读取功能,主要包括与气机的数据通信和采集,具体为加气机状态获取,包括空闲、提枪、授权、加气、挂枪等不同的气机状态获取;获取实时加气数据信息,包括当前加气的升数和金额信息;获取交易信息,包括一次交易的升数、金额等信息;获取气泵信息,如起止泵码信息;获取离线脱机交易信息,包括加气机脱机交易的升数、金额等信息。②加气机控制功能,主要用于对加气机的数据配置和控制功能,具体如下(也可以实现透传,在上位油品/气品/电力控制服务器上实现):设置气品价格,用于下发新的气品价格给气机;交易确认及清除功能,可用于确认并清除油机保存的在线和离线交易;授权功能,用于对气枪进行授权,提枪后只有获得授权的气枪才能加气;锁枪功能,在特定条件下用于禁止气枪加气;解锁功能,对加锁的气枪进行解锁;通信设置功能,如设置实时交易数据传输的时间间隔等。③加气机连接功能:虚拟FCC还可以通过扩展模块的方式实现非IFSF设备到IFSF设备的协议转换,用于将其他的设备(如非IFSF气机)接入加油站站级系统中。支持422/CAN 总线等常用气机协议。

(6)充电桩功能。①变压器数据读取功能,将每台变压器包含智能电表及DTU模块主要包括变压器的实时信息(电压、电流、功率等)。②智能控制单元读取及控制功能,汇总充电终端的用电信息,接受虚拟FCC下发的控制指令,控制每个充电终端的充电功率,实现柔性控制。具备充电站功率控制功能,智能控制中心模块在在线、离線两种环境下,均能实现以下功能:能够采集充电站的充电桩的状态信息、告警信息和充电桩参数信息等,能通过充电控制指令控制充电桩的启、停,能够对直流充电桩的输出充电功率进行控制。③虚拟FCC支持以下功能(也可以实现透传,在上位油品/气品/电力控制服务器上实现)。黑名单存储功能;交易记录存储;认证结算模型存储功能;远程升级功能;RTC时钟和校正功能;掉电检测功能。

(7)洗车机功能。洗车机数据读取功能,访问汽车机终端设备或者云平台主机,获取及设置参数信息(状态、收费模式、用户数据、模式、交易、支付等数据)。

3.4 站级管理信息系统及应用

目前,B/S架构已成为Web开发的流行方式,该模式是Brower对Web Server直接访问,因此用户只需要通过站内电脑的浏览器输入指令,就可以实现对室外油枪进行锁枪、授权等控制。为了贴合加油站的实际业务场景,本研究开发了一套站级管理信息系统。在室内POS系统中,可以浏览交易信息和油枪状态,同时通过点击页面按钮实现对油机油枪的控制。在站级运行的软硬件环境中,并没有前庭控制器硬件设备,取而代之的则是虚拟FCC软件Fuel,信息系统读取的数据全部来自Fuel,同时基于改造后协议开发的Fuel,也在通信报文中增加了更多信息。

4 总结与展望

本文基于对油机通信IFSF协议的研究和改造,设计并开发了一套虚拟FCC软件Fuel,不仅支持IFSF协议及完整的油机交易数据管理,还能实现与云平台的数据通信,同时支持后台信息系统实现丰富的功能,满足站级日常业务需求。

在实际应用中,虚拟FCC具有以下优势:复用率高,可以针对不同厂商修改相关配置,不用再次开发;相对硬件设备故障率低;成本低,当站点的前庭设备越多时,用虚拟FCC代替硬件设备边际成本越低。

参 考 文 献

[1]江卫星.加油站前庭控制器研究与实现[J].中国石油和化工标准与质量,2011,31(12):88.

[2]任旭虎,蔡丽娟,杨磊.加油站前庭控制器研究与实现[J].工业仪表与自动化装置,2010(3):37-42.

[3]钟柯佳.基于IFSF协议的加油站前庭控制器设计[D].北京:中国地质大学,2010.

[4]张振生.基于IFSF协议的加油站前庭控制器设计[D].重庆:重庆大学,2009.

[5]向婕.嵌入式加油站前庭控制器研究及设计[D].重庆:重庆大学,2008.

[6]杨小义.基于IFSF协议的加油站前庭控制器软件系统研究[D].重庆:重庆大学,2007.

[7]石永财.基于IFSF协议的加油站前庭控制器设计研究[D].重庆:重庆大学,2007.

猜你喜欢
数据库
Designer测试大数据预定义均衡配置
MemSQL获3000万美元D轮融
数据库
数据库
数据库
数据库
数据库
数据库
SQL语言在电信业务数据库数据查询中的应用
数据库