CN101662404B - 基于can总线船舶电站控制仪表通信方法 - Google Patents
基于can总线船舶电站控制仪表通信方法 Download PDFInfo
- Publication number
- CN101662404B CN101662404B CN200810043737A CN200810043737A CN101662404B CN 101662404 B CN101662404 B CN 101662404B CN 200810043737 A CN200810043737 A CN 200810043737A CN 200810043737 A CN200810043737 A CN 200810043737A CN 101662404 B CN101662404 B CN 101662404B
- Authority
- CN
- China
- Prior art keywords
- data
- bus
- frame
- power station
- identifier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明公开了基于CAN总线船舶电站控制仪表通信方法,该方法是通过验收滤波器控制CAN总线,并通过改进的CAN协议实现船舶电站控制仪表之间的通信;该改进的CAN协议通过标识符的重新定义来实现。根据上述技术方案得到的本发明基于CAN总线智能控制仪表的通信协议使用简洁、格式规范、信息全面、与滤波器一起可用作广播或组播地址,这对于提高通讯的灵活性非常有用;同时实用性广,具有很强的市场价值。
Description
技术领域:
本发明涉及基于CAN总线的智能仪表组网技术,涉及一种基于CAN总线智能控制仪表通信协议和多地址帧传送的方法,特别适用于CAN总线船舶电站控制仪表通信
背景技术:
现场总线(Field Bus)是当前工业数据总线领域中最活跃的一个领域已成为工业数据总线领域的一个新热点。CAN(Controller Area Network)总线是重要的现场总线之一,它遵从OSI模型主要工作在数据链路层和物理层。CAN总线是一种全数字化双向和多主的现场总线以其高性能高可靠性以及灵活的设计受到人们的重视应用越来越广泛。
CAN(Controller Area Network)总线已被广泛应用到各个自动化控制***中,CAN具有以下的主要特点:
1、多主站依据优先权进行总线访问。由于CAN是对通讯数据块进行编码的,所以优先权是通过数据块(数据帧)中的仲裁场决定的。通常是指数据帧的标识符的编码,编码的数据越小优先级越高。
2、无破坏性的基于优先权的仲裁。在总线竞争过程中优先级高的报文得到发送,优先级低的报文在经过若干个总线周期后,再次参与总线竞争,报文不会被破坏。
3、借助接收滤波的多地址帧传送,由于CAN控制器中都存在报文滤波寄存器,可实现多地址传送。
4、远程数据请求,需要数据的节点可以发送远程帧进行数据请求。
5、错误检测和出错信令,发送期间若丢失仲裁或由于出错而遭破坏的帧可以自动重发。
6、暂时错误和永久故障节点的判别及故障节点的自动脱离。
但CAN-BUS没有对应用层协议作具体规定。需根据CAN特点进行拓展。
发明内容:
本发明针对上述现有CAN-BUS在通讯应用上所存在的不足,而提供一种基于CAN总线智能控制仪表通信协议,其使用简洁、格式规范、信息全面、与滤波器一起可用作广播或组播地址,且对提高通讯的灵活性非常有用。
为了达到上述目的,本发明采用的技术方案是:
基于CAN总线船舶电站控制仪表通信方法,该方法是通过验收滤波器控制CAN总线,并通过改进的CAN协议实现船舶电站控制仪表之间的通信;该改进的CAN协议通过标识符的重新定义来实现。
所述CAN协议为CAN2.B,该协议下可采用标准帧和扩展帧两种不同的数据帧;标准帧的仲裁场由11位标识符和RTR位组成,扩展帧的仲裁场由29位标识符、SRR位、IDE位和RTR位组成。
所述扩展帧仲裁场中的29位标识符依次定义为功能码、组号、目的地址码、源地址码、数据性质和多帧标识。
所述功能码占4位,用于定义网络中传送不同报文的优先级。
所述组号占4位,共有16组,其中有1组用于表示网络全局广播,组号有15个组可供使用。
所述地址码共有8位,其中有一节点表示表示组播。
所述目的地址码和源地址码都为8位,且都对应智能仪表的唯一地址。
所述数据性质为4位,其用于定义各种所需数据,若数据大于8个字节时,该数据需分成多帧传送。
所述多帧标识1位,用于标识发送数据为多帧数据还是单帧数据,便于大于8个字节数据分成多帧传送。
所述验收滤波器采用双滤波方式;其在接收数据帧时通过标识符和帧接收滤波来确定此数据帧是否正确,若多于两个的节点同时发送,发送权的竞争需要通过上述的标识符的逐位仲裁来解决。
所述标识符的逐位仲裁的标准为安排标识符的值小优先级高。
根据上述技术方案得到的本发明基于CAN总线智能控制仪表的通信协议使用简洁、格式规范、信息全面、与滤波器一起可用作广播或组播地址,这对于提高通讯的灵活性非常有用;同时实用性广,具有很强的市场价值。
附图说明:
以下结合附图和具体实施方式来进一步说明本发明。
图1为本发明中CAN数据帧的结构。
图2为本发明中CAN扩展帧数据帧的结构。
图3为本发明中定义的标识符结构。
图4为本发明中过滤器的设置结构。
具体实施方式:
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
船舶电站当工作情况发生变化时一般引起多个参数变化,传输数据按工况多参数来编码,使关系较密切的参数组合在一起,用标识码表示不同工况参数,达到参数组合合理。参数类型有字节变量、整型变量、单精度变量、双精度变量和字符变量,分别占一个字节、二个字节、四个字节、八个字节和多个字节,对于单、双精度变量采用IEEE754标准编程。
SJA1000验收滤波器由4个验收码寄存器ACR0、ACR1、ACR2和ACR3和4个验收屏蔽寄存器AMR0、AMR1、AMR2和AMR3组成。这8个寄存器在SJA1000的复位模式下可由主控制器设置,通过对这些寄存器的设置可对接收信息构成非常灵活的滤波。
SJA1000的验收滤波器的滤波方式为单滤波和双滤波两种方式,又因为SJA1000兼容CAN2.0B技术规范具有标准帧和扩展帧两种帧格式,每种帧格式都有单滤波和双滤波功能,故实际上SJA1000共有四种滤波方式。
由于SJA1000验收滤波器的使用相当灵活,可依据实际情况的不同,采用不同的滤波方式,且船舶电站***中有单机和多机并联运行工作情况,CAN总线要支持广播或组播功能。故本发明采用SJA1000验收滤波器作为CAN总线的控制器,来实现智能控制仪表通讯;其双滤波拿出一个滤波器用作广播或组播地址,即可实现CAN总线支持广播或组播功能,这对于提高通讯的灵活性非常有用。
如图1所示CAN数据帧结构在CAN2.B中存在两种不同的帧格式,标准帧和扩展帧。标准帧和扩展帧的仲裁场的格式不同,标准帧格式仲裁场由11位标识符和RTR位组成,扩展帧格式仲裁场由29位标识符、SRR位、IDE位和RTR位组成。
CAN控制器(即SJA1000验收滤波器)的硬件内部有组合的报文过滤机制,每个接收器通过标识符和帧接收滤波确定此帧与其是否有关;如果多于两个的节点同时发送,发送权的竞争需要通过11位(或29位)标识符的逐位仲裁来解决。标识符的值决定了总线冲突仲裁时节点优先级的高低。在报文标识符上,CAN上的节点分成不同的优先级,标识符的值小优先级高,可满足不同的实时要求,如果用二进制表示,则全“0”具有最高的优先级,全“1”具有最低的优先级。无论几个报文发送者什么时候竞争总线使用权,最后总是具有高优先级的发送者将赢得仲裁,其报文将被无延时地发送出去,因此同一时间发送的报文必须有不同的优先级。
基于上述原理,本发明通过开发利用仲裁场的标识符,以实现通信的动态优先级功能和组播功能。以下以CAN扩展帧来说明:
由于在CAN2.0B中存在两种不同的帧格式,即标准帧和扩展帧。本实施例采用CAN扩展帧来说明,参见图2CAN扩展帧数据帧的结构。本实施例把29位标识符被分为功能码、组号和目的地址号、源地址号、数据性质和多帧标识。如图3所示:
其在功能码中定义了网络中传送不同报文的优先级。基于现场总线的设备网既要接送周期性数据,如仪表的状态等,又要接送非周期性数据,如故障报警、组态数据的上传与下载等。按轻重缓急排序,如表1所示
表1功能码定义
功能定义 | 功能码 | 备注 |
设备复位 | 0000 | 复位设备 |
故障报警 | 0001 | 超限或异常等 |
状态响应 | 0011 | 周期状态值 |
***时钟 | 0010 | ***统一时钟 |
[0042]
修改上限 | 0100 | 调整上限 |
修改下限 | 0101 | 调整下限 |
修改偏差 | 0110 | 调整精度 |
组态下载 | 1000 | 动态组网 |
组态上传 | 1001 | 寻址 |
修改组号 | 1010 | 调整组号 |
修改地址 | 1011 | 调整地址 |
其它 | 备用 |
目的地址码和源地址码都对应智能仪表的唯一地址,表1中组号占有4bits,共有16组,当为“1111”时,可以表示为网络全局广播,组号有15个组可供使用。地址码共有8位,最多有256个节点,当为“11111111”时表示组播。8位目的地址码和源地址码,充分考虑了CAN节点数和方便编程的需要。
通过设置过滤器就可以只接受自己要的报文,同时双过滤器的另一个可以辩识具有组内广播的报文。例如:#2发电机控制屏电压表在第二组,地址码为5,双过滤器的设置如图4所示,过滤器1使节点5接收组报文,过滤器2使节点5只接收自己要的报文。
数据性质定义各种数据,其如表2所示,共定义了9种,根据需要可以再定义。开关量用无符号数据或布尔量表示,测控数据可用符号数或无符号数表示,***时间用date时间表示。当数据大于8个字节时,就要分成多帧传送,当多帧标识符为0时,表示传送的数据为多帧数据,为1时表示为单帧数据。
表2数据性质定义
数据性质 | 编码 | 字节 | 备注 |
Boolean | 0000 | 1 | 0为假,1为真 |
Unsigned8 | 0001 | 1 | 0~255 |
Unsigned16 | 0010 | 2 | 0~65535 |
Unsigned32 | 0011 | 4 | 0~232-1 |
Integer8 | 0100 | 1 | -128~127 |
Integer16 | 0101 | 2 | -216~216-1 |
[0048]
Integer32 | 0110 | 4 | -232~232-1 |
Floating | 0111 | 4 | 整数占1 |
date | 1000 | 7 | 年月日时分秒 |
其它 | 备用 |
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (3)
1.基于CAN总线船舶电站控制仪表通信方法,其特征在于,该方法是通过验收滤波器控制CAN总线,并通过改进的CAN协议实现船舶电站控制仪表之间的通信;该改进的CAN协议通过对应用层协议中的标识符的重新定义来实现;
所述CAN协议为CAN2.0B,该协议的应用层协议下可采用标准帧和扩展帧两种不同的数据帧;标准帧的仲裁场由11位标识符和RTR位组成,扩展帧的仲裁场由29位标识符、SRR位、IDE位和RTR位组成;
所述扩展帧仲裁场中的29位标识符依次定义为功能码、组号、目的地址码、源地址码、数据性质和多帧标识;
所述功能码占4位,用于定义网络中传送不同报文的优先级;
所述组号占4位,共有16组,其中有1组用于表示网络全局广播,组号有15个组可供使用;
所述地址码共有8位,其中有一节点表示表示组播。
所述目的地址码和源地址码都为8位,且都对应智能仪表的唯一地址;
所述数据性质为4位,其用于定义各种所需数据,若数据大于8个字节时,该数据需分成多帧传送;
所述多帧标识1位,用于标识发送数据为多帧数据还是单帧数据,便于大于8个字节数据分成多帧传送。
2.根据权利要求1所述的基于CAN总线船舶电站控制仪表通信方法,其特征在于,所述验收滤波器采用应用层协议下的双滤波方式;其在接收数据帧时通过标识符和帧接收滤波来确定此数据帧是否正确,若多于两个的节点同时发送,发送权的竞争需要通过上述的标识符的逐位仲裁来解决。
3.根据权利要求2所述的基于CAN总线船舶电站控制仪表通信方法,其特征在于,所述标识符的逐位仲裁的标准为安排标识符的值小优先级高,高位功能码最先仲裁。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810043737A CN101662404B (zh) | 2008-08-27 | 2008-08-27 | 基于can总线船舶电站控制仪表通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810043737A CN101662404B (zh) | 2008-08-27 | 2008-08-27 | 基于can总线船舶电站控制仪表通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101662404A CN101662404A (zh) | 2010-03-03 |
CN101662404B true CN101662404B (zh) | 2012-10-10 |
Family
ID=41790210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810043737A Expired - Fee Related CN101662404B (zh) | 2008-08-27 | 2008-08-27 | 基于can总线船舶电站控制仪表通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101662404B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867570B (zh) * | 2010-05-13 | 2012-12-05 | 浙江大学 | 基于can的嵌入式软件可靠性测试中的通信方法 |
CN102801540A (zh) * | 2012-08-14 | 2012-11-28 | 武汉理工大学 | 车辆定位数据的总线分布式传输方法及终端 |
CN102932223B (zh) * | 2012-10-12 | 2016-08-03 | 山东科技大学 | 锂离子蓄电池管理***can总线扩展标识符的分配方法 |
CN103546354B (zh) * | 2013-10-22 | 2016-06-29 | 天津七一二通信广播有限公司 | 基于物联网电力测温设备的rs485与can总线兼容的通信方法 |
CN103546355A (zh) * | 2013-11-01 | 2014-01-29 | 成都信息工程学院 | 多主无损总线竞争技术 |
CN104333517A (zh) * | 2014-09-28 | 2015-02-04 | 航天科工深圳(集团)有限公司 | 基于can总线的自动化设备通信方法 |
DE102015202219A1 (de) * | 2015-02-09 | 2016-08-11 | Robert Bosch Gmbh | Teilnehmerstation für ein Bussystem und Verfahren zur zeitoptimierten Datenübertragung in einem Bussystem |
CN105007208B (zh) * | 2015-06-04 | 2018-11-23 | 南京阿凡达机器人科技有限公司 | 一种基于can总线的机器人***内通信方法 |
CN106603357A (zh) * | 2016-11-11 | 2017-04-26 | 深圳怡化电脑股份有限公司 | 一种传感器数据上报方法、装置及*** |
CN106850373B (zh) * | 2017-02-24 | 2020-06-30 | 宁波工程学院 | 面向can总线的非破坏式动态优化调度方法 |
CN106850660B (zh) * | 2017-02-28 | 2020-05-19 | 大连理工大学 | 一种基于SocketCAN的SAE J1939传输协议的设计方法 |
DE102017118565A1 (de) * | 2017-08-15 | 2019-02-21 | Valeo Schalter Und Sensoren Gmbh | Verfahren zum Betreiben einer Sensoranordnung in einem Kraftfahrzeug auf Basis eines DSI-Protokolls |
CN108712784B (zh) * | 2018-05-11 | 2020-07-24 | 成都六零加信息技术有限公司 | 一种通信方法及装置 |
CN109066999A (zh) * | 2018-09-28 | 2018-12-21 | 青岛黄海学院 | 一种基于can总线的船舶电站监控***及方法 |
CN110601944A (zh) * | 2019-09-19 | 2019-12-20 | 成都埃克思智创科技有限公司 | 一种在物联网中运用的can协议通信方法 |
CN111884998B (zh) * | 2020-06-17 | 2022-08-19 | 武汉长海高新技术有限公司 | 一种紧凑型网络通讯方法 |
CN114374575A (zh) * | 2021-09-13 | 2022-04-19 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种机载分布式节点can总线网络架构数据传输方法 |
CN115174304B (zh) * | 2022-06-24 | 2023-12-22 | 南京国电南自维美德自动化有限公司 | 一种识别符分段自定义的can总线通信方法 |
-
2008
- 2008-08-27 CN CN200810043737A patent/CN101662404B/zh not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
贾建波.基于CAN总线的录井数据采集传输***设计.《中国优秀硕士学位论文全文数据库》.2008,第5,6,30-34,36-40页. * |
Also Published As
Publication number | Publication date |
---|---|
CN101662404A (zh) | 2010-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101662404B (zh) | 基于can总线船舶电站控制仪表通信方法 | |
US10149141B1 (en) | System, method and apparatus for building operations management | |
CN104954374B (zh) | 一种车联网通信协议的设计方法 | |
CN113162931B (zh) | 一种在广域网传输Modbus RTU协议报文的方法 | |
CN108696297B (zh) | 电力线通信网络中设备状态检测方法和装置 | |
CN102053935A (zh) | 一种基于modbus串行通讯协议的通讯方法 | |
CN109038824B (zh) | 一种分布式馈线自动化方法 | |
CN103067238A (zh) | 一种兼容于modbus总线的数据采集方法 | |
CN103955195A (zh) | 一种控制指令的发送、响应方法及装置 | |
CN104969626A (zh) | 用于针对多播和广播数据的功率节省的***和方法 | |
US7206882B2 (en) | Triggered communication network for CANOpen networks | |
CN105210349B (zh) | 无线通信品质信息处理装置及通信*** | |
CN110825416A (zh) | 用于远程终端单元固件的远程批量升级方法 | |
CN106060889A (zh) | 一种无线扩频路由抄表方法 | |
US6907485B2 (en) | Hybrid change of state protocol for CANOpen networks | |
CN106330640A (zh) | 一种基于can总线的数据交叉传输方法 | |
CN102566484A (zh) | 一种多功能模拟量采集模块及其信息传输方法 | |
WO2018215297A1 (de) | Bestimmung von datenbusteilnehmern eines lokalbusses | |
US5715261A (en) | Method of interactive communication notably for household applications | |
CN113114667B (zh) | 一种终端通讯配置***、方法、装置及介质 | |
CN2894107Y (zh) | 具有通用智能网络节点的通用智能网络 | |
Farsi et al. | Controlling with CANopen [industrial control networks] | |
CN101916512A (zh) | 智能交通信号灯 | |
CN108386966A (zh) | 通过室外机连接管配对和识别卡配对的plc组网方法 | |
Gulpanich et al. | Distributed control of network devices with remote terminal units |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121010 Termination date: 20150827 |
|
EXPY | Termination of patent right or utility model |