双燃料船舶动力分布式监控系统研发
2015-06-12李捷辉钟光耀庞春风时国伟
李捷辉 钟光耀 庞春风 时国伟
(江苏大学汽车与交通工程学院1,江苏 镇江 212013;中油中泰燃气投资集团有限公司2,江西 南昌 330038)
双燃料船舶动力分布式监控系统研发
李捷辉1钟光耀1庞春风2时国伟2
(江苏大学汽车与交通工程学院1,江苏 镇江 212013;中油中泰燃气投资集团有限公司2,江西 南昌 330038)
根据CAN总线技术和嵌入式技术,设计一套柴油/LNG双燃料船舶动力分布式监控系统,实现对两台T8138ZLCZ型柴油机的同时监控。应用EV5000组态编辑软件设计上位机Kinco MT4414TE-CAN人机界面(HMI),使用Matlab/Simulink设计控制模型,并一键生成下位机C代码程序。上位机HMI与下位机ECU通过CAN总线硬件电路完成数据通信。研究结果表明,通过触摸屏技术,能够直观有效地对双燃料船舶动力进行监视和控制;监控系统性能稳定,操作方便,工作可靠。
CAN 监控系统 双燃料 人机界面 基于模型设计
0 引言
随着嵌入式技术和现场总线技术的发展,分布式监控系统的应用日益广泛[1]。在柴油/LNG双燃料船舶上加装发动机(electronic control unit,ECU)的同时,一套监控系统作为人机交互的接口对电控系统提供可视化支持必不可少。CAN总线结构简单、可靠性好、通信速率高,具有基于优先权的多主工作方式、非破坏性的线路竞争仲裁机制等特点。当传输距离为40 m时,CAN总线最大传输速率可达1 Mbit/s[2];作为上、下位机的“桥梁”,CAN总线实现各节点间实时、可靠的数据通信任务。本文设计的双燃料船舶分布式监控系统基于CAN总线技术,通过上位机Kinco MT4414TE-CAN实现对两台T8138ZLCZ型柴油机的同时监控。
1 监控系统总体结构与功能
所加装船舶的双燃料电控系统硬件由ECU、传感器、执行器和HMI四大部分构成。监控系统总体结构如图1所示。
图1 监控系统总体结构Fig.1 The structure of the monitoring and control system
监控系统作为电控系统的重要组成部分,应具有如下功能:①显示功能,实时显示发动机实际运行参数、性能指标;②监视功能,在线自动监视工作参数,超上下限闪烁,火灾报警;③控制功能,手动进行模式切换、风扇开关及紧急停机等触摸控制;④记录功能,运行参数、状态记录和历史数据保存。
监控系统由位于驾驶室的上位机和机舱内的下位机两部分组成,实时监控两台双燃料发动机。通信数据采用扩展帧类型数据帧格式,下位机监测数据以广播方式发送,即网络上每个节点都可以收到数据。对于不需要这些数据的节点,通过设置屏蔽码寄存器予以屏蔽[3]。为了便于快速原型开发(RCP),控制程序和通信程序基于模型设计(model-based design,MBD),目标系统针对飞思卡尔32位单片机MPC5634配置。
系统通信分为3级:第一级为主机级,第二级为监控级,第三级为外部级。其中第一级为每块ECU与对应发动机之间的通信,第二级为HMI、标定软件与两块ECU之间的通信,第三级采用HMI扩充以太网、RS-232/RS- 485、USB等通信接口。
2 监控系统硬件设计
2.1 总线拓扑结构
根据结构形式的不同,CAN总线拓扑主要有星型、环型、总线型及树型,其中总线型应用最广泛。CAN网络采用总线型拓扑拥有诸多优势,结合船舶实际构造,本文选用总线型作为网络拓扑结构。
拓扑结构中的终端电阻对匹配总线阻抗起着重要作用。ISO 11898协议规定,为了抑制信号反射及提高网络EMC性能,CAN总线必须在拓扑结构的最远端安装终端电阻,以免降低数字通信的抗干扰性和可靠性,甚至无法通信。ISO 11898标准将整个CAN网络的终端电阻简化为拓扑最远端两个120 Ω的电阻[4]。但在实际使用过程中,由于拓扑结构的不同,并且有些节点具有一定的支线长度,因此需对终端电阻进行分析和改进。
2.2 协议控制器(FlexCAN)
如图1所示,下位机通信电路包含两个芯片:带有CAN控制器(FlexCAN)的MCU和CAN总线收发器(TJA1050)。其中,MCU负责数据采集与处理,完成初始化等特定功能;CAN控制器(FlexCAN)负责实现网络协议、数据的发送和接收等通信任务。
主芯片MPC5634内部集成了两个CAN总线协议控制器(FlexCAN),每个FlexCAN都支持博世公司(BOSCH)的CAN2.0B协议,功能互不影响。FlexCAN_A拥有64个消息缓冲区,作为监控主信道使用;FlexCAN_C拥有32个消息缓冲区,在开发测试阶段,作为标定通道使用,在正常运行阶段则作为监控备用通道使用。
2.3 总线收发器(TJA1050)
CAN总线收发器TJA1050是CAN控制器与物理总线之间的接口元件,实现对CAN总线的差动发送和接收功能,并且与ISO 11898标准兼容,是实现网络性能的关键因素之一。CAN总线收发器TJA1050电路原理图如图2所示。
CAN协议控制器通过MCU的串行数据输出引脚TXD和串行数据输入引脚RXD连接到收发器;而收发器则通过具有差动接收及发送功能的引脚CAN_H和CAN_L连接到总线网络。TJA1050使用额定5 V电源供电。参考电压Uref输出一个Vcc/2的额定电压。此电压作为带有模拟Rx输入的CAN控制器参考电压。由于FlexCAN具有数字输入,所以不需要此电压。端口S用于模式控制,将其接地则进入高速模式,即工作模式[5]。
收发器与CAN总线并不直接相连,而是采取了一定的安全措施和抗干扰措施。CAN_H和CAN_L与地之间设计1个RC滤波电路,由1个62 Ω电阻和1个20 pF电容组成,起到滤除总线上高频干扰的作用。在两根CAN总线引脚与地之间分别连接1个瞬态抑制二极管,当出现瞬变干扰时,通过钳位保护,防止负电压过大。此外,100 pF电容用于维持电压稳定。
图2 CAN总线收发器原理图Fig.2 Schematic diagram of CAN bus transceiver
3 监控系统软件设计
3.1 通信协议
SAE J1939协议数据单元(PDU)包含7个域,分别是优先级(P)、保留位(R)、数据页(DP)、PDU格式(PF)、特殊PDU(PS)、源地址(SA)和数据场[2]。前六部分构成CAN报文的ID。其中控制报文采用PDU1格式,其特殊PDU用作目标地址(DA);消息报文采用PDU2格式,其特殊PDU用作群扩展(GE)。ID设置如表1所示。
表1 ID设置Tab.1 ID settings
3.2 组态界面
组态是HMI上电开机后的操作界面,是提高用户体验、实现人机交互的窗口,操作人员通过其可以直观地监视和控制发动机运行[8]。组态共设计有主界面、安防监控、表盘显示、历史曲线等6个窗口,其中主界面分为参数显示、控制按钮、安防监控和窗口切换4个区域。参数显示区域实时显示两台发动机运行参数,控制按钮区域进行双机模式切换等触控操作,安防监控区域在线监测数据上下限并可报警,而触控窗口切换区域内的按钮,将会弹出相应的子界面。
3.3 上位机程序
后台程序的任务是数据管理、通信控制和交互处理。HMI通过CAN自定义协议来接收监视数据和发送控制命令,协议使用C语言编写。
监视数据接收流程如图3所示。
图3 监视数据接收流程Fig.3 Receiving process of the monitoring data
首先,是对头文件(包括数据类型)的定义;其次,根据数据链路层协议定义一个符合J1939 PDU格式的结构体,包括仲裁场、控制场和数据场。接着进入初始化阶段,由于每次开机程序优先且只执行一次初始化,所以在这里进行寄存器设置和对状态地址赋初值。然后进入一个无限循环的主程序,查询组态操作标志位,同时等待通信接收中断。
每当接收缓冲区接收到一帧CAN报文,就会触发接收中断,主程序调用接收服务子程序对报文进行解析。首先根据通信协议过滤ID,然后进行高低位整合等数据处理,最后写入目标地址。
操作组态界面时,后台程序将对寄存器和组态操作标志位赋值。主程序循环查询并判断标志位,接着写入对应的控制命令并根据通信协议封装成PDU格式,然后向CAN总线发送报文,最后清标志位和寄存器。控制命令发送流程如图4所示。
图4 控制命令发送流程Fig.4 Transmitting process of the control commands
3.4 下位机程序
数据发送采用DAQ模式,它使从设备脱离主设备,自主地按一定周期向主设备上传数据。设计统一采用50 ms周期,故只需要一张DAQ列表,并将其中所包含的5张ODT列表封装成5帧CAN报文,发送到目标发送缓冲区。
CANTransmit、ReceiveInterrupt和CANReceive是在Matlab/Simulink中利用C-MEX S函数和TLC文件编写的自定义底层驱动块,封装S-Function后添加到Libraries供建模调用[9]。在CANTransmit驱动块中,根据通信协议填充ID。DAQ-DTO的数据域由8字节构成,第一个字节为PID,标志了该帧报文所对应的ODT。
命令接收采用Polling模式。每当接收缓冲区接收到CAN总线上的报文时,ReceiveInterrupt驱动块就触发接收中断,将目标接收缓冲区中的报文传递给CANReceive驱动块。CANReceive驱动块根据通信协议对报文进行解析,首先过滤ID,然后将控制命令传递给一个Stateflow逻辑判断。根据6个判断条件,对发动机进行3种信号控制,最后调用CANTransmit驱动块反馈给上位机HMI。
3.5 安防监控
天然气的安防监控对双燃料发动机十分重要。监控系统除了对燃气温度、燃气压力、瞬时气量、气化温度、储罐温度、储罐压力等数据进行实时监测和超限值闪烁提醒外,还设置了燃气气量限制、燃气泄漏报警和火灾报警功能[10]。
当转速超过1 500 r/min,或者瞬时气量超过该转速下最大气量,或者排气温度超过500 ℃、冷却水温超过95 ℃时,都将对燃气气量进行限制。
其次,船体上5个关键位置还装有可燃气体浓度传感器。监控系统实时显示可燃气体浓度,且当浓度超过10%时,程序自动控制打开风扇和泄漏报警灯,监测界面上的垂直进度条也会由绿色变成黄色;当浓度超过20%时,程序自动断气并打开排空阀,垂直进度条相应地由黄色变成红色闪烁。
此外,当触发燃气泄漏信号后,监控系统也会通过CAN总线第一时间做出反应,闪烁对应的火灾报警灯并发出报警声音。操作人员可以通过HMI实现紧急停机。
4 台架试验
试验用柴油/LNG双燃料发动机由两台8缸直列式、水冷、船用柴油机改装而成,试验台架布置简图如图5所示。流量计和油耗仪计量天然气与柴油的消耗量。上位机HMI通过CAN总线监控ECU,同时通过PC机1监测报文。控制仪通过测功机改变发动机负荷,同时通过PC机2显示扭矩和转速。烟度计和五气分析仪测量尾气烟度值、不透光烟度以及NOx含量。发动机转速低于怠速时采用纯柴油模式,高于怠速时启用双燃料模式。试验过程中成功实现通过HMI手动切换工作模式。
图5 双燃料发动机台架试验简图Fig.5 Simplified diagram of the bench test for dual fuel engine
借助USBCAN-II转换卡和CANMonitor分析软件,进行可行性验证及可靠性验证。台架试验过程中,ECU发送数据报文,HMI发送控制命令,ECU执行并应答反馈信号,通过PC机1对CAN总线进行监视采样分析,最终得到正确数据。
表2为CANMonitor分析软件采集数据。表2中,帧ID0x0C000201为控制报文,数据域首字节01代表断气信号;帧ID0x18F00402第二个字节是喷气使能信号,01代表正在使用天然气,断气信号之后变成00,代表已经停止使用天然气。
表2 CANMonitor数据Tab.2 CANMonitor data
经测试,在总线长度20 m、75%采样点、250 kbit/s波特率的状态下,控制信号可在50 ms之内得到执行并反馈。对于一般的数据传递,CAN总线网络能够完美实现实时性响应;对于断油断气等紧急控制,也能完全满足安全性要求。
5 结束语
基于模型设计(MBD)的开发方式实现了编程的可视化和模块化;快速生成嵌入式C代码,使得开发人员可以专注于控制策略和通信协议的制定,提高开发效率。
监控系统为整套电控系统提供可视化支持,实现同时对两台发动机的实时监控,提高双燃料发动机的实用性、可操作性和安全性。CAN总线在船舶领域内的扩展应用,推进了分布式监控系统的实现。
[1] 武琦.基于CAN总线的船舶监控系统通信结构设计[J].中国科技信息,2013(12):99.
[2] 罗峰,孙泽昌.汽车CAN总线原理、设计与应用[M].北京:电子工业出版社,2010:29-31,68-70.
[3] 郭庆祝,宋扬.基于CAN现场总线的船舶机舱分布式监控系统的研制[J].中国海洋平台,2005,20(4):48-50.
[4] 国际标准化组织道路车辆技术委员会.ISO 11898-1-2003 Road Vehicles-Controller Area Network(CAN)-Part1:Data link layer and physical signalling[S].2003.
[5] 龙志强,李晓龙,窦峰山,等.CAN总线技术与应用系统设计 [M].北京:机械工业出版社,2013:86-89.
[6] 国家标准化管理委员会.商用车控制系统局域网络(CAN)通讯协议-第4部分:数据链路层(征求意见稿)[S].2014.
[7] 邵斌.电容式混合动力汽车CAN通信网络研究[D].镇江:江苏大学,2010.
[8] 袁伟,俞孟蕻.舰船综合平台管理系统设计[J].舰船科学技术,2013,35(7):145-148.
[9] 刘杰,翁公羽,周宇博.基于模型的设计——MCU篇[M].北京:北京航空航天大学出版社,2011:164-184.
[10]吴恒,夏立.基于CAN总线的船舶火灾报警系统的设计[J].青岛大学学报:自然科学版,2004,13(3):27-28.
Research and Development of the Distributed Monitoring System for Dual Fuel Marine Power
Based on the CAN bus technology and embedded technology, the distributed monitoring system for diesel/LNG dual fuel marine power has been designed to implement monitoring for two sets of T8138ZLCZ diesel engines simultaneously. The human machine interface (HMI) of the host computer Kinco MT4414TE-CAN is designed using EV5000 configuration editor software, the control model is designed using Matlab/Simulink, and the C code program is generated. Data communication between host computer HMI and slave computer ECU is achieved via CAN bus hardware circuit. The results of research show that the dual fuel marine power can be controlled intuitively and effectively through touch screen technology; the monitoring system is stable in performance, ease to operate and running reliably.
CAN Monitoring system Dual fuel HMI Model-based design(MBD)
李捷辉(1963-),男,2006年毕业于江苏大学动力系,获博士学位,教授;主要从事发动机电子控制的研究。
TP277
A
10.16086/j.cnki.issn1000-0380.201506009
修改稿收到日期:2014-12-29。