CN106878131A - 一种profibus耦合器及profibus的数据传输方法 - Google Patents
一种profibus耦合器及profibus的数据传输方法 Download PDFInfo
- Publication number
- CN106878131A CN106878131A CN201710183240.3A CN201710183240A CN106878131A CN 106878131 A CN106878131 A CN 106878131A CN 201710183240 A CN201710183240 A CN 201710183240A CN 106878131 A CN106878131 A CN 106878131A
- Authority
- CN
- China
- Prior art keywords
- message
- protocol stacks
- data
- profibus
- buses
- 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.)
- Granted
Links
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/40052—High-speed IEEE 1394 serial bus
- H04L12/40078—Bus configuration
-
- 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
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40221—Profibus
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本申请公开了一种PROFIBUS耦合器及PROFIBUS的数据传输方法,PROFIBUS耦合器包括:DP协议栈、PA协议栈及连接在所述DP协议栈与所述PA协议栈之间的数据交换代理模块,其中:所述DP协议栈通过DP总线与DP主站相连接并进行数据报文传输,所述PA协议栈通过PA总线与PA设备相连接并进行数据报文传输;所述数据交换代理模块用于缓存所述DP协议栈通过DP总线接收到的所述DP主站发送的第一数据报文,缓存所述PA协议栈通过PA总线接收到的所述PA仪表发送的第二数据报文,并将缓存的第三数据报文提供给所述PA协议栈和/或所述DP协议栈,实现所述PA设备与所述DP主站之间的数据报文传输。
Description
技术领域
本申请涉及数据传输技术领域,尤其涉及一种PROFIBUS耦合器及PROFIBUS的数据传输方法。
背景技术
在过程现场总线(process field bus,PROFIBUS)中,过程现场总线分布式周边(process field bus Decentralized Peripherals,PROFIBUS-DP)子规约和过程现场总线过程自动化(process field bus Process Automation,PROFIBUS-PA)子规约物理层不同,需要使用PROFIBUS的DP/PA耦合器将PA设备接入到DP***中,使得DP/PA耦合器连接这两个网段。
为了实现数据传输中DP和PA侧的数据速率匹配,通常采用DP/PA耦合器和DP/PA链接器的方案。而DP/PA链接器作为一个网关,在PA侧表现为一个主站,需要将所有PA设备的组态数据和实时数据在耦合器中进行缓存,并映射为自身的组态和实时数据;在DP侧,链接器表现为从站,主站仅对映射的组态和实时数据进行处理。
而在上述实现方案中,需要由使用者根据耦合器所连接的PA设备类型创建链接器的文件,增加工作的复杂度。
发明内容
有鉴于此,本申请提供了一种PROFIBUS耦合器及PROFIBUS的数据传输方法,用以解决现有技术中需要耦合器及链接器实现总线数据传输是,需要使用者进行配置操作,增加工作复杂度的技术问题。
本申请提供了一种PROFIBUS耦合器,包括:DP协议栈、PA协议栈及连接在所述DP协议栈与所述PA协议栈之间的数据交换代理模块,其中:
所述DP协议栈通过DP总线与DP主站相连接并进行数据报文传输,所述PA协议栈通过PA总线与PA设备相连接并进行数据报文传输;
所述数据交换代理模块用于缓存所述DP协议栈通过DP总线接收到的所述DP主站发送的第一数据报文,缓存所述PA协议栈通过PA总线接收到的所述PA仪表发送的第二数据报文,并将缓存的第三数据报文提供给所述PA协议栈和/或所述DP协议栈,实现所述PA设备与所述DP主站之间的数据报文传输。
上述PROFIBUS耦合器,优选的,还包括:PA接口及DP接口,其中:
所述PA接口连接于所述PA总线与所述PA协议栈之间,用于通过所述PA总线传输所述PA协议栈与所述PA设备之间的数据报文;
所述DP接口连接于所述DP总线与所述DP协议栈之间,用于通过所述DP总线传输所述DP协议栈与所述DP主站之间的数据报文。
上述PROFIBUS耦合器,优选的,所述PA接口采用曼彻斯特软编解码进行数据报文的传输。
上述PROFIBUS耦合器,优选的,所述DP接口为RS485接口。
上述PROFIBUS耦合器,优选的,所述DP接口通过波特率搜索确定用于数据报文传输的目标波特率;
其中,所述DP接口在当前波特率上连续接收到N个错误报文或在预设时长内没有接收到报文时,切换到下一个波特率进行报文接收;
所述DP接口在当前波特率上连续接收到N个正确报文时,确定当前波特率为目标波特率,N为大于1的正整数。
上述PROFIBUS耦合器,优选的,所述DP协议栈为多个,且每个所述DP协议栈具有有效标志位,所述有效标志位被置位时表明所述DP协议栈处于有效的运行状态。
上述PROFIBUS耦合器,优选的,还包括:DP协议栈冗余调度模块,其中:
所述DP协议栈冗余调度模块,用于从多个备用的DP协议栈中基于有效标志位确定进行数据报文传输的DP协议栈。
上述PROFIBUS耦合器,优选的:
所述DP协议栈在接收到所述DP主站发送的对所述PA设备的参数化报文之后,将所述参数化报文缓存到所述数据交换代理模块,并向所述DP主站回复第一消息;
所述DP协议栈在接收到所述DP主站发送的对所述PA设备的组态报文之后,将所述组态报文缓存到所述数据交换代理模块,将以为组态标志置位,并向所述DP主站回复第一消息;
所述PA协议栈从所述数据交换代理模块中查询所述组态报文是否表明所述PA设备有新的组态,如果是,在所述数据交换代理模块中获取所述组态报文,并基于所述组态报文对所述PA设备进行操作;
所述PA协议栈将组态后的诊断信息缓存到所述数据交换代理模块;
所述DP协议栈在接收到所述DP主站对所述PA设备组态后的诊断请求报文之后,从所述数据交换代理模块中获取所述诊断信息并向所述DP主站发送所述诊断信息;
所述DP协议栈从所述数据交换代理模块中无法获取到所述诊断信息时,向所述DP主站回复第二消息。
上述PROFIBUS耦合器,优选的,所述PA协议栈还用于:监测所述PA总线上的PA设备。
本申请还提供了一种PROFIBUS的数据传输方法,应用于PROFIBUS耦合器,所述方法包括:
从DP总线上接收到DP主站发送的第一数据报文之后,将所述第一数据报文进行缓存;
从PA总线上接收到PA设备发送的第二数据报文之后,将所述第二数据报文进行缓存;
从缓存的数据报文中获取第三数据报文传输到所述DP总线或所述PA总线上。
由上述方案可知,本申请提供的一种PROFIBUS耦合器及PROFIBUS的数据传输方法中,通过设置能够缓存数据报文的数据交换代理模块,实现DP协议栈与PA协议栈之间的数据报文交换,从而实现DP主站与PA侧设备如PA仪表之间的数据报文的传输,而这一实现方案中,无需链接器,更加不需要使用者进行任何配置操作,从而降低工作的复杂度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例一提供的一种PROFIBUS耦合器的结构示意图;
图2为本申请实施例的应用效果图;
图3为本申请实施例中PROFIBUS耦合器进行数据传输的交互示意图;
图4为本申请实施例二提供的一种PROFIBUS耦合器的结构示意图;
图5为本申请实施例二提供的一种PROFIBUS耦合器的另一结构示意图;
图6为本申请实施例中PROFIBUS耦合器的数据交换代理模块的工作流程图;
图7为本申请实施例中应用PROFIBUS耦合器实现组态的交互示意图;
图8为本申请实施例三提供的一种PROFIBUS的数据传输方法的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参考图1,为本申请实施例一提供的一种PROFIBUS耦合器的结构示意图,用以实现PA设备与DP主站之间的通透传输。
在本实施例中,PROFIBUS耦合器可以包括以下组成:
DP协议栈、PA协议栈及连接在所述DP协议栈与所述PA协议栈之间的数据交换代理模块,其中:
所述DP协议栈通过DP总线与DP主站相连接并进行数据报文传输,所述PA协议栈通过PA总线与PA设备相连接并进行数据报文传输;
所述数据交换代理模块用于缓存所述DP协议栈通过DP总线接收到的所述DP主站发送的第一数据报文,缓存所述PA协议栈通过PA总线接收到的所述PA仪表发送的第二数据报文,并将缓存的第三数据报文提供给所述PA协议栈和/或所述DP协议栈,实现所述PA设备与所述DP主站之间的数据报文传输。
也就是说,所述DP协议栈从所述DP总线上接收到所述DP主站发送的第一数据报文之后,将所述第一数据报文进行缓存,例如缓存到所述数据交换代理模块中;
所述PA协议栈从所述PA总线上接收到上述PA设备发送的第二数据报文之后,将所述第二数据报文进行缓存,例如,缓存到所述数据交换代理模块中;
而所述DP协议栈也可以从所述数据交换代理模块缓存的数据报文中获取到第三数据报文传输到所述DP总线上,从而传输给所述DP主站;
所述PA协议栈可以从所述数据交换代理模块缓存的数据报文中获取到第三数据报文传输到所述PA总线上,从而传输给所述PA设备。
其中,所述DP协议栈从所述数据交互代理模块所获取到的第三数据报文与所述PA协议栈从所述数据交互代理模块所获取到的第三数据报文是不同的。
其中,所述PA设备可以为所述PA总线上下挂的PA仪表等。相应的,所述PA协议栈为从站协议栈,通过PA总线将PA设备的相关数据报文缓存到数据交换代理模块,以提供给DP总站;或者从数据交换代理模块中获取数据报文给PA设备,由PA设备基于数据报文进行相应操作,如组态等,从而实现与PA设备之间的数据报文传输。
而所述DP协议栈为主站协议栈,接收DP总线上的数据报文,如果该报文是DP主站发送给PROFIBUS耦合器下的PA设备的,那么将该数据报文缓存到数据交换代理,并通过DP总线向DP主站做出合适的回应;如果PA设备已经回复,那么DP协议栈从数据交换代理模块中获取到PA设备所回复的数据报文,并将回复的数据报文发送给DP主站,从而实现与DP主站之间的数据报文传输。
其中,本实施例中采用数据交互代理模块将数据报文进行缓存,实现DP协议栈与PA协议栈之间的数据报文交换,从而实现DP主站与PA侧设备如PA仪表之间的数据报文的通透传输,如图2中数据报文传输的效果图所示。
如图3中所示,为图1所示的PROFIBUS耦合器进行数据的通透传输的过程示意图,其中:
在DP协议栈一侧:
DP协议栈向数据交换代理模块请求输入数据;
如果DP协议栈获得输入数据,将输入数据传输给DP主站;
而在PA协议栈将输入数据缓存到数据交换代理模块之前,DP协议栈无法得到有效的输入数据,向DP主站返回输入数据未就绪的回复消息;
DP协议栈接收DP主站发送的输出数据;
DP协议栈将接收到的DP主站发送的输出数据缓存到数据交换代理模块;
在PA协议栈一侧:
PA协议栈向数据交换代理模块请求输出数据;
如果PA协议栈获得输出数据,则PA协议栈将获得的输出数据传输给PA仪表;
而在DP协议栈将输出数据缓存到数据交换代理模块之前,PA协议栈无法得到有效的输出数据;
PA协议栈向PA仪表发送输入数据请求,PA仪表向PA协议栈回复输入数据;
PA协议栈将PA仪表回复的输入数据缓存到数据交换代理模块,即向数据交换代理模块缓存输入数据。
由上述方案可知,本申请实施例一提供的一种PROFIBUS耦合器,通过设置能够缓存数据报文的数据交换代理模块,实现DP协议栈与PA协议栈之间的数据报文交换,从而实现DP主站与PA侧设备如PA仪表之间的数据报文的传输,而这一实现方案中,无需链接器,更加不需要使用者进行任何配置操作,从而降低工作的复杂度。
参考图4,为本申请实施例二提供的一种PROFIBUS耦合器的结构示意图,PROFIBUS耦合器还可以包括以下结构:
PA接口及DP接口,其中:
所述PA接口连接于所述PA总线与所述PA协议栈之间,用于通过所述PA总线传输所述PA协议栈与所述PA设备之间的数据报文;
所述DP接口连接于所述DP总线与所述DP协议栈之间,用于通过所述DP总线传输所述DP协议栈与所述DP主站之间的数据报文。
其中,PA接口以软件实现曼彻斯特软编解码,可以实现高效的总线数据编解码操作,以代替使用解码芯片的需求,从而降低整体的功耗和成本。
而DP接口可以采用标准RS485接口,支持PROFIBUS-DP全屏段的波特率,并进行波特率搜索来确定用于数据报文传输的目标波特率,即波特率自适应。
其中,DP接口通过波特率搜索确定目标波特率时的工作机制如下:
所述DP接口在当前波特率上连续接收到N个错误报文或在预设时长内没有接收到报文时,切换到下一个波特率进行报文接收;
所述DP接口在当前波特率上连续接收到N个正确报文时,确定当前波特率为目标波特率,N为大于1的正整数。
以N为4为例,对DP接口波特率自适应的过程进行说明:
在PROFIBUS耦合器上点启动时,DP接口处于波特率搜索阶段,当连续接收到4包错误报文时,切换至下一个波特率继续搜索,当连续收到4包挣钱报文时,进入波特率确认阶段,同时停止搜索并以当前的波特率开始报文处理;
而DP接口在波特率确认阶段以当前的波特率连续收到4包错误报文或者总线看门狗时间内未接受到报文,切换至波特率搜索阶段,重新搜索波特率。
为了提高PROFIBUS耦合器的可靠性,本实施例中可以在PROFIBUS耦合器中设置多个DP协议栈,每个DP协议栈独立运行,互不影响,每个DP协议栈维护其自身的运行状态,即每个DP协议栈均有一个有效标志位,在DP协议栈处于有效的运行状态时,其有效标志位被置位,如置1等。
如图5中所示,本实施例中的PROFIBUS耦合器还可以包括以下结构:
DP协议栈冗余调度模块,用于从多个备用的DP协议栈中基于有效标志位来确定能够进行数据报文传输的DP协议栈,即从多个备用的DP协议栈中调度主DP协议栈进行数据报文传输。
其中,DP协议栈的运行状态为有效和无效两种状态,DP协议栈在维护其运行状态的机制如下:
如果DP协议栈和DP接口之间的通信正常,则判定为有效,如接收到参数报文、组态报文和实时数据报文中的任意一种或任意组合时,则可认为通讯正常,表明组态正确,置位有效标志位;
当没有组态时,有效标志位为空,此时不会对PA仪表写操作;
当0.5s内未受到参数化报文、组态报文或实时数据报文时,表明组态不正确,有效标志位不置位。
而DP协议栈冗余调度模块根据每个DP协议栈的有效标志位来确定每个DP协议栈各自的运行状态,从而来仲裁当前的主DP协议栈,而数据交换代理模块只接收主DP协议栈提交的数据。
如图6中所示,DP协议栈冗余调度模块调度DP协议栈的工作流程如下:
PROFIBUS耦合器上电初始时默认DP协议栈0为当前的主协议栈,之后DP协议栈冗余调度模块开始进行DP协议栈的调度;
在PROFIBUS耦合器的每个主循环中DP协议栈冗余调度模块先查询当前主DP协议栈的运行状态,如有效,则不做任何动作,DP协议栈冗余调度模块的程序退出,如无效则重新查找有效的DP协议栈;
而DP协议栈冗余调度模块在重新查找时按顺序查询各个DP协议栈的运行状态,最先查到运行状态为有效的DP协议栈设为当前主DP协议栈,如全部无效则不做任何动作,程序退出。
需要说明的是,DP接口支持9.6K~12M的波特率,而PA接口的曼彻斯特编解码是31.25K的波特率,如果没有数据交换代理模块,DP接口只能使用45.45K的波特率,这样和PA接口的31.25K波特率最为接近,通讯才能正常。如果DP接口使用其他的波特率,则会出现通讯超时,通讯异常的结果。而在本实施例中,数据交换代理模块实现了DP协议栈和PA协议栈的数据交换,保持数据的一致性和有效性,通过DP接口的波特率自适应,搜索合适的波特率实现数据报文传输,而避免了DP接口使用其他波特率造成通讯超时的情况。
而本实施例中,基于数据交换代理模块,DP主站对PA设备进行组态过程的具体机制如下:
所述DP协议栈在接收到所述DP主站发送的对所述PA设备的参数化报文之后,将所述参数化报文缓存到所述数据交换代理模块,并向所述DP主站回复第一消息;
所述DP协议栈在接收到所述DP主站发送的对所述PA设备的组态报文之后,将所述组态报文缓存到所述数据交换代理模块,将以为组态标志置位,并向所述DP主站回复第一消息;
所述PA协议栈从所述数据交换代理模块中查询所述组态报文是否表明所述PA设备有新的组态,如果是,在所述数据交换代理模块中获取所述组态报文,并基于所述组态报文对所述PA设备进行操作;
所述PA协议栈将组态后的诊断信息缓存到所述数据交换代理模块;
所述DP协议栈在接收到所述DP主站对所述PA设备组态后的诊断请求报文之后,从所述数据交换代理模块中获取所述诊断信息并向所述DP主站发送所述诊断信息;
所述DP协议栈从所述数据交换代理模块中无法获取到所述诊断信息时,向所述DP主站回复第二消息。
以下进行举例说明,如图7中所示:
DP协议栈收到DP主站对PA设备如PA仪表的参数化报文,将参数化报文缓存到数据交换代理模块,并对DP主站直接回复E5短回复;
DP协议栈收到DP主站对PA仪表的组态报文,将组态报文缓存到数据交换代理模块,并置位仪表组态标志位,来表征PA仪表有新的组态或需要进行组态,并对DP主站直接回复E5短回复;其中,组态报文等信息可以由使用者在DP主站上根据需求进行配置。
DP协议栈收到DP主站对PA仪表组态后的诊断请求报文后,从数据交换代理模块获取PA协议栈缓存的诊断信息,如果该诊断已就绪(PA协议栈完成了诊断回复报文的缓存),则DP协议栈获取该诊断信息并回复给DP主站,否则向DP主站回复E5短回复,直到仪表组态完成,DP主站收到诊断信息,从而开始周期性的实时数据通讯;
PA协议栈每个周期从数据交换代理模块查询PA仪表是否有新的组态,而对PA总线上的PA仪表进行轮询操作,以及时发现新的PA设备;
PA协议栈在从数据交换代理模块获取到完整的组态报文等信息之后,开始对PA仪表进行组态操作,如参数化、组态、诊断等;
PA协议栈将组态后的诊断信息缓存到数据交换代理模块,由DP协议栈获取诊断信息给DP主站;
经过以上组态过程之后,PA仪表的组态成功,之后,PA仪表与DP主站之间开始周期性的实时数据通讯。
其中,PA协议栈还用于监测PA总线上的PA设备。也就是,独立轮训PA总线下挂的PA设备,维护一个在线列表给DP协议栈使用。
另外,PA协议栈还可以对PA设备进行地址修改,读取诊断信息、参数化报文、组态报文及实施数据等DP-V0功能;另外还具有DP-V1功能,如对PA设备进行读写访问,用于支持通过数字地形模型(Digital Terrain Model,DTM)访问PA设备。
PA协议栈具体工作流程如下:
PA协议栈周期性对PA总线上的节点设备进行轮询,看是否有新的PA设备上线;
如有新设备上线,收到回复后发起诊断,读取设备的相关信息;
从数据交换代理模块请求新的组态信息,如果获取了仪表组态,则进行组态过程;
仪表已组态,则周期性实时数据通讯;仪表未组态,周期性轮询,维护PA仪表的上下线状态。
由上述方案中可知,本实施例的PROFIBUS耦合器能顾实现以下功能:
通过两路冗余的PROFIBUS-DP总线的DP接口,一路PROFIBUS-PA总线的PA接口,实现将PA设备接入DP总线的功能;
通过PA协议栈实现DP-V0和DP-V1通讯;
在PA设备接入到总线***之后,不占用DP总线地址,不需要进行任何配置,即插即用,真正实现通透传输;
每路DP总线接口内都内置一个DP从站协议栈,完全独立运行,接收和发送DP总线的数据报文,支持全频段的DP总线波特率,波特率自适应匹配;
通过内置一个PA主站协议栈,在PA总线上相当于一个PA主站,管理下挂的所有PA设备,如PA仪表,而PA接口实现了PA仪表的供电电源,而最大电流可达500mA;
通过内部设置DP协议栈冗余调度模块,负责对各个独立运行的DP协议栈进行调度,仲裁当前的主DP协议栈,由主DP协议栈向数据交换代理模块提交数据;
通过内部设置数据交换代理模块,使得PA仪表和DP主站的请求和回复报文能正常交互,实现了周期性的参数化、组态、诊断、实时数据报文,非周期性的地址修改,扫描报文,以及DPV1通讯,实现DTM化管理;
参考图8,为本申请实施例三提供的一种PROFIBUS的数据传输方法的流程图,采用前文中所述的PROFIBUS耦合器,实现数据传输,如下:
步骤801:从DP总线上接收到DP主站发送的第一数据报文之后,将所述第一数据报文进行缓存,由PROFIBUS耦合器的DP协议栈实现;
步骤802:从PA总线上接收到PA设备发送的第二数据报文之后,将所述第二数据报文进行缓存,由PROFIBUS耦合器的PA协议栈实现。
另外,PA协议栈还会在缓存的数据报文中查询组态数据报文是否表明所述PA设备有新的组态,如果是,获取所述组态数据报文,并基于所述组态数据报文对所述PA设备进行操作。
步骤803:从缓存的数据报文中获取第三数据报文传输到所述DP总线或所述PA总线上,缓存的数据报文被缓存到PROFIBUS耦合器的数据交换代理模块中。
也就是说,所述DP协议栈从所述DP总线上接收到所述DP主站发送的第一数据报文之后,将所述第一数据报文进行缓存,例如缓存到所述数据交换代理模块中;
所述PA协议栈从所述PA总线上接收到上述PA设备发送的第二数据报文之后,将所述第二数据报文进行缓存,例如,缓存到所述数据交换代理模块中;
而所述DP协议栈也可以从所述数据交换代理模块缓存的数据报文中获取到第三数据报文传输到所述DP总线上,从而传输给所述DP主站;
所述PA协议栈可以从所述数据交换代理模块缓存的数据报文中获取到第三数据报文传输到所述PA总线上,从而传输给所述PA设备。
其中,所述DP协议栈从所述数据交互代理模块所获取到的第三数据报文与所述PA协议栈从所述数据交互代理模块所获取到的第三数据报文是不同的。
其中,所述PA设备可以为所述PA总线上下挂的PA仪表等。相应的,所述PA协议栈为从站协议栈,通过PA总线将PA设备的相关数据报文缓存到数据交换代理模块,以提供给DP总站;或者从数据交换代理模块中获取数据报文给PA设备,由PA设备基于数据报文进行相应操作,如组态等,从而实现与PA设备之间的数据报文传输。
而所述DP协议栈为主站协议栈,接收DP总线上的数据报文,如果该报文是DP主站发送给PROFIBUS耦合器下的PA设备的,那么将该数据报文缓存到数据交换代理,并通过DP总线向DP主站做出合适的回应;如果PA设备已经回复,那么DP协议栈从数据交换代理模块中获取到PA设备所回复的数据报文,并将回复的数据报文发送给DP主站,从而实现与DP主站之间的数据报文传输。
其中,本实施例中采用数据交互代理模块将数据报文进行缓存,实现DP协议栈与PA协议栈之间的数据报文交换,从而实现DP主站与PA侧设备如PA仪表之间的数据报文的通透传输。
由上述方案可知,本申请实施例三提供的一种PROFIBUS的数据传输方法,通过设置能够缓存数据报文的数据交换代理模块,实现DP协议栈与PA协议栈之间的数据报文交换,从而实现DP主站与PA侧设备如PA仪表之间的数据报文的传输,而这一实现方案中,无需链接器,更加不需要使用者进行任何配置操作,从而降低工作的复杂度。
基于上述各实施例的实现方案,本申请拥有其所述的所有功能,而且不仅仅是进行简单的总线报文转换和转发,本申请通过维护两个独立的DP协议栈,可以自主实现其需要通过现有的DP/PA LINK来实现的功能,即DPV1功能,不需要将通信速率限制在45.45kbps,DP总线和PA总线可以在不同的总线通信速率下进行工作,而且是自动进行总线速率识别匹配,易用性和可用范围大大加强。
而相比于使用现有的DP/PA LINK来进行工作的方式,虽然这样也可以实现不同速率的兼容,但是其组态复杂,使用门槛和成本巨大,尤其是使用通用DP主站时,需要使用GSDTools工具将链接器和PA仪表的GSD文件合成一份新的GSD文件,然后使用这份新的GSD文件组态,每当使用不同型号的PA仪表不同时,需要重新合成工作,这需要一定的PROFIBUS专业知识。而且如果PA仪表的GSD文件没有严格按照要求书写的,这个合成的过程会出现问题导致无法使用。
因此,与现有技术相比,本申请中的优势明显,不仅能自适应各种波特率将PA仪表接入DP总线,支持各种类型的报文通讯,更重要的是该设备真正实现了通透传输,无需配置,即插即用,兼容性强。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种PROFIBUS耦合器,其特征在于,包括:DP协议栈、PA协议栈及连接在所述DP协议栈与所述PA协议栈之间的数据交换代理模块,其中:
所述DP协议栈通过DP总线与DP主站相连接并进行数据报文传输,所述PA协议栈通过PA总线与PA设备相连接并进行数据报文传输;
所述数据交换代理模块用于缓存所述DP协议栈通过DP总线接收到的所述DP主站发送的第一数据报文,缓存所述PA协议栈通过PA总线接收到的所述PA仪表发送的第二数据报文,并将缓存的第三数据报文提供给所述PA协议栈和/或所述DP协议栈,实现所述PA设备与所述DP主站之间的数据报文传输。
2.根据权利要求1所述的PROFIBUS耦合器,其特征在于,还包括:PA接口及DP接口,其中:
所述PA接口连接于所述PA总线与所述PA协议栈之间,用于通过所述PA总线传输所述PA协议栈与所述PA设备之间的数据报文;
所述DP接口连接于所述DP总线与所述DP协议栈之间,用于通过所述DP总线传输所述DP协议栈与所述DP主站之间的数据报文。
3.根据权利要求2所述的PROFIBUS耦合器,其特征在于,所述PA接口采用曼彻斯特软编解码进行数据报文的传输。
4.根据权利要求2所述的PROFIBUS耦合器,其特征在于,所述DP接口为RS485接口。
5.根据权利要求2所述的PROFIBUS耦合器,其特征在于,所述DP接口通过波特率搜索确定用于数据报文传输的目标波特率;
其中,所述DP接口在当前波特率上连续接收到N个错误报文或在预设时长内没有接收到报文时,切换到下一个波特率进行报文接收;
所述DP接口在当前波特率上连续接收到N个正确报文时,确定当前波特率为目标波特率,N为大于1的正整数。
6.根据权利要求1所述的PROFIBUS耦合器,其特征在于,所述DP协议栈为多个,且每个所述DP协议栈具有有效标志位,所述有效标志位被置位时表明所述DP协议栈处于有效的运行状态。
7.根据权利要求6所述的PROFIBUS耦合器,其特征在于,还包括:DP协议栈冗余调度模块,其中:
所述DP协议栈冗余调度模块,用于从多个备用的DP协议栈中基于有效标志位确定进行数据报文传输的DP协议栈。
8.根据权利要求1所述的PROFIBUS耦合器,其特征在于:
所述DP协议栈在接收到所述DP主站发送的对所述PA设备的参数化报文之后,将所述参数化报文缓存到所述数据交换代理模块,并向所述DP主站回复第一消息;
所述DP协议栈在接收到所述DP主站发送的对所述PA设备的组态报文之后,将所述组态报文缓存到所述数据交换代理模块,将以为组态标志置位,并向所述DP主站回复第一消息;
所述PA协议栈从所述数据交换代理模块中查询所述组态报文是否表明所述PA设备有新的组态,如果是,在所述数据交换代理模块中获取所述组态报文,并基于所述组态报文对所述PA设备进行操作;
所述PA协议栈将组态后的诊断信息缓存到所述数据交换代理模块;
所述DP协议栈在接收到所述DP主站对所述PA设备组态后的诊断请求报文之后,从所述数据交换代理模块中获取所述诊断信息并向所述DP主站发送所述诊断信息;
所述DP协议栈从所述数据交换代理模块中无法获取到所述诊断信息时,向所述DP主站回复第二消息。
9.根据权利要求1所述的PROFIBUS耦合器,其特征在于,所述PA协议栈还用于:监测所述PA总线上的PA设备。
10.一种PROFIBUS的数据传输方法,其特征在于,应用于PROFIBUS耦合器,所述方法包括:
从DP总线上接收到DP主站发送的第一数据报文之后,将所述第一数据报文进行缓存;
从PA总线上接收到PA设备发送的第二数据报文之后,将所述第二数据报文进行缓存;
从缓存的数据报文中获取第三数据报文传输到所述DP总线或所述PA总线上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710183240.3A CN106878131B (zh) | 2017-03-24 | 2017-03-24 | 一种profibus耦合器及profibus的数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710183240.3A CN106878131B (zh) | 2017-03-24 | 2017-03-24 | 一种profibus耦合器及profibus的数据传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106878131A true CN106878131A (zh) | 2017-06-20 |
CN106878131B CN106878131B (zh) | 2020-06-05 |
Family
ID=59172844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710183240.3A Active CN106878131B (zh) | 2017-03-24 | 2017-03-24 | 一种profibus耦合器及profibus的数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106878131B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107453903A (zh) * | 2017-07-31 | 2017-12-08 | 上海电气风电集团有限公司 | 一种识别通讯从站的方法和***以及一种存储设备 |
CN107612800A (zh) * | 2017-09-14 | 2018-01-19 | 北京鼎实创新科技股份有限公司 | 一种连接profibus冗余网络与单总线网络的y型转换设备的实现方法及控制装置 |
CN109491308A (zh) * | 2018-09-26 | 2019-03-19 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种基于隔离耦合的风洞群数据采集方法及其装置 |
CN113867234A (zh) * | 2021-11-03 | 2021-12-31 | 西安热工研究院有限公司 | 基于现场总线pa耦合器通讯端口的冗余通信***及方法 |
CN113890785A (zh) * | 2021-11-03 | 2022-01-04 | 西安热工研究院有限公司 | 一种现场总线混合组网的通讯***及方法 |
CN115001995A (zh) * | 2022-04-29 | 2022-09-02 | 西门子(中国)有限公司 | 用于处理从站信息的方法、设备和机器可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753395A (zh) * | 2008-12-10 | 2010-06-23 | 西门子公司 | 通过现场总线耦合器的非循环数据传输 |
CN102088444A (zh) * | 2009-12-03 | 2011-06-08 | 北京华控技术有限责任公司 | Profibus dp与profibus pa协议转换网关模块 |
CN102291334A (zh) * | 2010-06-21 | 2011-12-21 | 哈尔滨工业大学 | 一种汽车车身can-lin网关的设计 |
CN103051506A (zh) * | 2012-12-30 | 2013-04-17 | 上海自动化仪表股份有限公司 | Profibus DP/PA耦合器及其进行DP/PA报文转换的方法 |
CN103401772A (zh) * | 2013-07-30 | 2013-11-20 | 北京华电天仁电力控制技术有限公司 | 一种ETHERNET/IP工业以太网到Profibus-DP现场总线的转换装置 |
DE102015101057A1 (de) * | 2015-01-26 | 2016-07-28 | Endress + Hauser Process Solutions Ag | Gerätezugriff mittels eines generischen Kommunikationstreibers |
-
2017
- 2017-03-24 CN CN201710183240.3A patent/CN106878131B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753395A (zh) * | 2008-12-10 | 2010-06-23 | 西门子公司 | 通过现场总线耦合器的非循环数据传输 |
CN102088444A (zh) * | 2009-12-03 | 2011-06-08 | 北京华控技术有限责任公司 | Profibus dp与profibus pa协议转换网关模块 |
CN102291334A (zh) * | 2010-06-21 | 2011-12-21 | 哈尔滨工业大学 | 一种汽车车身can-lin网关的设计 |
CN103051506A (zh) * | 2012-12-30 | 2013-04-17 | 上海自动化仪表股份有限公司 | Profibus DP/PA耦合器及其进行DP/PA报文转换的方法 |
CN103401772A (zh) * | 2013-07-30 | 2013-11-20 | 北京华电天仁电力控制技术有限公司 | 一种ETHERNET/IP工业以太网到Profibus-DP现场总线的转换装置 |
DE102015101057A1 (de) * | 2015-01-26 | 2016-07-28 | Endress + Hauser Process Solutions Ag | Gerätezugriff mittels eines generischen Kommunikationstreibers |
Non-Patent Citations (1)
Title |
---|
丁超等: "Profibus DP/PA协议转换原理及耦合器的设计", 《中国仪器仪表》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107453903A (zh) * | 2017-07-31 | 2017-12-08 | 上海电气风电集团有限公司 | 一种识别通讯从站的方法和***以及一种存储设备 |
CN107453903B (zh) * | 2017-07-31 | 2020-12-22 | 上海电气风电集团有限公司 | 一种识别通讯从站的方法和***以及一种存储设备 |
CN107612800A (zh) * | 2017-09-14 | 2018-01-19 | 北京鼎实创新科技股份有限公司 | 一种连接profibus冗余网络与单总线网络的y型转换设备的实现方法及控制装置 |
CN109491308A (zh) * | 2018-09-26 | 2019-03-19 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种基于隔离耦合的风洞群数据采集方法及其装置 |
CN109491308B (zh) * | 2018-09-26 | 2021-03-16 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种基于隔离耦合的风洞群数据采集方法及其装置 |
CN113867234A (zh) * | 2021-11-03 | 2021-12-31 | 西安热工研究院有限公司 | 基于现场总线pa耦合器通讯端口的冗余通信***及方法 |
CN113890785A (zh) * | 2021-11-03 | 2022-01-04 | 西安热工研究院有限公司 | 一种现场总线混合组网的通讯***及方法 |
CN115001995A (zh) * | 2022-04-29 | 2022-09-02 | 西门子(中国)有限公司 | 用于处理从站信息的方法、设备和机器可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106878131B (zh) | 2020-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106878131A (zh) | 一种profibus耦合器及profibus的数据传输方法 | |
CN105450489B (zh) | 输出优先实现最短报文的HEBus高效现场总线***及通信方法 | |
JP6043303B2 (ja) | 産業用フィールド機器を産業用無線ネットワークに結合するためのアダプタ装置、および関連するシステムおよび方法 | |
CN100521637C (zh) | 基于光纤的高速串行工业实时通信总线***及其控制方法 | |
CN101572702B (zh) | 高速总线主从网络通信调度方法 | |
CN101605078B (zh) | 基于web多通讯方式的电力***通讯服务器及其控制方法 | |
CN2938595Y (zh) | 一种用于板间通信的高速串行接口装置 | |
CN102035688B (zh) | 一种快速控制网络链路访问设计方法 | |
CN107204110A (zh) | 一种基于宽带网络的表计数据快速抄读的方法 | |
CN113759846A (zh) | 一种现场级主动标识解析方法及*** | |
CN110635982B (zh) | 通讯总线上双主机通讯方法、***、工控网关及储存介质 | |
CN102833141A (zh) | 一种基于DSP28335的CANopen从站*** | |
CN106982222A (zh) | 一种工业4.0环境下可配置的多协议数据接入方法及装置 | |
CN101873299A (zh) | 串行总线和通信方法及*** | |
CN102088444A (zh) | Profibus dp与profibus pa协议转换网关模块 | |
CN101908940A (zh) | 一种海上远程实时数据传输***与数据传输方法 | |
CN105897574A (zh) | 一种支持双网双主冗余的Modbus RTU/TCP网关装置 | |
CN106056876A (zh) | 一种企业能源管理信息采集***及方法 | |
CN115188176A (zh) | 一种基于双模通信的智能电表与集中器间的融合通信方法 | |
CN106375204A (zh) | 智能网关***及其操作方法 | |
CN107205047A (zh) | 一种基于无线传感器网络的建筑能源综合管理***及方法 | |
CN105245424B (zh) | Profibus dp与profinet通信网络通过共享存储器互连的方法 | |
CN102904967A (zh) | 一种基于五金机电领域的智能物联网数据交换平台方案 | |
CN102724090A (zh) | 基于dpc31的过程现场总线dp/pa一体化嵌入式从节点通信装置 | |
CN113691500B (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 |