CN109450763B - 一种总线扩展方法、网关和总线扩展系统 - Google Patents
一种总线扩展方法、网关和总线扩展系统 Download PDFInfo
- Publication number
- CN109450763B CN109450763B CN201811638037.1A CN201811638037A CN109450763B CN 109450763 B CN109450763 B CN 109450763B CN 201811638037 A CN201811638037 A CN 201811638037A CN 109450763 B CN109450763 B CN 109450763B
- Authority
- CN
- China
- Prior art keywords
- bus
- module
- gateway
- data
- hardware information
- 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
- H04L12/40006—Architecture of a communication node
-
- 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
- H04L12/40006—Architecture of a communication node
- H04L12/40032—Details regarding a bus interface enhancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明实施例涉及机器人及自动化领域,公开了一种总线扩展方法、网关和总线扩展系统。本发明中总线扩展方法,应用于网关,网关通过第一总线和控制器连接,网关通过第二总线与IO模块组连接,第二总线为串行总线,网关预存有包括多种IO模块类型的硬件信息的描述文件;总线扩展方法包括:在初始化时,发送枚举数据帧,根据来自IO模块组的数据,获取IO模块组中各IO模块的类型和顺序,根据各IO模块的类型分别从描述文件中获取对应的硬件信息,根据各IO模块的顺序排列并存储所获取的硬件信息,分别为各IO模块分配唯一的通信识别码;在周期通信时,将来自第一总线的数据映射到第二总线,或者,将来自第二总线的数据更新至第一总线,便捷地实现物理动态增减IO模块。
Description
技术领域
本发明实施例涉及机器人及自动化领域,特别涉及总线扩展方法、网关和总线扩展系统。
背景技术
总线系统中,基于所连硬件的变化,需要连接IO扩展模块。目前基于总线的IO扩展模块,一般是以单个独立的从站形式接入总线,这样的方式中,如果IO模块数量增多,就会增加总线的从站转发次数,延迟变大。而且这种方式中,需要通过设备描述文件才能够配置和识别,必须在PC的开发环境下进行工程配置,无法做到物理动态增减IO模块后,系统自动进行简单识别、配置,为上层应用程序提供动态硬件信息的API接口。
另外,本申请人发现:一般现有高速实时现场总线,其数据传输的实时性能是影响整个控制系统性能的关键指标,一般需要使用专用分析仪来检测数据到达时刻,但在实际应用中,使用仪器不方便,缺少一个记录、监测总线实时性能的模块。
发明内容
本发明实施方式的目的在于提供一种总线扩展方法、网关和总线扩展系统,使得便捷地实现物理动态增减IO模块,尽量减少人工的工程配置。
为解决上述技术问题,本发明的实施方式提供了一种总线扩展方法,应用于网关,所述网关通过第一总线和控制器连接,所述网关通过第二总线与IO模块组连接,所述第二总线为串行总线,所述网关预存有包括多种IO模块类型的硬件信息的描述文件;所述总线扩展方法包括:在初始化时,发送枚举数据帧,根据来自所述IO模块组的数据,获取所述IO模块组中各IO模块的类型和顺序,根据各所述IO模块的类型分别从所述描述文件中获取对应的硬件信息,根据各所述IO模块的顺序排列并存储所获取的硬件信息,分别为各所述IO模块分配唯一的通信识别码;在周期通信时,将来自所述第一总线的数据映射到所述第二总线,或者,将来自所述第二总线的数据更新至所述第一总线。
本发明的实施方式还提供了一种网关,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述的总线扩展方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的总线扩展方法。
本发明实施方式相对于现有技术而言,主要区别及其效果在于:在原有第一总线的基础上,由网关通过第二总线连接一组IO模块,由于网关在时进行枚举,可以获知IO模块组中各IO模块的类型和顺序,再获取到的实际连接的IO模块的类型和顺序,从预存的硬件信息中获取所需的硬件信息进行排列和存储,实现对IO模块组的自动识别和配置,从而实现第一总线和第二总线之间的数据映射,保证所连接的各IO模块的正确通信。可见,本发明实施方式在增减IO模块时,尽量简化人工的工程配置,大大提高易用性。
作为进一步改进,还包括:检测所述第二总线的通信回路是否连通;若连通,则执行初始化。新增链路检测的功能,保证后续的正常通信。
作为进一步改进,用结构体链表形式排列所获取的硬件信息。以结构体链表形式排列,便于数据的排序和存储。
作为进一步改进,将排列后的硬件信息存储至寄存器。
作为进一步改进,所述网关预存的IO模块类型包括:DI、DO、AI以及AO。明确四种常用类型。
作为进一步改进,所述总线扩展方法还包括:在周期通信时,记录并统计所述第一总线在同步模式下异步数据和同步信号之间的时刻值,根据统计到的时刻值计算出异步数据偏移同步信号的时间值Ts和异步数据到达时刻抖动值Tj的实时值和最大、最小值。明确新增对第一总线的记录和检测功能。
作为进一步改进,所述总线扩展方法还包括:在周期通信时,统计从所述第一总线接收或上报数据时的丢帧和连续丢帧数量。
作为进一步改进,所述第一总线为以太网控制自动化技术Ethercat总线。Ethercat总线为现有流行的开放总线,采用Ethercat总线,使得通用性更好。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是根据本发明第一实施方式中总线扩展方法中的总线扩展系统的结构示意图;
图2是根据本发明第一实施方式中总线扩展方法中的总线扩展系统的周期时序图;
图3是根据本发明第一实施方式中总线扩展方法的流程图;
图4是根据本发明第二实施方式中总线扩展方法中总线扩展系统的程序流程图;
图5是根据本发明第二实施方式中总线扩展方法中总线扩展系统的一个周期内的时序图;
图6是根据本发明第四实施方式中总线扩展系统的结构示意图;
图7是根据本发明第四实施方式中总线扩展系统的分析结果示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本发明的第一实施方式涉及一种总线扩展方法,本实施方式中总线以EtherCAT(以太网控制自动化技术)总线为例进行具体说明。
EtherCAT是一个开放架构、以以太网为基础的现场总线系统。近年来,EtherCAT以其高性能、低成本、应用简易、拓扑灵活、兼容多种设备行规的特点逐步成为运动控制领域的主导通讯技术。基于分布时钟(Distribute Clock,DC)原理的同步机制,可以控制不同DC从站节点间同步抖动小于1us,尤其适合用于高速、高精的多轴运动控制场合。控制器通过EtherCAT总线串联IO模块、伺服模块及相关应用设备,已经成为目前各个厂家开发自主控制系统的主流选择。
EtherCAT总线扩展方法中的总线扩展系统结构如图1所示,周期时序图如图2所示,主要包含:网关和IO模块组,IO模块组中包括一个或多个IO模块子组,每个IO模块子组进一步包括:起始模块、终端模块和若干个IO模块。其中,网关即是带DC功能的Ethercat从站,也是第二总线的主站,负责实现本网关、第二总线和后续IO模块相关数据在Ethercat和第二总线之间的相互映射和更新,起始模块为后续一组IO模块的起始点,提供第二总线的通信接口,并为IO模块组提供统一的供电电源,多个起始模块可以拓扑出多组IO模块,多组IO模块可灵活分布在不同的安装位置。终端模块是一组IO模块的终点,与起始模块配套使用,如果无后续IO模块子组,则将第二总线中的数据在本模块返回上级第二总线的从站,否则将数据继续传递到下级第二总线的从站。基于第二总线的IO模块则由第二总线从站单元和本地MCU组成,第二总线的从站单元负责第二总线数据的传递及本站有效数据的解包、打包,本地MCU则获取来自第二总线的数据后完成本IO模块的具体功能。
更具体的说,本实施方式中的第二总线可以是REEX(Real-Time Ethercat basedExpress,基于Ethercat的高速实时以太网总线)总线,该自主以太网总线是主从型串行总线,可以自动识别该总线上的设备,整个REEX总线系统可以耦合进Ethercat总线内,是Ehercat总线下的一种自定义扩展总线协议,具体实现过程如下:
本实施方式中的总线扩展方法应用于上述网关,其流程如图3所示,具体如下:
步骤301,接收上电或初始化指令。
步骤302,检测通信链路是否连通;若是,则继续执行步骤303;若否,则执行步骤308。
步骤303,发送枚举数据帧。
步骤304,根据来自IO模块组的数据,获取IO模块组中各IO模块的类型和顺序。
步骤305,根据各IO模块的类型分别从描述文件中获取对应的硬件信息。
具体的说,描述文件包括多种IO模块类型的硬件信息,预存于网关中,也就是说,网关预存有包括多种IO模块类型的硬件信息的描述文件。另一方面,网关中预存的IO模块类型可以包括:DI、DO、AI以及AO。针对种类巨大的IO类型,提供设备描述文件是一种灵活的方式,但是实际控制应用场合中,绝大多数情况下,只会使用常见的少数类型的DI、DO、AI、AO即可满足要求。
步骤306,根据各IO模块的顺序排列并存储所获取的硬件信息。
步骤307,分别为各IO模块分配唯一的通信识别码。
上述步骤303至步骤307进行初始化过程。
步骤308,更新错误至寄存器。
根据上述步骤301至步骤308来看,本实施方式中的IO模块作为REEK的从站,网关为REEK的总站,总站和从站在上电后,首先检测自身的硬编码,以确定自己是主站还是从站,是从站的话,是何种功能类型的从站,并记录该硬件编码。REEX主站首先发送一个检测数据帧(如:0xFF),用来检测后续REEX整个数据回路是否连通,如果不成功则更新对应错误寄存器的值。如果检测通讯回路成功后,REEX主站发送一个枚举数据帧(如0xFE),数据流经个从站时,各从站将自己的硬件编码依次打包到“数据火车”,主站收到所有从站的信息后,将硬件信息用结构体链表形式保存。随后依据硬件信息,主站依次为REEX总线上的从站分配唯一的通信识别码(如ID站号)。另外,以上枚举过程或分配ID过程不成功的话,也对应更新错误寄存器的值。完成上述总线初始操作后,网关给REEX主站配置通讯周期值,并继续执行步骤309。
步骤309,启动周期通信。
步骤310,将来自第一总线的数据映射到第二总线,或者,将来自第二总线的数据更新至第一总线。
具体的说,在REEX周期通讯内,依次完成:ECAT数据映射到主站模块、主站发送数据帧、各从站转发数据帧、主站收到数据、REEX数据更新到网关的Buffer中。以上如果出现收不到数据或数据校验失败,都更新相应的错误寄存器,此外也会记录主站发送数据到收到数据的时间值,用来检验数据收发效率并评价设置的REEX总线周期是否合理。在网关主程序的Ethercat通讯循环内,会周期将REEX总线错误寄存器和有效数据值,透过Ethercat上传控制器,在控制器端完成REEX总线的自诊断功能。
进一步说,本实施方式中的总线扩展方法可以涉及三种数据流:Ethercat、REEX、L-bus。Ethercat数据在网关模块内,通过L-bus(一般选用SPI)实现与REEX数据的交互,本交互包含交互有效传递数据、获取总线性能及状态信息、通过总线状态机发送REEX总线状态命令。REEX总线负责串联各个自主IO模块,实现主从式的“数据火车”环形传递,REEX通讯周期可通过L-bus进行配置。L-bus主要实现REEX主/从站单元与模块本地buffer之间的数据交互。
可见,本实施方式在原有第一总线的基础上,由网关通过第二总线连接一组IO模块,由于网关在时进行枚举,可以获知IO模块组中各IO模块的类型和顺序,再获取到的实际连接的IO模块的类型和顺序,从预存的硬件信息中获取所需的硬件信息进行排列和存储,实现对IO模块组的自动识别和配置,从而实现第一总线和第二总线之间的数据映射,保证所连接的各IO模块的正确通信。可见,本实施方式在增减IO模块时,尽量简化人工的工程配置,大大提高易用性。
本发明的第二实施方式涉及一种总线扩展方法。本实施方式是在第一实施方式的基础上做了进一步改进,主要改进之处在于:本实施方式中的总线系统新增检测功能,利于总线性能的提升。
现有技术中,开放的EtherCAT主站是一个软主站架构,为了实施的简易性,大多数不依赖专属硬件而是直接运行在操作系统之上,其实时性能的好坏也就依赖于实时操作系统RTOS(Realtime Operating System)本身的实时性能。由于RTOS的多任务调度机制,使得EtherCAT主站周期任务存在一个实时抖动(Jitter),不同RTOS的实时性能不同,该Jitter值从±10几微妙到±100多微妙不等。如图2所示,由于RTOS Jitter值的存在,使得主站发送数据帧的时刻也存在一个同样的抖动,导致异步数据帧到达带DC功能从站的时刻也存在抖动,即异步数据中断信号PDI(Process Data Interface)在两个相邻的DC同步信号中间有一个抖动区间Tj(jitter time)。如果PDI中断时刻太靠近DC同步信号,则抖动的存在,可能导致该DC周期内数据帧偏移到邻近周期内,造成数据帧丢失,从而引起控制的突变,影响控制的连续性和精度。主站上可以设置用户偏移值参数(User-Shift)来调整数据帧发送时刻距离下一个DC同步信号的时间偏移,从而调整Ts(shifting time)值。但是不同控制器硬件平台、RTOS等不同,导致Ts值不同,即使同款控制器,不同个体也有实时性差异,从而Ts值也有差异。一般使用示波器测量PDI和DC同步信号,或者使用专门的实时以太网测试仪器可以测量Ts值,但是无法针对每台控制器进行实时监测。
在运动控制中,一般控制周期在0.5ms~10ms左右,DI输入如果以控制周期的精度来记录跳变,则反推DI发生时刻的位置或速度等运动信息时,必然存在误差。在一些精确度要求高的场合,需要记录DI准确的时间戳,从而方便控制器计算更加精确的控制轨迹或时序。
本实施方式中的总线扩展方法还包括:在周期通信时,记录并统计第一总线在同步模式(如Ethercat总线中的DC模式)下异步数据和同步信号之间的时刻值,根据统计到的时刻值计算出Ts(异步数据偏移同步信号的时间值)和Tj(异步数据到达时刻抖动值)的实时值和最大、最小值。也就是说,本实施方式中的网关负责监测Ethercat异步数据、同步信号、高速DI等关键时间值并做数据统计,同时为控制器扩展出一些常用通讯接口Ex-Com。另外,还包括:在周期通信时,统计从第一总线接收或上报数据时的丢帧和连续丢帧数量。
总的来说,在本实施方式中的网关内,主要实现四个功能:Ethercat实时性能数据的监测、高速DI的时间戳记录、REEX总线主站运行、控制器通信接口的扩展。整个程序流程如图4所示,上电后硬件初始化主要进行芯片外设、通信接口、定时器等初始化。创建任务主要创建异步数据到达服务任务、同步信号中断任务、高速DI中断任务,并分配相应优先级。任务创建完毕后,发送REEX初始化命令给REEX主站,启动REEX总线的初始化。一切初始完毕后,启动芯片上RTOS。然后进入Ethercat循环同步周期Tc,在该周期内,会顺序完成异步数据中断时刻记录、控制器扩展通讯接口执行、Sync同步中断时刻记录、网关本地buffer跟REEX主站的数据交互、Ethercat数据与本地buffer的数据交互等操作。
网关模块内,Ethercat性能时间记录的一个完整周期内的时序图,如图5所示。总共分为7个时段:
①:异步信号达到,即Ethercat数据到达,记录该时刻值,与上一次异步信号记录的时刻值做差,减去Tc值,得到抖动值Tj。PDO_OutputMapping()函数,主要完成Ethercat总线上数据更新到耦合器从站本地buff功能。
②:主程序运行,这阶段主要是LBus总线运行。
③:同步信号达到,即同步时钟,记录该时刻值,与第一步中时间做差值,得到Ts,同时如果Ts值大于TC值,则记录该周期内丢帧1次,联系丢帧3次,则记录严重丢帧1次,通知控制器,进行安全停止操作。运行APPL_Application(),用户应用程序可添加在这,同时Ex-Com总线通信在此处运行。
④:PDO_InputMapping()函数,网关将从站本地buff数据更新到ethercat总线上。
⑤:其他处理,主要统计Tj和Ts的最小、最大和平均值,并将统计值更新到对应buffer中,下个周期上传控制器。
⑥:主程序运行,这阶段CPU空闲idle
⑦:主程序运行,这阶段CPU空闲idle
同时在该周期内,任何时刻发生DI的跳变后,产生任务中断服务,记录下该时刻,并在第三步操作中,与同步信号时刻进行差值,产生Ti值,该Ti值会在下一个Tc周期内上传控制器,则在控制器内使用Ti值时,需要按照N-2个周期内的Ti值来计算使用。此外控制器端,可以获得Ts和Tj的值,理论上Tj的值与控制器端实时任务的抖动值相近,但是通过从站测试出来的值更加真实和直观的体现了整个控制系统的实时性能。用户可以依据Ts的值来调整Ethercat的user shift值,原则上调整后满足:Tc-Ts=1.2*Tj_max,1.2为抖动安全系数,这样既能保障异步信号不会因为系统实时抖动的存在,在某个周期内丢帧,也可以尽多的预留出APP程序执行的时间资源。
可见,本实施方式中网关可以检测Ethercat总线的记录和检测功能,便于总线系统的维护和优化。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第三实施方式提供了一种网关,网关通过第一总线和控制器连接,网关通过第二总线与IO模块组连接,第二总线为串行总线,网关预存有包括多种IO模块类型的硬件信息的描述文件。
网关包括:初始化模块和周期通信模块。
初始化模块,用于在初始化时,发送枚举数据帧,根据来自IO模块组的数据,获取IO模块组中各IO模块的类型和顺序,根据各IO模块的类型分别从描述文件中获取对应的硬件信息,根据各IO模块的顺序排列并存储所获取的硬件信息,分别为各IO模块分配唯一的通信识别码。
周期通信模块,用于在周期通信时,将来自第一总线的数据映射到第二总线,或者,将来自第二总线的数据更新至第一总线。
本实施方式在原有第一总线的基础上,由网关通过第二总线连接一组IO模块,由于网关在时进行枚举,可以获知IO模块组中各IO模块的类型和顺序,再获取到的实际连接的IO模块的类型和顺序,从预存的硬件信息中获取所需的硬件信息进行排列和存储,实现对IO模块组的自动识别和配置,从而实现第一总线和第二总线之间的数据映射,保证所连接的各IO模块的正确通信。可见,本实施方式在增减IO模块时,尽量简化人工的工程配置,大大提高易用性。
不难发现,本实施方式为与第一实施方式相对应的装置实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第四实施方式还提供了一种总线扩展系统,其中,控制器和若干个从站,该从站为上述第三实施方式中的网关。总线扩展系统的结构如图6所示,具体如下:
1)采用TI的Am335x芯片(自带Ethercat从站功能),实现了网关(可以称为:耦合器);采用FPGA芯片,实现REEX主站和从站功能,通讯物理层采用标准100M以太网,FGPA可以实现数据的低延迟转发,保证总线效率;采用STM32的MCU芯片,配合REEX的从站芯片,开发出了多种类型的DI、DO、AI、AO模块,同时各个模块在设计时,设置不同且唯一的硬件编码,为REEX总线枚举提供标识。
2)在上述系统实例中,耦合器最终记录Ethercat总线关键性能指标时间,并上传控制器,具体字节定义如下表:
数据区 | 定义 |
Input[130..133] | RS485 4字节接收数据 |
Input[134] | 掉电检测,为1掉电了,为0没有掉电 |
Input[135..136] | 快速IO时间戳 |
Input[137..138] | Ethercat丢帧数 |
Input[139..140] | Ethercat同步周期时间 |
Input[141..142] | Ethercat同步跟异步信号间隔时间实时值 |
Input[143..144] | Ethercat同步跟异步信号间隔时间最大值 |
Input[145..146] | Ethercat同步跟异步信号间隔时间最小值 |
Input[147..148] | REEX总线通信时间实时值 |
Input[149..150] | REEX总线通信时间最大值 |
包含了Ts、Ti以及REEX总线的时间值,为评价控制器实时性能提供了客观标准。同时本实施方式中,将机器人焊接中的高压寻位信号作为F_DI输入,记录其准确时间戳,可以在控制器端,反算出机器人运行到寻位点的准确位置,为后续高精度焊接轨迹提供保障。同时本例中为控制器扩展了一个RS485的通讯接口,某些x86平台控制器,本身缺少RS485或CAN接口,可以通过此方法进行扩展实现。
3)本实施方式中,对涉及到的IO模块硬件编码如下表:
模块类型 | 类型号 |
DO | 0x1F/31 |
DI | 0x2F/47 |
DIO | 0x3F/63 |
AO | 0x5F/95 |
AI | 0x6F/111 |
在上电时,各个模块从站FPGA读取硬件编码信号,并存储编码值,在REEX枚举时,上传该值。在控制器端,建立对应硬件描述的结构体链表,具体如下:
最终,控制器端可以根据透过Ethercat上传的硬件信息,对比结构体链表,可以动态识别出REEX总线上的从站个数和类型。该系统断电,人为增加或减少某个IO模块后,再次上电,控制器侧会重新动态创建从站信息。
4)本实施方式中,还提供REEX总线的状态的自诊断功能,在REEX检测链路阶段,返回值代表的错误状态有:
(1)若未接SBUS主站板卡,0xff 0xff0xff0xff………
(2)若SBUS总线链路断开,0x7f 0xff 0xff0xff………
(3)SBUS总线正常,0x7f 0xff 0xxx 0xxx0xxx(总线信息)
在REEX总线初始化和正常运行阶段,通过STEP_BUS_status值监控REEX总线状态,状态描述如下:
FGPA_CORE_ERROR 1:耦合器上REEX总线主站错误
AUTO_SEARCH_CHAIN_ERROR 2:REEX总线链路错误
AUTO_SEARCH_SUC 3:REEX总线自动检索成功
SLAVE_CFG_ERROR 4:REEX总线从站配置错误
SLAVE_CFG_SUC 5:REEX总线从站配置成功
SERIAL_COM_ERROR 6:REEX总线串行通信错误
SERIAL_COM_SUC 7:REEX总线串行通信成功
5)本实施方式中REEX总线,设置通讯周期2ms,使用专业的以太网分析仪,检测REEX总线数据到达时刻,如图7所示。可以看到REEX总线数据的抖动小于20us,具有非常好的实时性能。
可见,本实施方式中主要实现了以下几方面:
1)设计一个专用Ethercat从站模块,可以记录并统计Ethercat DC模式下异步数据和同步信号之间的时刻值,从而计算出Ts、Tj的实时值和最大、最小值,同时统计出丢帧和连续丢帧数量,为控制器提供实时性能评价和调整的依据,
2)设计一种基于以太网的高速总线REEX,通过从站模块的唯一硬件编码和REEX总线的枚举功能,可以实现总线上设备的动态识别和配置,提高了现场的易用性,可以将REEX总线数据透过Ethercat总线上传控制器。
3)基于Ethercat总线的同步信号,记录高速DI信号跳变的时间戳,跟随该DI信号一起上传控制器,为精确计算和控制提供基础。
4)REEX总线本身提供完善的自诊断功能,发收数据的时间间隔、丢帧数、报错信息等都会存储在REEX总线的对应寄存器内,并透过Ethercat上传到控制器。
5)在REEX网关上,实现RS485\CAN等常用通讯接口,透过Ethercat实现与控制器的数据交互,在不增加控制器负载的同时,增加通信接口。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (9)
1.一种总线扩展方法,其特征在于,应用于网关,所述网关通过第一总线和控制器连接,所述网关通过第二总线与IO模块组连接,所述IO模块组中包括一个或多个IO模块子组,每个IO模块子组包括:起始模块、终端模块和若干个IO模块;所述第一总线为以太网控制自动化技术Ethercat总线,所述第二总线为串行总线,所述网关预存有包括多种IO模块类型的硬件信息的描述文件;
所述总线扩展方法包括:
在初始化时,发送枚举数据帧,根据来自所述IO模块组的数据,获取所述IO模块组中各IO模块的类型和顺序,根据各所述IO模块的类型分别从所述描述文件中获取对应的硬件信息,根据各所述IO模块的顺序排列并存储所获取的硬件信息,分别为各所述IO模块分配唯一的通信识别码;
在周期通信时,将来自所述第一总线的数据映射到所述第二总线,或者,将来自所述第二总线的数据更新至所述第一总线。
2.根据权利要求1所述的总线扩展方法,其特征在于,还包括:
检测所述第二总线的通信回路是否连通;
若连通,则执行初始化。
3.根据权利要求1所述的总线扩展方法,其特征在于,用结构体链表形式排列所获取的硬件信息。
4.根据权利要求3所述的总线扩展方法,其特征在于,将排列后的硬件信息存储至寄存器。
5.根据权利要求1所述的总线扩展方法,其特征在于,所述网关预存的IO模块类型包括:DI、DO、AI以及AO。
6.根据权利要求1所述的总线扩展方法,其特征在于,所述总线扩展方法还包括:
在周期通信时,记录并统计所述第一总线在同步模式下异步数据和同步信号之间的时刻值,根据统计到的时刻值计算出异步数据偏移同步信号的时间值Ts和异步数据到达时刻抖动值Tj的实时值和最大、最小值。
7.根据权利要求1所述的总线扩展方法,其特征在于,所述总线扩展方法还包括:
在周期通信时,统计从所述第一总线接收或上报数据时的丢帧和连续丢帧数量。
8.一种网关,其特征在于,所述网关通过第一总线和控制器连接,所述网关通过第二总线与IO模块组连接,所述IO模块组中包括一个或多个IO模块子组,每个IO模块子组包括:起始模块、终端模块和若干个IO模块;所述第一总线为以太网控制自动化技术Ethercat总线,所述第二总线为串行总线,所述网关预存有包括多种IO模块类型的硬件信息的描述文件;
所述网关包括:初始化模块和周期通信模块;
所述初始化模块,用于在初始化时,发送枚举数据帧,根据来自所述IO模块组的数据,获取所述IO模块组中各IO模块的类型和顺序,根据各所述IO模块的类型分别从所述描述文件中获取对应的硬件信息,根据各所述IO模块的顺序排列并存储所获取的硬件信息,分别为各所述IO模块分配唯一的通信识别码;
所述周期通信模块,用于在周期通信时,将来自所述第一总线的数据映射到所述第二总线,或者,将来自所述第二总线的数据更新至所述第一总线。
9.一种总线扩展系统,其特征在于,控制器和若干个从站,所述从站为所述权利要求8中的网关。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811638037.1A CN109450763B (zh) | 2018-12-29 | 2018-12-29 | 一种总线扩展方法、网关和总线扩展系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811638037.1A CN109450763B (zh) | 2018-12-29 | 2018-12-29 | 一种总线扩展方法、网关和总线扩展系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109450763A CN109450763A (zh) | 2019-03-08 |
CN109450763B true CN109450763B (zh) | 2021-07-23 |
Family
ID=65539667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811638037.1A Active CN109450763B (zh) | 2018-12-29 | 2018-12-29 | 一种总线扩展方法、网关和总线扩展系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109450763B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111767033B (zh) * | 2020-05-21 | 2023-08-25 | 江苏中科重德智能科技有限公司 | 用于机械臂程序开发的编程系统及功能扩展方法 |
CN112147927B (zh) * | 2020-09-11 | 2022-02-11 | 苏州谷夫道自动化科技有限公司 | 一种双通道总线通信的多轴运动控制系统 |
CN116434375B (zh) * | 2022-11-09 | 2024-06-11 | 广州致远电子股份有限公司 | 一种组合式总线数据记录仪以及汽车 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7447931B1 (en) * | 2005-12-09 | 2008-11-04 | Rockwell Automation Technologies, Inc. | Step time change compensation in an industrial automation network |
CN202043143U (zh) * | 2011-05-11 | 2011-11-16 | 爱迪纳控制技术(厦门)有限公司 | 一种EtherCAT高密集数字IO接口模块 |
CN105959079A (zh) * | 2016-07-14 | 2016-09-21 | 深圳市旗众智能自动化有限公司 | 一种基于分布式控制系统的时钟同步方法 |
CN205647570U (zh) * | 2016-05-31 | 2016-10-12 | 哈尔滨博强机器人技术有限公司 | 一种EtherCAT与DeviceNET的通信网关 |
CN106789258A (zh) * | 2016-12-24 | 2017-05-31 | 上海新时达电气股份有限公司 | 工业以太网的配置方法 |
-
2018
- 2018-12-29 CN CN201811638037.1A patent/CN109450763B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7447931B1 (en) * | 2005-12-09 | 2008-11-04 | Rockwell Automation Technologies, Inc. | Step time change compensation in an industrial automation network |
CN202043143U (zh) * | 2011-05-11 | 2011-11-16 | 爱迪纳控制技术(厦门)有限公司 | 一种EtherCAT高密集数字IO接口模块 |
CN205647570U (zh) * | 2016-05-31 | 2016-10-12 | 哈尔滨博强机器人技术有限公司 | 一种EtherCAT与DeviceNET的通信网关 |
CN105959079A (zh) * | 2016-07-14 | 2016-09-21 | 深圳市旗众智能自动化有限公司 | 一种基于分布式控制系统的时钟同步方法 |
CN106789258A (zh) * | 2016-12-24 | 2017-05-31 | 上海新时达电气股份有限公司 | 工业以太网的配置方法 |
Non-Patent Citations (1)
Title |
---|
基于EtherCAT的工业以太网从站控制系统设计;黄科程;《中国优秀硕士学位论文全文数据库》;20170515;正文第3页第5行-第54页第3行,图3.1,4.3-4.7 * |
Also Published As
Publication number | Publication date |
---|---|
CN109450763A (zh) | 2019-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109450763B (zh) | 一种总线扩展方法、网关和总线扩展系统 | |
CN106094804B (zh) | 一种基于qt的跨平台plc板级工装测试系统及其测试方法 | |
CN102546843B (zh) | 一种通过软件模拟实现多个uart通信接口的方法 | |
CN104702474A (zh) | 一种基于FPGA的EtherCAT主站装置 | |
CN108536972B (zh) | 基于自适应智能体的复杂系统可靠性仿真方法及系统 | |
EP2711798A1 (en) | Cpu unit for plc, plc-use system program, recording medium in which plc-use system program is stored, plc system, plc support device, plc support program, and recording medium in which plc support program is stored | |
CN106814657B (zh) | 基于ARM的嵌入式实时EtherCAT主站构建方法 | |
CN110941218B (zh) | 一种can总线控制器测试方法 | |
US20220147022A1 (en) | Control system | |
CN111104272B (zh) | 一种基于rx和tx的can总线控制器测试方法 | |
JP2011227902A (ja) | 外部制御システムとフィールドバス装置を同期させるシステムおよび方法 | |
US20190265668A1 (en) | Simulation device and simulation method | |
CN103713940A (zh) | 一种基于rtx-hla-反射内存卡的可重构分布式实时仿真方法 | |
CN110311846A (zh) | 基于IGH开源框架的EtherCAT主从系统 | |
CN102651044B (zh) | 一种仿真节点、多余度仿真计算机系统及方法 | |
WO2015111142A1 (ja) | システム解析装置、設計不良解析装置、故障モード解析装置、故障ツリー解析装置、自律動作装置及び自律動作制御システム | |
US11269313B2 (en) | Controller and control system that stores data in current control cycle for output in next control cycle | |
CN116074397A (zh) | 一种数据共享系统 | |
JP6343071B2 (ja) | システム解析装置、設計不良解析装置、故障モード解析装置、故障ツリー解析装置、自律動作装置及び自律動作制御システム | |
Jung et al. | Synchronization of a “Plug-and-Simulate”-capable Co-Simulation of Internet-of-Things-Components | |
CN110865962B (zh) | 一种动态可配置高精度高可靠的时钟网络 | |
Xu et al. | Design of vehicle gateway automatic test system based on CANoe | |
EP3767407B1 (en) | Field bus system diagnosis using propagation delay measurements | |
CN103970027B (zh) | 一种综合电子软件仿真环境中的遥测处理单元模拟方法 | |
CN206759508U (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 |