CN107612800B - 一种连接profibus冗余双总线网络与profibus单总线网络的y型转换设备的实现方法及控制装置 - Google Patents
一种连接profibus冗余双总线网络与profibus单总线网络的y型转换设备的实现方法及控制装置 Download PDFInfo
- Publication number
- CN107612800B CN107612800B CN201710826655.8A CN201710826655A CN107612800B CN 107612800 B CN107612800 B CN 107612800B CN 201710826655 A CN201710826655 A CN 201710826655A CN 107612800 B CN107612800 B CN 107612800B
- Authority
- CN
- China
- Prior art keywords
- profibus
- bus
- redundant
- message
- messages
- 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
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 78
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000004458 analytical method Methods 0.000 claims abstract description 40
- 238000012544 monitoring process Methods 0.000 claims abstract description 39
- 238000004891 communication Methods 0.000 claims description 47
- 238000003745 diagnosis Methods 0.000 claims description 5
- 230000002093 peripheral effect Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 claims description 3
- 230000009191 jumping Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 7
- 230000009977 dual effect Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种连接PROFIBUS冗余双总线网络与单总线网络的Y型转换设备的实现方法及控制装置,步骤:①在PROFIBUS网络中,Y型转换设备连接了冗余双总线网络,与单总线网络;②Y型转换设备中的FPGA芯片内置两套各自独立报文解析模块,定时监控模块,PROFIBUS从站状态机制模块,与切换控制模块;③上电后,FPGA芯片解析来自两条冗余PROFIBUS总线上的所有报文并监控总线时间;④Y型转换设备自身作为两个独立的PROFIBUS从站与两条冗余总线上的PROFIBUS冗余主站通信,接收所需的参数;⑤Y型转换设备中的FPGA芯片通过报文解析与总线时间监控判断两条冗余总线是否出现错误,将其中正常工作的一路与单总线网络相连。本发明实现了PROFIBUS冗余双总线网络与非冗余单总线网络之间的连接技术问题。
Description
技术领域
本发明属于一种网络连接技术。具体应用于PROFIBUS冗余双总线网络与PROFIBUS单总线网络互连,是实现将PROFIBUS非冗余从站连接到PROFIBUS冗余网络中的方法。
背景技术
PROFIBUS冗余双总线网络与PROFIBUS单总线网络都是当今应用广泛的通信网络结构。
为了减少***故障时间,保证整个网络的正常运行,工业现场总线网络越来越多选择使用冗余网络结构,而当一个网络中,同时存在冗余设备与非冗余设备时,将PROFIBUS冗余双路总线网络与PROFIBUS单路总线网络相互连接是必不可少的。
Y型转换设备是将冗余双总线网络与单总线互连的设备,可以保证***运行过程中,无故障运行的冗余总线之一被转接到PROFIBUS单总线,来自PROFIBUS冗余主站的有效通信数据被转发给PROFIBUS单总线网络的从站设备,单总线网络中的从站设备的通信数据也可上传至PROFIBUS冗余主站。
目前,已存在多种成熟的使用Y型转换设备连接冗余双总线与单总线的方案,但其中一部分Y型转换设备使用通信数据区映射方式解决网络互连问题,导致总线通信无法做到透明传输。PROFIBUS总线透明传输、总线报文解析、总线故障分析、冗余总线切换都是此类Y型转换设备的开发难点。
发明内容
本发明的目的是提供一种连接PROFIBUS冗余双总线网络与PROFIBUS单总线网络的Y型转换设备的实现方法及控制装置,解决了非冗余从站无法在冗余网络中工作,无法确定冗余双路总线中哪一路正处于无故障工作状态,总线报文透明传输等技术问题。
为了实现上述发明目的,本发明所采用的方法,其硬件设备包括:FPGA芯片与三套相互独立的***485驱动电路,包括以下步骤:
步骤①:Y型转换设备连接了PROFIBUS冗余双总线网络与PROFIBUS单总线网络,自身作为从站在冗余总线上与PROFIBUS冗余主站进行通信;
步骤②:Y型转换设备内置的FPGA芯片中实现了各两个相互独立的报文解析模块、定时监控模块、PROFIBUS从站状态机制模块与一个切换控制模块;
步骤③:上电后,FPGA芯片解析来自两条冗余PROFIBUS总线上的所有报文并监控总线时间,判断是否在冗余总线上接收到了冗余报文,PROFIBUS总线上的各个总线时间是否符合标准要求;
步骤④:Y型转换设备自身作为两个独立的PROFIBUS从站与两条冗余总线上的PROFIBUS冗余主站通信,接收所需的参数;
步骤⑤:FPGA芯片中的切换控制模块根据两条冗余总线的工作情况,将当前无故障可正常运行的冗余总线中的一路与单总线连接;
其中步骤①中,Y型转换设备连接了PROFIBUS冗余双总线网络与PROFIBUS单总线网络;
Y型转换设备作为两个独立从站分别连接在两条PROFIBUS冗余双总线中,两条冗余总线通过两套独立的***485驱动电路连接至FPGA芯片,使两个PROFIBUS冗余主站发送的报文可以被FPGA芯片接收,FPGA芯片返回的报文可以发送给PROFIBUS冗余主站;
FPGA芯片同样通过***485驱动电路与PROFIBUS单总线相连,当FPGA芯片将某条PROFIBUS冗余总线与PROFIBUS单总线接通时,此条PROFIBUS冗余总线上的PROFIBUS冗余主站发送的报文可通过FPGA芯片转接到PROFIBUS单总线上,PROFIBUS单总线上的从站回复的报文也可被转接至连通的冗余总线上;
其中步骤②中,所有的功能模块由Y型转换设备中内置的FPGA芯片实现;
报文解析模块负责对在两条PROFIBUS冗余总线上接收到的总线报文进行解析,分析接收到的报文类型是否为标准PROFIBUS报文,其报文长度是否正确,报文校验和是否正确等等,判断总线上是否存在错误报文,并通过分析正确报文中的目标地址,分辨此报文是否发送给作为从站存在的Y型转换设备自身;
定时监控模块负责监控包含报文字符间隔时间,总线静默时间在内的各种总线时间,并根据监控结果判断总线上是否发生错误;
PROFIBUS从站状态机制模块负责处理内置Y型转换设备在两条冗余PROFIBUS总线上,作为PROFIBUS从站应具备的所有状态跳转,接收来自PROFIBUS冗余主站发给Y型转换设备自身的报文并按通信标准动作,同时解析来自PROFIBUS冗余主站参数化报文中的设置参数,其中包含总线静默时间最大值和错误报文数目最大值;
切换控制模块负责根据报文解析与定时监控结果,判断两条冗余PROFIBUS总线中,哪一条处于正常工作状态,并将此路总线与PROFIBUS单总线相连。如果当前连接总线通信正常无故障,保持当前连接状态,不进行任何切换。如果当前连接总线上监测到故障,切换控制模块将此路总线切断,使另一路冗余总线与PROFIBUS单总线连接;
其中步骤③中,在Y型转换设备上电后,FPGA芯片内部的报文解析模块解析从两条PROFIBUS冗余总线上接收到的所有报文;
同时定时监控模块监测各种总线时间,其中包括报文字符间隔时间,与总线静默时间;
判断接收到的报文是否正确,其依据为其报文类型是否为PROFIBUS标准通信报文,其报文长度与报文校验否正确,以及其报文字符间隔是否符合PROFIBUS标准;
根据报文中的目标地址信息,报文解析模块从接收到的所有总线报文中区分出发送给Y型转换设备自身的报文,并对其进行进一步的解析。
其中步骤④中,FPGA芯片中的PROFIBUS从站状态机制模块负责接收并处理发送给Y型转换设备的报文,其中包含PROFIBUS通信诊断报文、参数化报文、配置报文、数据交换输出报文等;
在从PROFIBUS冗余主站接收到的参数化报文中,FPGA芯片获得各种所需的设置参数,这些参数将被FPGA芯片中的切换控制模块用于作为总线故障的判据,其中包含总线静默时间最大值、允许错误报文数目最大值;
在接收诊断报文、参数化报文、配置报文,经过PROFIBUS通信的正确初始化过程之后,FPGA芯片中的PROFIBUS从站状态机制模块跳转至数据交换状态,接收来自PROFIBUS冗余主站的输出数据,并将自身工作状态与总线连接情况通过输入数据上传给PROFIBUS主站;
如果发送给Y型转换设备自身的总线报文有误,FPGA芯片中的PROFIBUS从站状态机制将无法进入数据交换状态。
其中步骤⑤中,切换控制模块根据两条冗余总线的工作状态来确定将哪一条冗余总线与单总线相连,某条冗余总线存在故障的判据包括在此条总线上接收到了超过允许错误报文数目最大值的错误报文条数,Y型转换设备自身作为PROFIBUS从站不处于数据交换状态,总线上未监测到任何报文的时间超过了总线静默时间;
其中允许错误报文数目最大值与总线静默时间最大值已在接收到的来自PROFIBUS冗余主站的参数化报文中得到;
如果当前连接冗余总线工作于正常状态,总线上无故障,切换控制模块保持当前连接状态不进行任何切换;
如果当前连接冗余总线发生故障,切换控制模块将尝试切换,将另一条冗余总线与单总线相连;
如果检查到另一条冗余总线同样存在故障,切换无法实现;
一种连接PROFIBUS冗余双总线网络与单总线网络的Y型转换设备控制装置,Y型转换设备的功能都由FPGA芯片实现,在FPGA芯片中实现多个功能的模块,包括:报文解析模块,定时监控模块,PROFIBUS从站状态机制模块和切换控制模块。
需要同时对相互独立的两条总线的通信状况进行分析的Y型转换设备,连接在两条冗余总线上,其中报文解析模块,定时监控模块与PROFIBUS从站状态机制模块皆为相互独立的两套;
两个报文解析模块判断两条总线上是否存在错误报文,并将判断结果传送给切换控制模块;根据是否接收到来自总线的字符,报文解析模块将总线活动情况传送给定时监控模块;
两个定时监控模块判断两条总线上是否存在总线时间错误,并将判断结果传送给切换控制模块;
两个PROFIBUS从站状态机制模块用于实现Y型转换设备作为从站在两条PROFIBUS总线上的通信状态跳转,并将Y型转换设备的实时通信状态传送给切换控制模块;
Y型转换设备内只有一个切换控制模块,此切换控制模块综合报文解析模块、定时监控模块和PROFIBUS从站状态机制模块提供的总线故障信息与通信状态,决策是否需要在两条冗余总线之间进行切换,使正常工作的一路总线连接到单总线网络。
两个PROFIBUS从站状态机制模块拥有相同的从站地址与初始化配置信息,也即需要从PROFIBUS冗余主站接收到的参数化报文与配置报文完全一致,在进入数据交换状态后,与PROFIBUS冗余主站交换的输入输出数据长度也完全一致。
本发明具有以下积极有益效果:
本方法通过FPGA芯片实现了对冗余总线上报文的解析,在经过对总线的定时监控与对自身通信状态的判断之后,Y型转换设备有能力判断当前哪条冗余总线正工作于无故障状态。使得Y型转换设备可以在当前连接的工作冗余总线出现故障时,可将另一路工作正常的冗余总线连接到PROFIBUS单总线上。PROFIBUS总线上的报文将在冗余网络与非冗余网络之间透明传输,免除了非透明传输带来的通信延迟,避免了数据区映射方式带来的使用困难。
附图说明
图1是本发明的网络连接图。
图2是本发明的硬件结构图。
图3是本发明的抽象模块化框图。
图4是本发明FPGA芯片内的报文解析模块实现原理图。
图5是本发明FPGA芯片内的定时监控模块实现原理图。
图6是本发明FPGA芯片内的PROFIBUS从站状态机制模块实现原理图。
图7是本发明FPGA芯片内的切换控制模块进行判断原理图。
具体实施方式
参照图1,在本发明中,Y型转换设备连接了PROFIBUS冗余双总线网络与PROFIBUS单总线网络。
在PROFIBUS冗余双总线网络中,Y型转换设备作为两个通信地址相同的独立的从站分别连接在两条PROFIBUS总线上,各自独立的与两个PROFIBUS冗余主站进行标准PROFIBUS通信;在PROFIBUS单总线网络中,Y型转换设备不作为PROFIBUS通信站点存在,与PROFIBUS单总线网络中的从站之间没有主从通信;Y型转换设备是连接两个网络,使得总线报文可以在冗余双总线网络和单总线网络之间透明传输的设备。
作为标准PROFIBUS从站时,Y型转换设备接收来自PROFIBUS冗余主站的诊断报文、参数化报文、配置报文,从参数化报文中获得来自PROFIBUS冗余主站的设置参数。在完成正确的PROFIBUS通信初始化过程后,Y型转换设备可进入数据交换状态,将自身的工作情况上报给PROFIBUS冗余主站。
通过参数化报文,Y型转换设备可以获得来自PROFIBUS冗余主站的设置参数,其中包含了总线静默时间最大值,允许错误报文数目最大值。
通过输出报文,Y型转换设备可以按照PROFIBUS冗余主站在输出报文中放入的输出指令,对当前连接的冗余总线进行切换,将另一条冗余总线切换至与单总线网络连接。
通过输入报文,Y型转换设备可以向PROFIBUS冗余主站通知自身的实时工作状态,其中包含了当前哪条冗余总线被连接到了单总线上,故障总线上出现的错误类型,切换次数等信息。
Y型转换设备并非将两条冗余总线上的报文同时转接至单总线网络,在一个时刻,仅有一条可正常工作无故障的总线被连接到单总线网络。
参照图2,在本发明中,Y型转换设备的硬件主要包含FPGA芯片,与用于连接PROFIBUS冗余双路总线与PROFIBUS单总线的三套独立的RS485驱动电路。
本发明设计中,使用的FPGA芯片型号为XC7A50T,RS485驱动芯片的型号为ADM2486,FPGA芯片与三个RS485驱动芯片之间以三组相互独立的PROFIBUS_TXD,PROFIBUS_RXD,PROFIBUS_RTS信号线相连。PROFIBUS总线连接在9针D型插头上的的A、B信号线与RS485驱动芯片通过A_P,A_N,RTS信号线相连。
PROFIBUS总线上来自两个冗余PROFIBUS冗余主站的报文,其差分信号经过9针D型插头,通过A1/2_P,A1/2_N,RTS_1/2信号线进入RS485驱动芯片,在由RS485芯片处理后,通过PROFIBUS_TXD_1/2,PROFIBUS_RXD_1/2,PROFIBUS_RTS_1/2信号线进入FPGA芯片,由FPGA芯片进行解析。
Y型转换设备向PROFIBUS单总线转发的来自冗余PROFIBUS冗余主站的报文,这些报文通过PROFIBUS_TXD_3,PROFIBUS_RXD_3,PROFIBUS_RTS_3信号线传输给RS485驱动芯片,并最终通过A3_P,A3_N,RTS_3信号线经由9针D型插头发送到PROFIBUS单总线网络中。
Y型转换设备自身作为从站向PROFIBUS冗余主站给出的响应报文,通过PROFIBUS_TXD_1/2,PROFIBUS_RXD_1/2,PROFIBUS_RTS_1/2信号线传输给RS485驱动芯片,并最终通过A1/2_P,A1/2_N,RTS_1/2信号线经由9针D型插头发送到冗余总线网络中。
来自PROFIBUS单总线网络从站设备的响应报文,经过A3_P,A3_N,RTS_3信号线进入RS485驱动芯片,并由PROFIBUS_TXD_3,PROFIBUS_RXD_3,PROFIBUS_RTS_3信号线进入FPGA芯片。FPGA芯片将这些报文转发,通过PROFIBUS_TXD_1/2,PROFIBUS_RXD_1/2,PROFIBUS_RTS_1/2信号线传输给RS485驱动芯片,并最终通过A1/2_P,A1/2_N,RTS_1/2信号线经由9针D型插头发送到冗余总线网络中。
参照图3,在本发明中,Y型转换设备的功能都由FPGA芯片实现,在FPGA芯片中实现了多个功能模块,包括:报文解析模块,定时监控模块,PROFIBUS从站状态机制模块和切换控制模块。
因Y型转换设备连接在两条冗余总线上,需要同时对相互独立的对两条总线的通信状况进行分析,其中报文解析模块,定时监控模块与PROFIBUS从站状态机制模块皆为相互独立的两套。
两个报文解析模块判断两条总线上是否存在错误报文,并将判断结果传送给切换控制模块。根据是否接收到来自总线的字符,报文解析模块将总线活动情况传送给定时监控模块。
两个定时监控模块判断两条总线上是否存在总线时间错误,并将判断结果传送给切换控制模块。
两个PROFIBUS从站状态机制模块用于实现Y型转换设备作为从站在两条PROFIBUS总线上的通信状态跳转,并将Y型转换设备的实时通信状态传送给切换控制模块。
Y型转换设备内只有一个切换控制模块,此模块综合报文解析模块、定时监控模块和PROFIBUS从站状态机制模块提供的总线故障信息与通信状态,决策是否需要需要在两条冗余总线之间进行切换,使正常工作的一路总线连接到单总线网络。
参照图4,在本发明中,Y型转换设备的报文解析功能都由FPGA芯片内的报文解析模块实现。
在FPGA芯片中,实现了两套独立的报文解析模块用于解析在两条冗余双总线上接收到的所有报文。总线上的PROFIBUS报文有多种格式,具体报文格式如表1所示:
其中,
SD:起始定界符,PROFIBUS总线报文的起始字符,用于区分接收到的总线报文类型。
LE:报文长度,以字节为单位的报文长度信息,其长度计算范围包含……。
LEr:报文长度重复信息,此字节应与LE取值相同,作为长度冗余信息用来判断报文的正确性。
DA:目标站地址,此总线报文发送的目标站点的通信地址。
SA:源地址,发送此总线报文的源站点的通信地址。
FC:功能码,报文的属性信息,标记了此报文的优先权等级,与基础功能信息。
DSAP:目标服务存取点,此总线报文的目标服务请求类型,用于区分此总线报文用于何种服务。
SSAP:源服务存取点,此总线报文的源服务请求类型,同样用于区分此总线报文用于何种服务。
DU:数据单元,PROFIBUS总线报文的具体数据部分。
FCS:报文校验,报文数据的校验和,用于确定此报文是否正确。
ED:结束定界符,PROFIBUS总线报文的最后一个字节,表示此报文终止。
在接收到一条PROFIBUS总线报文时,FPGA芯片的报文解析模块启动,对接收到的每一条报文进行分析。此模块对报文解析的流程如图4所示。
通过SD字节,报文解析模块可确定本条报文是SD1、SD2、SD3、SD4,和SC几种报文结构中的哪一种。其中,
SD1报文为定长报文,其报文长度固定为6个字节,报文解析模块在接收到SD1起始定界符之后,判断此报文长度是否正确,若完整报文不是6个字节,则认为此报文错误;计算并判断此报文FCS是否正确,若FCS校验不正确,认为此报文错误;判断最后一个字节结束定界符是否为16H,若此字节数值不正确,认为此报文错误。
SD2报文为非定长报文,其报文长度不固定,报文解析模块在接收到SD2起始定界符之后,继续接收LE,LEr长度信息字节。若LE,LEr两个长度信息不一样,认为此报文错误;确定LE长度信息正确之后,根据此长度接收完整的SD2报文,若接收到的报文实际长度与LE长度信息不符,认为此报文错误;计算并判断此报文FCS是否正确,若FCS校验不正确,认为此报文错误;判断最后一个字节结束定界符是否为16H,若此字节数值不正确,认为此报文错误。
SD3报文为定长报文,其DU部分通常为8个字节,其报文长度则为14个字节,报文解析模块在接收到SD3起始定界符之后,判断此报文长度是否正确,若完整报文不是14个字节,则认为此报文错误;计算并判断此报文FCS是否正确,若FCS校验不正确,认为此报文错误;判断最后一个字节结束定界符是否为16H,若此字节数值不正确,认为此报文错误。
SD4报文为定长报文,其报文长度为3个字节,报文解析模块在接收到SD1起始定界符之后,判断此报文长度是否正确,若完整报文不是3个字节,则认为此报文错误。
SC报文为定长报文,仅有一个字节,报文解析模块在接收到SC报文时,判断此报文是否为一个数值为E5H的单字节报文,否则此报文错误。
通过目标站地址DA,报文解析模块可以分辨出哪些报文是发送给Y型转换设备自身,哪些报文是发送给总线网络中的其它设备。
参照图5,在本发明中,Y型转换设备的总线时间监控功能都由FPGA芯片内的定时监控模块实现。
在FPGA芯片中,实现了两套独立的定时监控模块用于监控两条冗余总线上的各种时间,每个模块中包含两个定时器,字符间隔定时器与总线静默定时器。
从冗余总线上接收到报文的第一个字符开始,定时监控模块启动字节间隔定时器监控报文字符间的每一个间隔。每当从总线上接收到报文字符,定时监控模块重置字符间隔定时器。如果在接收到一个完整报文字符之后,Y型转换设备在通信标准规定的时间内不再接收到新的字符,字符间隔定时器超时。按照PROFIBUS通信标准规定,PROFIBUS总线报文应连续无间隔,若监测到报文字符间隔超过通信标准规定,判定此报文出现错误。
从冗余总线上接收到报文的最后一个字符开始,定时监控模块启动总线静默定时器监控冗余总线上的静默时间,也即总线上无任何报文出现的时间。任何出现在总线上的报文都会重置总线静默定时器,若此定时器超时,总线上的静默时间超过了Y型转换设备自身作为从站由参数化报文中接收到的设置参数总线静默时间最大允许值,判定总线上出现故障。
参照图6,在本发明中,Y型转换设备作为标准PROFIBUS从站应具备的通信功能都由FPGA芯片内的PROFIBUS从站状态机制模块实现。
在FPGA芯片中,实现了两套独立的PROFIBUS从站状态机制模块,本模块使得Y型转换设备在冗余双路总线上作为标准PROFIBUS从站工作成为可能。此模块实现了标准的PROFIBUS从站状态机制,当FPGA芯片接收到来自PROFIBUS冗余主站发送给Y型转换设备自身的报文,PROFIBUS从站状态机制模块可处理接收到的报文,并跳转到相应的通信状态,其状态跳转过程符合PROFIBUS通信标准规定,具体状态跳转如图6所示。
这两个PROFIBUS从站状态机制模块拥有相同的从站地址与初始化配置信息,也即需要从PROFIBUS冗余主站接收到的参数化报文与配置报文完全一致,在进入数据交换状态后,与PROFIBUS冗余主站交换的输入输出数据长度也完全一致。
参照图7,在本发明中,Y型转换设备是否对当前连接的冗余总线进行切换,使另一条冗余总线连接到单总线上由FPGA芯片内的切换控制模块进行判断。
在FPGA芯片中,实现了切换控制模块,本模块负责在发现总线故障时,保证当前可正常工作的一路冗余总线与单总线网络相连。
切换控制模块认为以下情况,总线可视为发生了故障,已无法维持网络中设备之间的正常通信,其中包括:报文解析模块在某条总线上连续接收到了多条错误报文,连续错误报文的条数已经超过允许错误报文条数最大值;定时监控模块发现总线长时间静默,静默时间已经超过允许总线静默时间最大值;Y型转换设备自身作为从站与本条冗余总线上的主站设备无法维持正常通信,退出数据交换状态。
运行过程中,切换控制模块按以下规则进行切换。
当发现某条冗余总线故障,切换控制模块判断此总线当前是否连接到单总线网络。如果未连接到单总线网络,保持两条冗余总线的当前连接状态不变;如果此故障总线为当前连接到单总线网络的冗余总线,尝试切换到另一条冗余总线。
在切换到另一条冗余总线之前,查询另一条冗余总线的当前工作状态,是否存在通信故障。如果另一条冗余总线工作正常,切换控制模块将连接总线切换至此正常工作冗余总线;如果另一条冗余总线同样存在故障,切换控制模块保持当前连接状态不变,不在两条冗余总线之间进行切换。
当两条冗余总线都存在故障时,报文解析模块与定时监控模块持续工作,分析总线通信情况,当其中任何一条总线脱离故障状态,切换控制模块将PROFIBUS单总线切换至与此总线连接。
表1:
SD1 | DA | SA | FC | FCS | ED |
10H | xx | xx | xx | xx | 16H |
SD2 | LE | LEr | SD | DA | SA | FC | DSAP | SSAP | DU | FCS | ED |
68H | xx | xx | 68H | xx | xx | xx | xx | xx | …… | xx | 16H |
SD3 | DA | SA | FC | DU | FCS | ED |
A2H | xx | xx | xx | …… | xx | 16H |
SD4 | DA | SA |
DCH | xx | xx |
SC |
E5H |
Claims (2)
1.一种连接PROFIBUS冗余双总线网络与PROFIBUS单总线网络的Y型转换设备的实现方法,通过FPGA芯片解析总线报文并进行逻辑判断,Y型转换设备的硬件设备包括:负责PROFIBUS通信协议、报文解析与逻辑判断的FPGA芯片;
其具体步骤如下:
步骤①,在同时包含两条PROFIBUS冗余总线与PROFIBUS单总线的网络中,Y型转换设备连接了两条PROFIBUS冗余总线与PROFIBUS单总线,其自身在两条PROFIBUS冗余总线上作为从站存在,实现PROFIBUS冗余双总线网络与PROFIBUS单总线网络之间的透明传输;
步骤②,报文解析模块负责对在两条PROFIBUS冗余总线上接收到的总线报文进行解析,分析接收到的报文类型、目标地址和报文校验,从中区分出发送给Y型转换设备自身的通信报文,判断总线上是否存在错误报文;
定时监控模块负责监控总线时间,并根据监控结果判断总线上是否发生错误;
PROFIBUS从站状态机制模块负责处理Y型转换设备在两条PROFIBUS冗余总线上,作为PROFIBUS从站应具备的所有状态跳转;并从PROFIBUS冗余主站下发的参数化报文中获取Y型转换设备所需的设置参数;
切换控制模块负责根据报文解析与定时监控结果,判断两条PROFIBUS冗余总线中,哪一条处于正常工作状态,并将此路PROFIBUS冗余总线与PROFIBUS单总线相连;如果当前连接PROFIBUS冗余总线上监测到故障,切换控制模块将此路PROFIBUS冗余总线切断,使另一路PROFIBUS冗余总线与PROFIBUS单总线连接;
步骤③,Y型转换设备上电后,FPGA芯片利用报文解析模块和定时监控模块,解析从两条PROFIBUS冗余总线上接收到的报文是否正确,判断两条PROFIBUS冗余总线是否工作在正常状态;
FPGA芯片从所有正确总线报文中,解析出发送给作为从站的自身的报文并进行处理,同时解析PROFIBUS冗余总线上是否接收到错误报文;
FPGA芯片监控总线时间,用于判断PROFIBUS冗余总线上是否有故障发生;
步骤④,FPGA芯片启动PROFIBUS从站状态机制模块,接收并处理发送给自身的报文,使得Y型转换设备自身作为从站与PROFIBUS冗余主站进行通信,从PROFIBUS通信初始化过程中的参数化报文中获取所需的设置参数;
步骤⑤,FPGA芯片启动切换控制模块,根据两条PROFIBUS冗余总线的工作情况,将当前无故障可正常运行的PROFIBUS冗余总线与PROFIBUS单总线连接;
其中步骤①中,Y型转换设备连接了PROFIBUS冗余双总线网络与PROFIBUS单总线网络;
Y型转换设备作为两个独立从站分别连接在两条PROFIBUS冗余总线中,两条PROFIBUS冗余总线通过两套独立的***485驱动电路连接至FPGA芯片,使两个PROFIBUS冗余主站发送的报文可以被FPGA芯片接收,FPGA芯片返回的报文可以发送给PROFIBUS冗余主站;
FPGA芯片同样通过***485驱动电路与PROFIBUS单总线相连,当FPGA芯片将某条PROFIBUS冗余总线与PROFIBUS单总线接通时,此条PROFIBUS冗余总线上的PROFIBUS冗余主站发送的报文可通过FPGA芯片转接到PROFIBUS单总线上,PROFIBUS单总线上的从站回复的报文也可被转接至连通的PROFIBUS冗余总线上;
其中步骤③中,在Y型转换设备上电后,FPGA芯片内部的报文解析模块解析从两条PROFIBUS冗余总线上接收到的所有报文;
同时定时监控模块监测报文字符间隔时间,以及总线静默的时间;
判断接收到的报文是否正确,其判断依据为其报文结构、报文长度、报文校验否正确,以及报文字符间隔是否符合PROFIBUS通信标准;
在报文正确的情况下,根据报文中的目标地址信息,报文解析模块从接收到的所有总线报文中区分出发送给Y型转换设备自身的报文,并对其进行进一步的解析;
其中步骤④中,FPGA芯片中的PROFIBUS从站状态机制模块负责接收并处理发送给Y型转换设备的报文,其中包含PROFIBUS通信诊断报文、参数化报文、配置报文、数据交换输出报文;
在从PROFIBUS冗余主站接收到的参数化报文中,FPGA芯片获得各种所需的设置参数,这些参数将被FPGA芯片中的切换控制模块用于作为总线故障的判据,其中包含总线静默时间最大值、允许错误报文数目最大值;
在接收诊断报文、参数化报文、配置报文,经过PROFIBUS通信的正确初始化过程之后,FPGA芯片中的PROFIBUS从站状态机制模块跳转至数据交换状态,接收来自PROFIBUS冗余主站的输出数据,并将自身工作状态与总线连接情况通过输入数据上传给PROFIBUS冗余主站;
如果发送给Y型转换设备自身的总线报文有误,FPGA芯片中的PROFIBUS从站状态机制模块将无法进入数据交换状态;
其中步骤⑤中,FPGA芯片中的切换控制模块根据两条PROFIBUS冗余总线的工作情况,将当前无故障可正常运行的PROFIBUS冗余总线与PROFIBUS单总线连接;
切换控制模块判断某条PROFIBUS冗余总线存在故障的判据包括在此条总线上接收到了超过允许错误报文数目最大值的错误报文条数,Y型转换设备自身作为从站的PROFIBUS从站状态不处于数据交换状态,以及定时监控模块在总线上未监测到任何报文的时间超过了总线静默时间最大值。
2.根据权利要求1所述的实现方法实现的一种连接PROFIBUS冗余双总线网络与PROFIBUS单总线网络的Y型转换设备,其特征在于,Y型转换设备的功能都由FPGA芯片实现,在FPGA芯片中实现多模块,包括:报文解析模块,定时监控模块,PROFIBUS从站状态机制模块和切换控制模块;
需要同时对相互独立的两条PROFIBUS冗余总线的通信状况进行分析的Y型转换设备,连接在两条PROFIBUS冗余总线上,其中报文解析模块,定时监控模块与PROFIBUS从站状态机制模块皆为相互独立的两套;
两个报文解析模块判断两条PROFIBUS冗余总线上是否存在错误报文,并将判断结果传送给切换控制模块;根据是否接收到来自总线的字符,报文解析模块将总线活动情况传送给定时监控模块;
两个定时监控模块判断两条PROFIBUS冗余总线上是否存在总线时间错误,并将判断结果传送给切换控制模块;
两个PROFIBUS从站状态机制模块用于实现Y型转换设备作为从站在两条PROFIBUS冗余总线上的通信状态跳转,并将Y型转换设备的实时通信状态传送给切换控制模块;
Y型转换设备内只有一个切换控制模块,此切换控制模块综合报文解析模块、定时监控模块和PROFIBUS从站状态机制模块提供的总线故障信息与通信状态,决策是否需要在两条PROFIBUS冗余总线之间进行切换,使正常工作的一路PROFIBUS冗余总线连接到PROFIBUS单总线网络;
两个PROFIBUS从站状态机制模块拥有相同的从站地址与初始化配置信息,也即需要从PROFIBUS冗余主站接收到的参数化报文与配置报文完全一致,在进入数据交换状态后,与PROFIBUS冗余主站交换的输入输出数据长度也完全一致。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710826655.8A CN107612800B (zh) | 2017-09-14 | 2017-09-14 | 一种连接profibus冗余双总线网络与profibus单总线网络的y型转换设备的实现方法及控制装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710826655.8A CN107612800B (zh) | 2017-09-14 | 2017-09-14 | 一种连接profibus冗余双总线网络与profibus单总线网络的y型转换设备的实现方法及控制装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107612800A CN107612800A (zh) | 2018-01-19 |
CN107612800B true CN107612800B (zh) | 2021-05-25 |
Family
ID=61063574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710826655.8A Active CN107612800B (zh) | 2017-09-14 | 2017-09-14 | 一种连接profibus冗余双总线网络与profibus单总线网络的y型转换设备的实现方法及控制装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107612800B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108809784B (zh) * | 2018-06-07 | 2021-01-08 | 杭州和利时自动化有限公司 | 一种总线设备侦听***及方法 |
CN109240075A (zh) * | 2018-08-15 | 2019-01-18 | 南宁学院 | 一种火力发电厂总线冗余控制*** |
CN112904814B (zh) * | 2021-01-16 | 2023-11-14 | 京能十堰热电有限公司 | 基于nt6000平台的profibus设备在线通讯状态监测方法 |
CN114563962A (zh) * | 2021-12-31 | 2022-05-31 | 浙江中控技术股份有限公司 | 一种基金会现场总线冗余方法和装置 |
CN114726674B (zh) * | 2022-04-06 | 2023-12-29 | 北京鼎实创新科技股份有限公司 | 一种基于fpga的profibus总线工艺数据提取方法 |
CN115442218B (zh) * | 2022-09-05 | 2024-04-09 | 成都夸克光电技术有限公司 | 一种基于FPGA的Ethercat环形双冗余链路切换方法及*** |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101296065A (zh) * | 2008-06-19 | 2008-10-29 | 浙江中控技术股份有限公司 | 一种提高冗余主站可靠性的方法及*** |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770239B (zh) * | 2009-12-29 | 2013-02-06 | 上海自动化仪表股份有限公司 | 基于Profibus DP冗余通信技术的智能电动执行机构 |
CN101841542B (zh) * | 2010-05-07 | 2012-11-07 | 北京鼎实创新科技有限公司 | 基于fpga技术实现profibus主站通信协议的方法 |
CN101807076B (zh) * | 2010-05-26 | 2011-11-09 | 哈尔滨工业大学 | 基于profibus现场总线的具有协同热备份功能的双模冗余容错高可靠控制*** |
CN102193543B (zh) * | 2011-03-25 | 2013-05-15 | 上海磁浮交通发展有限公司 | 基于现场总线冗余网络拓扑结构的控制***及其切换方法 |
CN102736617A (zh) * | 2012-06-18 | 2012-10-17 | 北京首钢自动化信息技术有限公司 | 一种profibus-dp总线的诊断方法 |
CN102724092A (zh) * | 2012-06-25 | 2012-10-10 | 西安热工研究院有限公司 | 一种Profibus-DP现场总线通信协议冗余主站 |
DE102015101057B4 (de) * | 2015-01-26 | 2017-03-02 | Endress + Hauser Process Solutions Ag | Gerätezugriff mittels eines generischen Kommunikationstreibers |
CN106878131B (zh) * | 2017-03-24 | 2020-06-05 | 浙江中控技术股份有限公司 | 一种profibus耦合器及profibus的数据传输方法 |
-
2017
- 2017-09-14 CN CN201710826655.8A patent/CN107612800B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101296065A (zh) * | 2008-06-19 | 2008-10-29 | 浙江中控技术股份有限公司 | 一种提高冗余主站可靠性的方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN107612800A (zh) | 2018-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107612800B (zh) | 一种连接profibus冗余双总线网络与profibus单总线网络的y型转换设备的实现方法及控制装置 | |
JP2583023B2 (ja) | コンピュータ・システムのローカル・エリア・ネットワークへのフォールト・トレラント接続方法および装置 | |
CN102857397B (zh) | 一种多主异步双工差分总线及通讯方法 | |
US7917675B2 (en) | Method and apparatus for interconnecting modules | |
EP1901482B1 (en) | Fault-tolerant ethernet network | |
US8812759B2 (en) | Bus subscriber device for connection to a line-redundant data bus, and method for controlling the communication of a bus subscriber with a line-redundant serial data bus | |
CN112887152B (zh) | 一种基于以太网的列车通信网络架构、方法及轨道列车 | |
CN110830276B (zh) | 一种基于冷冗余机制的EtherCAT通信***及方法 | |
WO2021073221A1 (zh) | 一种列控dmi数据冗余控制方法和*** | |
CN103107940B (zh) | 用于设备级环网的冗余网关*** | |
CN201335955Y (zh) | 一种基于CANopen协议的CAN总线智能电动装置 | |
KR20040044169A (ko) | 정보 전송 시스템 및 정보 전송 방법 | |
KR101179431B1 (ko) | 이더캣 네트워크 시스템 및 이의 운용 방법 | |
CN108289050B (zh) | 一种变送器环网控制***及控制方法 | |
CN112462594B (zh) | 一种基于星型拓扑的10m1553b总线控制器备份方法 | |
CN110456705B (zh) | 可动态扩展接口的网络控制装置、楼宇自控*** | |
CN217767435U (zh) | 一种Profibus总线双通道冗余通信模块 | |
CN216216897U (zh) | 业务链路相关状态指示装置及cpe装置 | |
CN115695069A (zh) | 一种逻辑环形can总线组网与智能重构方法 | |
CN214384911U (zh) | 列车网络通信装置及*** | |
CN113726402B (zh) | 一种基于星载rs485双总线自适应控制方法 | |
CN114338265B (zh) | 一种基于ttp/c总线的程序下载***及方法 | |
CN109088753B (zh) | 自动检测rs485通信故障的电路和方法 | |
CN115529222B (zh) | 一种基于级联交换机的双冗余网卡切换装置 | |
CN219627748U (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 |