公开/公告号CN106294155A
专利类型发明专利
公开/公告日2017-01-04
原文格式PDF
申请/专利权人 北京经纬恒润科技有限公司;
申请/专利号CN201610657046.X
发明设计人 陈安昊;
申请日2016-08-11
分类号G06F11/36(20060101);G06F9/455(20060101);G06F13/42(20060101);
代理机构11227 北京集佳知识产权代理有限公司;
代理人王宝筠
地址 100101 北京市朝阳区安翔北里11号B座8层
入库时间 2023-06-19 01:14:33
法律状态公告日
法律状态信息
法律状态
2018-10-16
授权
授权
2017-02-01
实质审查的生效 IPC(主分类):G06F11/36 申请日:20160811
实质审查的生效
2017-01-04
公开
公开
技术领域
本申请涉及通信领域,特别涉及一种分布式I/O仿真控制测试方法、系统及仿真计算机。
背景技术
EtherCAT(以太网控制自动化技术)作为目前的分布式I/O(input/output,输入/输出端口)控制系统常用到的一种现场总线系统,常常需要对分布式I/O控制系统中的EtherCAT主站和EtherCAT从站之间进行数据传输的功能进行测试。
目前常采用工业控制计算机仿真EtherCAT主站功能,在以太网上收发数据,来实现对EtherCAT主站和EtherCAT从站之间进行数据传输的功能进行测试。其中,工业控制计算机仿真的EtherCAT主站功能是人工通过C语言编写相关EtherCAT主站功能算法实现的。
但是人工通过C语言编写相关EtherCAT主站功能算法的编写时间较长,导致仿真的EtherCAT主站功能的实现周期长。
发明内容
为解决上述技术问题,本申请实施例提供一种分布式I/O仿真控制测试方法、系统及处理器,以达到缩短可执行代码生成的时间,从而缩短EtherCAT主站功能的实现周期的目的,技术方案如下:
一种分布式I/O仿真控制测试方法,应用于分布式I/O仿真控制系统中的仿真计算机,所述仿真计算机作为所述分布式I/O仿真控制系统中的EtherCAT主站,所述方法包括:
接收上位机发送的模型程序,所述模型程序为在Simulink模型框架中Simulink驱动模块与数据交互程序进行集成后,自动生成的可执行代码,所述Simulink驱动模块为所述上位机在所述Simulink模型框架中搭建出的当前分布式I/O仿真控制测试任务对应的模块;
运行所述模型程序,以执行分布式I/O仿真控制系统中EtherCAT主站和EtherCAT从站进行通信的过程。
优选的,所述Simulink驱动模块包括:Simulink Setup模块、Simulink Send模块和Simulink Receive模块;
所述Simulink Setup模块,用于解析配置文件,得到解析文件结果,并调用所述数据交互程序中的EtherCAT初始化函数,以按照所述解析文件结果中的主站配置信息对所述EtherCAT主站进行配置,并在对所述EtherCAT主站进行配置后,发送所述解析文件结果中的从站配置信息至所述EtherCAT从站;
所述Simulink Send模块,用于调用所述数据交互程序中的EtherCAT数据发送函数,以发送预设从站数据至以太网,以使所述预设从站数据对应的EtherCAT从站从所述以太网上接收所述预设从站数据;
所述Simulink Receive模块,用于调用所述数据交互程序中的EtherCAT数据接收函数,以从所述以太网上接收EtherCAT从站发送的从站数据。
优选的,所述分布式I/O仿真控制系统中EtherCAT主站和EtherCAT从站进行通信的过程,包括:
解析所述上位机发送的配置文件,得到解析文件结果;
调用所述数据交互程序中的EtherCAT初始化函数,以按照所述解析文件结果中的主站配置信息对所述EtherCAT主站进行配置,并在对所述EtherCAT主站进行配置后,发送所述解析文件结果中的从站配置信息至所述EtherCAT从站;
在所述EtherCAT主站完成配置后,调用所述数据交互程序中的EtherCAT数据发送函数,以发送预设从站数据至以太网,以使所述预设从站数据对应的EtherCAT从站从所述以太网上接收所述预设从站数据;
在所述EtherCAT主站完成配置后,调用所述数据交互程序中的EtherCAT数据接收函数,以从所述以太网上接收EtherCAT从站发送的从站数据。
优选的,所述配置文件包括:ENI配置文件和数据流定义文件;
所述ENI配置文件,用于定义所述EtherCAT主站的配置信息、所述EtherCAT从站的配置信息以及所述EtherCAT主站和所述EtherCAT从站之间的通信信息;
所述数据流定义文件,用于定义所述EtherCAT主站和所述EtherCAT从站在所述以太网上收发数据的含义。
优选的,在运行所述模型程序之后,还包括:
将运行所述模型程序的过程及结果发送至所述上位机。
一种仿真计算机,用于接收上位机发送的模型程序,所述模型程序为在Simulink模型框架中Simulink驱动模块与数据交互程序进行集成后,自动生成的可执行代码,所述Simulink驱动模块为所述上位机在所述Simulink模型框架中搭建出的当前分布式I/O仿真控制测试任务对应的模块,以及运行所述模型程序,以执行分布式I/O仿真控制系统中EtherCAT主站和EtherCAT从站进行通信的过程。
优选的,所述仿真计算机具体用于运行所述模型程序,以执行以下分布式I/O仿真控制系统中EtherCAT主站和EtherCAT从站进行通信的过程:
解析所述上位机发送的配置文件,得到解析文件结果;
调用所述数据交互程序中的EtherCAT初始化函数,以按照所述解析文件结果中的主站配置信息对所述EtherCAT主站进行配置,并在对所述EtherCAT主站进行配置后,发送所述解析文件结果中的从站配置信息至所述EtherCAT从站;
在所述EtherCAT主站完成配置后,调用所述数据交互程序中的EtherCAT数据发送函数,以发送预设从站数据至以太网,以使所述预设从站数据对应的EtherCAT从站从所述以太网上接收所述预设从站数据;
在所述EtherCAT主站完成配置后,调用所述数据交互程序中的EtherCAT数据接收函数,以从所述以太网上接收EtherCAT从站按照所述从站配置信息发送的从站数据,并将所述从站数据发送至所述上位机。
优选的,所述仿真计算机还用于将运行所述模型程序的过程及结果发送至所述上位机。
一种分布式I/O仿真控制测试系统,包括:多个EtherCAT从站、多个被控设备和上述任意一项所述的仿真计算机;
所述仿真计算机是由处理器和仿真计算机机箱组成,其中,所述处理器通过CPCI总线与所述仿真计算机机箱相连,所述仿真计算机作为EtherCAT主站;
每个所述EtherCAT从站分别连接一个所述被控设备;
所述EtherCAT从站,用于接收所述EtherCAT主站在按照所述解析文件结果中的主站配置信息对所述EtherCAT主站进行配置后发送的从站配置信息,并按照所述从站配置信息完成配置,并在按照所述从站配置信息完成配置后,从以太网上接收从站数据,并将接收到的从站数据发送至与其相连的被控设备,以及向所述以太网发送从站数据;
所述被控设备,用于按照与其相连的EtherCAT从站发送的从站数据运行。
与现有技术相比,本申请的有益效果为:
在本申请中,分布式I/O仿真控制系统中的处理器通过接收上位机发送的模型程序,运行模型程序,来仿真EtherCAT主站功能,以执行分布式I/O仿真控制系统中EtherCAT主站和EtherCAT从站进行通信的过程,实现对EtherCAT主站和EtherCAT从站之间进行数据传输的功能进行测试。
由于Simulink驱动模块为所述上位机在所述Simulink模型框架中搭建出的当前分布式I/O仿真控制测试任务对应的模块,模型程序为在Simulink模型框架中Simulink驱动模块与数据交互程序进行集成后,自动生成的可执行代码,在Simulink模型框架中无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出当前分布式I/O仿真控制测试任务对应的模块即Simulink驱动模块,并将Simulink驱动模块与数据交互程序进行集成后,自动生成可执行代码,因此缩短了可执行代码生成的时间,从而缩短了EtherCAT主站功能的实现周期。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的分布式I/O仿真控制测试方法的一种流程图;
图2是本申请提供的分布式I/O仿真控制测试方法的一种子流程图;
图3是本申请提供的分布式I/O仿真控制测试方法的另一种流程图;
图4是本申请提供的分布式I/O仿真控制测试系统的一种逻辑结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
在本实施例中,提供了一种分布式I/O仿真控制测试方法,应用于分布式I/O仿真控制系统中的仿真计算机,所述仿真计算机作为分布式I/O仿真控制系统中的EtherCAT主站。
请参见图1,其示出了本申请提供的分布式I/O仿真控制测试方法的一种流程图,可以包括以下步骤:
步骤S11:接收上位机发送的模型程序,所述模型程序为在Simulink模型框架中Simulink驱动模块与数据交互程序进行集成后,自动生成的可执行代码,所述Simulink驱动模块为所述上位机在所述Simulink模型框架中搭建出的当前分布式I/O仿真控制测试任务对应的模块。
在本实施例中,上位机生成模型程序并下载到仿真计算机,仿真计算机则接收上位机发送的模型程序。
在本实施例中,Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点。
在本实施例中,上位机在所述Simulink模型框架中搭建出的当前分布式I/O仿真控制测试任务对应的模块的过程具体为:在Simulink模型框架中选取当前分布式I/O仿真控制测试任务所需的模块,对当前分布式I/O仿真控制测试任务所需的模块进行连接及参数设置,得到当前分布式I/O仿真控制测试任务对应的模块。
步骤S12:运行所述模型程序,以执行分布式I/O仿真控制系统中EtherCAT主站和EtherCAT从站进行通信的过程。
在本申请中,分布式I/O仿真控制系统中的仿真计算机通过接收上位机发送的模型程序,运行模型程序,来仿真主站功能,以执行分布式I/O仿真控制系统中EtherCAT主站和EtherCAT从站进行通信的过程,实现对EtherCAT主站和EtherCAT从站之间进行数据传输的功能进行测试。
由于Simulink驱动模块为所述上位机在所述Simulink模型框架中搭建出的当前分布式I/O仿真控制测试任务对应的模块,模型程序为在Simulink模型框架中Simulink驱动模块与数据交互程序进行集成后,自动生成的可执行代码,在Simulink模型框架中无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出当前分布式I/O仿真控制测试任务对应的模块即Simulink驱动模块,并将Simulink驱动模块与数据交互程序进行集成后,自动生成可执行代码,因此缩短了可执行代码生成的时间,从而缩短了主站功能的实现周期。
进一步的,由于在Simulink模型框架中无需大量书写程序,而只需要通过简单直观的鼠标操作,因此通过Simulink模型框架生成模型程序相比于人工通过C语言代码编写相关功能算法,更加灵活,且在对模型程序进行维护时,在Simulink模型框架中对当前分布式I/O仿真控制测试任务对应的模块进行修改即可,降低了维护难度。
在本实施例中,上述当前分布式I/O仿真控制测试任务对应的模块具体可以包括:Simulink Setup模块、Simulink Send模块和Simulink Receive模块。
所述Simulink Setup模块,用于解析配置文件,得到解析文件结果,并调用所述数据交互程序中的EtherCAT初始化函数,以按照所述解析文件结果中的主站配置信息对所述EtherCAT主站进行配置,并在对所述EtherCAT主站进行配置后,发送所述解析文件结果中的从站配置信息至所述EtherCAT从站。
在发送从站配置信息至EtherCAT从站后,EtherCAT从站按照从站配置信息完成配置。其中,从站配置信息用于告知EtherCAT从站发送到以太网上的数据的格式,以便能够被EtherCAT主站顺利接收。
所述Simulink Send模块,用于调用所述数据交互程序中的EtherCAT数据发送函数,以发送预设从站数据至以太网,以使所述预设从站数据对应的EtherCAT从站从所述以太网上接收所述预设从站数据。
所述Simulink Receive模块,用于调用所述数据交互程序中的EtherCAT数据接收函数,以从所述以太网上接收EtherCAT从站按照所述从站配置信息发送的从站数据,并将所述从站数据发送至所述上位机。
在本实施例中,上述分布式I/O仿真控制系统中EtherCAT主站和EtherCAT从站进行通信的具体过程请参见图2,可以包括以下步骤:
步骤S21:解析所述上位机发送的配置文件,得到解析文件结果。
在本实施例中,上位机发送的配置文件包括:ENI配置文件和数据流定义文件。
所述ENI配置文件,为以太网EtherCAT网络描述文件,其遵循ETG网络描述文件标准。其中,ENI配置文件,用于定义所述EtherCAT主站的配置信息、所述EtherCAT从站的配置信息以及所述EtherCAT主站和所述EtherCAT从站之间的通信信息。
所述数据流定义文件,用于定义所述EtherCAT主站和所述EtherCAT从站在所述以太网上收发数据的含义。
步骤S22:调用所述数据交互程序中的EtherCAT初始化函数,以按照所述解析文件结果中的主站配置信息对所述EtherCAT主站进行配置,并在对所述EtherCAT主站进行配置后,发送所述解析文件结果中的从站配置信息至所述EtherCAT从站。
在本实施例中,按照所述解析文件结果中的主站配置信息对所述EtherCAT主站进行配置,具体为对EtherCAT主站进行目标地址、原地址,报文类型,初始化命令和轮询发送接收时间等配置。
在本实施例中,按照所述解析文件结果中的主站配置信息对所述EtherCAT主站进行配置之后,EtherCAT主站可以顺利向以太网发送数据和从以太网上接收数据。
在发送从站配置信息至EtherCAT从站后,EtherCAT从站按照从站配置信息完成配置。其中,从站配置信息用于告知EtherCAT从站发送到以太网上的数据的格式,以便能够被EtherCAT主站顺利接收。
在本实施例中,解析所述上位机发送的配置文件,得到解析文件结果,及调用所述数据交互程序中的EtherCAT初始化函数的过程,即运行Simulink Setup模块而实现的过程。
步骤S23:在所述EtherCAT主站完成配置后,调用所述数据交互程序中的EtherCAT数据发送函数,以发送预设从站数据至以太网,以使所述预设从站数据对应的EtherCAT从站从所述以太网上接收所述预设从站数据。
预设从站数据对应的EtherCAT从站在从以太网上接收预设从站数据之后,会将接收到的预设从站数据发送至被控设备。在本申请中,可以通过观测被控设备在接收到预设从站数据的运行情况来判断EtherCAT主站和EtherCAT从站之间的数据传输是否正常。
在本实施例中,预设从站数据是在Simulink驱动模块中定义的。
在本实施例中,调用所述数据交互程序中的EtherCAT数据发送函数即运行Simulink Send模块而实现的过程。
步骤S24:在所述EtherCAT主站完成配置后,调用所述数据交互程序中的EtherCAT数据接收函数,以从所述以太网上接收EtherCAT从站按照所述从站配置信息发送的从站数据,并将所述从站数据发送至所述上位机。
在本申请中,可以在上位机中观测EtherCAT主站从以太网上接收到的EtherCAT从站按照所述从站配置信息发送的从站数据,来判断EtherCAT主站和EtherCAT从站之间的数据传输是否正常。
在本实施例中,调用所述数据交互程序中的EtherCAT数据接收函数即运行Simulink Receive模块而实现的过程。
实施例二
在本实施例中,在图1示出的分布式I/O仿真控制测试方法的基础上扩展出另外一种分布式I/O仿真控制测试方法,请参见图3,可以包括以下步骤:
步骤S31:接收上位机发送的模型程序,所述模型程序为在Simulink模型框架中Simulink驱动模块与数据交互程序进行集成后,自动生成的可执行代码,所述Simulink驱动模块为所述上位机在所述Simulink模型框架中搭建出的当前分布式I/O仿真控制测试任务对应的模块。
步骤S32:运行所述模型程序,以执行分布式I/O仿真控制系统中EtherCAT主站和EtherCAT从站进行通信的过程。
步骤S33:将运行所述模型程序的过程及结果发送至所述上位机。
在本实施例中,将运行所述模型程序的过程及结果发送至所述上位机,可以方便用户对EtherCAT主站和EtherCAT从站之间的通信情况进行观测。
实施例三
在本实施例中,提供了一种仿真计算机,用于接收上位机发送的模型程序,所述模型程序为在Simulink模型框架中Simulink驱动模块与数据交互程序进行集成后,自动生成的可执行代码,所述Simulink驱动模块为所述上位机在所述Simulink模型框架中搭建出的当前分布式I/O仿真控制测试任务对应的模块,以及运行所述模型程序,以执行分布式I/O仿真控制系统中EtherCAT主站和EtherCAT从站进行通信的过程。
具体的,本实施例提供的仿真计算机具体用于运行所述模型程序,以执行以下分布式I/O仿真控制系统中EtherCAT主站和EtherCAT从站进行通信的过程:
解析所述上位机发送的配置文件,得到解析文件结果;
调用所述数据交互程序中的EtherCAT初始化函数,以按照所述解析文件结果中的主站配置信息对所述EtherCAT主站进行配置,并在对所述EtherCAT主站进行配置后,发送所述解析文件结果中的从站配置信息至所述EtherCAT从站;
在所述EtherCAT主站完成配置后,调用所述数据交互程序中的EtherCAT数据发送函数,以发送预设从站数据至以太网,以使所述预设从站数据对应的EtherCAT从站从所述以太网上接收所述预设从站数据;
在所述EtherCAT主站完成配置后,调用所述数据交互程序中的EtherCAT数据接收函数,以从所述以太网上接收EtherCAT从站按照所述从站配置信息发送的从站数据,并将所述从站数据发送至所述上位机。
在本实施例中,上述仿真计算机还用于将运行所述模型程序的过程及结果发送至所述上位机。
实施例四
在本实施例中,提供了一种分布式I/O仿真控制测试系统,请参见图4,分布式I/O仿真控制测试系统包括:仿真计算机41、多个EtherCAT从站和多个被控设备。
仿真计算机41是由处理器412和仿真计算机机箱411组成,其中,所述处理器412通过CPCI总线与所述仿真计算机机箱411相连,所述仿真计算机41作为EtherCAT主站。
在本实施例中,处理器412与仿真计算机41可以拆卸,使仿真计算机41可以连接不同的处理器412,组成不同的仿真计算机,使EtherCAT主站的组成更加灵活。
其中,处理器412的具体功能即实施例三示出的仿真计算机的功能,在此不再赘述。
在图4中,多个EtherCAT从站分别表示为EtherCAT从站1、EtherCAT从站2……、EtherCAT从站N。
在图4中,多个被控设备分别表示为被控设备1、被控设备2……、被控设备N。
每个所述EtherCAT从站分别连接一个所述被控设备。
任意一个EtherCAT从站,用于接收所述EtherCAT主站在按照所述解析文件结果中的主站配置信息对所述EtherCAT主站进行配置后发送的从站配置信息,并按照所述从站配置信息完成配置,并在按照所述从站配置信息完成配置后,从以太网上接收从站数据,并将接收到的从站数据发送至与其相连的被控设备,以及向所述以太网发送从站数据。
任意一个被控设备,用于按照与其相连的EtherCAT从站发送的从站数据运行。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种分布式I/O仿真控制测试方法、系统及处理器进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
机译: 用于防止在一台或多台计算机中执行的分布式仿真中的设备访问冲突的方法和系统,该计算机包括由并发的一个或多个测试控制的并发模拟的一个或多个设备
机译: 糖尿病监测控制策略的测试方法,系统及计算机仿真环境
机译: 一种控制虚拟现实仿真,相应设备,系统和计算机程序产品的方法。