CN110225026A - 协议转换器仪表远程配置方法 - Google Patents
协议转换器仪表远程配置方法 Download PDFInfo
- Publication number
- CN110225026A CN110225026A CN201910491420.7A CN201910491420A CN110225026A CN 110225026 A CN110225026 A CN 110225026A CN 201910491420 A CN201910491420 A CN 201910491420A CN 110225026 A CN110225026 A CN 110225026A
- Authority
- CN
- China
- Prior art keywords
- data
- message
- data item
- configuration
- class
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种协议转换器仪表远程配置方法,为指定的CAN仪表协议提供配置工具,输出配置文件;运维工程师将需要对接的CAN仪表协议中的数据项输入,通过页面或配置程序输出规定格式的配置文件,文件中包含了需要下发的各数据项配置属性数据;配置文件可通过命令触发车载机到ftp服务器制定路径下载和通过U盘导入车载机,通过ftp服务器下载应向调度平台上报命令接收应答;车载机将配置文件以数据流的方式下载到协议转换器本地保存后删除;车载机通过协议将各周期上传子报文发送间隔发送至协议转换器本机保存。本发明提供一种能够达到灵活、统一、科学管理为目的仪表协议对接方案,能做到可远程配置管理,将配置工作交由运维部门执行,降低研发部门的重复工作,使维护工作变得简单,并达到提高研发人力资源效率的目的。
Description
技术领域
本发明属于公交车辆仪表配置设备技术领域,具体涉及一种协议转换器仪表远程配置方法。
背景技术
公交用户近些年购置车辆提出利用智能调度终端采集车辆仪表总线数据并上传智能调度平台的需求,目前采用的硬件连接方案主要是采用协议转换器做中间采集设备连接整车CAN总线和车载调度终端。截止到目前,我公司已对接过本安、欧科佳、威帝、雪利曼、精益达、汉纳森等多家仪表总线,随着新能源车辆的逐步增多,新能源相关数据也对接的越来越多。总结各仪表厂家的数据格式,不同仪表厂家的内容差别和表达方式差别较大,由于对接过程中协议的数据量和在开发规划数据结构时根据总线协议的更新不断增量递增。各种报文在不断开发过程中体积不断增大,后续还会有不断需要增加的字段,导致的结果是仪表数据上传数量剧增,容易造成SIM卡欠费。另外,每当接收到新的对接协议都要安排开发、测试,浪费了大量人力资源。鉴于这些问题的存在,需要建立一套新的仪表数据采集、解析和上传机制解决上述矛盾。
客车厂提供的总线协议包含两部分内容:报文ID和报文内容。
数据采集端(协议转换器)根据协议中的报文ID初始化CAN控制器报文滤波值,允许协议内报文被采集端接收并放入数据接收缓冲区待解析处理(为了尽可能兼容多家仪表协议,CAN ID滤波做增量添加)。
协议中规定了各数据项的分辨率、偏移量、单位等要素。数据采集设备向车载调度终端及平台以固定报文结构的形式发送采集数据,并根据数据项的不同性质特点进行分类分为不同类型的子报文,如报文0属注册说明报文,包括协议转换器的软件及硬件版本;报文1包括车辆行驶的总里程及总能耗,并描述了该报文上传的触发条件;报文2上传变化速率较快或较频繁的数据项(以较短周期上传);报文3上传各种开关量状态;报文4上报告警信息或状态;报文5上传变化速率较慢的数据(以较长周期上传)等。采集设备对滤波通过的报文根据协议要求解析、换算成统一单位、长度的数据项按照事先规定在所属上传子报文中的固定位置打包发送给车载调度终端。这种上传方式的弊端主要表现以下几个方面:
1.各子报文内数据项位置、单位及长度为预先定义,且采取全量上传方式。随着对接协议的不断增加,新增数据项将在子报文尾部不断追加,导致子报文长度不断增加,造成上传到平台的废数据越来越多;
2.每次接收到新的总线协议都要从众多的协议转换器程序中确认符合协议且能够使用的版本。如果检索不到,就要安排工程师进行开发及验证测试,同时增加了各个环节的流程流转,造成包括测试环节、发布环节等大量的人力资源成本增加;
3.影响客户正常使用。当拿到协议时往往面临着设备发货,在程序还未发布前设备已经安装到现场,造成客户无法及时使用,并且增加日后的程序更新和维护工作量;
4.程序版本不统一,难管理。原因还是随着协议的不断增多,形成的协议转换器程序软件版本也不断增多,增加了检索难度和时间,使版本管理变的越来越困难。
发明内容
本发明针对以上种种弊端,提供一种能够达到灵活、统一、科学管理的目的重新制定仪表协议对接方案,做到可远程配置管理,将配置工作交由运维部门执行,降低研发部门的重复工作,使维护工作变得简单,并达到提高研发人力资源效率的目的。
实现上述目的所采用的技术方案是通过一种协议转换器仪表远程配置方法,该方法的整体流程包括以下步骤。
步骤1:在平台端(服务器平台)开发一个基于页面配置的配置程序,为指定的CAN仪表协议提供配置工具,输出配置文件。该配置文件是由版本信息、报文CAN ID配置语句、车载机使用数据项ID配置语句、配置信息内容起始符、配置内容和配置信息内容结束符几部分组成。
步骤2:运维工程师将需要对接的CAN仪表协议中的数据项输入,通过页面或配置程序输出规定格式的配置文件,文件中包含了需要下发的各数据项配置属性数据(即解析配置规则)。
步骤3:配置文件可通过命令触发车载机到ftp服务器制定路径下载和通过U盘导入车载机,通过ftp服务器下载应向调度平台上报命令接收应答。车载机将配置文件以数据流的方式下载到协议转换器本地保存后删除。车载机通过协议将各周期上传子报文发送间隔发送至协议转换器本机保存。
步骤4:协议转换器接收到CAN报文后以配置文件中需要解析上传数据项ID为主键按照下面介绍的数据计算过程解析计算出标准格式数据,以子报文形式上传至车载机。子报文中若为多字节数据先发高字节后发低字节。
步骤5:车载机根据各子报文的上传条件或上传间隔将数据上传至平台。
步骤6:平台收到数据后入库,并进行展示或导出数据报表。
其中,车辆所执行的协议为CAN总线协议,包括开关量状态、单多字节数据或状态和多帧数据。
(1)开关量采用单字节的2bits表示OFF、ON、预留和无效四种状态。
(2)开关量采用某字节的1bit表示OFF和ON两种状态,分别对应左转向和前雾灯。
(3)单、多字节数据字段:状态类的为单字节数据,数据类的从单字节到多字节根据数值范围确定。数据类型数据定义该数据的分辨率、偏移量、单位及数据范围属性。数据类数据为无符号数表示,若为负值则采用偏移量进行校正。
(4)报警类数据有包括具体报警状态和故障码两种报警信息。其中报警状态包括报警级别、报警ID和报警状态;故障码包括故障级别(1byte)、故障和故障码(2bytes)。
(5)多帧数据字段,即使用同一报文ID传输大于8bytes的数据,数据内容包含帧序号和数据内容。
(6)字节序方式:大端和小端模式,对于同一套仪表协议只有一套模式。通过字节起止地址的先后关系自适应判断。
对数据项规划是建立一套向平台发送数据的数据项目分类方法及数据项ID命名规则。将所有数据项分为状态类、数据类、开关量类和报警类四个大类数据,各大类数据又细分出各自的子类,在子类下规划出独立数据项。大类、子类和数据项定义了各自代码,共同组成唯一数据项ID。
数据项解析配置规则如下。
协议转换器采集通过车载调度终端向平台传输数据采用子报文上传形式,各子报文上传的数据是上传数据项可配置选择,即只上传需要上传的数据项内容,对应一个数据项采用数据项ID结合数据项内容的方式上传。
将解析上传的数据项配置解析规则远程下载到数据采集设备中,并要求其在规定的子报文中上传调度终端。调度终端根据各报文上传条件向平台上传数据。
将上传的数据项分为状态类、数据类、开关量类和报警类四大类数据,数据项ID也围绕这五大类进一步定义子类,在远程配置时配置已经定义的数据项。
在配置某一数据项的解析和上传规则时,需要配置必要的数据项属性,这些属性包括:a.上传数据项所在CAN协议中的报文ID;b.上传数据项ID;c.原始数据在CAN协议报文中的字节起止位置和位起止位置;d.数据类数据在CAN协议中的分辨率、偏移量;e.上传数据长度、单位;f.开关量类及状态类数据在CAN协议中同上传状态的对应关系;g.所属上传子报文。
上述数据属性设置正确了,就唯一确定了该项数据的解析上传规则,调度平台从车辆所执行的CAN协议选择需要上传的数据项,通过车载调度终端将各数据项解析规则下载到协议转换器内本地保存,协议转换器根据各数据项解析规采集、解析、计算和修正上传数据,并打包到指定子报文内通过车载调度终端上传至调度平台。
上传数据项所在CAN协议中的报文ID,是每个需要上传的数据项都分布在CAN协议的制定的报文的固定位置,CAN报文由4bytes报文ID和每帧8bytes的数据组成,该属性表明该数据项的原始数据所属的CAN报文ID。该ID也是协议转换器设置报文ID滤波的依据。
所示上传数据项ID中,上传数据项由数据项ID、数据名称、数据类型、数据单位和数据值表示。为了便于统一管理,通过上传数据项ID唯一标识对应一个数据项名称。上传至平台的数据包括数据ID和数据值,制定了对应关系。数据ID采用WORD数据类型表示,由类别、子类及数据项三部分组成,各部分分别定义了代码。
为了在解析数据时能够正确提取被解析数据,需要获得该原始数据在CAN报文中的起止位置。起止位置由起止字节和字节内bit位置表示。
开始位置和结束位置各由1byte表示,先发开始位置,后发结束位置,字节的高四位表示该数据项在报文中的字节位置(字节从1开始),低四位表示该数据项在报文字节内bit位置(bit位从0开始)。
由于CAN总线的位及字节组织顺序存在Motorola和Intel两种格式,规定当开始字节位置小于结束字节位置表明采用Motorola格式,当开始字节位置大于结束字节位置表明采用Intel格式。两种格式确定了数据的发送顺序及计算方法。
通过配置程序输出配置文件是由版本信息、报文CAN ID配置语句、车载机使用数据项ID配置语句、配置信息内容起始符(START)、配置内容和配置信息内容结束符(END)几部分组成(所有字符均为半角类型)。
数据类数据项配置规则的计算方法:设采集输入值为X,上传输出值为Y,输入分辨率为a,输入偏移量为b,单位系数c(Y的单位与aX的单位的比值),则计算公式为:Y=(aX-b)÷c。
仪表对接远程配置系统包括前端设备和服务器平台,前端设备包括车载机、TM2252和仪表系统。其中,服务器平台,负责下发仪表配置文件和接收前端车载机上报的仪表报文数据并解析入库,并基于数据库在平台页面进行展示处理。车载机,负责下载仪表配置文件并下发给TM2252,并下行透传发送后台对TM2252的查询控制等报文数据,并将TM2252解析打包的仪表报文数据转发至后台服务器。TM2252,负责存储仪表配置文件,并在此基础上自动配置过滤解析报文数据并整理打包发送至车载机,此外,响应车载机透传下来的查询控制等命令操作。
车载机需支持仪表配置文件通过ftp远程升级方式及本地U盘导入方式,存储至车载机内部存储器。后台服务器增加对仪表配置文件下载的功能支持,车载机核心板在对后台服务器下发的仪表配置文件下载请求予以响应,并将仪表配置文件下载到车载机内部的存储器,并在下载完成后自动向协议转换器进行文件分发下载。
允许车载机通过U盘导入方式,将仪表配置文件导入至车载机,并在导入完成后允许手动通过UI界面操作或自动将仪表配置文件分发下载给协议转换器。车载机在接收到仪表配置文件后,车载机需要按照与协议转换器约定的通讯方式,通过车载机与协议转换器的请求、应答交互等操作,车载机对仪表文件进行简单的解析,并逐条或多条方式依次发送至协议转换器。协议转换器在文件接收完成后,通知车载机相应的下载结果。
协议转换器因自身不支持文件系统,且无对应的外部存储器,需车载机将仪表配置文件转换成数据流发送至协议转换器,协议转换器将文件数据加以分析规整后存储到主控芯片内。协议转换器将主控芯片分为IAP区、APP区、仪表配置区及其他配置区四部分,在精简代码的基础上,最大限度预留足够的空间来存储仪表配置文件。
车载机需完成对内部存储的仪表配置文件进行读取,并按照文件的格式要求,将读取的数据项按照通讯协议要求,分发给协议转换器。协议转换器可以仪表配置区存储的仪表配置文件进行读取控制,并分析读取相关内容,并能进一步完成对仪表配置信息的上报、对硬件can过滤器的自动化设置以及接收的can报文解析处理等。协议转换器通过读取仪表配置文件内的can id集相关信息,自动完成对高速can外设的过滤器配置,从硬件层完成对仪表can网络众多报文的识别、筛选控制,减少外部冗余数据对协议转换器软件处理的干扰,提升系统运行的效率。
协议转换器通过读取仪表配置文件,对待解析的仪表报文及字段信息进行规整。协议转换器在接入仪表网络加电运行以后,程序对can外设控制器过滤完成后的仪表报文进行匹配,在匹配完成后按照配置文件id数据项逐项对报文数据进行解析处理。协议转换器在仪表报文解析处理后,将指定的报文数据缓存在对应的报文队列。比如数据类及状态类数据,在满足要求的上报间隔后,报文数据将直接打包上传给车载机。开关量及报警类数据,则在其发生变化后,采用定间隔(1s)或立即传输的方式,协议转换器将数据打包上传给车载机。
协议转换器仪表数据包类例如状态类、数据类上传间隔以参数方式存储到内部芯片flash中,支持后台及车载机通过下发命令方式对车载机内的仪表数据报上传间隔参数进行查询及设定,若不设定,协议转换器启用默认的上传间隔参数。协议转换器在上电启动后,主动向车载机发送内部存储的仪表配置文件的版本等信息,车载机接收到后可以在UI进行展示(若有此需求),并将此信息透传至后台服务器。此外,支持后台服务器及车载机发送版本信息查询命令至协议转换器,协议转换器在接收到查询命令后,发送文件版本等信息予以应答。
有益效果:本发明提供一种能够达到灵活、统一、科学管理的目的仪表协议对接方案,能做到可远程配置管理,将配置工作交由运维部门执行,降低研发部门的重复工作,使维护工作变得简单,并达到提高研发人力资源效率的目的。本发明能够长期积累运行数据,及时发现设计缺陷和故障风险,为进一步改善整车性能提供数据支撑,同时利于公交用户总结和运营相关的数据提高企业生产效率、降低能耗,通过分析驾驶行为提高企业经济效益,降低车辆故障率。
附图说明
图1是Motorola格式的16为数据长度信号图。
图2是Motorola格式的12为数据长度信号图。
图3是Intel格式16为数据长度信号图。
图4是Intel格式12为数据长度信号图。
图5是协议转换器解析计算流程图。
图6是解析链表主体结构图。
图7是上传链表主体结构图。
具体实施方式
面向的终端客户是公交用户,公交用户要求车载调度终端对接车辆仪表的目的在于追求和效益有关的实用性、展示性和分析性。公交企业用户对接仪表和车厂要求对接仪表目的性和侧重点不同。车厂要求对接和采集总线数据,要求实时掌握车辆的工况数据,了解车辆在不同的运行条件和运行环境下的车辆各部件、组件乃至整车的各项工作数据,目的是能够长期积累运行数据,及时发现设计缺陷和故障风险,为进一步改善整车性能提供数据支撑,同时当发生事故或故障当和用户发生责任纠纷时提供数据依据,划分双方责任关系。而公交用户要求对接仪表的重要作用是如何总结和运营相关的数据提高企业生产效率、降低能耗,通过分析驾驶行为提高企业经济效益,降低车辆故障率。所以说,公交企业需要对接和使用的数据项是集中的,有限的。本实施例以能够达到灵活、统一、科学管理为目的重新制定仪表协议对接方案,内容如下。
一、远程可配置方案
(一)CAN总线协议数据类型分析
通过对历史已经对接过的总线协议进行汇总分析,并结合我们面向的终端客户是公交用户的特点,总结了公交用户可能关注的数据项和协议当中的数据定义规律,并根据了解的情况制定远程可配置方案。
协议当中的数据的分类大致包括开关量状态、字节长度不等的数据或状态、多帧数据等数据类型,现将定义规则总结如下。
1)开关量采用单字节的2bits表示OFF、ON、预留和无效四种状态(左转向、前雾灯)。
2)开关量采用某字节的1bit表示OFF和ON两种状态(左转向、前雾灯)。
3)单、多字节数据字段:状态类的通常为单字节数据,数据类的从单字节到多字节根据数值范围均可出现。数据类型数据定义了该数据的分辨率、偏移量、单位及数据范围等属性。数据类数据通常为无符号数表示,若为负值则采用偏移量进行校正。
4)报警类数据有包括具体报警状态和故障码两种报警信息。其中报警状态包括报警级别、报警ID和报警状态;故障码包括故障级别(1byte)、故障和故障码(2bytes)。
5)多帧数据字段,即使用同一报文ID传输大于8bytes的数据,数据内容包含帧序号和数据内容。
6)字节序方式:大端和小端模式,对于同一套仪表协议只有一套模式。通过字节起止地址的先后关系自适应判断。
(二)数据项规划
本方案规划的数据项仍参考目前的对接数据项分类,并在其基础上进行了细分,建立了一套向平台发送数据的数据项目分类方法及数据项ID命名规则。将所有数据项分为状态类、数据类、开关量类和报警类四个大类数据,各大类数据有细分出各自的子类,在子类下规划出独立数据项。大类、子类和数据项定义了各自代码,共同组成唯一数据项ID。具体见《数据项分类及数据项ID的命名规则》,第一版共定义了接近100个数据项。
(三)数据项解析配置规则
和现有传输模式类似,协议转换器采集通过车载调度终端向平台传输数据仍采用子报文上传形式,不同的是各子报文上传的数据不再是根据事先规划的报文固定结构全量上传模式,而是改为上传数据项可配置选择,即只上传需要上传的数据项内容,对应一个数据项采用数据项ID+数据项内容的方式上传。
车厂提供的协议包含的数据项可能较多,但真正可被公交关注的内容只是其中的一部分数据,故我们没有必要解析上传所有数据内容,或者当前客户只需要一部分数据,过段时间又要调整需要采集的数据项内容,我们希望通过灵活配置解析和上传规则在段时间内将现场环境配置完成。我们知道,每个数据项在固定车辆上所执行的CAN总线协议当中,在固定报文的固定位置是规定好的,我们需要将解析上传的数据项配置解析规则远程下载到数据采集设备中,并要求其在规定的子报文中上传调度终端。调度终端根据各报文上传条件向平台上传数据,这一点和现在的模式相同。
我们将上传的数据项分为状态类、数据类、开关量类和报警类四大类数据,数据项ID也围绕这五大类进一步定义子类,在远程配置时必须配置已经定义的数据项。
若要配置某一数据项的解析、上传规则,需要配置必要的要素,我们称之为数据项属性,这些属性包括:
(1)上传数据项所在CAN协议中的报文ID;
(2)上传数据项ID;
(3)原始数据在CAN协议报文中的字节起止位置和位起止位置;
(4)数据类数据在CAN协议中的分辨率、偏移量;
(5)上传数据长度、单位;
(6)开关量类及状态类数据在CAN协议中同上传状态的对应关系;
(7)所属上传子报文。
上述数据属性设置正确了,就唯一确定了该项数据的解析上传规则,调度平台从车辆所执行的CAN协议选择需要上传的数据项,通过车载调度终端将各数据项解析规则下载到协议转换器内本地保存,协议转换器根据“规则”采集、解析、计算、修正上传数据,并打包到指定子报文内通过车载调度终端上传至调度平台。下面就各数据属性的解释及设置规则做出描述。
1)上传数据项所在CAN协议中的报文ID
每个需要上传的数据项都分布在CAN协议的制定的报文的固定位置,CAN报文由4bytes报文ID和每帧8bytes的数据组成,该属性表明该数据项的原始数据所属的CAN报文ID。该ID也是协议转换器设置报文ID滤波的依据。
2)上传数据项ID
上传数据项由数据项ID、数据名称、数据类型、数据单位和数据值表示。为了便于统一管理,通过上传数据项ID唯一标识对应一个数据项名称。上传至平台的数据包括数据ID和数据值,为此,制定了对应关系,见《数据项分类及数据项ID的命名规则》。数据ID采用WORD数据类型表示,由类别、子类及数据项三部分组成,各部分分别定义了代码。
3)原始数据在CAN协议报文中的字节起止位置和位起止位置
为了在解析数据时能够正确提取被解析数据,需要获得该原始数据在CAN报文中的起止位置。起止位置由起止字节和字节内bit位置表示。
开始位置和结束位置各由1byte表示,先发开始位置,后发结束位置,字节的高四位表示该数据项在报文中的字节位置(字节从1开始),低四位表示该数据项在报文字节内bit位置(bit位从0开始)。
由于CAN总线的位及字节组织顺序存在Motorola和Intel两种格式,我们规定当开始字节位置小于结束字节位置表明采用Motorola格式,当开始字节位置大于结束字节位置表明采用Intel格式。两种格式确定了数据的发送顺序及计算方法。
Motorola格式如图1和图2所示,Intel格式如图3和图4所示。
4)上传数值类数据长度、单位及状态量数据的统一性
我们要对接不同厂商的多种CAN总线协议,对于数值类数据项,各协议格式、分辨率、单位、数据长度及内容规定存在差异,但我们希望通过协议转换器解析打包上传到平台的数据单位保持一致,我们在定义上传数据项时对数据项的上传长度和单位做出统一规定,所有上传数据均应按照此规定上传数据。如:总里程,4bytes,0.1km/h,在解析计算时要将表现形式不同数值转换成统一单位上传。对于状态量数据我们也希望状态量定义也能够统一,在规定时提前规定好不同的状态值对应的状态情况。数据项单位分辨率应大于CAN协议中的最小分辨率,故应远程配置上传单位与CAN协议中的比例系数(上传单位÷协议单位)。
5)数据类数据在CAN协议中的分辨率与偏移量
数值类数据项在不同的CAN协议中分辨率定义不同,偏移量定义也不统一,为了计算后为统一单位,需将协议中不统一的偏移量和分辨率在上传时统一成标准单位。分辨率和标准单位计算出比例系数作为配置项,为协议转换器提供CAN协议中比例系数和偏移量将作为一部分因子参与计算。
考虑到采集上传的数据有数据类、状态类和开关量类等数据类型,比例系数和偏移量只有在数据类数据中参与计算,并且针对不同的数据项比例系数为正整数,偏移量有正整数和负整数情况。为了和其他数据类型区分,我们规定,下发配置属性时,分辨率采用float型型数据(4bytes),比例系数采用float型数据(4bytes),偏移量采用signed shortint型数据(2bytes)。
6)开关量类及状态类数据在CAN协议中同上传状态的对应关系
CAN协议中对于开关量数据(包括开关量和报警状态),用一个bit位定义一个开关量时,通常用0表示关闭,1表示打开;用两个bit位定义一个开关量时,通常00表示关闭,01表示打开。所有开关量数据上传各数据量均采用1byte方式。
对于状态类数据定义的不多,但不同的CAN协议定义的内容不完全一样,为了便于平台解析和生成报表,我们需要定义协议和状态的对应关系并下载到协议转换器,协议转换器根据此对应关系转换为标准状态上传。
7)所属上传子报文
此方案中继续继承了现用传输机制,不同的数据分类到对应的子报文中上传平台,各子报文有各自的上传条件,当该子报文上传条件满足时已经配置的数据项将加载到子报文中上传平台。需要说明的是,对于开关量数据和报警类数据,只即时上传状态变化的数据项,状态未变化的不再执行全量上传。
(四)整体流程
1.平台端开发一个基于页面配置的配置程序,为指定的CAN仪表协议提供配置工具,输出配置文件。
2.运维工程师将需要对接的CAN仪表协议中的数据项输入,通过页面或配置程序输出规定格式的配置文件,文件中包含了需要下发的各数据项配置属性数据(即解析规则)。
3.配置文件可通过命令触发车载机到ftp服务器制定路径下载和通过U盘导入车载机,通过ftp服务器下载应向调度平台上报命令接收应答。车载机将配置文件以数据流的方式下载到协议转换器本地保存后删除。车载机通过协议将各周期上传子报文发送间隔发送至协议转换器本机保存。
4.协议转换器接收到CAN报文后以配置文件中需要解析上传数据项ID为主键按照下面介绍的数据计算过程解析计算出标准格式数据,以子报文形式上传至车载机。子报文中若为多字节数据先发高字节后发低字节。
5.车载机根据各子报文的上传条件或上传间隔将数据上传至平台。
6.平台收到数据后入库,并进行展示或导出数据报表。
(五)数据计算过程如图5所示。
二、远程配置文件格式定义
远程配置文件格式采用字符型数据下发,由于协议转换器不支持文件系统,故调度终端接收到文件后应将文件内容读出打成数据包下发到协议转换器当中。
(一)配置文件格式说明
配置文件由版本信息、报文CAN ID配置语句、车载机使用数据项ID配置语句、配置信息内容起始符(START)、配置内容和配置信息内容结束符(END)几部分组成(所有字符均为半角类型)。
1.远程配置文件版本格式由前导符VER:+版本信息+\r\n组成。
2.远程配置文件内容以START开始,END结束。
3.配置信息内容格式由前导符+配置信息+\r\n组成。其中‘$’开头语句为CAN ID配置信息,‘@’开头语句为车载机使用数据项ID配置语句,‘#’开头语句为数据字段解析配置信息。
4.配置待采集总线报文CAN ID,以“$”开始,后跟需要滤过的所有报文CAN ID,CANID间以‘,’隔开,协议转换器依据此信息初始化CAN控制器滤波值。一个配置文件中有且仅有一条CAN ID配置语句。
5.车载机使用数据项ID配置语句,以‘@’开始,后跟上传的数据项ID,数据项ID间用‘,’隔开,一个配置文件中有且仅有一条车载机使用数据项ID配置语句。
6.配置待上传数据项,以“#”开始,后跟解析规则,不同属性项间以‘,’隔开,每行配置一个数据项采集解析规则。
(二)数据项配置规则
1.数据类
#数据项ID,报文CAN ID,数据项长度,数据在报文中起始位置,数据在报文中结束位置,上传子报文编号,分辨率,偏移量,单位系数,\r\n。
计算方法:设采集输入值为X,上传输出值为Y,输入分辨率为a,输入偏移量为b,单位系数c(Y的单位与aX的单位的比值),则计算公式为:
Y=(aX-b)÷c。
2.状态类
#数据项ID,报文CAN ID,数据项长度,数据在报文中起始位置,数据在报文中结束位置,上传子报文编号,状态1,状态2,…,状态n,\r\n,未配置的状态为空或填充FF,尾部不配置的状态可省略。
3.开关量
#数据项ID,报文CAN ID,数据项长度,数据在报文中起始位置,数据在报文中结束位置,上传子报文编号,所在报文帧序号(可选),状态对应关系(可选),\r\n。
4.报警类
#数据项ID,报文CAN ID,数据项长度,数据在报文中起始位置,数据在报文中结束位置,上传子报文编号,所在报文帧序号(可选),状态对应关系(可选),\r\n。
(三)配置文件内容举例
VER:K8A HUAIBEI 300-V1
START
$18FEC117,18FEF100,18F00503,18FC08F4,18FC1221,18FEF612,18FBAA17
@11002,13001
#11002,18FEC117,4,4.7,1.0,1,5,0,1
#13001,18FEF100,1,3.7,2.0,2,0.00390625,0,1
#01001,18F00503,1,4.0,4.7,2,7D,7E,FF,7C,FB
#14001,18FC08F4,1,6.0,6.7,5,1,0,1
#21008,18FC1221,1,2.0,2.1,3
#21017,18FEF612,1,7.5,7.6,3,1
#32009,18FEF612,1,2.3,2.4,4,2
#21007,18FBAA17,1,2.4,2.5,3,,3,0
END。
解释如下:
1.总里程2 字段ID:11002,CAN ID:18FEC117,字段长度:4bytes,起始位置byte4bit7,结束位置byte1bit0,所属报文:1,分辨率:5m,偏移量:0,单位系数:1;
2.车速 字段ID:13001,CAN ID:18FEF100,字段长度:1bytes,起始位置byte3bit7,结束位置byte2bit0,所属报文:2,分辨率:1/256km/h,偏移量:0,单位系数:1;
3.档位状态 字段ID:01001,CAN ID:18F00503,字段长度:1bytes,起始位置byte4bit0,结束位置byte4bit7,所属报文:2,档位状态依次为空挡、前进挡、倒档和驻车,低速档未定义填充0xFF,处理时跳过此状态;
4.电池SOC 字段ID:14001,CAN ID:18FC08F4,字段长度:1bytes,起始位置byte6bit0,结束位置byte6bit7,所属报文:5,分辨率:1%,偏移量:0,单位系数:1;
5.制动踏板 字段ID:21008,CAN ID:18FC1221,字段长度:1bytes,起始位置byte2bit0,结束位置byte2bit1,所属报文:3,没有帧序号,默认00是OFF,01是ON;
6.点火 字段ID:21017,CAN ID:18FEF612,字段长度:1bytes,起始位置byte7bit5,结束位置byte7bit6,所属报文:3,帧序号为1,默认00是OFF,01是ON;
7.油压报警 字段ID:32009,CAN ID:18FEF612,字段长度:1bytes,起始位置byte2bit3,结束位置byte2bit4,所属报文:4,帧序号为2;
8.视廓灯 字段ID:21007,CAN ID:18FBAA17,字段长度:1bytes,起始位置byte2bit4,结束位置byte2bit5,所属报文:3,没有帧序号,11表示OFF,00表示ON。
三、车载终端给平台上传的数据格式
程序应用处理过程中,将根据配置文件解析处理,生成解析链表与上传链表两大类。
解析链表:分为can id主链表及字段分链表,均采用单链表方式实现,主体结构如图6所述。
程序接收到高速can报文数据,首先根据can id主链表判断是否为待解析can id数据节点,若是则进入字段分节点进行进一步匹配处理。在数据处理完城后,同步更新对应的item.特别说明如下:
允许同一个item_id在不同的can id报文中出现,即实际情况中仪表高速can协议不同can报文对应同一个字段信息情况;
允许同一个item_id,被打包至不同的报文编号中;
为便于解析上报,字段节点结构体,将引入车载机报文item_id链表和服务器报文item_id链表,在接收到高速CAN报文后并解析后,同步更新车载机报文链表和服务器报文对应的链表节点。
高速CAN连续超过10s没收到仪表数据,将认为高速can端无数据,不再向车载机及后台发送报文数据,若高速CAN连续超过3分钟未接收到仪表数据,将清空缓存数据。
上传链表:分为车载机(服务器)报文主链表及item id分链表,均采用单链表实现,主体结构如图7所示。
特别说明如下:
车载机报文,1s传输一次向车载机全量传输一次;
服务器报文,状态数据类报文15秒全量传输一次,开关量和报警量报文1秒变化量传输一次并且5分钟全量传输一次。
只要前端有高速CAN数据,不注册后台,也会触发车载机报文。但是服务器报文,仅在仪表配置信息注册到后台并且接收到后台仪表配置信息应答OK后,满足条件,才会触发服务器报文。
Claims (10)
1.一种协议转换器仪表远程配置方法,其特征在于,包括以下步骤:
步骤1:在平台端开发一个基于页面配置的配置程序,为指定的CAN仪表协议提供配置工具,输出配置文件;该配置文件是由版本信息、报文CAN ID配置语句、车载机使用数据项ID配置语句、配置信息内容起始符、配置内容和配置信息内容结束符几部分组成;
步骤2:运维工程师将需要对接的CAN仪表协议中的数据项输入,通过页面或配置程序输出规定格式的配置文件,文件中包含了需要下发的各数据项配置属性数据;
步骤3:配置文件可通过命令触发车载机到ftp服务器制定路径下载和通过U盘导入车载机,通过ftp服务器下载应向调度平台上报命令接收应答;车载机将配置文件以数据流的方式下载到协议转换器本地保存后删除;车载机通过协议将各周期上传子报文发送间隔发送至协议转换器本机保存;
步骤4:协议转换器接收到CAN报文后以配置文件中需要解析上传数据项ID为主键按照下面介绍的数据计算过程解析计算出标准格式数据,以子报文形式上传至车载机;子报文中若为多字节数据先发高字节后发低字节;
步骤5:车载机根据各子报文的上传条件或上传间隔将数据上传至平台;
步骤6:平台收到数据后入库,并进行展示或导出数据报表。
2.根据权利要求1所示的协议转换器仪表远程配置方法,其特征在于,车辆所执行的协议为CAN总线协议,包括开关量状态、单多字节数据或状态和多帧数据,其中:
(1)开关量采用单字节的2bits表示OFF、ON、预留和无效四种状态;
(2)开关量采用某字节的1bit表示OFF和ON两种状态,分别对应左转向和前雾灯;
(3)单、多字节数据字段:状态类的为单字节数据,数据类的从单字节到多字节根据数值范围确定;数据类型数据定义该数据的分辨率、偏移量、单位及数据范围属性;数据类数据为无符号数表示,若为负值则采用偏移量进行校正;
(4)报警类数据有包括具体报警状态和故障码两种报警信息;其中报警状态包括报警级别、报警ID和报警状态;故障码包括故障级别、故障和故障码;
(5)多帧数据字段,即使用同一报文ID传输大于8bytes的数据,数据内容包含帧序号和数据内容;
(6)字节序方式:大端和小端模式,对于同一套仪表协议只有一套模式;通过字节起止地址的先后关系自适应判断。
3.根据权利要求1所示的协议转换器仪表远程配置方法,其特征在于,对数据项规划是建立一套向平台发送数据的数据项目分类方法及数据项ID命名规则;将所有数据项分为状态类、数据类、开关量类和报警类四个大类数据,各大类数据又细分出各自的子类,在子类下规划出独立数据项。
4.根据权利要求1所示的协议转换器仪表远程配置方法,其特征在于,数据项解析配置规则如下:
协议转换器采集通过车载调度终端向平台传输数据采用子报文上传形式,各子报文上传的数据是上传数据项可配置选择,即只上传需要上传的数据项内容,对应一个数据项采用数据项ID结合数据项内容的方式上传;
将解析上传的数据项配置解析规则远程下载到数据采集设备中,并要求其在规定的子报文中上传调度终端;调度终端根据各报文上传条件向平台上传数据;
将上传的数据项分为状态类、数据类、开关量类和报警类四大类数据,数据项ID也围绕这五大类进一步定义子类,在远程配置时配置已经定义的数据项。
5.根据权利要求4所示的协议转换器仪表远程配置方法,其特征在于,在配置某一数据项的解析和上传规则时,需要配置必要的数据项属性,这些属性包括:a.上传数据项所在CAN协议中的报文ID;b.上传数据项ID;c.原始数据在CAN协议报文中的字节起止位置和位起止位置;d.数据类数据在CAN协议中的分辨率、偏移量;e.上传数据长度、单位;f.开关量类及状态类数据在CAN协议中同上传状态的对应关系;g.所属上传子报文;通过车载调度终端将各数据项解析规则下载到协议转换器内本地保存,协议转换器根据各数据项解析规采集、解析、计算和修正上传数据,并打包到指定子报文内通过车载调度终端上传至调度平台。
6.根据权利要求1所示的协议转换器仪表远程配置方法,其特征在于,上传数据项所在CAN协议中的报文ID,是每个需要上传的数据项都分布在CAN协议的制定的报文的固定位置,CAN报文由4bytes报文ID和每帧8bytes的数据组成,该属性表明该数据项的原始数据所属的CAN报文ID。
7.根据权利要求1所示的协议转换器仪表远程配置方法,其特征在于,所示上传数据项ID中,上传数据项由数据项ID、数据名称、数据类型、数据单位和数据值表示;为了便于统一管理,通过上传数据项ID唯一标识对应一个数据项名称;上传至平台的数据包括数据ID和数据值,制定了对应关系。
8.根据权利要求1所示的协议转换器仪表远程配置方法,其特征在于,为了在解析数据时能够正确提取被解析数据,需要获得该原始数据在CAN报文中的起止位置;起止位置由起止字节和字节内bit位置表示;开始位置和结束位置各由1byte表示,先发开始位置,后发结束位置,字节的高四位表示该数据项在报文中的字节位置,低四位表示该数据项在报文字节内bit位置;由于CAN总线的位及字节组织顺序存在Motorola和Intel两种格式,规定当开始字节位置小于结束字节位置表明采用Motorola格式,当开始字节位置大于结束字节位置表明采用Intel格式。
9.根据权利要求1所示的协议转换器仪表远程配置方法,其特征在于,配置文件由版本信息、报文CAN ID配置语句、车载机使用数据项ID配置语句、配置信息内容起始符、配置内容和配置信息内容结束符几部分组成。
10.根据权利要求1所示的协议转换器仪表远程配置方法,其特征在于,数据类数据项配置规则的计算方法:设采集输入值为X,上传输出值为Y,输入分辨率为a,输入偏移量为b,单位系数c,则计算公式为:Y=(aX-b)÷c。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910491420.7A CN110225026B (zh) | 2019-06-06 | 2019-06-06 | 协议转换器仪表远程配置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910491420.7A CN110225026B (zh) | 2019-06-06 | 2019-06-06 | 协议转换器仪表远程配置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110225026A true CN110225026A (zh) | 2019-09-10 |
CN110225026B CN110225026B (zh) | 2021-11-19 |
Family
ID=67815917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910491420.7A Active CN110225026B (zh) | 2019-06-06 | 2019-06-06 | 协议转换器仪表远程配置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110225026B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110928219A (zh) * | 2019-11-19 | 2020-03-27 | 深圳市伊爱高新技术开发有限公司 | 一种快速接入工程机械工况参数的方法 |
CN111107059A (zh) * | 2019-11-29 | 2020-05-05 | 彩虹无人机科技有限公司 | 一种无人机多协议传输数据解析方法 |
CN112270822A (zh) * | 2020-10-26 | 2021-01-26 | 青岛鼎信通讯股份有限公司 | 一种应用于转换器和混装多协议水气热表实时通信方法 |
CN113242165A (zh) * | 2021-03-31 | 2021-08-10 | 惠州市德赛西威汽车电子股份有限公司 | 一种新能源车辆国标数据处理及上传方法 |
CN114301995A (zh) * | 2021-12-30 | 2022-04-08 | 上海交通大学 | 实时工业以太网协议的转换切换与互通融合系统及其方法 |
CN114915548A (zh) * | 2022-05-09 | 2022-08-16 | 中国船舶重工集团公司第七0七研究所九江分部 | 一种基于单片机can协议可视化配置和自动解析方法 |
CN117201304A (zh) * | 2023-08-30 | 2023-12-08 | 赛力斯汽车有限公司 | 一种通讯矩阵的更新方法、装置、计算机设备和介质 |
CN117714564A (zh) * | 2024-02-05 | 2024-03-15 | 成都汉度科技有限公司 | 一种基于java语言的通用DLT645协议解析方法及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104883374A (zh) * | 2014-02-28 | 2015-09-02 | 惠州市德赛西威汽车电子有限公司 | 一种车载远程数据终端及其处理方法 |
CN107066282A (zh) * | 2015-10-06 | 2017-08-18 | 三星电子株式会社 | 用于定制车辆操作环境的系统和方法 |
WO2018039976A1 (en) * | 2016-08-31 | 2018-03-08 | Bayerische Motoren Werke Aktiengesellschaft | Apparatus and method for remote access to personal function profile for vehicle |
CN108195597A (zh) * | 2017-12-28 | 2018-06-22 | 北京理工大学 | 一种可重配置车辆野外动态多参数测试系统 |
CN109565458A (zh) * | 2016-05-03 | 2019-04-02 | 劳什企业公司 | 用于访问控制器局域网络中的数据通信的方法和装置 |
-
2019
- 2019-06-06 CN CN201910491420.7A patent/CN110225026B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104883374A (zh) * | 2014-02-28 | 2015-09-02 | 惠州市德赛西威汽车电子有限公司 | 一种车载远程数据终端及其处理方法 |
CN107066282A (zh) * | 2015-10-06 | 2017-08-18 | 三星电子株式会社 | 用于定制车辆操作环境的系统和方法 |
CN109565458A (zh) * | 2016-05-03 | 2019-04-02 | 劳什企业公司 | 用于访问控制器局域网络中的数据通信的方法和装置 |
WO2018039976A1 (en) * | 2016-08-31 | 2018-03-08 | Bayerische Motoren Werke Aktiengesellschaft | Apparatus and method for remote access to personal function profile for vehicle |
CN108195597A (zh) * | 2017-12-28 | 2018-06-22 | 北京理工大学 | 一种可重配置车辆野外动态多参数测试系统 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110928219B (zh) * | 2019-11-19 | 2021-04-20 | 深圳市伊爱高新技术开发有限公司 | 一种快速接入工程机械工况参数的方法 |
CN110928219A (zh) * | 2019-11-19 | 2020-03-27 | 深圳市伊爱高新技术开发有限公司 | 一种快速接入工程机械工况参数的方法 |
CN111107059A (zh) * | 2019-11-29 | 2020-05-05 | 彩虹无人机科技有限公司 | 一种无人机多协议传输数据解析方法 |
CN112270822B (zh) * | 2020-10-26 | 2022-04-19 | 青岛鼎信通讯股份有限公司 | 一种应用于转换器和混装多协议水气热表实时通信方法 |
CN112270822A (zh) * | 2020-10-26 | 2021-01-26 | 青岛鼎信通讯股份有限公司 | 一种应用于转换器和混装多协议水气热表实时通信方法 |
CN113242165A (zh) * | 2021-03-31 | 2021-08-10 | 惠州市德赛西威汽车电子股份有限公司 | 一种新能源车辆国标数据处理及上传方法 |
CN114301995A (zh) * | 2021-12-30 | 2022-04-08 | 上海交通大学 | 实时工业以太网协议的转换切换与互通融合系统及其方法 |
CN114301995B (zh) * | 2021-12-30 | 2023-07-18 | 上海交通大学 | 实时工业以太网协议的转换切换与互通融合系统及其方法 |
CN114915548A (zh) * | 2022-05-09 | 2022-08-16 | 中国船舶重工集团公司第七0七研究所九江分部 | 一种基于单片机can协议可视化配置和自动解析方法 |
CN114915548B (zh) * | 2022-05-09 | 2023-10-31 | 中国船舶重工集团公司第七0七研究所九江分部 | 一种基于单片机can协议可视化配置和自动解析方法 |
CN117201304A (zh) * | 2023-08-30 | 2023-12-08 | 赛力斯汽车有限公司 | 一种通讯矩阵的更新方法、装置、计算机设备和介质 |
CN117714564A (zh) * | 2024-02-05 | 2024-03-15 | 成都汉度科技有限公司 | 一种基于java语言的通用DLT645协议解析方法及设备 |
CN117714564B (zh) * | 2024-02-05 | 2024-04-23 | 成都汉度科技有限公司 | 一种基于java语言的通用DLT645协议解析方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110225026B (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110225026A (zh) | 协议转换器仪表远程配置方法 | |
CN102938731B (zh) | 一种基于代理缓存适配模型的交换集成装置及方法 | |
CN201887792U (zh) | 多协议转换网关 | |
US20070290847A1 (en) | Vehicle tag used for transmitting vehicle telemetry data | |
CN111385292B (zh) | 一种基于描述子的协议报文和数据的交互方法及系统 | |
CN109768970A (zh) | 一种基于可配置的通用协议生成方法 | |
CN109995643A (zh) | 业务邮件推送方法及装置 | |
CN110262826A (zh) | 车载软件配置升级管理方法、服务端、客户端及处理端 | |
CN103916891A (zh) | 一种异构web服务网关实现方法及装置 | |
CN115834375A (zh) | 一种车端服务通信配置方法、系统、设备及存储介质 | |
CN114039808A (zh) | 基于can的多通道的can/lin/sent转发协议 | |
CN108171640B (zh) | 船舶通信系统数据存储系统和统计方法 | |
CN113469647A (zh) | 一种企业信息集成系统和业务处理方法 | |
CN117130920A (zh) | 面向异构体系架构兼容的测试资源信息适配方法 | |
CN114390093B (zh) | 一种虚拟网关模拟系统 | |
CN101635711B (zh) | 可编程字符通讯方法 | |
CN109544323A (zh) | 一种信用卡卡号的智能管理系统 | |
CN110175917A (zh) | 参数图形化处理的装置及方法 | |
CN110149344B (zh) | 仪表对接远程配置系统 | |
CN113434233B (zh) | 界面跳转方法、装置、存储介质及电子装置 | |
CN116414436A (zh) | 一种兼容的统一开发平台开发方法、装置、介质及设备 | |
CN109190969A (zh) | 称重设备管控方法、系统、称重设备管理中间件及介质 | |
CN113590297A (zh) | 流程参数前后传递的方法及设备 | |
CN110659060A (zh) | 一种就地分布式fa配置快速配置方法及系统 | |
CN110795480A (zh) | 交通运营数据的处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |