论文部分内容阅读
随着船用发动机智能化程度越来越高。发动机控制需求从单一控制器发展到多控制器并行控制,同时为获得更全面的发动机状态参数,需要加入更多的监测节点用于发动机工况数据采集。因此,船用发动机数据通信网络中需要进行传输和共享的数据逐渐增多,原有的通信节点用导线直接接入控制室进行读取和操作的方式已经不能满足现有的通信需求。考虑到船用发动机工作环境的特殊性,采用造价低、抗扰性强、传输速率快并且可靠性高的CAN总线作为船用发动机数据通信网络的主要载体已成为主要的趋势。并在CAN总线多种应用层协议中,选用具有多节点容量、高灵活性且节点属性配置手段简便的CANopen协议作为船用发动机数据通信网络的标准协议。本文主要的研究工作是船用发动机数据通信网络的CANopen协议实现,依据实际需求通过采用冗余、时间窗设置手段增加通信网络的可靠性、提高数据传输实时性等。本文首先介绍CAN总线技术在船用发动机数据通信中的应用,对采用CAN总线机上层应用协议进行分析,说明在通信网络中加入冗余的必要性。以双燃料发动机为通信模型,对船用发动机通信网络结构进行分析,对通信网络中控制参数和监控参数进行归纳,构建出以双燃料发动机为模型的CANopen通信网络架构。其次,对于船用发动机数据通信CANopen协议中构建对象字典、SDO通信、PDO通信、心跳通信和网络管理等核心功能逐一进行程序实现。在此基础上,为提高通信网络整体可靠性,在总线通信中,采用双CAN冗余的方法,成功实现双CAN通信,并在总线故障发生后可完成总线切换。解决CANopen协议中SDO刷写过程可能出现刷写数据丢失、顺序混乱等问题,利用互斥锁功能进行功能改进,可保证SDO配置过程中,不会出现配置错误问题。在过程数据中,为避免通信网络中优先级较低节点无法加入数据通信的弊端,通过加入时间窗提高各节点通信实时性。最后,利用CANtest上位机通信显示和CANscope总线干扰仪完成了船用发动机冗余总线数据通信的功能测试,测试结果表明,本文所构建的CANopen协议能够完成CAN总线应用层通信的数据传输与共享要求,并在总线出现断线故障后,可进行无扰总线切换,SDO配置过程无差错,通过时间窗设置可满足节点通信的实时性要求。综上证明本文构建的船用发动机数据通信网络满足通信需求。本论文的研究工作为船舶发动机控制和状态监控提供技术支撑。