CN116436994B - Profinet协议报文传输方法、装置、设备及介质 - Google Patents

Profinet协议报文传输方法、装置、设备及介质 Download PDF

Info

Publication number
CN116436994B
CN116436994B CN202310706944.XA CN202310706944A CN116436994B CN 116436994 B CN116436994 B CN 116436994B CN 202310706944 A CN202310706944 A CN 202310706944A CN 116436994 B CN116436994 B CN 116436994B
Authority
CN
China
Prior art keywords
protocol message
profinet protocol
profinet
mac address
received
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
Application number
CN202310706944.XA
Other languages
English (en)
Other versions
CN116436994A (zh
Inventor
吴伟
张宇
黄进忠
李政镖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hexin Semiconductor Co ltd
Original Assignee
Hangzhou Hexin Semiconductor Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Hexin Semiconductor Co ltd filed Critical Hangzhou Hexin Semiconductor Co ltd
Priority to CN202310706944.XA priority Critical patent/CN116436994B/zh
Publication of CN116436994A publication Critical patent/CN116436994A/zh
Application granted granted Critical
Publication of CN116436994B publication Critical patent/CN116436994B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)

Abstract

本申请公开了一种Profinet协议报文传输方法、装置、设备及介质,涉及通信技术领域,包括:当监测到目标设备中存在待接收Profinet协议报文和/或待发送Profinet协议报文时,通过Profinet协议报文发送/接收模块对Profinet协议报文进行协议类型判断,并根据判断结果执行相应的Profinet协议报文传输步骤,实现不同目标设备之间的数据传输,通过在各个目标设备中增加协议报文接收处理流程和协议报文发送处理流程的方式构建报文传输模块,以此来替代交换机或交换芯片,使整个通信过程无需外接交换机或交换芯片,也能实现不同节点设备之间的数据通信,显著减少工业现场的组网的复杂度和成本支出。

Description

Profinet协议报文传输方法、装置、设备及介质
技术领域
本发明涉及通信技术领域,特别涉及Profinet协议报文传输方法、装置、设备及介质。
背景技术
Profinet协议在工业网络市场日益火爆。一般情况下,在Profinet的星型网络拓扑中,采用交换机实现物理端口与逻辑端口映射,具体如图1所示,即节点设备无需关心通信中另一方在网络中的位置,交换机能够对连接到自身的节点设备进行相应的识别,通过每台设备网卡的物理地址来进行记忆和识别。在这样的前提之下,就不用再进行广播寻找,而能够直接将记忆的MAC地址找到相应的节点并且通过一个临时性专用的数据传输通道,来完成两个节点之间不受外来干扰的数据传输的通信,但是这种方式需要独立交换机支持。如图2所示,在另外的线型网络拓扑中,虽然解决了星形网络拓扑布线复杂的问题,但是由于需要在每台设备中加入以太网交换芯片,对成本方面没有明显改善。
综上,如何解决网络拓扑中的Profinet设备对以太网交换机或者以太网交换芯片的依赖,节约成本,实现方便简单的布线是本领域有待解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供Profinet协议报文传输方法、装置、设备及介质,能够解决网络拓扑中的Profinet设备对以太网交换机或者以太网交换芯片的依赖,节约成本,实现方便简单的布线。其具体方案如下:
第一方面,本申请公开了一种Profinet协议报文传输方法,包括:
当监测到目标设备中存在待接收Profinet协议报文和/或待发送Profinet协议报文时,检测所述待接收Profinet协议报文和/或所述待发送Profinet协议报文是否为链路层发现协议;
若是,则解析所述待接收Profinet协议报文并存储于与所述待接收Profinet协议报文对应的目标接收网口的管理信息库中和/或根据所述待发送Profinet协议报文中源MAC地址确定用于发送所述待发送Profinet协议报文的第一目标发送网口;
若否,则确定接收所述待接收Profinet协议报文的接收网口的MAC地址表,并跳转执行监测目标设备中是否存在待接收Profinet协议报文的步骤和/或基于所述待发送Profinet协议报文中的目的MAC地址与各个网口的MAC地址表确定用于发送所述待发送Profinet协议报文的第二目标发送网口。
可选的,所述若否,则确定接收所述待接收Profinet协议报文的接收网口的MAC地址表之后,还包括:
判断所述接收网口的MAC地址表中是否存在发送设备的MAC地址;
若不存在,则将所述发送设备的MAC地址存储于所述接收网口的MAC地址表中;
若存在,则检查所述发送设备的MAC地址是否存在于除所述接收网口外的其他网口的MAC地址表中。
可选的,所述检查所述发送设备的MAC地址是否存在于除所述接收网口外的其他网口的MAC地址表中之后,还包括:
若不存在,则将所述待接收Profinet协议报文发送至Profinet协议栈处理;
若存在,则删除所述其他网口的MAC地址表中记载的所述发送设备的MAC地址,更新所述其他网口的MAC地址表。
可选的,所述当监测到目标设备中存在待发送Profinet协议报文时,检测所述待发送Profinet协议报文是否为链路层发现协议,包括:
查询所述目标设备中Profinet协议栈,直至查询到目标设备中存在待发送Profinet协议报文时,检测所述待发送Profinet协议报文是否为链路层发现协议。
可选的,所述若否,则基于所述待发送Profinet协议报文中的目的MAC地址与各个网口的MAC地址表确定用于发送所述待发送Profinet协议报文的第二目标发送网口,包括:
若否,则分别匹配所述待发送Profinet协议报文中的所述目的MAC地址是否与各个网口的MAC地址表中记载的MAC地址,并获取相应的匹配结果;
若所述匹配结果为匹配失败,则将所有网口作为第二目标发送网口发送所述待发送Profinet协议报文。
可选的,所述获取相应的匹配结果之后,还包括:
若所述匹配结果为匹配成功,则将匹配成功的网口作为第二目标发送网口发送所述待发送Profinet协议报文。
可选的,所述当监测到目标设备中存在待接收Profinet协议报文和/或待发送Profinet协议报文时之前,还包括:
初始化目标设备,并建立所述目标设备中各个网口的MAC地址表。
第二方面,本申请公开了一种Profinet协议报文传输装置,包括:
协议检测模块,用于当监测到目标设备中存在待接收Profinet协议报文和/或待发送Profinet协议报文时,检测所述待接收Profinet协议报文和/或所述待发送Profinet协议报文是否为链路层发现协议;
第一协议处理模块,用于若是,则解析所述待接收Profinet协议报文并存储于与所述待接收Profinet协议报文对应的目标接收网口的管理信息库中和/或根据所述待发送Profinet协议报文中源MAC地址确定用于发送所述待发送Profinet协议报文的第一目标发送网口;
第二协议处理模块,用于若否,则确定接收所述待接收Profinet协议报文的接收网口的MAC地址表,并跳转执行监测目标设备中是否存在待接收Profinet协议报文的步骤和/或基于所述待发送Profinet协议报文中的目的MAC地址与各个网口的MAC地址表确定用于发送所述待发送Profinet协议报文的第二目标发送网口。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的Profinet协议报文传输方法的步骤。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的Profinet协议报文传输方法的步骤。
由此可见,本申请公开了一种Profinet协议报文传输方法,包括:当监测到目标设备中存在待接收Profinet协议报文和/或待发送Profinet协议报文时,检测所述待接收Profinet协议报文和/或所述待发送Profinet协议报文是否为链路层发现协议;若是,则解析所述待接收Profinet协议报文并存储于与所述待接收Profinet协议报文对应的目标接收网口的管理信息库中和/或根据所述待发送Profinet协议报文中源MAC地址确定用于发送所述待发送Profinet协议报文的第一目标发送网口;若否,则确定接收所述待接收Profinet协议报文的接收网口的MAC地址表,并跳转执行监测目标设备中是否存在待接收Profinet协议报文的步骤和/或基于所述待发送Profinet协议报文中的目的MAC地址与各个网口的MAC地址表确定用于发送所述待发送Profinet协议报文的第二目标发送网口。可见,通过在各个目标设备中增加Profinet协议报文接收处理流程和Profinet协议报文发送处理流程的方式构建Profinet报文传输模块,以此来替代交换机或交换芯片,使整个通信过程无需外接交换机或交换芯片,也能实现不同节点设备之间的数据通信,显著减少工业现场的组网的复杂度和成本支出。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为现有技术公开的一种星型网络拓扑结构图;
图2为现有技术公开的一种线型网络拓扑结构图;
图3为本申请公开的一种Profinet协议报文传输方法流程图;
图4为本申请公开的一种端口与网口连接示意图;
图5为本申请公开的一种Profinet协议报文传输***框图;
图6为本申请公开的一种Profinet协议报文接收处理的流程图;
图7为本申请公开的一种具体的Profinet协议报文传输方法流程图;
图8为本申请公开的一种Profinet协议报文发送处理的流程图;
图9为本申请公开的一种Profinet协议报文传输装置结构示意图;
图10为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
Profinet协议在工业网络市场日益火爆。一般情况下,在Profinet的星型网络拓扑中,采用交换机实现物理端口与逻辑端口映射,具体如图1所示,即节点设备无需关心通信中另一方在网络中的位置,交换机能够对连接到自身的节点设备进行相应的识别,通过每台设备网卡的物理地址来进行记忆和识别。在这样的前提之下,就不用再进行广播寻找,而能够直接将记忆的MAC地址找到相应的节点并且通过一个临时性专用的数据传输通道,来完成两个节点之间不受外来干扰的数据传输的通信,但是这种方式需要独立交换机支持。如图2所示,在另外的线型网络拓扑中,虽然解决了星形网络拓扑布线复杂的问题,但是由于需要在每台设备中加入以太网交换芯片,对成本方面没有明显改善。
为此,本申请提供了一种Profinet协议报文传输方案,能够解决网络拓扑中的Profinet设备对以太网交换机或者以太网交换芯片的依赖,节约成本,实现方便简单的布线。
参照图3所示,本发明实施例公开了一种Profinet协议报文传输方法,包括:
步骤S11:当监测到目标设备中存在待接收Profinet协议报文和/或待发送Profinet协议报文时,检测所述待接收Profinet协议报文和/或所述待发送Profinet协议报文是否为链路层发现协议。
本实施例中,以线型网络拓扑图中的一个目标设备为例,在目标设备中设置Profinet协议报文接收/发送模块,通过包含Profinet协议报文接收/发送模块在内的Profinet协议报文传输***对目标设备中的待接收Profinet协议报文和待发送Profinet协议报文进行相应的报文监测和报文处理,以通过Profinet协议报文传输***实现目标设备与各个网口的对应关系,在无需交换机或交换芯片的前提下,达到Profinet一致性等级CC-B要求,其中,所述Profinet IO一致性等级(Conformance Class,CC)规定了目标设备必须具备哪些功能及一些可选项功能,它是Profinet IO取得认证的标准,CC-A是指提供集成实时通信的Profinet IO基本功能;CC-B是指在CC-A的基础上,提供网络诊断及管理功能。例如:如图4所示,定义管理端口X1、网口X1 P1和网口X1 P2。这三个接口分别有独立的MAC地址,然后在标准Profinet协议栈和物理网口之间增加Profinet报文接收/发送处理模块,此模块可以实现上图中管理端口X1与网口X1 P1和网口X1 P2的对应关系。因此,当通过Profinet协议报文接收/发送模块检测到存在待接收Profinet协议报文和/或待发送Profinet协议报文时,分别对待接收Profinet协议报文和/或待发送Profinet协议报文进行报文检测,检测待接收Profinet协议报文和/或待发送Profinet协议报文是否为链路层发现协议,也即LLDP协议。
参照图5所示,构建的Profinet协议报文传输***具体包括四个模块:Profinet协议栈、Profinet报文接收/发送处理模块、网口驱动、物理网口,其中,Profinet协议栈负责对接收的Profinet协议报文进行相应处理或者产生待发送的针对其他目标设备的Profinet协议报文;Profinet报文接收/发送处理模块负责对接收的待处理的Profinet协议报文进行分类,确定待处理的Profinet协议报文需要从哪个网口传输至Profinet协议栈,避免Profinet协议栈的排队待处理的Profinet协议报文过多,或者某一个网口前排队的待处理Profinet协议报文过多或过少;通过网口驱动能够根据Profinet报文接收/发送处理模块的相关指令进行协调调动各个物理网口。此外,在较复杂的工业现场中,该Profinet协议报文传输***不仅可以在线型组网中使用,也可以在树形或者星型组网的某一个分支使用。
本实施例中,当目标设备的Profinet协议报文传输***搭建完成后,监测该台目标设备中是否存在待接收Profinet协议报文和/或待发送Profinet协议报文,其中,监测过程中,可能会监测到以下结果:未监测到待接收Profinet协议报文或待发送Profinet协议报文、同时监测到待接收Profinet协议报文和待发送Profinet协议报文、监测到存在待接收Profinet协议报文,但是不存在待发送Profinet协议报文以及未监测到待接收Profinet协议报文,但是监测到存在待发送Profinet协议报文等。
本实施例中,所述当监测到目标设备中存在待接收Profinet协议报文和/或待发送Profinet协议报文时之前,还包括:初始化目标设备,并建立所述目标设备中各个网口的MAC地址表。可以理解的是,利用Profinet协议报文接收/发送模块对目标设备中的待接收Profinet协议报文和/或待发送Profinet协议报文进行处理之前,首先初始化目标设备,当初始化目标设备的过程中,该目标设备建立设备中各个网口的MAC地址表,分别对应网口X1P1和网口X2 P2。每个网口的各自的MAC地址表中分别可以存放若干个MAC地址。
步骤S12:若是,则解析所述待接收Profinet协议报文并存储于与所述待接收Profinet协议报文对应的目标接收网口的管理信息库中和/或根据所述待发送Profinet协议报文中源MAC地址确定用于发送所述待发送Profinet协议报文的第一目标发送网口。
本实施例中,若检测到待接收Profinet协议报文是LLDP协议报文,则将待接收Profinet协议报文存储至接收Profinet协议报文的对应的目标接收网口的mib信息库中。若检测到待发送Profinet协议报文是LLDP协议报文,则从目标设备的所有网口中找到与待发送Profinet协议报文中包含的源MAC地址对应的网口作为第一目标发送网口,以便利用第一目标发送网口将待发送Profinet协议报文发送至其他目标设备中。
步骤S13:若否,则确定接收所述待接收Profinet协议报文的接收网口的MAC地址表,并跳转执行监测目标设备中是否存在待接收Profinet协议报文的步骤和/或基于所述待发送Profinet协议报文中的目的MAC地址与各个网口的MAC地址表确定用于发送所述待发送Profinet协议报文的第二目标发送网口。
本实施例中,若待接收Profinet协议报文不是LLDP协议,则确定目标设备的接收该待接收Profinet协议报文的接收网口,并获取该接收网口的MAC地址表,然后将待接收Profinet协议报文的发送者的MAC地址记录在接收网口的MAC地址表中,更新接收网口的MAC地址表,以便当目标设备对待接收Profinet协议报文处理后,产生了待发送的Profinet协议报文时能够从原接收网口的MAC地址表中确定出原发送者的MAC地址,以便将原接收网口作为发送网口,发送待发送Profinet协议报文至原发送者,向原发送者反馈对应的处理结果。并且在更新接收网口的MAC地址表后,跳转至监测目标设备中是否存在待接收Profinet协议报文的步骤。当目标设备中准备发送待发送Profinet协议报文时,若待发送Profinet协议报文不是LLDP报文,则获取待发送Profinet协议报文中包含的目的MAC地址,并且从目标设备包含的各个网口的MAC地址表中确定出记录目的MAC地址的MAC地址表,并将该MAC地址表对应的网口作为第二目标发送网口,用来发送待发送Profinet协议报文。
本实施例中,所述若否,则确定接收所述待接收Profinet协议报文的接收网口的MAC地址表之后,还包括:判断所述接收网口的MAC地址表中是否存在发送设备的MAC地址;若不存在,则将所述发送设备的MAC地址存储于所述接收网口的MAC地址表中;若存在,则检查所述发送设备的MAC地址是否存在于除所述接收网口外的其他网口的MAC地址表中。可以理解的是,如图6所示,当确定待接收Profinet协议报文的接收网口的MAC地址表后,判断该MAC地址表是否存在发送设备的MAC地址,若不存在,则将该发送设备的MAC地址存储至该接收网口的MAC地址表中,若该MAC地址表中存在发送设备的MAC地址,则立即检查除该接口网口外的其他接收网口的MAC地址表中是否存在发送设备的MAC地址。
所述检查所述发送设备的MAC地址是否存在于除所述接收网口外的其他网口的MAC地址表中之后,还包括:若不存在,则将所述待接收Profinet协议报文发送至Profinet协议栈处理;若存在,则删除所述其他网口的MAC地址表中记载的所述发送设备的MAC地址,更新所述其他网口的MAC地址表。可以理解的是,参照图6所示,在检查其他接收网口是否存在发送设备的MAC地址后,基于检查结果,进一步选择相应的处理方式对待接收Profinet协议报文及其相关信息进行处理,具体的,当检查到发送设备的MAC地址不存在除接收网口外的其他网口的MAC地址表中,则将该待接收Profinet协议报文直接交给Profinet协议栈进行处理;若其他接收网口的MAC地址表中存在发送设备的MAC地址,则删除其他网口的MAC地址表中记载的所述发送设备的MAC地址,同时更新其他网口的MAC地址表,使该发送设备的MAC地址只存在于接收网口的MAC地址表中,保证了信息传输的一致性。
由此可见,本申请公开了一种Profinet协议报文传输方法,包括:当监测到目标设备中存在待接收Profinet协议报文和/或待发送Profinet协议报文时,检测所述待接收Profinet协议报文和/或所述待发送Profinet协议报文是否为链路层发现协议;若是,则解析所述待接收Profinet协议报文并存储于与所述待接收Profinet协议报文对应的目标接收网口的管理信息库中和/或根据所述待发送Profinet协议报文中源MAC地址确定用于发送所述待发送Profinet协议报文的第一目标发送网口;若否,则确定接收所述待接收Profinet协议报文的接收网口的MAC地址表,并跳转执行监测目标设备中是否存在待接收Profinet协议报文的步骤和/或基于所述待发送Profinet协议报文中的目的MAC地址与各个网口的MAC地址表确定用于发送所述待发送Profinet协议报文的第二目标发送网口。可见,通过在各个目标设备中增加Profinet协议报文接收处理流程和Profinet协议报文发送处理流程的方式构建Profinet报文传输模块,以此来替代交换机或交换芯片,使整个通信过程无需外接交换机或交换芯片,也能实现不同节点设备之间的数据通信,显著减少工业现场的组网的复杂度和成本支出。
参照图7所示,本发明实施例公开了一种具体的Profinet协议报文传输方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
步骤S21:查询目标设备中Profinet协议栈,直至查询到所述目标设备中存在待发送Profinet协议报文时,检测所述待发送Profinet协议报文是否为链路层发现协议。
步骤S22:若是,则根据所述待发送Profinet协议报文中源MAC地址确定用于发送所述待发送Profinet协议报文的第一目标发送网口。
本实施例中,参照图8所示,若待发送Profinet协议报文为链路层发现协议,也即LLDP协议,则直接寻找与待发送Profinet协议报文中包含的源MAC地址,并直接根据源MAC地址确定对应的网口作为第一目标发送网口,然后通过第一目标发送网口直接发送待发送Profinet协议报文至其他目标设备。
步骤S23:若否,则分别匹配所述待发送Profinet协议报文中的所述目的MAC地址是否与各个网口的MAC地址表中记载的MAC地址,并获取相应的匹配结果。
本实施例中,如果待发送Profinet协议报文不是LLDP协议,则需要查找此报文中目的MAC地址是否存在于某一网口的MAC地址表中,也即对各个网口的MAC地址表中记载的MAC地址与目的MAC地址进行匹配,以获取各个网口与目的MAC地址的匹配结果。
步骤S24:若所述匹配结果为匹配失败,则将所有网口作为第二目标发送网口发送所述待发送Profinet协议报文
本实施例中,如果该目的MAC地址与所有的网口均匹配失败,也即每一个网口的MAC地址表中均未记载过目的MAC地址,则表明该目的MAC地址对应的其他目标设备是首次与目标设备进行通信,则将所有网口作为第二目标发送网口,采用广播等形式发送待发送Profinet协议报文,以便目的MAC地址能够接收协议报文。
步骤S25:若所述匹配结果为匹配成功,则将匹配成功的网口作为第二目标发送网口发送所述待发送Profinet协议报文。
本实施例中,如果匹配的结果为匹配成功,则表明存在网口的MAC地址表中包含目的MAC地址,相应的,将该网口作为第二目标网口,并通过第二目标网口发送待发送Profinet协议报文。然后跳转至查询Profinet协议栈,继续执行前述步骤。
由此可见,通过以上的待发送Profinet协议报文的发送处理流程,发现通过Profinet协议报文发送处理模块能够对待发送Profinet协议报文进行目的MAC地址与自身各个网口的准确匹配,能够不借助交换机或者交换机芯片也能实现不同目标设备之间的数据传输,能显著减少工业现场组网的复杂度和成本支出,并且不同目标设备组成线型拓扑结构简单、易于现场安装、传输线路短。
参照图9所示,本发明实施例还相应公开了一种Profinet协议报文传输装置,包括:
协议检测模块11,用于当监测到目标设备中存在待接收Profinet协议报文和/或待发送Profinet协议报文时,检测所述待接收Profinet协议报文和/或所述待发送Profinet协议报文是否为链路层发现协议;
第一协议处理模块12,用于若是,则解析所述待接收Profinet协议报文并存储于与所述待接收Profinet协议报文对应的目标接收网口的管理信息库中和/或根据所述待发送Profinet协议报文中源MAC地址确定用于发送所述待发送Profinet协议报文的第一目标发送网口;
第二协议处理模块13,用于若否,则确定接收所述待接收Profinet协议报文的接收网口的MAC地址表,并跳转执行监测目标设备中是否存在待接收Profinet协议报文的步骤和/或基于所述待发送Profinet协议报文中的目的MAC地址与各个网口的MAC地址表确定用于发送所述待发送Profinet协议报文的第二目标发送网口。
由此可见,本申请公开了当监测到目标设备中存在待接收Profinet协议报文和/或待发送Profinet协议报文时,检测所述待接收Profinet协议报文和/或所述待发送Profinet协议报文是否为链路层发现协议;若是,则解析所述待接收Profinet协议报文并存储于与所述待接收Profinet协议报文对应的目标接收网口的管理信息库中和/或根据所述待发送Profinet协议报文中源MAC地址确定用于发送所述待发送Profinet协议报文的第一目标发送网口;若否,则确定接收所述待接收Profinet协议报文的接收网口的MAC地址表,并跳转执行监测目标设备中是否存在待接收Profinet协议报文的步骤和/或基于所述待发送Profinet协议报文中的目的MAC地址与各个网口的MAC地址表确定用于发送所述待发送Profinet协议报文的第二目标发送网口。可见,通过在各个目标设备中增加Profinet协议报文接收处理流程和Profinet协议报文发送处理流程的方式构建Profinet报文传输模块,以此来替代交换机或交换芯片,使整个通信过程无需外接交换机或交换芯片,也能实现不同节点设备之间的数据通信,显著减少工业现场的组网的复杂度和成本支出。
进一步的,本申请实施例还公开了一种电子设备,图10是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图10为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的Profinet协议报文传输方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作***221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作***221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的Profinet协议报文传输方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括电子设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
进一步的,本申请还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的Profinet协议报文传输方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的Profinet协议报文传输方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种Profinet协议报文传输方法,其特征在于,包括:
当监测到目标设备中存在待接收Profinet协议报文和/或待发送Profinet协议报文时,检测所述待接收Profinet协议报文和/或所述待发送Profinet协议报文是否为链路层发现协议;
若是,则解析所述待接收Profinet协议报文并存储于与所述待接收Profinet协议报文对应的目标接收网口的管理信息库中和/或根据所述待发送Profinet协议报文中源MAC地址确定用于发送所述待发送Profinet协议报文的第一目标发送网口;
若否,则确定接收所述待接收Profinet协议报文的接收网口的MAC地址表,并跳转执行监测目标设备中是否存在待接收Profinet协议报文的步骤和/或基于所述待发送Profinet协议报文中的目的MAC地址与各个网口的MAC地址表确定用于发送所述待发送Profinet协议报文的第二目标发送网口;
所述当监测到目标设备中存在待接收Profinet协议报文和/或待发送Profinet协议报文之前,还包括:
在目标设备中设置Profinet协议报文接收/发送模块,以便利用所述Profinet协议报文接收/发送模块对待接收Profinet协议报文和/或待发送Profinet协议报文进行相应的报文监测和报文处理。
2.根据权利要求1所述的Profinet协议报文传输方法,其特征在于,所述若否,则确定接收所述待接收Profinet协议报文的接收网口的MAC地址表之后,还包括:
判断所述接收网口的MAC地址表中是否存在发送设备的MAC地址;
若不存在,则将所述发送设备的MAC地址存储于所述接收网口的MAC地址表中;
若存在,则检查所述发送设备的MAC地址是否存在于除所述接收网口外的其他网口的MAC地址表中。
3.根据权利要求2所述的Profinet协议报文传输方法,其特征在于,所述检查所述发送设备的MAC地址是否存在于除所述接收网口外的其他网口的MAC地址表中之后,还包括:
若不存在,则将所述待接收Profinet协议报文发送至Profinet协议栈处理;
若存在,则删除所述其他网口的MAC地址表中记载的所述发送设备的MAC地址,更新所述其他网口的MAC地址表。
4.根据权利要求1所述的Profinet协议报文传输方法,其特征在于,所述当监测到目标设备中存在待发送Profinet协议报文时,检测所述待发送Profinet协议报文是否为链路层发现协议,包括:
查询所述目标设备中Profinet协议栈,直至查询到目标设备中存在待发送Profinet协议报文时,检测所述待发送Profinet协议报文是否为链路层发现协议。
5.根据权利要求1所述的Profinet协议报文传输方法,其特征在于,所述若否,则基于所述待发送Profinet协议报文中的目的MAC地址与各个网口的MAC地址表确定用于发送所述待发送Profinet协议报文的第二目标发送网口,包括:
若否,则分别匹配所述待发送Profinet协议报文中的所述目的MAC地址是否与各个网口的MAC地址表中记载的MAC地址,并获取相应的匹配结果;
若所述匹配结果为匹配失败,则将所有网口作为第二目标发送网口发送所述待发送Profinet协议报文。
6.根据权利要求5所述的Profinet协议报文传输方法,其特征在于,所述获取相应的匹配结果之后,还包括:
若所述匹配结果为匹配成功,则将匹配成功的网口作为第二目标发送网口发送所述待发送Profinet协议报文。
7.根据权利要求1至6任一项所述的Profinet协议报文传输方法,其特征在于,所述当监测到目标设备中存在待接收Profinet协议报文和/或待发送Profinet协议报文时之前,还包括:
初始化目标设备,并建立所述目标设备中各个网口的MAC地址表。
8.一种Profinet协议报文传输装置,其特征在于,包括:
协议检测模块,用于当监测到目标设备中存在待接收Profinet协议报文和/或待发送Profinet协议报文时,检测所述待接收Profinet协议报文和/或所述待发送Profinet协议报文是否为链路层发现协议;
第一协议处理模块,用于若是,则解析所述待接收Profinet协议报文并存储于与所述待接收Profinet协议报文对应的目标接收网口的管理信息库中和/或根据所述待发送Profinet协议报文中源MAC地址确定用于发送所述待发送Profinet协议报文的第一目标发送网口;
第二协议处理模块,用于若否,则确定接收所述待接收Profinet协议报文的接收网口的MAC地址表,并跳转执行监测目标设备中是否存在待接收Profinet协议报文的步骤和/或基于所述待发送Profinet协议报文中的目的MAC地址与各个网口的MAC地址表确定用于发送所述待发送Profinet协议报文的第二目标发送网口;
所述Profinet协议报文传输装置,具体用于在目标设备中设置Profinet协议报文接收/发送模块,以便利用所述Profinet协议报文接收/发送模块对待接收Profinet协议报文和/或待发送Profinet协议报文进行相应的报文监测和报文处理。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的Profinet协议报文传输方法的步骤。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的Profinet协议报文传输方法的步骤。
CN202310706944.XA 2023-06-15 2023-06-15 Profinet协议报文传输方法、装置、设备及介质 Active CN116436994B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310706944.XA CN116436994B (zh) 2023-06-15 2023-06-15 Profinet协议报文传输方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310706944.XA CN116436994B (zh) 2023-06-15 2023-06-15 Profinet协议报文传输方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN116436994A CN116436994A (zh) 2023-07-14
CN116436994B true CN116436994B (zh) 2023-08-25

Family

ID=87092962

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310706944.XA Active CN116436994B (zh) 2023-06-15 2023-06-15 Profinet协议报文传输方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN116436994B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008089901A1 (de) * 2007-01-22 2008-07-31 Phoenix Contact Gmbh & Co. Kg Verfahren und anlage zur optimierten übertragung von daten zwischen einer steuereinrichtung und mehreren feldgeräten
CN103986601A (zh) * 2014-05-16 2014-08-13 北京东土科技股份有限公司 一种报文传输时延获取方法及装置
CN104601569A (zh) * 2015-01-13 2015-05-06 国家电网公司 一种提高profinet协议中通信报文利用率的方法
CN108809949A (zh) * 2018-05-21 2018-11-13 辽宁大学 profinet、FF H1、CAN和profibus协议之间转换和调度的方法
WO2019227891A1 (zh) * 2018-05-31 2019-12-05 杭州海康威视数字技术股份有限公司 一种实现节点间通讯的方法、装置及电子设备
CN111526051A (zh) * 2020-04-17 2020-08-11 深圳市汇川技术股份有限公司 实现PROFINET到CANopen转换的***及方法
CN111866020A (zh) * 2020-07-31 2020-10-30 深圳市英威腾电气股份有限公司 一种通讯卡以及一种通讯方法
CN112448924A (zh) * 2019-08-30 2021-03-05 北京东土科技股份有限公司 一种兼容多种协议的报文处理方法、***及交换设备
WO2021094572A1 (de) * 2019-11-14 2021-05-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Drahtloser datenswitch für isochrone echtzeitkommunikation
WO2021120285A1 (zh) * 2019-12-16 2021-06-24 中国科学院沈阳自动化研究所 Profinet协议在工业sdn中的接入方法
CN114827292A (zh) * 2022-04-14 2022-07-29 重庆邮电大学 工业异构协议高速转换优化处理方法及***
CN115457754A (zh) * 2022-07-20 2022-12-09 新华三技术有限公司 一种报文传输方法及装置
CN116122832A (zh) * 2023-02-24 2023-05-16 中铁电气化局集团有限公司 一种用于远程控制盾构机的***

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008089901A1 (de) * 2007-01-22 2008-07-31 Phoenix Contact Gmbh & Co. Kg Verfahren und anlage zur optimierten übertragung von daten zwischen einer steuereinrichtung und mehreren feldgeräten
CN103986601A (zh) * 2014-05-16 2014-08-13 北京东土科技股份有限公司 一种报文传输时延获取方法及装置
CN104601569A (zh) * 2015-01-13 2015-05-06 国家电网公司 一种提高profinet协议中通信报文利用率的方法
CN108809949A (zh) * 2018-05-21 2018-11-13 辽宁大学 profinet、FF H1、CAN和profibus协议之间转换和调度的方法
WO2019227891A1 (zh) * 2018-05-31 2019-12-05 杭州海康威视数字技术股份有限公司 一种实现节点间通讯的方法、装置及电子设备
CN112448924A (zh) * 2019-08-30 2021-03-05 北京东土科技股份有限公司 一种兼容多种协议的报文处理方法、***及交换设备
WO2021094572A1 (de) * 2019-11-14 2021-05-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Drahtloser datenswitch für isochrone echtzeitkommunikation
WO2021120285A1 (zh) * 2019-12-16 2021-06-24 中国科学院沈阳自动化研究所 Profinet协议在工业sdn中的接入方法
CN111526051A (zh) * 2020-04-17 2020-08-11 深圳市汇川技术股份有限公司 实现PROFINET到CANopen转换的***及方法
CN111866020A (zh) * 2020-07-31 2020-10-30 深圳市英威腾电气股份有限公司 一种通讯卡以及一种通讯方法
CN114827292A (zh) * 2022-04-14 2022-07-29 重庆邮电大学 工业异构协议高速转换优化处理方法及***
CN115457754A (zh) * 2022-07-20 2022-12-09 新华三技术有限公司 一种报文传输方法及装置
CN116122832A (zh) * 2023-02-24 2023-05-16 中铁电气化局集团有限公司 一种用于远程控制盾构机的***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IP地址组建管理及策略研究;张斌;邱礼龙;;科协论坛(下半月)(第12期);全文 *

Also Published As

Publication number Publication date
CN116436994A (zh) 2023-07-14

Similar Documents

Publication Publication Date Title
CN110401568B (zh) 一种网络拓扑发现方法及设备
EP1892929B1 (en) A method, an apparatus and a system for message transmission
CN112953774B (zh) 一种网络拓扑生成方法、***、设备及计算机存储介质
CN108924274B (zh) 域名***dns处理方法、装置、存储介质及电子设备
US20020124079A1 (en) System for inference of presence of network infrastructure devices
CN107947994B (zh) 网络拓扑自发现方法、装置、网络设备及计算机存储介质
US20120243521A1 (en) Gateway device
CN114285695B (zh) 通信方法、装置、设备、***和存储介质
CN113273135B (zh) 变电站中的网络拓扑发现
CN109861869B (zh) 一种配置文件的生成方法及装置
CN107181689B (zh) 路由器之间的消息交互方法和装置
CN108881247B (zh) 报文转换方法、装置、网关设备及存储介质
CN116827801B (zh) 网络拓扑构建方法、装置、计算机设备及可读存储介质
CN116436994B (zh) Profinet协议报文传输方法、装置、设备及介质
CN113596017A (zh) 一种协议解析方法、装置、软网关和存储介质
CN112994936A (zh) 一种组网信息展示方法、装置、***及路由设备
CN114374637B (zh) 一种路由处理方法及装置
CN112866107B (zh) Ip地址通告方法、流量引导方法及网络设备
CN112910910B (zh) Opcda协议报文处理方法、装置、设备以及存储介质
CN112543142B (zh) 基于fpga实现rstp环网协议的方法和装置
CN114422437A (zh) 一种异构报文的转发方法及装置
CN113904980B (zh) 一种信道切换方法、装置、交换机及存储介质
WO2015131617A1 (zh) 流表处理方法、装置、开放流控制器及开放流交换机
US20080155047A1 (en) Method for managing and setting many network devices
CN117082033A (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