CN106302010B - 一种CANopen网络通信仿真测试方法及相关设备 - Google Patents
一种CANopen网络通信仿真测试方法及相关设备 Download PDFInfo
- Publication number
- CN106302010B CN106302010B CN201610657222.XA CN201610657222A CN106302010B CN 106302010 B CN106302010 B CN 106302010B CN 201610657222 A CN201610657222 A CN 201610657222A CN 106302010 B CN106302010 B CN 106302010B
- Authority
- CN
- China
- Prior art keywords
- canopen
- card
- data
- simulink
- send
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 87
- 238000010998 test method Methods 0.000 title claims abstract description 17
- 230000003993 interaction Effects 0.000 claims abstract description 64
- 238000000034 method Methods 0.000 claims abstract description 54
- 238000004088 simulation Methods 0.000 claims abstract description 51
- 230000008569 process Effects 0.000 claims abstract description 41
- 238000012360 testing method Methods 0.000 claims abstract description 19
- 230000005540 biological transmission Effects 0.000 claims description 24
- 210000004209 hair Anatomy 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 4
- 241001269238 Data Species 0.000 claims description 3
- 235000013399 edible fruits Nutrition 0.000 claims description 2
- 230000002452 interceptive effect Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 53
- 238000001514 detection method Methods 0.000 description 7
- 238000011990 functional testing Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 102100029368 Cytochrome P450 2C18 Human genes 0.000 description 2
- 101000919360 Homo sapiens Cytochrome P450 2C18 Proteins 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- 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
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/14—Arrangements for monitoring or testing data switching networks using software, i.e. software packages
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Telephonic Communication Services (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供了一种CANopen网络通信仿真测试方法及相关设备,CANopen网络通信仿真测试方法包括:接收上位机发送的模型程序,模型程序为在Simulink模型框架中Simulink驱动模块与CANopen卡数据交互程序进行集成后,自动生成的可执行代码,Simulink驱动模块为所述上位机在所述Simulink模型框架中搭建出的当前CANopen网络通信仿真测试任务对应的模块;运行模型程序,以执行CANopen网络通信仿真设备中的CANopen卡在CAN总线上收发数据的过程。在本申请中,通过以上方式缩短了可执行代码生成的时间,从而缩短了CAN网络通信仿真设备的CANopen功能的实现周期。
Description
技术领域
本申请涉及通信领域,特别涉及一种CANopen网络通信仿真测试方法及相关设备。
背景技术
CAN(控制器局域网络,Controller Area Network)总线作为嵌入式***和工业控制常用到的一种现场总线,常常需要对CAN总线上的CANopen(架构在CAN总线上的应用层通讯协议)设备进行功能测试或对CAN总线上的各种控制***与检测、执行机构间的数据传输、总线分析和协议解析等功能进行测试。
目前常采用工业控制计算机集成CANopen网络通信板卡,作为CAN网络通信仿真设备,仿真具有CANopen功能(如管理CAN总线上节点和收发数据)的真实节点,在CAN总线上收发数据,来实现对CAN总线上被测CANopen设备进行功能测试或对CAN总线上的各种控制***与检测、执行机构间的数据传输、总线分析和协议解析等功能进行测试。其中,CAN网络通信仿真设备的CANopen功能是人工通过C语言编写相关CANopen功能算法实现的。
但是人工通过C语言编写相关CANopen功能算法的编写时间较长,导致CAN网络通信仿真设备的CANopen功能的实现周期长。
发明内容
为解决上述技术问题,本申请实施例提供一种CANopen网络通信仿真测试方法及相关设备,以达到缩短可执行代码生成的时间,从而缩短CAN网络通信仿真设备的CANopen功能的实现周期的目的,技术方案如下:
一种CANopen网络通信仿真测试方法,应用于CANopen网络通信仿真设备中的仿真计算机,包括:
接收上位机发送的模型程序,所述模型程序为在Simulink模型框架中Simulink驱动模块与CANopen卡数据交互程序进行集成后,自动生成的可执行代码,所述Simulink驱动模块为所述上位机在所述Simulink模型框架中搭建出的当前CANopen网络通信仿真测试任务对应的模块;
运行所述模型程序,以执行CANopen网络通信仿真设备中的CANopen卡在CAN总线上收发数据的过程。
优选的,所述Simulink驱动模块包括:Simulink Setup模块、Simulink Send模块和Simulink Receive模块;
所述Simulink Setup模块,用于解析CANopen卡配置文件,得到解析文件结果,并调用所述CANopen卡数据交互程序中的CANopen卡驱动程序初始化函数,以按照所述解析文件结果对所述CANopen卡中的驱动程序进行配置;
所述Simulink Send模块,用于调用所述CANopen卡数据交互程序中的CANopen卡数据发送函数,以发送携带有第一CANopen数据的发送命令至所述CANopen卡,以使所述CANopen卡通过CAN总线接口发送所述第一CANopen数据至CAN总线;
所述Simulink Receive模块,用于调用所述CANopen卡数据交互程序中的CANopen卡数据接收函数,以接收所述CANopen卡从所述CAN总线上获取到的第二CANopen数据。
优选的,所述CANopen网络通信仿真设备中的CANopen卡在CAN总线上收发数据的过程,包括:
解析所述上位机发送的CANopen卡配置文件,得到解析文件结果;
调用所述CANopen卡数据交互程序中的CANopen卡驱动程序初始化函数,以按照所述解析文件结果对所述CANopen卡中的驱动程序进行配置;
在所述CANopen卡运行所述CANopen卡中完成配置的驱动程序后,调用所述CANopen卡数据交互程序中的CANopen卡数据发送函数,以发送携带有第一CANopen数据的发送命令至所述CANopen卡,以使所述CANopen卡通过CAN总线接口发送所述第一CANopen数据至CAN总线;
在所述CANopen卡运行所述CANopen卡中完成配置的驱动程序后,调用所述CANopen卡数据交互程序中的CANopen卡数据接收函数,以接收所述CANopen卡从所述CAN总线上获取到的第二CANopen数据。
优选的,所述CANopen卡配置文件包括端口组子配置文件和数据组子配置文件;
所述端口组子配置文件至少包括:节点ID配置信息,节点上通信对象的ID配置信息,通信对象传输类型配置信息,通信对象的最小传输时间间隔配置信息和通信对象的周期性发送时间间隔配置信息;
所述数据组子配置文件用于定义所述CANopen卡待收发的CAN报文中8字节数据的含义。
优选的,所述调用所述CANopen卡数据交互程序中的CANopen卡数据发送函数,以发送携带有第一CANopen数据的发送命令至所述CANopen卡,包括:
调用所述CANopen卡数据交互程序中的CANopen卡数据发送函数,以发送不同的发送命令至所述CANopen卡,以使所述CANopen卡的不同CAN总线接口发送不同的第一CANopen数据至所述CAN总线,其中,不同的发送命令携带的第一CANopen数据不同;
所述调用所述CANopen卡数据交互程序中的CANopen卡数据接收函数,以接收所述CANopen卡从所述CAN总线上获取到的第二CANopen数据的过程,包括:
调用所述CANopen卡数据交互程序中的CANopen卡数据接收函数,以接收所述CANopen卡的不同CAN总线接口从所述CAN总线上获取到的不同的第二CANopen数据。
优选的,在运行所述模型程序之后,还包括:
将运行所述模型程序的过程及结果发送至所述CANopen网络通信仿真设备中的显示器进行显示。
一种仿真计算机,用于接收上位机发送的模型程序,以及运行所述模型程序,以执行CANopen网络通信仿真设备中的CANopen卡在CAN总线上收发数据的过程;
所述模型程序为在Simulink模型框架中Simulink驱动模块与CANopen卡数据交互程序进行集成后,自动生成的可执行代码,所述Simulink驱动模块为所述上位机在所述Simulink模型框架中搭建出的当前CANopen网络通信仿真测试任务对应的模块。
优选的,所述仿真计算机具体用于运行所述模型程序,以执行以下CANopen网络通信仿真设备中的CANopen卡在CAN总线上收发数据的过程:
解析所述上位机发送的CANopen卡配置文件,得到解析文件结果;
调用所述CANopen卡数据交互程序中的CANopen卡驱动程序初始化函数,以按照所述解析文件结果对所述CANopen卡中的驱动程序进行配置;
在所述CANopen卡运行所述CANopen卡中完成配置的驱动程序后,调用所述CANopen卡数据交互程序中的CANopen卡数据发送函数,以发送携带有第一CANopen数据的发送命令至所述CANopen卡,以使所述CANopen卡通过CAN总线接口发送所述第一CANopen数据至CAN总线;
在所述CANopen卡运行所述CANopen卡中完成配置的驱动程序后,调用所述CANopen卡数据交互程序中的CANopen卡数据接收函数,以接收所述CANopen卡从所述CAN总线上获取到的第二CANopen数据。
优选的,所述仿真计算机具体用于运行所述模型程序,以执行以下CANopen网络通信仿真设备中的CANopen卡在CAN总线上收发数据的过程:
解析所述上位机发送的CANopen卡配置文件,得到解析文件结果;
调用所述CANopen卡数据交互程序中的CANopen卡驱动程序初始化函数,以按照所述解析文件结果对所述CANopen卡中的驱动程序进行配置;
在所述CANopen卡运行所述CANopen卡中完成配置的驱动程序后,调用所述CANopen卡数据交互程序中的CANopen卡数据发送函数,以发送不同的发送命令至所述CANopen卡,以使所述CANopen卡的不同CAN总线接口发送不同的第一CANopen数据至所述CAN总线,其中,不同的发送命令携带的第一CANopen数据不同;
在所述CANopen卡运行所述CANopen卡中完成配置的驱动程序后,调用所述CANopen卡数据交互程序中的CANopen卡数据接收函数,以接收所述CANopen卡的不同CAN总线接口从所述CAN总线上获取到的不同的第二CANopen数据。
一种CANopen网络通信仿真设备,包括:转接板卡、CANopen卡和如上述任意一项所述的仿真计算机;
所述仿真计算机由处理器和仿真计算机机箱组成,其中,所述处理器通过CPCI总线与所述仿真计算机机箱相连;
所述CANopen卡通过所述转接板卡与所述仿真计算机机箱相连;
所述CANopen卡,用于运行所述CANopen卡中完成配置的驱动程序,并在运行所述CANopen卡中完成配置的驱动程序后,接收所述处理器发送的携带有第一CANopen数据的发送命令,并通过CAN总线接口发送所述第一CANopen数据至CAN总线,以及从所述CAN总线上获取第二CANopen数据,并将所述第二CANopen数据发送至所述处理器;
所述CANopen卡中完成配置的驱动程序为所述处理器解析上位机发送的CANopen卡配置文件,得到解析文件结果,并按照所述解析文件结果对所述CANopen卡中的驱动程序进行配置后的程序。
与现有技术相比,本申请的有益效果为:
在本申请中,CANopen网络通信仿真设备中的仿真计算机通过接收并运行上位机发送的模型程序,以执行在CAN总线上收发数据的过程,来实现对CAN总线上被测CANopen设备进行功能测试或对CAN总线上的各种控制***与检测、执行机构间的数据传输、总线分析和协议解析等功能进行测试。
由于Simulink驱动模块为所述上位机在所述Simulink模型框架中搭建出的当前CANopen网络通信仿真测试任务对应的模块,模型程序为在Simulink模型框架中Simulink驱动模块与CANopen卡数据交互程序进行集成后,自动生成的可执行代码,因而在Simulink模型框架中无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出当前CANopen网络通信仿真测试任务对应的模块即Simulink驱动模块,并将Simulink驱动模块与CANopen卡数据交互程序进行集成后,自动生成的可执行代码,因此缩短了可执行代码生成的时间,从而缩短了CAN网络通信仿真设备的CANopen功能的实现周期。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的CANopen网络通信仿真测试方法的一种流程图;
图2是本申请提供的CANopen网络通信仿真测试方法的一种子流程图;
图3是本申请提供的CANopen网络通信仿真测试方法的另一种流程图;
图4是本申请提供的CANopen网络通信仿真设备的一种硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
在本实施例中,提供了一种CANopen网络通信仿真测试方法,应用于CANopen网络通信仿真设备中的仿真计算机。
请参见图1,其示出了本申请提供的CANopen网络通信仿真测试方法的一种流程图,可以包括以下步骤:
步骤S11:接收上位机发送的模型程序,所述模型程序为在Simulink模型框架中Simulink驱动模块与CANopen卡数据交互程序进行集成后,自动生成的可执行代码,所述Simulink驱动模块为所述上位机在所述Simulink模型框架中搭建出的当前CANopen网络通信仿真测试任务对应的模块。
在本实施例中,上位机生成模型程序,并下载到仿真计算机。仿真计算机则接收上位机发送的模型程序。
在本实施例中,Simulink是MATLAB最重要的组件之一,它提供一个动态***建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的***。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点。
在本实施例中,上位机在所述Simulink模型框架中搭建出当前CANopen网络通信仿真测试任务对应的模块的过程具体为:在Simulink模型框架中选取当前CANopen网络通信仿真测试任务所需的模块,对当前CANopen网络通信仿真测试任务所需的模块进行连接及参数设置,得到当前CANopen网络通信仿真测试任务对应的模块。
当前CANopen网络通信仿真测试任务对应的模块用于实现CANopen卡在CAN总线上收发数据。
步骤S12:运行所述模型程序,以执行CANopen网络通信仿真设备中的CANopen卡在CAN总线上收发数据的过程。
在本申请中,CANopen网络通信仿真设备中的仿真计算机通过接收上位机发送的模型程序,以执行在CAN总线上收发数据的过程,来实现对CAN总线上被测CANopen设备进行功能测试或对CAN总线上的各种控制***与检测、执行机构间的数据传输、总线分析和协议解析等功能进行测试。
由于Simulink驱动模块为所述上位机在所述Simulink模型框架中搭建出的当前CANopen网络通信仿真测试任务对应的模块,模型程序为在Simulink模型框架中Simulink驱动模块与CANopen卡数据交互程序进行集成后,自动生成的可执行代码,因而在Simulink模型框架中无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出当前CANopen网络通信仿真测试任务对应的模块即Simulink驱动模块,并将Simulink驱动模块与CANopen卡数据交互程序进行集成后,自动生成的可执行代码,因此缩短了可执行代码生成的时间,从而缩短了CAN网络通信仿真设备的CANopen功能的实现周期。
进一步的,由于在Simulink模型框架中无需大量书写程序,而只需要通过简单直观的鼠标操作,因此通过Simulink模型框架生成模型程序相比于人工通过C语言代码编写相关功能算法,更加灵活,且在对模型程序进行维护时,在Simulink模型框架中对当前CANopen网络通信仿真测试任务对应的模块进行修改即可,降低了维护难度。
在本实施例中,当前CANopen网络通信仿真测试任务对应的模块具体可以包括:Simulink Setup模块、Simulink Send模块和Simulink Receive模块。
其中,所述Simulink Setup模块,用于解析CANopen卡配置文件,得到解析文件结果,并调用所述CANopen卡数据交互程序中的CANopen卡驱动程序初始化函数,以按照所述解析文件结果对所述CANopen卡中的驱动程序进行配置。
所述Simulink Send模块,用于调用所述CANopen卡数据交互程序中的CANopen卡数据发送函数,以发送携带有第一CANopen数据的发送命令至所述CANopen卡。
所述Simulink Receive模块,用于调用所述CANopen卡数据交互程序中的CANopen卡数据接收函数,以接收所述CANopen卡从所述CAN总线上获取到的第二CANopen数据。
在本实施例中,上述CANopen网络通信仿真设备中的CANopen卡在CAN总线上收发数据的过程具体可以参见图2,可以包括以下步骤:
步骤S21:解析所述上位机发送的CANopen卡配置文件,得到解析文件结果。
在本实施例中,CANopen卡配置文件具体包括端口组子配置文件和数据组子配置文件。
所述端口组子配置文件至少包括:节点ID配置信息,节点上通信对象的ID(COBID)配置信息,通信对象传输类型(Transmission Type)配置信息,通信对象的最小传输时间间隔(inhibit time)配置信息和通信对象的周期性发送时间间隔(event time)配置信息。
所述数据组子配置文件用于定义所述CANopen卡待收发的CAN报文中8字节数据的含义。
其中,上位机可以通过CANopen卡配置文件定义CANopen网络通信仿真设备为主站或从站,以使CANopen网络通信仿真设备在CAN总线上充当不同的功能节点。在CANopen网络通信仿真设备为主站时,在CAN总线上收发数据的过程与在CANopen网络通信仿真设备为从站时,在CAN总线上收发数据的过程相同,只是收发的具体数据不同。
步骤S22:调用所述CANopen卡数据交互程序中的CANopen卡驱动程序初始化函数,以按照所述解析文件结果对所述CANopen卡中的驱动程序进行配置。
在本实施例中,解析所述上位机发送的CANopen卡配置文件,得到解析文件结果和调用所述CANopen卡数据交互程序中的CANopen卡驱动程序初始化函数的过程即运行Simulink Setup模块而实现的过程。
步骤S23:在所述CANopen卡运行所述CANopen卡中完成配置的驱动程序后,调用所述CANopen卡数据交互程序中的CANopen卡数据发送函数,以发送携带有第一CANopen数据的发送命令至所述CANopen卡,以使所述CANopen卡通过CAN总线接口发送所述第一CANopen数据至CAN总线。
在本实施例中,仿真计算机会接收上位机发送的驱动程序运行命令,并将上位机发送的驱动程序运行命令转发至CANopen卡,CANopen卡按照上位机发送的驱动程序运行命令开始运行驱动程序。
在本实施例中,调用所述CANopen卡数据交互程序中的CANopen卡数据发送函数即运行Simulink Send模块而实现的过程。
在CANopen卡通过CAN总线接口发送所述第一CANopen数据至CAN总线后,上位机则根据第一CANopen数据在CAN总线上的传输情况,对CAN总线上被测CANopen设备进行功能测试或对CAN总线上的各种控制***与检测、执行机构间的数据传输、总线分析和协议解析等功能进行测试。
步骤S24:在所述CANopen卡运行所述CANopen卡中完成配置的驱动程序后,调用所述CANopen卡数据交互程序中的CANopen卡数据接收函数,以接收所述CANopen卡从所述CAN总线上获取到的第二CANopen数据。
CANopen卡在运行所述CANopen卡中完成配置的驱动程序后,会按照CANopen配置文件从CAN总线上获取相应的CANopen数据(即第二CANopen数据),并将获取到的第二CANopen数据发送至CANopen网络通信仿真设备中的仿真计算机,仿真计算机则将第二CANopen数据转发至上位机,以使上位机根据第二CANopen数据对CAN总线上被测CANopen设备进行功能测试或对CAN总线上的各种控制***与检测、执行机构间的数据传输、总线分析和协议解析等功能进行测试。
在本实施例中,其中,对CAN总线上被测CANopen设备进行功能测试或对CAN总线上的各种控制***与检测、执行机构间的数据传输、总线分析和协议解析等功能进行测试的原理与现有技术中进行功能测试的原理相同,在此不再赘述。
在本实施例中,调用所述CANopen卡数据交互程序中的CANopen卡数据接收函数即运行Simulink Receive模块而实现的过程。
在本实施例中,上述调用所述CANopen卡数据交互程序中的CANopen卡数据发送函数,以发送携带有第一CANopen数据的发送命令至所述CANopen卡,以使所述CANopen卡发送所述第一CANopen数据至CAN总线的过程,具体可以为:调用所述CANopen卡数据交互程序中的CANopen卡数据发送函数,以发送不同的发送命令至所述CANopen卡,以使所述CANopen卡的不同CAN总线接口发送不同的第一CANopen数据至所述CAN总线,其中,不同的发送命令携带的第一CANopen数据不同。
上述调用所述CANopen卡数据交互程序中的CANopen卡数据接收函数,以接收所述CANopen卡从所述CAN总线上获取到的第二CANopen数据的过程,具体可以为:
调用所述CANopen卡数据交互程序中的CANopen卡数据接收函数,以接收所述CANopen卡的不同CAN总线接口从所述CAN总线上获取到的不同的第二CANopen数据。
发送不同的发送命令至所述CANopen卡,以使所述CANopen卡的不同CAN总线接口发送不同的第一CANopen数据至所述CAN总线,及接收所述CANopen卡的不同CAN总线接口从所述CAN总线上获取到的不同的第二CANopen数据,使CANopen网络通信仿真设备可以模拟CAN总线上的多个功能节点(即在模拟不同的功能节点时发送不同的CANopen数据至CAN总线或从CAN总线上接收不同的CANopen数据)。
实施例二
在本实施例中,在图1示出的CANopen网络通信仿真测试方法的基础上扩展出另外一种CANopen网络通信仿真测试方法,请参见图3,可以包括以下步骤:
步骤S31:接收上位机发送的模型程序,所述模型程序为在Simulink模型框架中Simulink驱动模块与CANopen卡数据交互程序进行集成后,自动生成的可执行代码,所述Simulink驱动模块为所述上位机在所述Simulink模型框架中搭建出的当前CANopen网络通信仿真测试任务对应的模块。
步骤S32:运行所述模型程序,以执行CANopen网络通信仿真设备中的CANopen卡在CAN总线上收发数据的过程。
步骤S31至步骤S32的过程与图1示出的CANopen网络通信仿真测试方法的步骤S11至步骤S12相同,在此不再赘述。
步骤S33:将运行所述模型程序的过程及结果发送至所述CANopen网络通信仿真设备中的显示器进行显示。
在本实施例中,将运行所述模型程序的过程及结果发送至所述CANopen网络通信仿真设备中的显示器进行显示,可以方便用户对通信情况进行观测。
实施例三
与上述方法实施例相对应,本实施例提供了一种仿真计算机,用于接收上位机发送的模型程序,所述模型程序为在Simulink模型框架中Simulink驱动模块与CANopen卡数据交互程序进行集成后,自动生成的可执行代码,所述Simulink驱动模块为所述上位机在所述Simulink模型框架中搭建出的当前CANopen网络通信仿真测试任务对应的模块,以及运行所述模型程序,以执行CANopen网络通信仿真设备中的CANopen卡在CAN总线上收发数据的过程。
其中,仿真计算机运行所述模型程序,以执行CANopen网络通信仿真设备中的CANopen卡在CAN总线上收发数据的过程具体为:仿真计算机运行所述模型程序,以执行以下过程:
解析所述上位机发送的CANopen卡配置文件,得到解析文件结果;
调用所述CANopen卡数据交互程序中的CANopen卡驱动程序初始化函数,以按照所述解析文件结果对所述CANopen卡中的驱动程序进行配置;
在所述CANopen卡运行所述CANopen卡中完成配置的驱动程序后,调用所述CANopen卡数据交互程序中的CANopen卡数据发送函数,以发送携带有第一CANopen数据的发送命令至所述CANopen卡,以使所述CANopen卡通过CAN总线接口发送所述第一CANopen数据至CAN总线;
在所述CANopen卡运行所述CANopen卡中完成配置的驱动程序后,调用所述CANopen卡数据交互程序中的CANopen卡数据接收函数,以接收所述CANopen卡从所述CAN总线上获取到的第二CANopen数据。
具体的,仿真计算机运行所述模型程序,以执行CANopen网络通信仿真设备中的CANopen卡在CAN总线上收发数据的过程具体可以为:
解析所述上位机发送的CANopen卡配置文件,得到解析文件结果;
调用所述CANopen卡数据交互程序中的CANopen卡驱动程序初始化函数,以按照所述解析文件结果对所述CANopen卡中的驱动程序进行配置;
在所述CANopen卡运行所述CANopen卡中完成配置的驱动程序后,调用所述CANopen卡数据交互程序中的CANopen卡数据发送函数,以发送不同的发送命令至所述CANopen卡,以使所述CANopen卡的不同CAN总线接口发送不同的第一CANopen数据至所述CAN总线,其中,不同的发送命令携带的第一CANopen数据不同;
在所述CANopen卡运行所述CANopen卡中完成配置的驱动程序后,调用所述CANopen卡数据交互程序中的CANopen卡数据接收函数,以接收所述CANopen卡的不同CAN总线接口从所述CAN总线上获取到的不同的第二CANopen数据。
实施例四
在本实施例中,提供了一种CANopen网络通信仿真设备,请参见图4,CANopen网络通信仿真设备包括:仿真计算机41、转接板卡42和CANopen卡43。
仿真计算机41由处理器411和仿真计算机机箱412组成,其中,所述处理器411通过CPCI总线与所述仿真计算机机箱412相连。
处理器411的具体功能与实施例三示出的仿真计算机的功能相同,在此不再赘述。
所述CANopen卡43通过所述转接板卡42与所述仿真计算机机箱412相连。
具体的,CANopen卡43通过PCI104总线与转接板卡42相连,转接板卡42通过CPCI总线与仿真计算机机箱412相连。
在本实施例中,处理器411与仿真计算机机箱412相连,组成仿真计算机。在本实施例中,处理器411与仿真计算机机箱412可以拆卸,使仿真计算机机箱412可以连接不同的处理器411,组成不同的仿真计算机,使CANopen网络通信仿真设备的组成更加灵活。
所述CANopen卡43,用于运行所述CANopen卡中完成配置的驱动程序,并在运行所述CANopen卡中完成配置的驱动程序后,接收所述处理器411发送的携带有第一CANopen数据的发送命令,并通过CAN总线接口发送所述第一CANopen数据至CAN总线,以及从所述CAN总线上获取到的第二CANopen数据,并将所述第二CANopen数据发送至所述处理器411。
其中,所述CANopen卡中完成配置的驱动程序为处理器411解析上位机发送的CANopen卡配置文件,得到解析文件结果,并按照所述解析文件结果对所述CANopen卡43中的驱动程序进行配置后的程序。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的CANopen网络通信仿真测试方法及相关设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (9)
1.一种CANopen网络通信仿真测试方法,其特征在于,应用于CANopen网络通信仿真设备中的仿真计算机,包括:
接收上位机发送的模型程序,所述模型程序为在Simulink模型框架中Simulink驱动模块与CANopen卡数据交互程序进行集成后,自动生成的可执行代码,所述Simulink驱动模块为所述上位机在所述Simulink模型框架中搭建出的当前CANopen网络通信仿真测试任务对应的模块,所述Simulink驱动模块包括:Simulink Setup模块、Simulink Send模块和Simulink Receive 模块;所述Simulink Setup模块,用于解析CANopen卡配置文件,得到解析文件结果,并调用所述CANopen卡数据交互程序中的CANopen卡驱动程序初始化函数,以按照所述解析文件结果对所述CANopen卡中的驱动程序进行配置;所述Simulink Send模块,用于调用所述CANopen卡数据交互程序中的CANopen卡数据发送函数,以发送携带有第一CANopen数据的发送命令至所述CANopen卡,以使所述CANopen卡通过CAN总线接口发送所述第一CANopen数据至CAN总线;所述Simulink Receive模块,用于调用所述CANopen卡数据交互程序中的CANopen卡数据接收函数,以接收所述CANopen卡从所述CAN总线上获取到的第二CANopen数据;
运行所述模型程序,以执行CANopen网络通信仿真设备中的CANopen卡在CAN总线上收发数据的过程。
2.根据权利要求1所述的方法,其特征在于,所述CANopen网络通信仿真设备中的CANopen卡在CAN总线上收发数据的过程,包括:
解析所述上位机发送的CANopen卡配置文件,得到解析文件结果;
调用所述CANopen卡数据交互程序中的CANopen卡驱动程序初始化函数,以按照所述解析文件结果对所述CANopen卡中的驱动程序进行配置;
在所述CANopen卡运行所述CANopen卡中完成配置的驱动程序后,调用所述CANopen卡数据交互程序中的CANopen卡数据发送函数,以发送携带有第一CANopen数据的发送命令至所述CANopen卡,以使所述CANopen卡通过CAN总线接口发送所述第一CANopen数据至CAN总线;
在所述CANopen卡运行所述CANopen卡中完成配置的驱动程序后,调用所述CANopen卡数据交互程序中的CANopen卡数据接收函数,以接收所述CANopen卡从所述CAN总线上获取到的第二CANopen数据。
3.根据权利要求1所述的方法,其特征在于,所述CANopen卡配置文件包括端口组子配置文件和数据组子配置文件;
所述端口组子配置文件至少包括:节点ID配置信息,节点上通信对象的ID配置信息,通信对象传输类型配置信息,通信对象的最小传输时间间隔配置信息和通信对象的周期性发送时间间隔配置信息;
所述数据组子配置文件用于定义所述CANopen卡待收发的CAN报文中8字节数据的含义。
4.根据权利要求1所述的方法,其特征在于,所述调用所述CANopen卡数据交互程序中的CANopen卡数据发送函数,以发送携带有第一CANopen数据的发送命令至所述CANopen卡,包括:
调用所述CANopen卡数据交互程序中的CANopen卡数据发送函数,以发送不同的发送命令至所述CANopen卡,以使所述CANopen卡的不同CAN总线接口发送不同的第一CANopen数据至所述CAN总线,其中,不同的发送命令携带的第一CANopen数据不同;
所述调用所述CANopen卡数据交互程序中的CANopen卡数据接收函数,以接收所述CANopen卡从所述CAN总线上获取到的第二CANopen数据的过程,包括:
调用所述CANopen卡数据交互程序中的CANopen卡数据接收函数,以接收所述CANopen卡的不同CAN总线接口从所述CAN总线上获取到的不同的第二CANopen数据。
5.根据权利要求1所述的方法,其特征在于,在运行所述模型程序之后,还包括:
将运行所述模型程序的过程及结果发送至所述CANopen网络通信仿真设备中的显示器进行显示。
6.一种仿真计算机,其特征在于,用于接收上位机发送的模型程序,以及运行所述模型程序,以执行CANopen网络通信仿真设备中的CANopen卡在CAN总线上收发数据的过程;
所述模型程序为在Simulink模型框架中Simulink驱动模块与CANopen卡数据交互程序进行集成后,自动生成的可执行代码,所述Simulink驱动模块为所述上位机在所述Simulink模型框架中搭建出的当前CANopen网络通信仿真测试任务对应的模块;
所述Simulink驱动模块包括:Simulink Setup模块、Simulink Send模块和SimulinkReceive模块;所述Simulink Setup模块,用于解析CANopen卡配置文件,得到解析文件结果,并调用所述CANopen卡数据交互程序中的CANopen卡驱动程序初始化函数,以按照所述解析文件结果对所述CANopen卡中的驱动程序进行配置;所述Simulink Send模块,用于调用所述CANopen卡数据交互程序中的CANopen卡数据发送函数,以发送携带有第一CANopen数据的发送命令至所述CANopen卡,以使所述CANopen卡通过CAN总线接口发送所述第一CANopen数据至CAN总线;所述Simulink Receive模块,用于调用所述CANopen卡数据交互程序中的CANopen卡数据接收函数,以接收所述CANopen卡从所述CAN总线上获取到的第二CANopen数据。
7.根据权利要求6所述的仿真计算机,其特征在于,所述仿真计算机具体用于运行所述模型程序,以执行以下CANopen网络通信仿真设备中的CANopen卡在CAN总线上收发数据的过程:
解析所述上位机发送的CANopen卡配置文件,得到解析文件结果;
调用所述CANopen卡数据交互程序中的CANopen卡驱动程序初始化函数,以按照所述解析文件结果对所述CANopen卡中的驱动程序进行配置;
在所述CANopen卡运行所述CANopen卡中完成配置的驱动程序后,调用所述CANopen卡数据交互程序中的CANopen卡数据发送函数,以发送携带有第一CANopen数据的发送命令至所述CANopen卡,以使所述CANopen卡通过CAN总线接口发送所述第一CANopen数据至CAN总线;
在所述CANopen卡运行所述CANopen卡中完成配置的驱动程序后,调用所述CANopen卡数据交互程序中的CANopen卡数据接收函数,以接收所述CANopen卡从所述CAN总线上获取到的第二CANopen数据。
8.根据权利要求7所述的仿真计算机,其特征在于,所述仿真计算机具体用于运行所述模型程序,以执行以下CANopen网络通信仿真设备中的CANopen卡在CAN总线上收发数据的过程:
解析所述上位机发送的CANopen卡配置文件,得到解析文件结果;
调用所述CANopen卡数据交互程序中的CANopen卡驱动程序初始化函数,以按照所述解析文件结果对所述CANopen卡中的驱动程序进行配置;
在所述CANopen卡运行所述CANopen卡中完成配置的驱动程序后,调用所述CANopen卡数据交互程序中的CANopen卡数据发送函数,以发送不同的发送命令至所述CANopen卡,以使所述CANopen卡的不同CAN总线接口发送不同的第一CANopen数据至所述CAN总线,其中,不同的发送命令携带的第一CANopen数据不同;
在所述CANopen卡运行所述CANopen卡中完成配置的驱动程序后,调用所述CANopen卡数据交互程序中的CANopen卡数据接收函数,以接收所述CANopen卡的不同CAN总线接口从所述CAN总线上获取到的不同的第二CANopen数据。
9.一种CANopen网络通信仿真设备,其特征在于,包括:转接板卡、CANopen卡和如权利要求6-8任意一项所述的仿真计算机;
所述仿真计算机由处理器和仿真计算机机箱组成,其中,所述处理器通过CPCI总线与所述仿真计算机机箱相连;
所述CANopen卡通过所述转接板卡与所述仿真计算机机箱相连;
所述CANopen卡,用于运行所述CANopen卡中完成配置的驱动程序,并在运行所述CANopen卡中完成配置的驱动程序后,接收所述处理器发送的携带有第一CANopen数据的发送命令,并通过CAN总线接口发送所述第一CANopen数据至CAN总线,以及从所述CAN总线上获取第二CANopen数据,并将所述第二CANopen数据发送至所述处理器;
所述CANopen卡中完成配置的驱动程序为所述处理器解析上位机发送的CANopen卡配置文件,得到解析文件结果,并按照所述解析文件结果对所述CANopen卡中的驱动程序进行配置后的程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610657222.XA CN106302010B (zh) | 2016-08-11 | 2016-08-11 | 一种CANopen网络通信仿真测试方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610657222.XA CN106302010B (zh) | 2016-08-11 | 2016-08-11 | 一种CANopen网络通信仿真测试方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106302010A CN106302010A (zh) | 2017-01-04 |
CN106302010B true CN106302010B (zh) | 2019-06-04 |
Family
ID=57669777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610657222.XA Active CN106302010B (zh) | 2016-08-11 | 2016-08-11 | 一种CANopen网络通信仿真测试方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106302010B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108366079A (zh) * | 2018-05-23 | 2018-08-03 | 北京半导体专用设备研究所(中国电子科技集团公司第四十五研究所) | 一种CANopen协议报文的识别方法和*** |
CN110175050B (zh) * | 2019-05-29 | 2022-10-14 | 深圳创龙智新科技有限公司 | ***设备控制方法、装置、***、电子设备及存储介质 |
CN111538257B (zh) * | 2020-04-28 | 2021-08-03 | 盛瑞传动股份有限公司 | 变速箱控制***的切换方法及装置、电子设备及存储介质 |
CN114006742B (zh) * | 2021-10-27 | 2024-05-10 | 许继集团有限公司 | 一种基于CANOpen协议的通信转换方法及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495552A (zh) * | 2011-12-08 | 2012-06-13 | 哈尔滨工业大学 | 面向星载电子***的实时仿真*** |
CN103995777A (zh) * | 2014-05-29 | 2014-08-20 | 上海科梁信息工程有限公司 | 嵌入式软件黑盒自动化测试***及测试方法 |
CN104062969A (zh) * | 2014-07-04 | 2014-09-24 | 清华大学苏州汽车研究院(吴江) | 一种汽车硬件在环仿真测试***和测试方法 |
CN104850027A (zh) * | 2014-08-13 | 2015-08-19 | 北汽福田汽车股份有限公司 | 一种can数据接口建模自动生成方法及*** |
CN104850111A (zh) * | 2014-10-16 | 2015-08-19 | 北汽福田汽车股份有限公司 | 一种硬件在环测试方法及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2770389B1 (de) * | 2013-02-21 | 2019-05-08 | dSPACE digital signal processing and control engineering GmbH | Verfahren zur Durchführung einer Konfiguration eines Steuergeräte-Testsystems |
-
2016
- 2016-08-11 CN CN201610657222.XA patent/CN106302010B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495552A (zh) * | 2011-12-08 | 2012-06-13 | 哈尔滨工业大学 | 面向星载电子***的实时仿真*** |
CN103995777A (zh) * | 2014-05-29 | 2014-08-20 | 上海科梁信息工程有限公司 | 嵌入式软件黑盒自动化测试***及测试方法 |
CN104062969A (zh) * | 2014-07-04 | 2014-09-24 | 清华大学苏州汽车研究院(吴江) | 一种汽车硬件在环仿真测试***和测试方法 |
CN104850027A (zh) * | 2014-08-13 | 2015-08-19 | 北汽福田汽车股份有限公司 | 一种can数据接口建模自动生成方法及*** |
CN104850111A (zh) * | 2014-10-16 | 2015-08-19 | 北汽福田汽车股份有限公司 | 一种硬件在环测试方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN106302010A (zh) | 2017-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106302010B (zh) | 一种CANopen网络通信仿真测试方法及相关设备 | |
CN106302008B (zh) | 数据更新方法和装置 | |
CN105450463B (zh) | 硬件设备的调试方法、装置和*** | |
CN106294155B (zh) | 一种分布式i/o仿真控制测试方法、***及仿真计算机 | |
CN105612466B (zh) | 用于对可编程逻辑控制器进行虚拟化的***和方法 | |
CN204759403U (zh) | 一种基于数据透传实现设备内部模块升级的*** | |
US10169203B2 (en) | Test simulation for software defined networking environments | |
CN108306804A (zh) | 一种Ethercat主站控制器及其通信方法和*** | |
CN103997543B (zh) | 一种信息交互方法及分布式仿真*** | |
CN106909327B (zh) | 一种用于工控设备的显示控制装置 | |
CN104636251A (zh) | 一种多浏览器兼容性测试方法及*** | |
CN104181913A (zh) | 用于智能家居***的测试*** | |
CN103150451A (zh) | 一种仿真***及仿真***数据通讯方法 | |
CN103067225A (zh) | 一种测试*** | |
CN107171854A (zh) | 一种自动化测试中模拟独立广域网服务器的方法 | |
CN105677561A (zh) | 移动产品多平台测试方法及*** | |
CN110188043A (zh) | 一种控制多台设备测试的方法及控制设备 | |
Peuster et al. | Prototyping and demonstrating 5G verticals: the smart manufacturing case | |
CN107817789A (zh) | Can总线仿真测试*** | |
KR20120121706A (ko) | 재구성 가능한 컴포넌트 기반의 plc 시뮬레이터 | |
CN105224453A (zh) | ***兼容性的自动测试方法及装置 | |
CN109101268A (zh) | 智能终端配置方法、电子装置及计算机可读存储介质 | |
CN104301150B (zh) | 一种网络设备配置方法 | |
CN106407554B (zh) | 一种同时支持主从机功能的lpc总线仿真验证方法和装置 | |
CN104980459A (zh) | 一种应用程序运行的方法及站点接入设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 4 / F, building 1, No.14 Jiuxianqiao Road, Chaoyang District, Beijing 100020 Patentee after: Beijing Jingwei Hirain Technologies Co.,Inc. Address before: 8 / F, block B, No. 11, Anxiang Beili, Chaoyang District, Beijing 100101 Patentee before: Beijing Jingwei HiRain Technologies Co.,Ltd. |