CN110445752B - 一种支持多种can设备并灵活解析各类can报文的实现方法 - Google Patents
一种支持多种can设备并灵活解析各类can报文的实现方法 Download PDFInfo
- Publication number
- CN110445752B CN110445752B CN201910575657.3A CN201910575657A CN110445752B CN 110445752 B CN110445752 B CN 110445752B CN 201910575657 A CN201910575657 A CN 201910575657A CN 110445752 B CN110445752 B CN 110445752B
- Authority
- CN
- China
- Prior art keywords
- client program
- file
- message
- protocol
- battery
- 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.)
- Active
Links
Images
Classifications
-
- 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
-
- 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/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- 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
-
- 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
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种支持多种CAN设备并灵活解析各类CAN报文的实现方法,包括在客户端程序的配置文件中设置CAN设备的类型;在可视化界面上新建报文项目,根据电池协议文件配置协议方案或者导入DBC文件一键生成协议方案;根据电池协议文件中的电池协议要求添加发送报文;CAN设备接收报文数据,根据配置的变量解析出实际返回值;客户端程序监控CAN设备的实际返回值。通过本发明方法实现客户端程序支持多种CAN设备并灵活解析各类CAN报文,可大大降低客户端程序的调试成本、开发成本、减少维护工作量;同时,可以增加客户端程序的稳定性。
Description
技术领域
本发明涉及计算机领域,特别涉及一种支持多种CAN设备并灵活解析各类CAN报文的实现方法。
背景技术
将设备售卖给客户的同时,需要开发配套的客户端程序售卖给客户,客户通过客户端程序读取设备的运行数据和电池包信息。但是,每家客户往往对CAN设备都有指定的型号需求。因为每家客户都会生产多款电池包,每款电池包所对应要求的CAN型号、所解析的报文协议、内容等也不尽相同,客户端程序不能直接适配。因此,将开发配套的客户端程序售卖给客户的同时,要按照客户的需求配置对应的CAN设备,并根据所提供的报文协议调试客户端程序。
传统的做法,是通过工作人员到现场,针对客户所使用的CAN设备以及对应的报文协议对客户端程序进行调试。但是传统的这种做法存在有如下缺陷:其一是需要安排工作人员到现场出差对客户端程序进行调试,产生较高的人力成本以及时间成本;其二是根据不同的客户往往需要对客户端程序分别进行调试,造成客户端程序的版本众多,容易产生BUG,造成客户端程序的维护工作量大,对设备的生产工作也产生一定的影响;其三是针对现有CAN协议,每家电池供应商都有不同的定义,经常需要重新开发客户端程序。
发明内容
本发明要解决的技术问题,在于提供一种支持多种CAN设备并灵活解析各类CAN报文的实现方法,用于实现客户端程序支持多种CAN设备并灵活解析各类CAN报文,以降低客户端程序的调试成本、开发成本以及减少维护工作量。
本发明是这样实现的:一种支持多种CAN设备并灵活解析各类CAN报文的实现方法,所述方法包括如下步骤:
步骤S1、在客户端程序的配置文件中设置CAN设备的类型;
步骤S2、在可视化界面上新建报文项目,根据电池协议文件配置协议方案或者导入DBC文件一键生成协议方案;
步骤S3、根据电池协议文件中的电池协议要求添加发送报文;
步骤S4、CAN设备接收报文数据,根据配置的变量解析出实际返回值;
步骤S5、客户端程序监控CAN设备的实际返回值。
进一步地,所述步骤S1具体为:在客户端程序的根目录下找到config配置文件,并修改config配置文件中CAN设备的标识,使客户端程序根据标识与对应的CAN设备通讯。
进一步地,在所述步骤S2中,所述的在可视化界面上新建报文项目具体为:
点击客户端程序中的新增按钮,在可视化界面上输入报文项目的名称,自动生成报文项目的空文件。
进一步地,在所述步骤S2中,所述的根据电池协议文件配置协议方案具体为:
根据客户提供的电池协议文件,在设计模块中手动编辑报文帧及相关变量的解析参数,并在报文项目的空文件中生成协议方案。
进一步地,在所述步骤S2中,所述的导入DBC文件一键生成协议方案具体为:
点击客户端程序中的导入按钮,选择需要导入的DBC文件,通过DBC文件实现将报文帧及相关变量的解析参数一键导入到报文项目的空文件中,从而实现一键生成协议方案。
进一步地,所述步骤S3具体为:
根据电池协议文件中的电池协议要求,客户端程序如果需要发送心跳包,则先在发送列表中添加心跳包的报文帧,再通过客户端程序开启心跳包的接口开关,将心跳包发送给CAN设备;
客户端程序如果不需要发送心跳包,则无需在发送列表中添加心跳包的报文帧。
进一步地,所述步骤S4具体为:
根据协议方案中设计的报文帧及相关变量的解析参数,在CAN设备的接收列表中配置所需解析的变量,所需解析的变量至少包括字段的起始位、位长度、分辨率以及偏移量;在CAN设备接收到报文数据后,根据配置的所需解析的变量解析出实际返回值。
进一步地,所述步骤S5具体为:
在客户端程序中打开手动调试界面,并填写CAN设备信息后手动开启CAN设备;同时,客户端程序实时监控开启的CAN设备是否有实际返回值返回,且如果有,则在客户端程序的监控界面上展示实际返回值;如果没有,则排查问题。
本发明具有如下优点:
1、通过本发明方法实现客户端程序支持多种CAN设备并灵活解析各类CAN报文,可大大降低客户端程序的调试成本、开发成本、减少维护工作量;同时,可以增加客户端程序的稳定性;
2、通过导入DBC文件的方式,使得新项目的解析方法可以直接导入使用,有助于实现无人员介入调试;
3、采用模块化的设计方式,使得新增CAN类型时,只需更新CAN模块而无需对整个客户端程序进行更新。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明一种支持多种CAN设备并灵活解析各类CAN报文的实现方法的执行流程图。
具体实施方式
请参阅图1所示,本发明一种支持多种CAN设备并灵活解析各类CAN报文的实现方法的较佳实施例,所述方法包括如下步骤:
步骤S1、在客户端程序的配置文件中设置CAN设备的类型;
步骤S2、在可视化界面上新建报文项目,根据电池协议文件配置协议方案或者导入DBC文件一键生成协议方案;
步骤S3、根据电池协议文件中的电池协议要求添加发送报文;
步骤S4、CAN设备接收报文数据,根据配置的变量解析出实际返回值;
步骤S5、客户端程序监控CAN设备的实际返回值。
在本发明中,所述步骤S1具体为:在客户端程序的根目录下找到config配置文件,并修改config配置文件中CAN设备的标识(即配置cankind字段),使客户端程序根据标识与对应的CAN设备通讯。
在具体实施时,由于各个CAN设备的CAN型号可能不同,通过修改config配置文件中CAN设备的标识,从而决定客户端程序所调用的是何种CAN设备,可以很好的满足支持多种CAN设备的要求,而不需要针对不同的CAN型号去重新开发客户端程序。例如,config配置文件中当前配置的CAN设备的标识为0004,而接下来的测试要采用标识为0007的CAN设备,那么,就只需到config配置文件中将CAN设备的标识修改为0007即可。
在所述步骤S2中,所述的在可视化界面上新建报文项目具体为:
点击客户端程序中的新增按钮,该新增按钮用于新增一个报文项目时使用,在用户点击该新增按钮后,就会出现一个可视化界面,在可视化界面上输入报文项目的名称,自动生成报文项目的空文件。
在所述步骤S2中,所述的根据电池协议文件配置协议方案具体为:
根据客户提供的电池协议文件,在设计模块中手动编辑报文帧及相关变量的解析参数,并在报文项目的空文件中生成协议方案(例如,可以生成.bm的协议方案)。也就是说,需要根据客户提供的电池协议文件来编辑报文帧以及相关变量的解析参数,电池协议文件是从CAN设备的电池上读取来的,在该电池协议文件中包含有电池电压、电流等协议信息。
在所述步骤S2中,所述的导入DBC文件一键生成协议方案具体为:
点击客户端程序中的导入按钮,在具体实施时,可以在客户端程序中设置一个【导入dbc】按钮,选择需要导入的DBC文件,通过DBC文件实现将报文帧及相关变量的解析参数一键导入到报文项目的空文件中,从而实现一键生成协议方案(例如,可以生成.bm的协议方案)。其中,DBC文件属于数据库文件,DBC文件在使用时可以直接导入使用,而不需要再去编辑文件的内容。
因不同的BMS解析协议所对应的解析格式、字段类型、模式等往往不尽相同,例如解析报文:“0102030405060708”,客户A要得到01,则:变量起始位为0,位长度为8,则解析得到01;客户B要得到02,则:变量起始位为8,位长度为8,则解析得到02;通过编辑协议方案中报文帧及相关变量的解析参数,可实现灵活的解析不同客户的所需变量。
所述步骤S3具体为:
根据电池协议文件中的电池协议要求,客户端程序如果需要发送心跳包,则先在发送列表中添加心跳包的报文帧,再通过客户端程序开启心跳包的接口开关,将心跳包发送给CAN设备;
客户端程序如果不需要发送心跳包,则关闭心跳包的接口开关,且无需在发送列表中添加心跳包的报文帧。
在具体实施时,客户端电池包往往需要发送心跳报文,用于激活电池或使电池保持调试模式,以进行一些深入测试。由于心跳帧的ID、发送内容或发送间隔往往都存在很大差异,通过在可视化界面的发送列表中添加心跳帧发送内容,便可以实现灵活发送心跳包;再通过客户端程序调用接口开关,则可以实现灵活开关心跳帧的发送。
所述步骤S4具体为:
根据协议方案中设计的报文帧及相关变量的解析参数,在CAN设备的接收列表中配置所需解析的变量,所需解析的变量至少包括字段的起始位、位长度、分辨率以及偏移量;在CAN设备接收到报文数据后,根据配置的所需解析的变量解析出实际返回值。因不同的BMS解析协议所对应的解析格式、字段类型、模式等往往不尽相同,例如解析报文:“0102030405060708”,客户A要得到01,则:变量起始位为0,位长度为8,则解析得到01;客户B要得到02,则:变量起始位为8,位长度为8,则解析得到02;客户C要得到060708,则:变量起始位为40,位长度为24,索引6,则解析得到060708。
所述步骤S5具体为:
在客户端程序中打开手动调试界面,并填写CAN设备信息后手动开启CAN设备;同时,客户端程序实时监控开启的CAN设备是否有实际返回值返回,且如果有,则在客户端程序的监控界面上展示实际返回值,以方便用户可以根据返回值判断变量配置是否正确;如果没有,则排查问题。
综上所述,本发明具有如下优点:
1、通过本发明方法实现客户端程序支持多种CAN设备并灵活解析各类CAN报文,可大大降低客户端程序的调试成本、开发成本、减少维护工作量;同时,可以增加客户端程序的稳定性;
2、通过导入DBC文件的方式,使得新项目的解析方法可以直接导入使用,有助于实现无人员介入调试;
3、采用模块化的设计方式,使得新增CAN类型时,只需更新CAN模块而无需对整个客户端程序进行更新。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (2)
1.一种支持多种CAN设备并灵活解析各类CAN报文的实现方法,其特征在于:所述方法包括如下步骤:
步骤S1、在客户端程序的根目录下找到config配置文件,并修改config配置文件中CAN设备的标识,使客户端程序根据标识与对应的CAN设备通讯;
步骤S2、在可视化界面上新建报文项目,根据电池协议文件配置协议方案或者导入DBC文件一键生成协议方案;
所述的在可视化界面上新建报文项目具体为:
点击客户端程序中的新增按钮,在可视化界面上输入报文项目的名称,自动生成报文项目的空文件;
所述的根据电池协议文件配置协议方案具体为:
根据客户提供的电池协议文件,在设计模块中手动编辑报文帧及相关变量的解析参数,并在报文项目的空文件中生成协议方案;
所述的导入DBC文件一键生成协议方案具体为:
点击客户端程序中的导入按钮,选择需要导入的DBC文件,通过DBC文件实现将报文帧及相关变量的解析参数一键导入到报文项目的空文件中,从而实现一键生成协议方案;
步骤S3、根据电池协议文件中的电池协议要求添加发送报文;
步骤S4、CAN设备接收报文数据,根据配置的变量解析出实际返回值;
步骤S5、客户端程序监控CAN设备的实际返回值;
所述步骤S3具体为:
根据电池协议文件中的电池协议要求,客户端程序如果需要发送心跳包,则先在发送列表中添加心跳包的报文帧,再通过客户端程序开启心跳包的接口开关,将心跳包发送给CAN设备;
客户端程序如果不需要发送心跳包,则无需在发送列表中添加心跳包的报文帧;
所述步骤S5具体为:
在客户端程序中打开手动调试界面,并填写CAN设备信息后手动开启CAN设备;同时,客户端程序实时监控开启的CAN设备是否有实际返回值返回,且如果有,则在客户端程序的监控界面上展示实际返回值;如果没有,则排查问题。
2.根据权利要求1所述的一种支持多种CAN设备并灵活解析各类CAN报文的实现方法,其特征在于:所述步骤S4具体为:
根据协议方案中设计的报文帧及相关变量的解析参数,在CAN设备的接收列表中配置所需解析的变量,所需解析的变量至少包括字段的起始位、位长度、分辨率以及偏移量;在CAN设备接收到报文数据后,根据配置的所需解析的变量解析出实际返回值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910575657.3A CN110445752B (zh) | 2019-06-28 | 2019-06-28 | 一种支持多种can设备并灵活解析各类can报文的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910575657.3A CN110445752B (zh) | 2019-06-28 | 2019-06-28 | 一种支持多种can设备并灵活解析各类can报文的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110445752A CN110445752A (zh) | 2019-11-12 |
CN110445752B true CN110445752B (zh) | 2022-08-30 |
Family
ID=68428778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910575657.3A Active CN110445752B (zh) | 2019-06-28 | 2019-06-28 | 一种支持多种can设备并灵活解析各类can报文的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110445752B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111431855B (zh) * | 2020-02-26 | 2022-06-03 | 宁波吉利罗佑发动机零部件有限公司 | 一种车辆can信号的解析方法、装置、设备及介质 |
CN111427940B (zh) * | 2020-03-26 | 2023-09-05 | 陶朝林 | 一种自适应数据库转换方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105491017A (zh) * | 2015-11-23 | 2016-04-13 | 泰华智慧产业集团股份有限公司 | Rs485总线多设备多协议解析方法及系统 |
CN106357617A (zh) * | 2016-08-28 | 2017-01-25 | 上海新时达电气股份有限公司 | 通讯协议的自适应方法、装置、电梯通讯系统 |
CN106453334A (zh) * | 2016-10-19 | 2017-02-22 | 北京悦畅科技有限公司 | 一种通信协议切换方法、装置和系统 |
CN106453381A (zh) * | 2016-11-04 | 2017-02-22 | 重庆兆洲科技发展有限公司 | 一种通信方法、系统及工业仪器仪表 |
CN106603506A (zh) * | 2016-11-28 | 2017-04-26 | 北京航空航天大学 | 基于多现场总线的数据通信方法、设备及系统 |
EP3163013A1 (en) * | 2015-10-30 | 2017-05-03 | Siemens Aktiengesellschaft | Subsea communication adapter |
CN106790206A (zh) * | 2017-01-05 | 2017-05-31 | 厦门中控生物识别信息技术有限公司 | 业务系统的协议解析方法及装置 |
CN107132832A (zh) * | 2016-02-29 | 2017-09-05 | 株洲南车时代电气股份有限公司 | 一种基于can通讯的dbc文件解析及其程序设计方法 |
CN107980215A (zh) * | 2016-08-31 | 2018-05-01 | 深圳配天智能技术研究院有限公司 | 一种协议转换器及协议转换方法 |
-
2019
- 2019-06-28 CN CN201910575657.3A patent/CN110445752B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3163013A1 (en) * | 2015-10-30 | 2017-05-03 | Siemens Aktiengesellschaft | Subsea communication adapter |
CN105491017A (zh) * | 2015-11-23 | 2016-04-13 | 泰华智慧产业集团股份有限公司 | Rs485总线多设备多协议解析方法及系统 |
CN107132832A (zh) * | 2016-02-29 | 2017-09-05 | 株洲南车时代电气股份有限公司 | 一种基于can通讯的dbc文件解析及其程序设计方法 |
CN106357617A (zh) * | 2016-08-28 | 2017-01-25 | 上海新时达电气股份有限公司 | 通讯协议的自适应方法、装置、电梯通讯系统 |
CN107980215A (zh) * | 2016-08-31 | 2018-05-01 | 深圳配天智能技术研究院有限公司 | 一种协议转换器及协议转换方法 |
CN106453334A (zh) * | 2016-10-19 | 2017-02-22 | 北京悦畅科技有限公司 | 一种通信协议切换方法、装置和系统 |
CN106453381A (zh) * | 2016-11-04 | 2017-02-22 | 重庆兆洲科技发展有限公司 | 一种通信方法、系统及工业仪器仪表 |
CN106603506A (zh) * | 2016-11-28 | 2017-04-26 | 北京航空航天大学 | 基于多现场总线的数据通信方法、设备及系统 |
CN106790206A (zh) * | 2017-01-05 | 2017-05-31 | 厦门中控生物识别信息技术有限公司 | 业务系统的协议解析方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110445752A (zh) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107908541B (zh) | 接口测试方法、装置、计算机设备及存储介质 | |
US10454782B2 (en) | System and method for automating network management tasks | |
US9374278B2 (en) | Graphic user interface based network management system to define and execute troubleshooting procedure | |
US7117411B2 (en) | Methods and systems for testing communications network components | |
US20030191590A1 (en) | Interactive automatic-test GUI for testing devices and equipment using shell-level, CLI, and SNMP commands | |
CN112104634A (zh) | 数据报文处理方法、系统、设备及可读存储介质 | |
US20140280831A1 (en) | Sample driven visual programming system for network management | |
CN111427321B (zh) | 一种兼容多协议的mes数据采集系统及其方法 | |
CN110445752B (zh) | 一种支持多种can设备并灵活解析各类can报文的实现方法 | |
WO2009096299A1 (ja) | 通信解析装置および通信解析方法 | |
CN108717362B (zh) | 一种基于可继承结构的网络设备配置系统及配置方法 | |
CN108415857B (zh) | 一种串口数据的通用处理方法 | |
CN107094086A (zh) | 一种信息获取方法和装置 | |
CN112837073A (zh) | 基于物联网的仪器售后服务管理系统及方法 | |
US20060120353A1 (en) | Systems and methods for VolP service delivery | |
CN116204435A (zh) | 一种接口多协议通用的自动化实现系统 | |
CN112949018B (zh) | 一种直流输电控保平台模型创建与测试验证的系统与方法 | |
CN117807143A (zh) | 基于多数据源融合的带外信息处理方法及装置 | |
CN111262738A (zh) | 终端设备信息绑定方法、装置、交换机及存储介质 | |
CN116662204A (zh) | 一种无码测试案例生成方法、装置、系统及存储介质 | |
CN114268569B (zh) | 一种可配置的网络运维验收测试方法及装置 | |
CN103595819A (zh) | 一种在线测试web系统业务可用性的方法 | |
CN113901097A (zh) | 微服务架构下服务链路及业务的快速检索方法及系统 | |
CN113887754A (zh) | 配电终端统一运维平台的构建方法、系统及构建的平台 | |
WO2016130337A1 (en) | System and method for automating network management tasks |
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 |