一种可动态配置的多数据总线集中交换装置及实现方法与流程

文档序号:33767258发布日期:2023-04-18 20:03阅读:58来源:国知局
一种可动态配置的多数据总线集中交换装置及实现方法与流程

本技术涉及自动控制,尤其涉及一种可动态配置的多数据总线集中交换装置及实现方法。


背景技术:

1、在工业控制、自动驾驶及飞行器控制系统研制过程中,涉及多种传感器/执行机构的数据采集、数据交换与数据处理。目前,实时控制系统用的数据总线包括:rs422/rs485、can、1553b及实时以太网等。由于历史原因,不同体制的数据总线均是针对不同行业的应用场景而制定开发的,均形成了一定的成熟设备积累,不同体制的数据总线在电气规范、组网方式、接口电路、软件sdk及使用流程上均存在一定差异。但对于控制系统开发人员来讲,其本质作用均为实现多个子节点之间以及同中心控制器之间的数据交换,简化系统间的物理连接。在实现控制系统时,为便利外围设备选型,中心控制器往往需要适应多种数据总线接口,实现对各个设备的数据处理。在研制过程中,需要通用仿真测试设备配置对等的数据总线接口、与中心控制器相连接、模拟外围设备的数据收发、实现闭环控制系统的开发、调试与模拟测试;在设备开发定型后,为控制成本,还需要再将中心控制器方案固化为产品化的最简配置。

2、目前,数据总线的转换产品往往仅注重交换速度和产品成本,通常采用asic或fpga实现,该方式仅能实现点对点的透明转换,无法适应多种数据总线接口的交叉数据传递及用户数据通信协议的变化。

3、而采用通用仿真测试设备配置多种数据总线接口板卡模块的方式虽然可以满足上述需求,但其通信模块往往成本高昂,且使用过程涉及开发环境配置、驱动程序调用、通信流程开发、通信协议开发、程序编译和部署等,一旦出现协议错误则需要终止测试,并在完成修改和软件部署后重新启动测试,工作量几乎同中心控制器开发无异,无法实现系统的快速、动态配置。


技术实现思路

1、本技术的目的在于提供一种可动态配置的多数据总线集中交换装置及实现方法,便于在无需重新进行测试代码开发的情况下,在测试过程中动态调整和修正通信协议,有效的提高了测试效率,且同时能够使得通用仿真测试设备在仅需配置少量的通信板卡模块的情况下,既能实现其他数据接口的快速扩展,有效的降低了系统成本。

2、为达到上述目的,本技术提供一种可动态配置的多数据总线集中交换装置,包括:通用工业控制计算机;通用工业控制计算机中设置有开关量程控模块、程控电源模块、数据总线接口通信模块和数据集中交换软件;其中,开关量程控模块:用于同被测试设备进行相应开关触点接口的物理连接和状态输出/状态采集;程控电源模块:用于向被测试设备提供所需电压、电流的电源输出;数据总线接口通信模块:用于同被测试设备进行相应数据总线接口的物理连接和数据通信;数据集中交换软件:用于提供图形界面,配置通信协议和数据接口。

3、如上的,其中,数据集中交换软件至少包括:图形界面、通信协议模块和数据接口;其中,图形界面:用于编辑通信协议配置文件;生成虚拟测试信号;监控所配置的数据缓冲区的数据,分配电气连接配置;配置控制通信周期;对开关量程控模块与程控电源模块进行操作;其中,电气连接配置至少包括:通信板卡通道、地址、波特率、起止位与校验方式;通信协议模块:用于实现对通信协议配置文件的动态解析和编辑,生成路由表;根据路由表自动在计算机内存中动态维护数据缓冲区;在每一个控制通信周期内,按照路由表对数据接口的数据进行采集、交换和分发;数据接口:用于实现多种总线板卡的驱动程序配置和通信流程配置;用于实现多种物理总线接口的打开、配置及读写操作。

4、如上的,其中,图形界面至少包括:协议配置模块、信号发生器、示波器、io配置模块、总线配置模块和电源配置模块;其中,协议配置模块:用于编辑通信协议配置文件;信号发生器:用于生成虚拟测试信号;示波器:用于监控所配置的数据缓冲区的数据;io配置模块:用于控制开关量程控模块的开闭,向被测试设备输出开关的状态变化;总线配置模块:用于对数据总线接口通信模块进行操作,设置每个数据总线接口的通信参数,同被测试设备进行数据通信;电源配置模块:用于对控电源模块进行操作,控制程控电源的电压设置、电流设置和开闭,向被测试设备供电。

5、如上的,其中,通信协议模块至少包括:路由表和数据缓冲区;其中,路由表包括所有数据接口的配置的集合,用于自动在计算机内存中动态维护数据缓冲区;数据缓冲区是根据路由表中所定义的数据接口的配置的类型建立的所需数据接口配置对象,所需数据接口配置对象均被分配有所需的属性存储和数据缓冲内存空间,用于对数据进行缓冲。

6、如上的,其中,每种数据接口的配置至少包括:属性和数据缓冲区;其中,数据缓冲区包括:输入接口的数据缓冲区和输出接口的数据缓冲区;属性至少包括:接口类型、通道号、传输方向、数据帧头列表、校验方式、输入数据长度和输出信号列表。

7、如上的,其中,数据接口的api至少包括:uart接口api、can接口api和1553b接口api;数据接口的接口类型至少包括:总线设备和虚拟设备;每种数据接口均包括输入接口和输出接口。

8、本技术还提供一种可动态配置的多数据总线集中交换装置的实现方法,包括如下步骤:在每一个通信周期内,上述的可动态配置的多数据总线集中交换装置从每种数据接口的输入接口采集数据,对采集到的数据进行数据交换,完成数据归集;在数据归集完成后,若输出接口的接口类型为总线设备,则通过数据集中交换软件从数据总线接口通信模块中调用相应的通信板卡api,通过驱动程序批量将数据的内容发送至相应的总线通信接口的物理设备上;若输出接口的接口类型为虚拟设备,则通过数据集中交换软件将数据呈现在图形界面上。

9、如上的,其中,对采集到的数据进行数据交换,完成数据归集的子步骤如下:根据输入接口的接口类型将采集到的数据内容输入至输入接口的数据缓冲区内;根据输出信号列表中的待交换信号项目所请求的数据来源位置,从相应的输入接口的数据缓冲区内查找相应的数据内容,并将数据内容集中存放于输出接口的数据缓冲区内,完成数据归集。

10、如上的,其中,根据输出信号列表中的待交换信号项目所请求的数据来源位置,从相应的输入接口的数据缓冲区内查找相应的数据内容,并将数据内容集中存放于输出接口的数据缓冲区内,完成数据归集的子步骤如下:t1:开始执行数据交换,数据接口配置索引=0,执行t2;t2:根据数据接口配置索引对数据接口配置总数进行判断,若数据接口配置索引小于数据接口配置总数,则执行t3;数据接口配置索引大于或等于数据接口配置总数,则结束;t3:对传输方向进行判断,若是传输方向是输入,则执行t4;若传输方向不是输入,则执行t5;t4:数据接口配置索引+1,并重新执行t2;t5:获取当前的数据接口的配置,信号列表索引=0,执行t6;t6:根据信号列表索引对信号总数进行判断,若信号列表索引小于信号总数,执行t7;若信号列表索引大于或等于信号总数,执行t4;t7:获取当前信号,执行t8;t8:对信号数据进行获取,并判断信号数据是否获取成功,若成功,则执行t9,若失败,则输出错误信息,并结束;t9:将数据的数据内容写入至输出接口的数据缓冲区内,执行t10;t10:信号列表索引+1,执行t6。

11、如上的,其中,对信号数据进行获取,并判断信号数据是否获取成功的子步骤如下:t81:开始获取信号数据,数据接口配置索引=0,置成功标志为假,执行t82;t82:根据数据接口配置索引对数据接口配置总数进行判断,若数据接口配置索引小于数据接口配置总数,则执行t83;数据接口配置索引大于或等于数据接口配置总数,则结束;t83:对传输方向进行判断,若是传输方向是输出,则执行t84;若传输方向不是输入,则执行t85;t84:数据接口配置索引+1,并重新执行t82;t85:判断数据接口的类型和通道号是否均匹配,若匹配,则执行t86;若不匹配,则重新执行t84;t86:根据字节索引对输入数据长度进行判断,若字节索引小于输入数据长度,则执行t87;若字节索引大于或等于输入数据长度,则结束;t87:读取并返回字节索引处的数据,置成功标志为真,并结束。

12、本技术实现的有益效果如下:

13、(1)多种数据总线的数据收发和使用流程均采用统一的方式,实现了通信协议的配置文件式定义和图形界面式操作。

14、(2)便于在无需重新进行测试代码开发的情况下,在测试过程中动态调整和修正通信协议,有效的提高了测试效率,且同时能够使得通用仿真测试设备在仅需配置少量的通信板卡模块的情况下,既能实现其他数据接口的快速扩展,有效的降低了系统成本。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1