CN112929329B - 一种基于Ethernet/IP协议的集群控制系统及其通信方法 - Google Patents
一种基于Ethernet/IP协议的集群控制系统及其通信方法 Download PDFInfo
- Publication number
- CN112929329B CN112929329B CN202110055948.7A CN202110055948A CN112929329B CN 112929329 B CN112929329 B CN 112929329B CN 202110055948 A CN202110055948 A CN 202110055948A CN 112929329 B CN112929329 B CN 112929329B
- Authority
- CN
- China
- Prior art keywords
- byte
- message
- polling
- cluster
- portno
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/326—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Abstract
本发明公开了一种基于Ethernet/IP协议的集群控制系统及其通信方法,所述方法包括以下步骤:在应用层采用应用层数据报文UEP进行传输;其中,所述应用层数据报文UEP包括:集群控制器向单机设备发送的轮询报文、单机设备对集群控制系统轮询报文的应答报文;在传输层基于UDP向下传输的;通过网络层的IP协议向下传输至数据链路层。本发明基于UDP/IP协议的工业互联网Ethernet协议提出一种集群控制系统通信方法,能够实现集群控制与单机设备的通信。
Description
技术领域
本发明属于计算机通信技术领域,特别涉及一种基于Ethernet/IP协议的集群控制系统及其通信方法。
背景技术
集群控制有很多应用场景,如生产制造、智能家居、机器人快递包裹分拣等,主控机和从控机以及其上部署的集群控制软件构成一个集群。在工业控制领域,目前普遍采用三种工业通信网络:现场总线、工业以太网和工业无线网络;其中,工业以太网因具有实效性高、可靠性强和易维护性的特点,而广泛应用于工业控制领域,其已经成为控制系统网络发展的主要方向。
在工业生产制造中,往往需要成百上千的机器协调完成一项任务;对机器运行状态的检测和控制成为工业成产自动化中的关键技术;在大多数的设计方案中,会选择在主控机和从控机上部署集群控制系统,以保证主控机能够检测从控机的状态并向从控机发出指令来操控其运行。Ethernet/IP协议是一种优良的工业以太网方案。目前在工业控制领域使用的集群控制系统大多数是采用基于TCP/IP协议的Ethernet协议,实时性不高,不能满足对实时控制要求高的领域;且因TCP协议是面向连接的,“一对一”的,不能简单采用“一对多”的广播方式,这就导致在并行处理中主控机无法通过广播方式向所有从控机发出指令。
综上,亟需一种新的基于Ethernet/IP协议的集群控制系统及其通信方法。
发明内容
本发明的目的在于提供一种基于Ethernet/IP协议的集群控制系统及其通信方法,以解决上述存在的一个或多个技术问题。本发明能够实现集群控制与单机设备的通信。
为达到上述目的,本发明采用以下技术方案:
本发明的一种基于Ethernet/IP协议的集群控制系统的通信方法,包括以下步骤:
在应用层采用应用层数据报文UEP进行传输;其中,所述应用层数据报文UEP包括:集群控制器向单机设备发送的轮询报文、单机设备对集群控制系统轮询报文的应答报文;
在传输层基于UDP向下传输的;
通过网络层的IP协议向下传输至数据链路层。
本发明的进一步改进在于,所述在应用层采用应用层数据报文UEP进行传输的具体步骤包括:
S1:主控机通过集群控制器对单机设备发出轮询polling报文;
S2:单机设备收到polling报文,对集群控制器返回answer应答;
S3:若集群控制器收到answer应答,则下达命令或者下发数据给单机设备;否则继续轮询;
S4:若单机设备收到集群控制器发送的指令或者数据,则向集群控制器发送回执;否则继续等待;
S5:若集群控制器收到回执,则对比报文编号,若正确则表示该报文发送成功;若没有收到回执,继续下达指令;
其中,约束条件包括:若集群控制器下达的预设条轮询指令都没有应答,则认为通信故障。
本发明的进一步改进在于,所述在应用层采用应用层数据报文UEP进行传输的具体步骤还包括:
S6:单机设备收到下达的指令,通过对比报文的编号判断是否是同一个指令;其中,若是,则不执行;否,则执行指令。
本发明的进一步改进在于,步骤S1中,集群控制器需要获取单机设备的设备信息时,通过广播方式查询,逐一根据报文头部编号信息获得;其中,集群控制器向单机设备发送的轮询报文的基本格式为,
字节 | 内容 | 说明 |
0 | 10进制 | 节点名称No. |
1 | 10进制 | 循环序列(1~255) |
2 | BCD | 命令类型(1或2或3) |
3 | 10进制 | 传送数据的字节长度Len |
4 | BCD | 可变 |
5 | BCD | 可变 |
6 | CRC高8位 | 循环冗余校验码 |
7 | CRC高8位 | 循环冗余校验码 |
字节0用于表示表示轮询节点编号;如果是广播,则为0;
字节1用于表示循环序列,当多个UDP协议报文才能发送一条完整的命令或传送加工数据时,用于标识单个报文的编号;
字节2命令类型为1时,表示向单机设备发出的数据要求;字节3的长度固定为2;字节4、字节5的内容为00固定不变;其中,当采用广播方式时,节点编码为广播位;当采用单点模式时,为向某个单机设备要求其状态信息,节点编码为该单机设备的IP地址;
字节2命令类型为2时,表示向单机设备发送控制指令;字节3的长度固定为2;字节4、字节5的内容根据约定来设置控制命令;
字节2命令类型为3时,表示向单机设备发送加工数据;字节3的长度根据实际需求扩展;
CRC循环冗余校验码根据字节3给出的长度从字节4开始算起;CRC计算采用f(x)=x16+x12+x1+1多项式。
本发明的进一步改进在于,步骤S2中,单机设备响应集群控制系统轮询报文命令类型1的应答报文格式包括:根据UDP/IP协议通信应用层应答,单机设备对集群控制器命令类型1的应答报文格式为,
字节 | 内容 | 说明 |
0 | 10进制 | 节点名称No. |
1 | 10进制 | 回送polling的循环序列 |
2 | BCD | 回送polling的命令类型 |
3 | 10进制 | 传送数据的字节长度Len |
4 | BCD | 可变 |
5 | BCD | 可变 |
6 | CRC高8位 | 循环冗余校验码 |
7 | CRC低8位 | 循环冗余校验码 |
CRC循环冗余校验码根据字节3给出的长度从字节4开始算起;
CRC计算采用f(x)=x16+x12+x1+1多项式;
字节0根据该单机设备的IP地址填写节点名称;
字节1根据下发的轮询命令的循环码,返回同样的值,确认轮询包已收到;
字节2设置为1,用于表示应答命令为1的轮询报文;
字节3表示数据部分长度;
字节4和字节5根据检测数据的大小调节,回传设备检测的数据。
本发明的进一步改进在于,步骤S2中,单机设备对集群控制系统的轮询报文命令类型2和类型3的应答报文格式:根据UDP/IP协议通信应用层应答,撰写单机设备对集群控制系统的下发的数据或控制指令的应答格式,单机设备对于命令类型2和命令类型3的应答报文格式为,
字节 | 内容 | 说明 |
0 | 10进制 | 节点名称No. |
1 | 10进制 | 回送polling的循环序列 |
2 | BCD | 回送polling的命令类型 |
3 | 10进制 | 传送数据的字节长度Len |
4 | BCD | 可变 |
5 | BCD | 可变 |
6 | CRC高8位 | 循环冗余校验码 |
7 | CRC低8位 | 循环冗余校验码 |
CRC循环冗余校验码根据字节3给出的长度从字节4开始算起;
CRC计算采用f(x)=x16+x12+x1+1多项式;
字节0根据单机设备的IP地址填写节点名称;
字节1根据下发的轮询命令的循环码,返回同样的值,确认轮询报文已收到;
字节2设置为2,用于表示应答命令类型为2的轮询报文;或者,字节2设置为3,用于表示应答命令类型为3的轮询报文;
字节3表示数据部分的长度,固定为Len=2;
字节4和字节5用于设置回传的确认内容。
本发明的进一步改进在于,集群控制系统通信IP地址设置为,
IP地址 | 发送端端口 | 接收端端口 | |
集群控制器1 | 192.168.250.08 | PortNo.6000 | PortNo.6001 |
集群控制器2 | 192.168.250.09 | PortNo.6000 | PortNo.6001 |
集群控制器3 | 192.168.250.10 | PortNo.6000 | PortNo.6001 |
单机设备1 | 192.168.250.11 | PortNo.6001 | PortNo.6000 |
单机设备2 | 192.168.250.12 | PortNo.6001 | PortNo.6000 |
单机设备3 | 192.168.250.13 | PortNo.6001 | PortNo.6000 |
单机设备4 | 192.168.250.14 | PortNo.6001 | PortNo.6000 |
单机设备5 | 192.168.250.15 | PortNo.6001 | PortNo.6000 |
。
本发明的进一步改进在于,集群控制器对单机设备下达轮询指令时,以广播方式进行;对某个单机设备通信或单机设备与集群控制器通信时,以点对点方式进行。
本发明的一种基于Ethernet/IP协议的集群控制系统,采用本发明上述的通信方法。
本发明的进一步改进在于,所述集群控制系统包括一主控机和若干副主控机。
与现有技术相比,本发明具有以下有益效果:
本发明基于UDP/IP协议的工业互联网Ethernet协议提出一种集群控制系统通信方法,能够实现集群控制与单机设备的通信,具体功能包括:单机设备(从控机)通过集群控制通信方法向主控机上传各种设备信息;主控机通过集群控制通信方法给单机设备(从控机)下达控制指令;主控机通过集群控制通信方法给单机设备(从控机)下发大量数据,并控制其处理;其具有的优点包括:
(1)实时性强,数据传输快:其采用UDP协议,数据传输的速度更快,适用于并行处理大量数据的情形。
(2)健壮性高,可靠性强:其采用若干台副主控机辅助一台主控机的设计方案,有效保证了集群控制通信的可靠性,可避免当主控机不在正常状态(离线、出现故障等)时,系统出现瘫痪。
(3)在应用层设计专用的应用层数据报文,能够保证数据的可靠传输。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面对实施例或现有技术描述中所需要使用的附图做简单的介绍;显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种基于Ethernet/IP协议的集群控制系统的通信方法的示意图;
图2是本发明实施例的一种基于Ethernet/IP协议的集群控制系统的示意图;
图3是本发明实施例中,集群控制器与单机设备通信设计示意图。
具体实施方式
为使本发明实施例的目的、技术效果及技术方案更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述;显然,所描述的实施例是本发明一部分实施例。基于本发明公开的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的其它实施例,都应属于本发明保护的范围。
请参阅图1,本发明实施例的一种基于Ethernet/IP协议的集群控制系统的通信方法,其在基于TCP/IP协议的工业互联网Ethernet/IP协议的基础上改进,是一种基于UDP/IP协议的工业互联网Ethernet/IP协议;其自顶向下,应用层采用UEP(UDP based onEthernet Protocol)进行传输,在传输层多数情况是利用TCP向下传输的,而本发明是基于UDP向下传输的,再通过网络层的IP协议向下传输至数据链路层。本发明采用UDP协议,而非TCP协议的考量包括:(1)UDP协议传输速度比TCP协议快,在工业控制领域并行处理任务中,有时需要下发大量的数据,对传输速度有着较高的要求。(2)主控机可以通过UDP协议对集群控制系统内的设备进行广播。在获取单机设备检测信息时,通过广播方式下达收集指令是一种便捷的处理方式,而TCP协议无法实现此功能。(3)UDP协议的缺点是不可靠的无连接传输协议,但是可以通过顶层应用层的协议来保证其传输的安全、可靠和排序。
(2)为保证集群控制系统的健壮性,设计一台主控机和若干台副主控机充当控制机。这些机器之间的关系是:主控机通过集群控制系统下达到从控机的每一条指令以及从控机发往主控机的反馈信息都在每台副主控机上备份。当主控机正常工作时,副主控机不参与常规的机器状态监测和控制。而一旦集群控制系统检测到主控机不在正常工作状态时,启功副主控机中的一个作为主控机,从而发挥作用。集群控制系统通信模块架构如图2所示。
(3)在应用层设计出专门的应用层数据报文UEP(包括集群控制器向单机设备发送的轮询报文和单机设备对集群控制系统轮询报文的应答报文),以保证数据的可靠传输。
请参阅图3,图3是集群控制器与单机设备通信的应用层应答机制示意图,具体通信步骤为:
S1:主控机通过集群控制器首先对单机设备发出轮询polling报文,要求与单机设备进行通信。
S2:若单机设备收到polling报文,那么对集群控制器返回一个answer应答。
S3:若集群控制器收到answer应答,那么下达命令或者下发数据给单机设备;若没有收到answer应答,则继续轮询。
S4:单机设备若收到集群控制器发送的指令或者数据,则向集群控制器,发送一个回执;若没有收到则继续等待。
S5:若集群控制器收到回执,通过对比报文编号,正确,表示该报文发送成功;若没有收到回执,继续下达指令。
S6:若单机设备收到下达的指令,通过对比报文的编号,判断是否是同一个指令,若是,不执行;反之,执行指令。
约束条件:若集群控制器下达的3条轮询指令都没有应答,那么认为通信故障。
具体通信协议应用层的数据报文定义如下:
(1)集群控制器轮询数据报文:当集群控制器需要获取单机设备的设备信息时,以广播方式进行。通过广播查询,逐一根据报文头部编号信息获得。由于一个局域网内的IP地址是从0~255,除去广播位和特殊位,还剩254个IP地址。因此,一般来说,每个集群控制器最多可以控制254台单机设备。表1是集群控制器向单机设备发送的轮询报文的基本格式。
表1.集群控制器向单机设备轮询报文基本格式
字节 | 内容 | 说明 |
0 | 10进制 | 节点名称No. |
1 | 10进制 | 循环序列(1~255) |
2 | BCD | 命令类型(1或2或3) |
3 | 10进制 | 传送数据的字节长度Len |
4 | BCD | 可变 |
5 | BCD | 可变 |
6 | CRC高8位 | 循环冗余校验码 |
7 | CRC高8位 | 循环冗余校验码 |
集群控制器向单机设备轮询报文基本格式如表1所示,具体说明如下:
①字节0表示表示轮询节点编号;如果是广播,则为0。用于解决网络中,多个节点收发标识号,避免冲突,可以完成多个节点的传输校验
②字节1表示循环序列。当多个UDP协议报文才能发送一条完整的命令或传送加工数据时,用来标识单个报文的编号,避免多个报文连续收发的错误或遗漏。用于完成报文编号的校验。
③字节2命令类型为1时,表示向单机设备发出的数据要求(Request)。字节3的长度固定为2.字节4和字节5的内容为00固定不变。A.当采用广播方式时,节点编码为广播位。B.当采用单点模式,为向某个单机设备要求其状态信息时,节点编码为该设备的IP地址。
④字节2命令类型为2时,表示向单机设备发送控制指令(Command)。字节3的长度固定为2。字节4和字节5的内容可以根据约定来设置控制命令。(见后文控制命令约定表)。
⑤字节2命令类型为3时,表示向单机设备发送加工数据(Data)。字节3的长度可以根据实际需求扩展。因为UDP协议的单个数据报文最大长度为128个字节,因此可以固定数据报文长度为120个字节。多余的两个字节用于对加工数据做应用层的进一步校验。
⑥CRC循环冗余校验码根据字节3给出的长度从字节4开始算起(表1中的4和5两个字节)。CRC计算采用f(x)=x16+x12+x1+1多项式(以下CRC计算全部相同)。
(2)单机设备响应集群控制系统轮询报文命令类型1的应答报文格式:根据上述UDP/IP协议通信应用层应答,撰写单机设备对集群控制系统的应答格式,如表2单机设备对集群控制器命令1的应答报文格式。
表2.单机设备对于命令类型为1的应答报文基本格式
字节 | 内容 | 说明 |
0 | 10进制 | 节点名称No. |
1 | 10进制 | 回送polling的循环序列 |
2 | BCD | 回送polling的命令类型 |
3 | 10进制 | 传送数据的字节长度Len |
4 | BCD | 可变 |
5 | BCD | 可变 |
6 | CRC高8位 | 循环冗余校验码 |
7 | CRC低8位 | 循环冗余校验码 |
该报文为单机设备向集群控制器发送其加工状态的数据报文。具体说明如下:
①CRC循环冗余校验码根据字节3给出的长度从字节4开始算起(表1中的4和5两个字节)。
②CRC计算采用f(x)=x16+x12+x1+1多项式(以下CRC计算全部相同)。
③字节0根据该单机设备的IP地址填写节点名称No.-。
④字节1根据下发的轮询命令的循环码,返回同样的值,确认轮询包已收到。
⑤字节2设置为1:表示应答命令为1的轮询报文。
⑥字节3表示数据部分长度。
⑦字节4和字节5可以根据具体检测数据的大小调节,回传设备检测的数据。
(3)单机设备对集群控制系统的轮询报文命令类型2和3的应答报文格式:根据上述的UDP/IP协议通信应用层应答,撰写单机设备对集群控制系统的下发的数据/控制指令的应答格式,如表3单机设备对集群控制器命令类型2和3的应答报文格式。
表3.单机设备对于命令2和3的应答报文基本格式
字节 | 内容 | 说明 |
0 | 10进制 | 节点名称No. |
1 | 10进制 | 回送polling的循环序列 |
2 | BCD | 回送polling的命令类型 |
3 | 10进制 | 传送数据的字节长度Len |
4 | BCD | 可变 |
5 | BCD | 可变 |
6 | CRC高8位 | 循环冗余校验码 |
7 | CRC低8位 | 循环冗余校验码 |
该报文为单机设备向集群控制器发送其收到控制指令/加工数据的确认报文。具体说明如下:
①CRC循环冗余校验码根据字节3给出的长度从字节4开始算起(表1中的4和5两个字节)。
②CRC计算采用f(x)=x16+x12+x1+1多项式(以下CRC计算方式全部相同)
③字节0根据该单机设备的IP地址填写节点名称No.-。
④字节1根据下发的轮询命令的循环码,返回同样的值,确认轮询报文已收到。
⑤字节2设置为2,用于表示应答命令类型为2的轮询报文;或者,字节2设置为3,用于表示应答命令类型为3的轮询报文;
⑥字节3表示数据部分的长度,固定为Len=2。
⑦字节4和字节5,可以根据具体情况设置回传的确认内容。例:一个大的加工数据报文可能需要分成多个数据报文来传送,则这两位用于给数据报文编号,在后续监听收集数据时,可用于确认数据报文的完整性。表4给出了整个集群控制系统中的IP地址设置的一种可能的情形。
表4.集群控制系统通信IP地址设置
IP地址 | 发送端端口 | 接收端端口 | |
集群控制器1 | 192.168.250.08 | PortNo.6000 | PortNo.6001 |
集群控制器2 | 192.168.250.09 | PortNo.6000 | PortNo.6001 |
集群控制器3 | 192.168.250.10 | PortNo.6000 | PortNo.6001 |
单机设备1 | 192.168.250.11 | PortNo.6001 | PortNo.6000 |
单机设备2 | 192.168.250.12 | PortNo.6001 | PortNo.6000 |
单机设备3 | 192.168.250.13 | PortNo.6001 | PortNo.6000 |
单机设备4 | 192.168.250.14 | PortNo.6001 | PortNo.6000 |
单机设备5 | 192.168.250.15 | PortNo.6001 | PortNo.6000 |
注意:(1)集群控制器对单机设备下达轮询指令时,以广播方式进行;对某个单机设备通信或单机设备与集群控制器通信时,以点对点方式进行。(2)组建局域网控制系统时,如果设备采用桌面操作系统,需要关闭防火墙。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员依然可以对本发明的具体实施方式进行修改或者等同替换,这些未脱离本发明精神和范围的任何修改或者等同替换,均在申请待批的本发明的权利要求保护范围之内。
Claims (8)
1.一种基于Ethernet/IP协议的集群控制系统的通信方法,其特征在于,包括以下步骤:
在应用层采用应用层数据报文UEP进行传输;其中,所述应用层数据报文UEP包括:集群控制器向单机设备发送的轮询报文、单机设备对集群控制系统轮询报文的应答报文;
在传输层基于UDP向下传输的;
通过网络层的IP协议向下传输至数据链路层;
其中,所述在应用层采用应用层数据报文UEP进行传输的具体步骤包括:
S1:主控机通过集群控制器对单机设备发出轮询polling报文;
S2:单机设备收到polling报文,对集群控制器返回answer应答;
S3:若集群控制器收到answer应答,则下达命令或者下发数据给单机设备;否则继续轮询;
S4:若单机设备收到集群控制器发送的指令或者数据,则向集群控制器发送回执;否则继续等待;
S5:若集群控制器收到回执,则对比报文编号,若正确则表示该报文发送成功;若没有收到回执,继续下达指令;其中,约束条件包括:若集群控制器下达的预设条轮询指令都没有应答,则认为通信故障;
S6:单机设备收到下达的指令,通过对比报文的编号判断是否是同一个指令;其中,若是,则不执行;否,则执行指令。
2.根据权利要求1所述的一种基于Ethernet/IP协议的集群控制系统的通信方法,其特征在于,步骤S1中,集群控制器需要获取单机设备的设备信息时,通过广播方式查询,逐一根据报文头部编号信息获得;其中,集群控制器向单机设备发送的轮询报文的基本格式为,
字节0用于表示轮询节点编号;如果是广播,则为0;
字节1用于表示循环序列,当多个UDP协议报文才能发送一条完整的命令或传送加工数据时,用于标识单个报文的编号;
字节2命令类型为1时,表示向单机设备发出的数据要求;字节3的长度固定为2;字节4、字节5的内容为00固定不变;其中,当采用广播方式时,节点编码为广播位;当采用单点模式时,为向某个单机设备要求其状态信息,节点编码为该单机设备的IP地址;
字节2命令类型为2时,表示向单机设备发送控制指令;字节3的长度固定为2;字节4、字节5的内容根据约定来设置控制命令;
字节2命令类型为3时,表示向单机设备发送加工数据;字节3的长度根据实际需求扩展;
CRC循环冗余校验码根据字节3给出的长度从字节4开始算起;CRC计算采用f(x)=x16+x12+x1+1多项式。
3.根据权利要求2所述的一种基于Ethernet/IP协议的集群控制系统的通信方法,其特征在于,步骤S2中,单机设备响应集群控制系统轮询报文命令类型1的应答报文格式包括:根据UDP/IP协议通信应用层应答,单机设备对集群控制器命令类型1的应答报文格式为,
CRC循环冗余校验码根据字节3给出的长度从字节4开始算起;
CRC计算采用f(x)=x16+x12+x1+1多项式;
字节0根据该单机设备的IP地址填写节点名称;
字节1根据下发的轮询命令的循环码,返回同样的值,确认轮询包已收到;
字节2设置为1,用于表示应答命令为1的轮询报文;
字节3表示数据部分长度;
字节4和字节5根据检测数据的大小调节,回传设备检测的数据。
4.根据权利要求3所述的一种基于Ethernet/IP协议的集群控制系统的通信方法,其特征在于,步骤S2中,单机设备对集群控制系统的轮询报文命令类型2和类型3的应答报文格式:根据UDP/IP协议通信应用层应答,撰写单机设备对集群控制系统的下发的数据或控制指令的应答格式,单机设备对于命令类型2和命令类型3的应答报文格式为,
CRC循环冗余校验码根据字节3给出的长度从字节4开始算起;
CRC计算采用f(x)=x16+x12+x1+1多项式;
字节0根据单机设备的IP地址填写节点名称;
字节1根据下发的轮询命令的循环码,返回同样的值,确认轮询报文已收到;
字节2设置为2,用于表示应答命令类型为2的轮询报文;或者,字节2设置为3,用于表示应答命令类型为3的轮询报文;
字节3表示数据部分的长度,固定为Len=2;
字节4和字节5用于设置回传的确认内容。
5.根据权利要求4所述的一种基于Ethernet/IP协议的集群控制系统的通信方法,其特征在于,集群控制系统通信IP地址设置为,
。
6.根据权利要求1所述的一种基于Ethernet/IP协议的集群控制系统的通信方法,其特征在于,集群控制器对单机设备下达轮询指令时,以广播方式进行;对某个单机设备通信或单机设备与集群控制器通信时,以点对点方式进行。
7.一种基于Ethernet/IP协议的集群控制系统,其特征在于,采用权利要求1所述的通信方法。
8.根据权利要求7所述的一种基于Ethernet/IP协议的集群控制系统,其特征在于,所述集群控制系统包括一主控机和若干副主控机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110055948.7A CN112929329B (zh) | 2021-01-15 | 2021-01-15 | 一种基于Ethernet/IP协议的集群控制系统及其通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110055948.7A CN112929329B (zh) | 2021-01-15 | 2021-01-15 | 一种基于Ethernet/IP协议的集群控制系统及其通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112929329A CN112929329A (zh) | 2021-06-08 |
CN112929329B true CN112929329B (zh) | 2021-12-28 |
Family
ID=76162991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110055948.7A Active CN112929329B (zh) | 2021-01-15 | 2021-01-15 | 一种基于Ethernet/IP协议的集群控制系统及其通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112929329B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114786074B (zh) * | 2022-06-20 | 2022-09-09 | 中国空气动力研究与发展中心低速空气动力研究所 | 一种风洞测压数据的传输方法及传输系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108512753A (zh) * | 2017-02-28 | 2018-09-07 | 华为技术有限公司 | 一种集群文件系统中消息传输的方法及装置 |
CN208596305U (zh) * | 2018-07-12 | 2019-03-12 | 中国石油天然气股份有限公司 | 控制系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2399712A (en) * | 2003-03-17 | 2004-09-22 | Orange Personal Comm Serv Ltd | Telecommunications apparatus and method for multiple data type packets |
CN100366001C (zh) * | 2006-01-05 | 2008-01-30 | 西安交通大学 | 一种具有弹性体系架构的集群管理监控系统的构建方法 |
CN101136790B (zh) * | 2006-09-01 | 2010-09-01 | 中兴通讯股份有限公司 | 以太网交换机集群管理的自动化测试系统及方法 |
US9385874B2 (en) * | 2013-01-23 | 2016-07-05 | Nexenta Systems, Inc. | Scalable transport with client-consensus rendezvous |
CN103415083B (zh) * | 2013-07-10 | 2016-02-10 | 航天东方红卫星有限公司 | 一种适用于小卫星集群的星间组网通信方法 |
CN105900518B (zh) * | 2013-08-27 | 2019-08-20 | 华为技术有限公司 | 用于移动网络功能虚拟化的系统及方法 |
CN106936843A (zh) * | 2017-03-31 | 2017-07-07 | 山东超越数控电子有限公司 | 一种用于管理工业自动化系统的通用协议层体系结构及其管理方法 |
CN110166450B (zh) * | 2019-05-17 | 2021-11-05 | 固高科技股份有限公司 | 基于工业以太网的数据传输方法、装置以及通信设备 |
-
2021
- 2021-01-15 CN CN202110055948.7A patent/CN112929329B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108512753A (zh) * | 2017-02-28 | 2018-09-07 | 华为技术有限公司 | 一种集群文件系统中消息传输的方法及装置 |
CN208596305U (zh) * | 2018-07-12 | 2019-03-12 | 中国石油天然气股份有限公司 | 控制系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112929329A (zh) | 2021-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100588720B1 (ko) | 데이터링크 계층에서의 패킷 전송 방법 | |
CN105450489B (zh) | 输出优先实现最短报文的HEBus高效现场总线系统及通信方法 | |
US7051143B2 (en) | Method, system and program for the transmission of modbus messages between networks | |
CN103023715B (zh) | 一种基于rs485总线通讯链路的故障监测方法 | |
CN104345717A (zh) | 一种基于物联网的智能远程数据采集系统 | |
CN102761391B (zh) | 一种油田物联网系统通信方法 | |
CN102332971B (zh) | 数控系统现场总线全双工可靠通信方法 | |
CN106100955B (zh) | 工业互联网现场层宽带总线数据深度检测实现方法 | |
WO2019196455A1 (zh) | 空调通讯系统、方法、存储介质、电子装置 | |
CN112929329B (zh) | 一种基于Ethernet/IP协议的集群控制系统及其通信方法 | |
KR101179431B1 (ko) | 이더캣 네트워크 시스템 및 이의 운용 방법 | |
KR101334017B1 (ko) | 차량 네트워크의 메시지 무결성 체크 시스템 및 방법 | |
CN101170473A (zh) | 星形半双工链路中从站主动通信方法 | |
CN1969236A (zh) | 数据传输方法及使用此种数据传输方法的自动化系统 | |
JP2022514545A (ja) | 大容量デイジーチェーンシリアルバス | |
TW202201235A (zh) | 資料獲取方法及系統 | |
JP6273841B2 (ja) | 通信システム及び通信制御方法 | |
CN104429009B (zh) | 用于在数据包的双向传输情况下传输数据包的方法 | |
CN113848834B (zh) | 一种基于边云协同的车间设备接入系统及方法 | |
JP5380478B2 (ja) | 通信システム | |
US11307552B2 (en) | Method for modifying a configuration and industrial plant system | |
CN108334424B (zh) | 基于lpwan技术的网络通讯管理平台过滤冗余数据的方法 | |
CN101170474A (zh) | 星形半双工链路中从站主动通信的简单令牌控制方法 | |
CN101169629A (zh) | 控制器内部程序的下载方法及下载系统 | |
JP2020061655A (ja) | 通信システム |
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 |