焦品博 王海燕
摘要:为帮助学员掌握分油机的工作原理和操作方法,以Alfa Laval S系列分油机为研究对象,结合层次状态机的概念,设计两层嵌套状态机作为分油机仿真系统的整个工作周期内的逻辑控制。通过简化分离筒的几何形状建立分油机的数学模型,以模拟分油机内油水分界液面的变化。采用树形拓扑结构描述操作菜单的信息显示。利用可编程逻辑控制器(programmable logic controller, PLC)通信技术,实现分油机的半实物仿真系统。测试结果表明,层次化的状态控制使得系统控制过程结构化、清晰化,状态之间的转换关系表达明确,能逼真地模拟分油机的工作过程。
关键词: 船舶分油机; 层次状态机; 数学模型; 半实物仿真
中图分类号: U664.81+2; TP391.92 文献标志码: A
Design and realization of simulation system for marine oil purifiers
JIAO Pinbo, WANG Haiyan
(Merchant Marine College, Shanghai Maritime University, Shanghai 201306, China)
Abstract: In order to help students master the working principle and operation method of the oil purifier, the Alfa Laval S series oil purifier is taken as the research subject, and a two-layer nested state machine is designed as the logical control of the whole working cycle of the oil purifier simulation system based on the concept of the hierarchical state machine. The mathematical model of the oil purifier is established by simplifying the geometry of the separation cylinder. By this model, the change of the oil-water interface is simulated. A tree topology is used to describe the information display of the operation menu. With the application of the programmable logic controller (PLC) communication technology, the semi-physical simulation system of the oil purifier is realized. The test results show that the hierarchical state control makes the system control process structured and clear, the transition relationship between states is clearly expressed, and the working process of the marine oil purifier can be simulated realistically.
Key words: marine oil purifier; hierarchical state machine; mathematical model; semi-physical simulation
0 引 言
船舶分油機是船舶净化燃油和滑油必不可少的设备,其净化性能直接影响船舶柴油机的工作性能和使用寿命。掌握船舶分油机的工作原理和操作方法是航海学员的必修课程,设计贴近实船的半实物分油机系统仿真模拟器将发挥重要作用[1-3]。黄小松[4]采用嵌入式微处理器STM32作为主控芯片,设计了分油机模拟控制面板。LI等[5]和WANG等[6]在建立数学模型的基础上,结合可编程逻辑控制器(programmable logic controller, PLC)编程模拟分油机工作时序控制。张宁等[7]设计了实时管理数据的过程仿真支撑平台,并结合单片机技术以及CAN采集卡和CAN总线,设计了与实船操作一致的仿真控制箱。上述研究中,利用单片机和PLC技术实现了分油机系统工作流程的时序控制[8],但不能清晰定位系统的运行状态。层次状态机在描述复杂系统状态之间的转换上应用广泛[9-12]。由于具有状态层次的嵌套和行为共享等特点,使用层次状态机设计系统具有结构清晰、可维护、可扩展、可重用等优势。
通过分析Alfa Laval S系列分油机的工作原理和控制流程,建立简化的分离筒数学模型,模拟分离筒内液面的变化。分析分油机系统整个工作周期内工作状态之间转换关系可以得出,分油机具有静止等待、启动准备、手动启动、自动启动、校准、循环、转换、停机前排渣、分油机运转、停止中等多种状态,且状态之间按一定的顺序转换。其中,启动准备、手动启动、自动启动、转换和分油机运转等状态还包含二级子状态,如自动启动状态包含供油泵自动启动、加热器自动启动、分油机自动启动中等子状态。因此,设计两层嵌套状态机描述分油机仿真系统的逻辑控制过程。为清晰展示操作信息,采用多叉树的数据结构描述EPC操作菜单及其相关操作信息。在Visual Studio 2015环境下使用面向对象语言C#开发分油机模型程序、控制程序和通信接口程序。应用数字仿真技术,开发基于PLC的电气控制箱,实现分油机系统的半实物仿真。
1 仿真系统总体设计
分油机仿真系统整体设计包括软件和硬件两部分。软件部分由模型程序、控制程序和通信接口程序组成:模型程序主要根据输入信号求解模型并返回输出;控制程序以EPC 60为母型,设计两层嵌套状态机实现分油机的工作控制,与实际操作面板具有同样的界面布置和操作功能;通信接口程序主要负责与PLC之间的通信。硬件部分包括系统模拟屏、电气控制箱、PLC模块以及工业触摸屏电脑。电气控制箱与Alfa Laval S系列分油机EPC 60控制系统的控制箱外形、面板布置保持一致,符合多数船员的操作习惯。工业触摸屏电脑提供软件运行环境并且用以实现人机交互。采用西门子的Smart PLC模块,采集模拟量和数字量,并与工业触摸屏电脑通信。如图1所示为仿真系统组成,程序运行于工业触摸屏电脑上并互相通信,工业触摸屏电脑与PLC模块之间采用以太网通信,PLC模块与系统模拟屏之间采用多芯电缆连接。PLC模块负责数据采集与存储,通信接口程序读取或写入PLC各输入/输出点。系统模拟屏与程序同步,动态地展示分油机油、水、气系统的工作过程以及分油机的手动启动过程的按钮操作。
2 仿真系统详细设计
2.1 控制程序
层次状态机是按树形结构展开的一种特殊的有限状态机,其核心在于状态嵌套和行为共享[13-14]。层次状态机中包含状态的状态被称为超状态,子状态与其超状态之间的继承特性被称为行为继承,类似于面向对象中类的继承(区别在于,类的继承关系为“is-a”,而行为继承关系为“is-in”[15])。圖2a为层次状态机示意图:超状态S3内包含子状态S4、S5和S6,子状态S4、S5和S6继承了S3的行为,同时它们还各自定义了与S3的行为差异。由于面向对象语言C#具有继承和多态的特性,将超状态定义为基类并将其行为定义为虚方法,各子状态继承超状态基类并重写超状态的虚方法,实现行为的继承。此外,采用层次状态机建模还具有限制状态的跳转作用,如图2b所示,在状态S3的外部,只需关注状态S1、S2和S3之间的跳转,而在状态S3的内部,只需关注状态S4、S5和S6之间的跳转,使得状态层次清晰明确,状态与状态之间转换关系得以简化,方便编程且易于扩展。
图3为Alfa Laval S型分油机结构[16],其工作原理如下:分油机启动后,当分油机转速、油温、油压等参数满足预定范围时,启动分油机,进行首次排渣和置换水。首次排渣完成后,开始排渣计时、补偿水计时和稳定时间计时。打开工作水阀开始进工作水,合上分离盘。待分油从进油口进入分油机,在离心力的作用下持续分离,净油流向分离叠片内侧,水分在中层,油渣被分离至分离筒的外侧。随着分离过程的进行,油水分界面不断向中心移动,当油水分界面移动到接近分离叠片外边缘时,水分传感器监测到净油中的含水量信号值达到触发值时,由控制程序决定打开排水电磁阀排水或者打开排渣口排渣。
分油机工作控制流程如图4所示:当分油机完成启动进入正常分油状态后,由计时函数Tick()计时,控制程序检测排渣信号、排水信号和进补偿水信号。当一次计时周期完成后,自动清零并进入下一个计时周期。如果在计时周期内有排渣信号产生或达到排水转换条件,则转为相应的排渣或排水,分别如图4a和4b所示。在分离过程中,实时监测待分油入口压力、净油排出压力、排水出口压力以及待分油入口温度。当检测到信号值超限或低限时,会触发相应的报警提示;若报警时间超过报警延迟处理时间,则停机。
根据分油机的工作原理,分析分油机工作周期内的所有状态,设计两层嵌套状态机作为分油机仿真系统的控制中心。第一层状态描述分油机的静止等待、启动准备、校准、手动启动、自动启动、循环、转换、分油机运转、停机前排渣和停止中,共10个一级状态。一级状态转换见图5。
由于启动准备、手动启动、自动启动、分油机运转和转换这5个状态包含其他状态,故定义为超状态。启动准备超状态包含3个子状态,用以判断分油机是否达到启动条件以及是否需要校准启动,如图6a所示,分别为分离筒是否拆卸、分离筒是否安装和分离筒是否清洗。分油机运转超状态包含正常分油、排渣、进密封水和补偿水、排水4个子状态,如图6b所示,用以描述分油机在正常分油期间状态之间的转换。手动启动超状态包含供油泵等待启动、手动启动供油泵、供油泵完成启动、手动开启加热器、手动启动分油机、分油机完成启动6个子状态,这6个子状态按图6c所示的启动顺序依次转换,描述分油机的手动启动过程。自动启动超状态包含供油泵自动启动、加热器自动启动、分油机自动启动中和分油机完成自动启动4个子状态,它们之间按图6d所示的启动顺序依次转换,描述分油机的自动启动过程。在启动完成到正常分油期间,设计转换超状态用以衔接分油机启动完成状态与正常分油状态,如图6e所示,它包含密封排渣口转换、排渣转换和置换水转换3个子状态。
2.2 模型程序
模型程序由模型方程、初始化模型、模型输入、模型求解和模型输出5部分组成。设计单独的模型类ModelClass用于仿真数学模型的计算,并采用4阶龙格库塔法求解模型微分方程。模型程序的输入包括系统中阀门状态,供油泵状态,蒸汽、空气和水的初始状态,人员对操纵面板的操纵以及控制程序的输出信号。模型程序的输出包括净油含水量、净油出口压力、待分油压力、待分油温度、排水压力和分油机转速等。仿真系统启动时,开设后台线程专门用于初始化模型并启动模型计算。程序运行过程中,控制程序通过通信接口程序将输出送入模型程序,模型程序通过通信接口程序获取阀门状态和供油泵状态。
分离筒简化图如图7所示:1为待分油入口;R1为分离轴半径,m;R2为分离盘半径,m;Rd为排渣口半径,m。分离腔的径向高度:自排渣口到分离盘处高度是变化的,而自分离轴处到分离盘处高度是不变的。
取分离腔的几何中心为坐标原点o,则径向高度hp可以表示为hp=0,r H,R1≤r (r-R2)(Rd-R2)H,R2≤r 0,r≥Rd
(1)式中:r为液面半径,m;H为分离筒有效高度,m。因此,分离腔内液体的量可以表示为
-2πrhpdrdt=Qf,in+Qw,in-
(Qf,out+Qw,out+Qdischarge)
(2)
式中:Qf,in为进待分油量,Qw,in为进水量,Qf,out为净油出口量,Qw,out为排水量,Qdischarge为排渣量,单位都为m3/s。
油水分界面由待分油的含水量和分油机转速确定,当水分多时,出水口的阀门打开,使油水分界面外移,阀门的打开时间取决于含水量。因此,油水分界面半径rw可表示为
-2πrwhpdrwdt=cfwQf,in+Qw,in-
(ccfwQf,out+Qw,out+Qdischarge)
(3)
式中:cfw为待分油中水分占比系数;ccfw为净油中水分占比系数。
2.3 通信接口程序
通信接口程序通过调用libnodave.dll(动态连接库)实现与PLC通信。在PLC的V存储区设定缓冲区存储数据,通信接口程序通过以太网读写缓冲区,这种通信方式灵活性大、通信速度快。在程序中配置开关、阀和指示灯等所对应的PLC接点和位地址,其中数字量信号用布尔值表示,模拟量信号用浮点型数值表示。使用libnodave. dll庫中的CommInterval属性配置PLC通信间隔,通过ConnectPLC和Start方法连接并启动PLC通信;在PLC与程序建立连接可以通信后,使用ReadParams和WriteParams方法实现程序与PLC对应接点数据的交换。图8为分油机正常分油时部分输入输出变量的通信测试图,分油机运转指示灯、净油出口指示灯、待分油入口指示灯等数字量值为“true”,即灯正处于亮的状态,而紧急停止按钮、空气截止阀等数字量值为“false”,即开关正处于关闭状态。净油出口压力、排水压力和分油机电流等直接显示模拟量值。
2.4 操作菜单
为将操作菜单和操作信息描述清晰,采用分层方式显示操作菜单,采用多叉树的数据结构描述操作菜单的层级关系,如图9所示:设计一个根节点用于循环显示顶层菜单,没有实际内容;由于操作信息菜单、设置信息菜单和报警信息菜单都各自包含子菜单,因此将其设计为中间节点;操作信息菜单主要显示操作信息,设计燃油流量、待分油温度等作为操作信息菜单的叶节点;设置信息菜单显示参数设置;报警信息菜单主要显示报警序号,具体报警信息内容放到其叶节点显示。
操作菜单的操作规则:同一层节点可通过指令在本层内移动,但不能跨层;不同层节点可通过指令进入下层或返回上层。在EPC 控制面板上点击按钮触发相应的事件,向上或向下按键触发层内移动事件;按返回和回车键触发层级变动事件,进入上一层或返回下一层。
2.5 电气控制箱
电气控制箱的主体部分由1台工业触摸屏电脑和PLC模块组成,设备元件配置见表1。设计包括分油机电源、紧急停止按钮、端盖连锁开关等6路输入数字量,设计21路输出数字量用于控制系统模拟屏上的指示灯,设计3路输出模拟量用于压力表和电流表的输出显示,设计1路输入模拟量用于分油机振动传感器的输入,PLC接点配置见表2。选用S7-200 SMART PLC的1个CPU模块和3个扩展模块用于模拟量和数字量的输入和输出。电气控制箱上还设计一个电流表(显示分油机马达的实时工作电流)和一个紧急停止按钮(用于突发情况下终止系统工作)。
2.6 系统模拟屏
系统模拟屏将分油机仿真系统原理图绘制在马赛克展示板上,接收来自PLC的输出信号,控制管路、开关等指示灯的显示,动态展现分油机系统的油路、水路和气路的工作流程。手动模式下,在系统模拟屏上控制阀件、按钮、开关等,并将控制信号送入PLC输入,实现手动控制分油过程。采用电位器代替分油机振动传感器,用于在手动模式下模拟实际传感器的测量值。利用压力表实时显示净油出口压力和排水压力的变化。
3 系统测试
在EPC界面单击启动按钮启动系统,进入启动准备状态,判断是否需要校准启动。若选择直接启动,则默认进入自动启动模式,由EPC控制进入自动启动超状态,然后依次转换进入供油泵自动启动子状态、加热器自动启动子状态、分油机自动启动中子状态和分油机完成自动启动子状态。分油机完成自动启动后进入转换超状态,并进行全排渣转换和置换水转换,完成首次排渣和置换水。排渣完成后,进入分油机运转超状态,并在其正常分油子状态、排水子状态和排渣子状态之间转换。若选择校准启动,在分油机启动后会首先进行校准,然后进行首次全排渣和置换水。工作流程界面和状态转换界面分别见图10a和10b。
图10c为EPC 60控制界面,窗口中“SEPERA-TION”表示分油机正处于正常分油状态,且图中加热器、供油泵和分油机按钮指示灯常亮,排渣和置换水等按钮指示灯显示灰色。当系统运行出现异常时,报警指示灯闪烁且窗口中显示报警文本内容。
在图10d参数设置界面中分别设置RMD80、RME180、RMG380和RMG500这4种型号燃油的主要参数并分别测试,包括燃油50 ℃运动黏度、待分油进机温度和燃油密度等。图11为油水分界面曲线,显示了在待分油进机温度不变时,分油机仿真系统从启动0时刻到运行33 min的油水分界面的变化过程,横坐标为时间,纵坐标为油水分界面半径与分离筒内液面半径的比值(rw/r)×100%。从4条曲线的整体趋势可以看出,曲线中的2次峰值变化分别出现在两次排渣过程中:第一次峰值变化出现在分油机启动后的首次全排渣过程和置换水过程中;在正常排渣过程中,当含水量较小时,供油泵不关,待分油仍在进入分油机,因此在由排渣引起的第二次峰值曲线变化后(rw/r)×100%维持较高的值;进入正常分油后,曲线走势大体维持稳定,间隔波动是进补偿水或者排水引起的。
在分油机启动和运行时间一致的前提下,对比这4种不同型号燃油的分离曲线可以发现:首次全排渣时,由于没有进入正式分离过程,4条曲线的第一次峰值变化几乎重合;接着进入正式分离过程,曲线变化平稳。从图11可以看出:RMG500曲线最先出现第二次峰值变化,表示RMG500型号的燃油最先进入排渣过程,其次是RMG380型号燃油;RME180和RMD80曲线第二次峰值变化几乎重合,说明这两种型号燃油进入排渣的时间几乎一致。经过分析可知,当待分油进机温度不变时,燃油的运动黏度和密度越大就越早进入排渣过程。
4 结 论
通过分析Alfa Laval S系列分油机的工作原理和工作状态,设计了两层嵌套状态机控制模型。在简化分离筒几何形状的基础上,建立分油机仿真数学模型。利用面向对象语言C#具有封装、继承和多态的特点,设计两层状态机的控制程序,其具有易于编写和方便功能扩展的特点。设计单独的分油机模型类ModelClass,用于启动模型和求解模型。在Visual Studio 2015环境下开发程序,采用GDI+技术绘制操作控件和显示控件,使得人机交互界面友好、操作简单。利用系统模拟屏直观显示分油机的工作流程和状态转换过程,便于教学演示。通过参数设置功能,测试了系统对4种不同型号燃油的分离净化过程,得到相对应的分离曲线。测试结果表明,分油机仿真系统达到了模拟分油机系统工作过程的目的,并且可以模拟不同型号燃油的分离过程。
参考文献:
[1] 张勇亮, 张均东. 中外轮机模拟器对比分析[J]. 中国水运, 2018, 18(11): 87-89.
[2] 贾宝柱, 曹辉, 张均东, 等. 轮机模拟器及其关键技术[J]. 中国航海, 2012, 35(1): 35-40.
[3] 罗楚江, 滕宪斌, 杨期江. 三维视景仿真环境下的船舶分油机仿真系统设计[J]. 广州航海学院学报, 2018, 26(3): 1-3.
[4] 黄小松. 分油机模拟控制面板智能化设计[D]. 大连: 大连海事大学, 2017.
[5] LI Ying, SUN Jianbo. Research on simulation and application of marine oil purifier system[C]//2017 4th International Conference on Information, Cybernetics and Computational Social Systems (ICCSS). 2017: 44-47.
[6] WANG Shiwen, JIANG Zhonghao, SHEN Zhipeng, et al. The mathematical modeling and simulation research of marine oil purifier system[C]//Proceeding of the 11th World Congress on Intelligent Control and Automation. 2014: 2774-2779.
[7] 张宁, 沈智鹏, 刘继中, 等. 基于半实物的船舶燃油净化仿真系统研究[J]. 系统仿真学报, 2015, 27(9): 2044-2049.DOI: 10.16182/j.cnki.joss.2015.09.016.
[8] 黄小松, 王冬捷, 刘泊江, 等. 船舶分油机模拟器设计与实现[J]. 计算机测量与控制, 2016, 24(12): 165-167, 171.DOI: 10.16526/j.cnki.11-4762/tp.2016.12.047.
[9] 夏斯华. 基于层次状态机的GPON系统OMCI协议栈的实现[D]. 上海: 上海交通大学, 2013.
[10] 温贝贝. 基于层次状态机的服务组合與验证[D]. 北京: 中国石油大学, 2017.
[11] 蒋子峰, 刘奇. 层次状态机在船舶电站监控系统中的应用[J]. 机电设备, 2013, 30(4): 16-19.
[12] 周苏, 杨涛. 基于层次状态机的自动变速箱的控制策略研究[J]. 内燃机与配件, 2018(1): 32-35. DOI: 10.19475/j.cnki.issn1674-957x.2018.01.012.
[13] FRAGAL V H, SIMAO A, MOUSAVI M R. Hierarchical featured state machines[J]. Science of Computer Programming, 2019, 171: 67-88.
[14] KIELAR P M, HANDEL O, BIEDERMANN D H, et al. Concurrent hierarchical finite state machines for modeling pedestrian behavioral tendencies[J]. Transportation Research Procedia, 2014, 2: 576-584. DOI: 10.1016/j.trpro.2014.09.098.
[15] 刘海成, 关旭东. 层次状态机及协处理状态机的Verilog HDL描述方法研究[J]. 黑龙江工程学院学报, 2018, 32(1): 34-40, 45.DOI: 10. 19352/j.cnki.issn1671-4679.2018.01.008.
[16] 赵成豹, 李精明. Alfa-Laval分油机原理及机构演化[J]. 青岛远洋船员职业学院学报, 2013, 34(3): 8-12.
(编辑 赵勉)
收稿日期: 2019- 07- 08 修回日期: 2019- 11- 20
作者简介: 焦品博(1995—),男,江苏徐州人,硕士研究生,研究方向为轮机自动化,(E-mail)jpb000@qq.com;
王海燕(1976—),男,河北平山人,副教授,博士,研究方向为船舶柴油机建模与仿真,(E-mail)wanghaiyan@shmtu.edu.cn