APP下载

一种用于电磁阀控制的CAN总线数据传输协议设计*

2016-11-07张建国付道俊

舰船电子工程 2016年10期
关键词:电磁阀命令总线

张 星 张建国 周 畅 付道俊

(武汉第二船舶设计研究所 武汉 430064)



一种用于电磁阀控制的CAN总线数据传输协议设计*

张星张建国周畅付道俊

(武汉第二船舶设计研究所武汉430064)

CAN总线凭借其优越性已成为应用最为广泛的现场总线之一。针对电磁阀控制系统,论文提出一种CAN总线数据传输协议,详细描述了协议实现,经过测试验证了其良好效果。

CAN总线; 数据传输协议; 电磁阀控制

Class NumberTP393.04

1 引言

CAN总线,即控制器局域网总线(Controller Area Network,CAN),是一种用于实时应用的串行通讯协议总线。凭借其实时性强、传输距离较远、抗电磁干扰能力强、成本低等优势,CAN总线成为世界上应用最广泛的现场总线之一,应用领域包括航空航天、船舶、汽车控制、医疗设备、工业控制等各方面[1~3]。

电磁阀适用于各种液体、气体等管路的自动控制,广泛应用于军工、航天、船舶重工、核工业、石化等领域,是极其关键的执行机件,阀件控制的实时性、准确性、可靠性影响整个系统的性能[4]。

本文针对电磁阀控制系统,提出一种CAN总线数据传输协议,下面给出其详细设计。

2 协议概述

本协议采用CAN2.0B扩展帧格式[5~10],采用数据帧通信,通信速率设置为250kbps,29位ID分配见表1。

表1 ID分配说明

本文设计总线命令包括控制开关、群控、读取

阀件状态、读取详细信息,满足阀件控制的所有需求。总线命令描述见表2。

表2 总线命令描述

3 协议详细说明

假设负载输出为16路固态配电开关和4路继电器触点,均用CAN总线控制其通断。采用ID_DOWN(节点号,通道号,总线命令)的形式来描述上位机发送ID,并采用ID_UP(节点号,通道号,总线命令)的形式来描述节点回复ID,数据域长度与实际列出数据对应。以下详细说明各命令的协议格式。

3.1控制开通(TURN_ON)

控制开通为上位机发送命令,ID中包含设备地址、通道号和命令码,在后续数据中设置确认位以避免误操作。其协议格式如表3。

表3 控制开通协议格式

回复

IDID_UP(设备地址,通道号0~19,0x02)无数据域

3.2控制关断(TURN_ON)

控制关断为上位机发送命令,ID中包含设备地址、通道号和命令码,在后续数据中设置确认位以避免误操作。其协议格式如表4。

表4 控制关断协议格式

回复

IDID_UP(设备地址,通道号0~19,0x04)无数据域

3.3群控(WHOLE_CONTROL)

群控为上位机发送命令,ID中包含设备地址、通道号和命令码。其协议格式如表5。群控功能能同时控制多个电磁阀的开关状态,并自动回复各电磁阀开关状态,不用单独发送获取状态命令,极大提升电磁阀控制效率。为保证控制的抗干扰性,设计Data3为校验和位。

表5 群控协议格式

回复

IDID_UP(设备地址,通道号63,0x08)Data0Bit7~Bit0依次与通道号7~0固态配电开关的开关状态对应1:开0:关Data1Bit7~Bit0依次与通道号15~8固态配电开关的开关状态对应1:开0:关Data2Bit7~Bit4对应继电器检测3~0路状态Bit3~Bit0对应通道号19~16继电器开关状态1:吸合0:释放Data3Bit7~Bit0对应电磁阀7~0路状态1:吸合0:释放Data4Bit7~Bit0对应电磁阀15~8路状态1:吸合0:释放Data5Bit7~Bit0对应电磁阀23~16路状态1:吸合0:释放Data6Bit7~Bit0对应电磁阀31~24路状态1:吸合0:释放

3.4读取阀件状态(GET_STATUS)

读取阀件状态为上位机发送命令,ID中包含设备地址、通道号和命令码。其协议格式如表6。命令回复内容与群控回复内容一致。

表6 读取阀件状态协议格式

回复

IDID_UP(设备地址,通道号63,0x08)Data0Bit7~Bit0依次与通道号7~0固态配电开关的开关状态对应1:开0:关Data1Bit7~Bit0依次与通道号15~8固态配电开关的开关状态对应1:开0:关

IDID_UP(设备地址,通道号63,0x08)Data2Bit7~Bit4对应继电器检测3~0路状态Bit3~Bit0对应通道号19~16继电器开关状态1:吸合0:释放Data3Bit7~Bit0对应电磁阀7~0路状态1:吸合0:释放Data4Bit7~Bit0对应电磁阀15~8路状态1:吸合0:释放Data5Bit7~Bit0对应电磁阀23~16路状态1:吸合0:释放Data6Bit7~Bit0对应电磁阀31~24路状态1:吸合0:释放

3.5读取详细信息(GET_MESSAGE)

读取详细信息为上位机发送命令,ID中包含设备地址、通道号和命令码,其协议格式如表7。

表7 读取详细信息协议格式

回复

IDID_UP(设备地址,通道号(0~14取偶数),0x20)Data0Data1当前通道电流I=Data0+Data1/256(A)Data2当前通道状态Bit7~Bit4备用Bit3:过流标志1:过流0:无过流Bit2:短路标志1:短路0:无短路Bit1:开路标志1:开路0:无开路Bit0:异常标志1:异常0:无异常Data3当Data3在0~100范围内,表示当前通道热量相对保护门限的百分比;否则,当Data3大于100,表示当前通道状态更新中,无意义。Data4Data5下一通道电流I=Data4+Data5/256(A)Data6下一通道状态,与Data内容一致Data7当Data7在0~100范围内,表示下一通道热量相对保护门限的百分比;否则,当Data7大于100,表示下一通道状态更新中,无意义。

结合硬件电路,本协议设计了电流检测功能以及通道状态检查功能,用户可以据此及时判断电磁阀工作性能优劣,能极大提高电磁阀控制系统的可靠性和安全性。读取详细信息命令会同时恢复两个通道的状态信息,所以通道号取0~14的偶数即可,若在次范围内不慎填入奇数,自动-1变成偶数,这样也大幅提升了检测效率。

4 结语

实际系统测试结果表明,对于电磁阀控制系统,本协议简洁实用、功能完备、可靠性强、通用性强,尤其实现了群控功能和通道详细信息检查功能,大幅提升电磁阀控制效率和可靠性。

[1] 邬宽明.CAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社,2002:1-5.

[2] 阳宪惠.现场总线技术及其应用[M].北京:清华大学出版社,2001:1-6.

[3] 王苏敬,王立德.列车用CAN总线应用层协议研究与实现[J].北京交通大学学报,2008:20-22.

[4] 胡志强.油、气工业对阀门市场的影响[J].通用机械,2005:23-25.

[5] Advantech Co., Ltd. Advantech CAN Card Driver Manual [EB/OL]. 2004:22-24.

[6] 韩炬,柯进,金江.一种CAN总线冗余方法[J].电子工艺技术,2002,19(4): 32-34.

[7] 王苏敬,王立德,申萍,等.列车用CAN总线应用层协议研究与实现[J].北京交通大学学报,2008(10):32-34.

[8] 肖存龙,卜乐平,王黎明,等.CAN总线实时性分析[J].微计算机信息,2009(25):64-65.

[9] 夏继强,邢春香.现场总线工业控制网络技术[M]. 北京:北京航空航天大学出版设,2005(10):181-190.

[10] ISO-IS11898, Road vehicles-Interchange of digital information-Controller Area Network (CAN) for high speed communication[S]. 1993:5-10.

Design of A CAN Bus Data Transfer Protocol for Solenoid Valve Control

ZHANG XingZHANG JianguoZHOU ChangFU Daojun

(Wuhan Second Ship Design and Research Institute, Wuhan430064)

CAN bus has become one of the most widely used field bus with its advantages. For solenoid valve control system, this paper proposes a CAN bus data transfer protocol, and describes its implementation in detail. The result of tests verifies the protocol’s good benefits.

CAN bus, data transfer protocol, solenoid valve control

2016年4月10日,

2016年5月15日

张星,男,博士,工程师,研究方向:舰船电子武备技术。张建国,男,博士,工程师,研究方向:舰船电磁兼容技术与试验。周畅,男,博士,工程师,研究方向:舰船电磁兼容技术与试验。付道俊,男,硕士,高级工程师,研究方向:舰船电子武备技术。

TP393.04

10.3969/j.issn.1672-9730.2016.10.015

猜你喜欢

电磁阀命令总线
基于ANSYS Maxwell的比例电磁阀隔磁环仿真分析与优化
低速机电控喷油器电磁阀换热特性计算
只听主人的命令
安装和启动Docker
福特6F35变速器的电磁阀控制策略
一种基于CAN总线的误码测试方法
DCOM在混合总线自动测试系统的应用
移防命令下达后
基于AVR单片机的RS485工业总线开发设计
解析Windows10的内部命令