一种交换设备、现场总线拓扑结构及传输数据的方法技术领域
本发明属于数控技术领域,具体涉及一种交换设备、现场总线拓
扑结构及传输数据的方法。
背景技术
现场总线是指以工厂内的测量和控制机器间的数字通讯为主的
网络,也称现场网络,即将传感器、各种操作终端和控制设备间的
通讯及控制设备之间的通讯进行特化的网络。简单说,现场总线就
是以数字通信替代了传统模拟信号及普通开关量信号的传输,是智
能现场设备和控制系统的自动化装置之间的数字式、串行、多点通
信的工业数据总线,主要解决工业现场的智能化仪器仪表、控制设
备、执行机构等现场设备间的数字通信以及这些现场控制设备和高
级控制系统之间的数据传递问题,对工业的发展起着非常重要的作
用,对国民经济的增长有着非常重要的影响。
目前国内应用比较广泛的现场总线有RS485、CAN、arcnet、工
业以太网等。若按照组网方式进行划分,RS485、CAN、arcnet属于
总线型总线,工业以太网属于星型总线;若按照总线仲裁方式划分,
RS485无仲裁机制,需要靠软件协议主从控制,CAN、工业以太网
通过冲突检测进行总线仲裁,arcnet通过令牌实现总线仲裁;若按照
传输速率划分,RS485、CAN属于低速总线,其速率最高为1M,arcnet
属于中速总线,其速率可以达到10M,工业以太网属于高速总线,
其速率可以到达100M、1000M。
随着现场控制设备数量、功能的增加,对现场总线的传输速率
要求也逐渐提高,现存的RS485、CAN、arcnet等总线已经不能满
足大批量数据传输的要求,因此很多控制设备都已经采用了工业以
太网总线,但工业以太网的报文发送实时性不高,在网络繁忙的情
况下,不能根据报文的处理级别处理报文,导致重要报文转发不及
时。并且现有的现场总线拓扑结构中的交换设备数据传输效率低,
无法实现并行转发数据。
发明内容
针对现有的现场总线拓扑结构中的交换设备数据传输效率低,无
法实现并行转发数据的问题,本发明提出了一种交换设备、现场总线
拓扑结构及传输数据的方法。
第一方面,本发明提出了一种应用于现场总线拓扑结构中的交换
设备,所述交换设备包括现场可编程门阵列FPGA芯片;
所述FPGA芯片包括第一低电压差分LVDS接口、第二低电压差分
LVDS接口、串并转换模块、并行数据转发逻辑模块、并串转换模块;
所述第一LVDS接口作为交换设备的物理层接口将接收到的
LVDS数据发送到串并转换模块,所述串并转换模块对所述LVDS数据
进行串并转换后,传输到所述并行数据转发逻辑模块,所述并行数据
转发逻辑模块识别串并转换后的LVDS数据的源地址和目的地址,并
根据所述目的地址将所述串并转换后的LVDS数据发送到对应的并串
转换模块,所述并串转换模块对接收到的数据进行并串转换后,通过
所述第二LVDS接口将并串转换后的LVDS数据传输到与所述目的地
址对应的端口,以将该数据发送到第二控制设备。
另一方面,本发明提供了一种现场总线拓扑结构,包括:第一控
制设备、第二控制设备、现场总线及至少两个上述应用于现场总线拓
扑结构中的交换设备;
所述交换设备设有多个控制端口和至少一个交换端口,所述至少
两个交换设备之间利用现场总线通过交换端口依次连接;
所述第一控制设备和所述第二控制设备利用现场总线通过同一
交换设备的不同控制端口连接到某一交换设备,或
所述第一控制设备和所述第二控制设备利用现场总线通过不同
交换设备的控制端口连接到对应的交换设备,以实现所述第一控制设
备与所述第二控制设备的通信连接。
再一方面,本发明提供了一种基于上述的现场总线拓扑结构实现
传输数据的方法,所述方法包括:
接收各控制设备发送的查询报文,所述查询报文中携带有各控制
设备的标识号;
获取发送查询报文的控制设备的标识号,并建立接收每一查询报
文的控制端口与对应控制设备的标识号的对应关系;
接收所述第一控制设备发送的数据报文,所述数据报文中携带有
第一控制设备的标识号和第二控制设备的标识号;
根据所述对应关系,查找与所述第二控制设备的标识号相对应的
控制端口;
根据查找到的控制端口,将所述数据报文发送到所述第二控制设
备。
优选地,所述方法还包括:
接收第二控制设备发送的应答报文,所述应答报文中携带有第一
控制设备的标识号和第二控制设备的标识号;
根据所述对应关系,查找与所述第一控制设备的标识号相对应的
控制端口,并通过该控制端口将所述应答报文发送到所述第一控制设
备。
优选地,当所述第一控制设备和所述第二控制设备利用现场总线
通过同一交换设备的不同控制端口连接到某一交换设备时,所述获取
发送查询报文的控制设备的标识号,并建立接收每一查询报文的控制
端口与对应控制设备的标识号的对应关系,具体包括:
接收到查询报文的交换设备对该查询报文进行解析,识别出发送
该查询报文的控制设备的标识号,建立接收该查询报文的控制端口与
发送该查询报文的控制设备的标识号的对应关系;
当所述第一控制设备和所述第二控制设备利用现场总线通过不
同交换设备的控制端口连接到对应的交换设备时,所述获取发送查询
报文的控制设备的标识号,并建立接收每一查询报文的控制端口与对
应控制设备的标识号的对应关系,具体包括:
接收到查询报文的第一交换设备对该查询报文进行解析,识别出
发送该查询报文的控制设备的标识号,并通过该第一交换设备的第一
交换端口将该查询报文转发给与之相连的第二交换设备的第二交换
端口;
所述第一交换设备分别建立接收该查询报文的控制端口以及转
发该查询报文的所述第一交换端口与发送该查询报文的控制设备的
标识号的第一对应关系;
所述第二交换设备对该查询报文进行解析,识别出发送该查询报
文的控制设备的标识号,建立接收该查询报文的第二交换端口与发送
该查询报文的控制设备的标识号的第二对应关系。
优选地,当所述第一控制设备和所述第二控制设备利用现场总线
通过不同交换设备的控制端口连接到对应的交换设备时,所述根据所
述对应关系,查找与所述第二控制设备的标识号相对应的控制端口,
具体包括:
接收到所述数据报文的第一交换设备,根据第一对应关系,通过
第一交换端口将该查询报文转发给与之相连的第二交换设备;
所述第二交换设备根据第二对应关系,查找与所述第二控制设备
的标识号相对应的控制端口。
优选地,所述应答报文中携带有应答优先级信息,所述应答优先
级信息用于指示对应的应答报文的处理优先级。
优选地,所述查询报文中携带有查询优先级信息,所述查询优先
级信息用于指示对应的查询报文的处理优先级;
所述数据报文中携带有数据优先级信息,所述数据优先级信息用
于指示对应的数据报文的处理优先级。
优选地,所述方法还包括:
当现场总线空闲时,所述控制设备和/或所述交换设备之间,以
及不同交换设备之间,通过发送不同的心跳报文来实时监测所述现场
总线是否出现故障;
若所述现场总线出现故障,则所述控制设备和所述交换设备清除
各自已建立的对应关系。
优选地,所述方法还包括:
当所述控制设备与所述交换设备重新建立端口连接或通信中断
时,所述控制设备重新向所述交换设备发送查询报文。
与现有的现场总线相比,本发明提供的交换设备、现场总线拓扑
结构及现场总线拓扑结构实现传输数据的方法具有结构简单,数据传
输速率高、实时性强等优点。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示
意性的而不应理解为对本发明进行任何限制,在附图中:
图1示出了本发明实施例提供的交换设备物理实现示意图;
图2示出了本发明实施例提供的现场总线拓扑结构示意图;
图3示出了本发明实施例提供的基于本发明的现场总线拓扑结构
实现传输数据的方法流程示意图;
图4示出了本发明另一实施例提供的基于本发明的现场总线拓扑
结构实现传输数据的方法流程示意图。
具体实施方式
下面将结合附图对本发明的实施例进行详细描述。
图1示出了本发明实施例提供的应用于现场总线拓扑结构中的交
换设备的物理实现示意图。如图1所示,本实施例中,交换设备10包
括现场可编程门阵列FPGA芯片110。
FPGA芯片110包括低电压差分LVDS接口114、低电压差分LVDS
接口115、串并转换模块111、并行数据转发逻辑模块112、并串转换
模块113;
LVDS接口114作为交换设备的物理层接口将接收到的LVDS数据
发送到串并转换模块111,串并转换模块111对该LVDS数据进行串并
转换后,传输到并行数据转发逻辑模块112,并行数据转发逻辑模块
112识别串并转换后的LVDS数据的源地址和目的地址,并根据该目的
地址将串并转换后的LVDS数据发送到对应的并串转换模块113,并串
转换模块113对接收到的数据进行并串转换后,通过LVDS接口115将
并串转换后的LVDS数据传输到与目的地址对应的端口,以将该数据
发送到交换设备10外部,即要接收数据的控制设备。因为是点对点传
输,根据LVDS信号的信号特性,LVDS最高速率可以达到600M。
本实施例的应用于现场总线拓扑结构中的交换设备具有数据传
输效率高,且可实现并行转发数据的优点。
图2示出了本发明实施例提供的现场总线拓扑结构示意图;如图2
所示,本实施例提供的现场总线拓扑结构,包括:控制设备12、控制
设备22、控制设备32、现场总线100及至少两个上述实施例所述的应
用于现场总线拓扑结构中的交换设备,即交换设备10、交换设备20。
交换设备10、交换设备20上设有多个控制端口和至少一个交换端
口,如控制端口11、控制端口21、控制端口31和交换端口13、交换端
口23,交换设备10、交换设备20之间利用现场总线100通过交换端口
13和交换端口23依次连接。
本实施例中,控制端口11端口和交换端口13在设备上不进行区
别,而是由连接的设备自动识别,控制端口11为控制设备32与交换设
备10相连的端口,交换端口13为交换设备10与交换设备20之间相连的
端口,用于当单个交换设备(例如交换设备10)提供的控制端口11
无法满足控制设备32的数量要求时,或因各控制设备32所处位置不同
而不便与同一交换设备10相连及为节省接线成本时,实现多个交换设
备(例如交换设备10和交换设备20)之间级联。
如图2所示,本实施例的现场总线拓扑结构具体包括如下实现方
式:
控制设备12和控制设备32利用现场总线100通过同一交换设备,
即交换设备10的不同控制端口(控制端口11、控制端口31)连接到该
交换设备10,或
控制设备12和控制设备22利用现场总线100通过不同交换设备,
即交换设备10和交换设备20,的控制端口(控制端口11、控制端口21)
连接到对应的交换设备,以实现不同控制设备之间的通信连接。
现场总线100的结构为类似以太网的星型结构,其网络协议只定
义链路层,节省了协议开销。
优选地,现场总线100的数据传输采用发送通道和接收通道独立
运行,如图2所示,双向箭头表示的现场总线100其实是由发送和接收
两个独立的通道构成的,这样一方面提高了数据传输的速率,另一方
面减少由于总线仲裁带来的硬件复杂性设计。
本实施例的现场总线拓扑结构,通过采用不同交换设备实现多个
控制设备之间的通信连接,可将根据实际情况设置不同交换设备的位
置,节省控制设备与交换设备的接线成本。并且,通过在现场总线协
议中只定义链路层,简化了总线协议,减少了额外的协议开销。
图3示出了本发明实施例基于本发明的现场总线拓扑结构实现
传输数据的方法流程示意图。如图3所示,本发明提供的基于上述的
现场总线拓扑结构实现传输数据的方法,包括:
S1:接收各控制设备发送的查询报文,所述查询报文中携带有各
控制设备的标识号;
S2:获取发送查询报文的控制设备的标识号,并建立接收每一查
询报文的控制端口与对应控制设备的标识号的对应关系;
S3:接收所述第一控制设备发送的数据报文,所述数据报文中携
带有第一控制设备的标识号和第二控制设备的标识号;
S4:根据所述对应关系,查找与所述第二控制设备的标识号相对
应的控制端口;
S5:根据查找到的控制端口,将所述数据报文发送到所述第二控
制设备。
图4示出了本发明另一实施例提供的基于本发明的现场总线拓扑
结构实现传输数据的方法流程示意图。如图4所示,上述方法还包括:
S6:接收第二控制设备发送的应答报文,所述应答报文中携带有
第一控制设备的标识号和第二控制设备的标识号;
根据所述对应关系,查找与所述第一控制设备的标识号相对应的
控制端口,并通过该控制端口将所述应答报文发送到所述第一控制设
备。
当所述第一控制设备和所述第二控制设备利用现场总线通过同
一交换设备的不同控制端口连接到某一交换设备时,上述步骤S2:获
取发送查询报文的控制设备的标识号,并建立接收每一查询报文的控
制端口与对应控制设备的标识号的对应关系,具体包括:
接收到查询报文的交换设备对该查询报文进行解析,识别出发送
该查询报文的控制设备的标识号,建立接收该查询报文的控制端口与
发送该查询报文的控制设备的标识号的对应关系;
当所述第一控制设备和所述第二控制设备利用现场总线通过不
同交换设备的控制端口连接到对应的交换设备时,上述步骤S2:获取
发送查询报文的控制设备的标识号,并建立接收每一查询报文的控制
端口与对应控制设备的标识号的对应关系,具体包括:
接收到查询报文的第一交换设备对该查询报文进行解析,识别出
发送该查询报文的控制设备的标识号,并通过该第一交换设备的第一
交换端口将该查询报文转发给与之相连的第二交换设备的第二交换
端口;
所述第一交换设备分别建立接收该查询报文的控制端口以及转
发该查询报文的所述第一交换端口与发送该查询报文的控制设备的
标识号的第一对应关系;
所述第二交换设备对该查询报文进行解析,识别出发送该查询报
文的控制设备的标识号,建立接收该查询报文的第二交换端口与发送
该查询报文的控制设备的标识号的第二对应关系。
进一步地,当所述第一控制设备和所述第二控制设备利用现场总
线通过不同交换设备的控制端口连接到对应的交换设备时,上述步骤
S4:根据所述对应关系,查找与所述第二控制设备的标识号相对应的
控制端口,具体包括:
接收到所述数据报文的第一交换设备,根据第一对应关系,通过
第一交换端口将该查询报文转发给与之相连的第二交换设备;
所述第二交换设备根据第二对应关系,查找与所述第二控制设备
的标识号相对应的控制端口。
本实施中,查询报文、数据报文和/或应答报文中均可携带有对
应的优先级信息,用于指示对应的报文的处理优先级。
现有的控制设备将报文发送给交换设备后,交换设备识别出发送
的控制端口,会立即将此报文发送给该控制端口。但是若发送给该控
制端口的报文较多,则会出现报文排队的情况。因此可在查询报文、
数据报文和应答报文中添加预设数据优先级信息,其对应的优先级用
于指示对应的报文的处理优先级。当某个端口同时有多帧报文需发送
时,可以根据该优先级信息,将该报文插入队列,如果接收到一个当
前的优先级别最高的报文,则可以直接将该报文通过端口进行发送,
提高了报文发送的实时性。
作为本实施例的优选,所述方法还包括:当现场总线空闲时,所
述控制设备和/或所述交换设备之间,以及不同交换设备之间,通过
发送不同的心跳报文来实时监测所述现场总线是否出现故障;
若所述现场总线出现故障,则所述控制设备和所述交换设备清除
各自已建立的对应关系。
在此基础上,该方法还包括:当所述控制设备与所述交换设备重
新建立端口连接或通信中断时,所述控制设备重新向所述交换设备发
送查询报文。
作为本实施例的优选,现场总线通信的报文还包括查询报文,该
查询报文的字段包括第一源地址、第一目标地址及第一优先级;第一
源地址为第一控制设备12或第二控制设备22启动初始化完毕后获得
的自身的地址,第一目标地址为一无效地址,例如0XFFFF。控制设
备32将查询报文发送给交换设备10,该交换设备10识别出第一目标地
址为一无效地址时,则令接收到该查询报文的控制端口11记录该第一
源地址。在多个交换设备级联的情况下,当多个交换设备中的一个交
换设备10识别出查询报文的第一目标地址为一无效地址时,令该交换
设备10上接收到该查询报文的控制端口11和该交换设备上的交换端
口13同时记录该第一源地址,并通过该交换端口13将该查询报文发送
给与其级联的一个或多个交换设备对应的交换端口(例如交换设备20
的交换端口23),该交换设备20同样会记录该第一源地址,同时如果
还有另外的交换端口级联的话,会将该查询报文继续转发。
作为本实施例的优选,现场总线100通信的报文包括数据报文,
用于现场总线正常数据通信,该数据报文的字段包括第二源地址、第
二目标地址、第二优先级及传输数据。图4示出了本发明实施例提供
的现场总线拓扑结构的报文发送流程示意图;如图4所示,该第二源
地址即为交换设备10的控制端口11记录的第一控制设备12的地址;第
二目标地址为交换设备10的控制端口11记录的第二控制设备22的地
址;第一控制设备12和第二控制设备22的地址均为固定且唯一的地
址。通过第一控制设备12和第二控制设备22的查询报文,通过交换端
口13和交换端口23级联的交换设备10和交换设备20已经记录过第一
控制设备12和第二控制设备22分别连接到控制端口11和控制端口21,
因此可以直接将此数据报文通过对应的控制端口11和和控制端口21
由第一控制设备12转发给第二控制设备22。
优选地,所述现场总线通信的报文还包括应答报文,用于在第二
控制设备22接受到数据报文后,将该第二控制设备22的地址发送给所
述第一控制设备12;该应答报文的字段包括第三源地址、第三目标地
址及第三优先级。
作为本实施例的优选,在设备空闲时,每个控制设备32和与其相
连的交换设备10之间会互相发出不同的心跳报文给对应的控制端口
11,以实时监测现场总线100是否出现故障;若现场总线100出现故障,
则控制端口11根据不同的心跳报文判断该出现故障的现场总线的位
置,即可以通过心跳报文识别出出现故障的是哪个设备。
进一步地,控制设备32在控制端口11重新连接或通信中断时,重
新发送查询报文。
本实施例的现场总线拓扑结构实现传输数据的方法具有数据传
输速率高,实时性强的优点。
本实施例未公开的技术内容均属于本领域普通技术常识,以上实
施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实
施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:
其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中
部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术
方案的本质脱离本发明各实施例技术方案的精神和范围。