Powerlink communication fault detection method based on packet flow analysis

By analyzing the packet flow of the POWERLINK network, parsing and judging the network status, and detecting faults in industrial communication networks, the problem of fault detection in industrial communication networks is solved, and the availability and security of the network are improved.

CN117255037BActive Publication Date: 2026-05-01SHENYANG INST OF AUTOMATION - CHINESE ACAD OF SCI
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHENYANG INST OF AUTOMATION - CHINESE ACAD OF SCI
Filing Date
2022-06-09
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

Industrial communication networks are prone to random and unpredictable failures in harsh environments, leading to low production efficiency and safety hazards. Existing technologies are insufficient to effectively detect and locate network communication anomalies.

Method used

By analyzing the message flow in the POWERLINK network, parsing protocol messages, generating context information, determining the network status, and detecting protocol communication faults, including data frame loss, out-of-order delivery, and mismatch in process data communication, the system can detect these faults.

Benefits of technology

It enables accurate detection of dynamic upper-layer protocol faults in industrial communication networks, improving network availability and security, shortening downtime, and enhancing network performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117255037B_ABST
    Figure CN117255037B_ABST
Patent Text Reader

Abstract

This invention belongs to the field of industrial communication fault detection technology, specifically relating to a communication fault detection method based on protocol message analysis for POWERLINK communication networks. It includes the following steps: 1) parsing protocol messages and extracting message information as the message parsing result; 2) generating context information describing the network based on the message parsing result; 3) determining whether a protocol communication fault has occurred based on the message parsing result, the current network state, and the network context information; if a fault has occurred, recording the fault-related information; 4) generating the next state the network needs to transition to based on the message parsing result and the current network state, updating the network state, and returning to step 1), until the protocol message monitoring ends, completing the network communication fault detection. This invention can accurately and effectively detect dynamic upper-layer protocol faults in communication networks and can be widely applied to online fault detection and offline fault analysis in industrial communication networks.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of industrial communication fault detection technology, specifically relating to a communication fault detection method based on protocol message analysis for POWERLINK communication networks. Background Technology

[0002] Industrial network fault diagnosis, location, and maintenance are crucial components of network management. They effectively improve network availability, reduce downtime, enhance network performance, ensure service quality, and guarantee network security. However, during industrial communication network operation, factors such as harsh industrial environments and aging equipment frequently lead to random and unpredictable faults, reducing production efficiency and posing safety risks. The complexity of the industrial network operating environment results in a wide variety of network faults, which are often accidental, difficult to reproduce, and the interconnectedness of network devices means that faults do not occur independently. Therefore, accurately detecting and locating network faults in industrial communication networks has become a critical issue that industrial communication network operation and maintenance must address.

[0003] Network communication protocols define the rules for data exchange within a network and form the foundation for interconnectivity between network devices. Devices in the network encapsulate communication data into protocol messages according to the format specified by the communication protocol and send them into the network. During network operation, the sequence of all protocol messages arranged chronologically constitutes the message stream. The message stream contains almost all contextual information related to communication during network operation, such as the devices connected to the network, the status of each device, service requests in the network, the execution and response of each service request, and process data communication between devices. When network failures such as link breaks, device malfunctions, or communication congestion cause system instability, the message stream will exhibit inconsistencies with the protocol specifications. Therefore, by analyzing the rationality of the message order and protocol consistency within the message stream, dynamic upper-layer protocol faults in the network can be effectively detected, and the location of the fault can be determined. Summary of the Invention

[0004] This invention proposes a POWERLINK network communication fault detection method based on data packet flow protocol consistency analysis, which can effectively locate upper-layer communication protocol faults in the network.

[0005] The technical solution adopted by the present invention to achieve the above objectives is as follows:

[0006] The POWERLINK communication fault detection method based on message flow analysis includes the following steps:

[0007] 1) Parse the protocol messages and extract the message information as the message parsing result;

[0008] 2) Based on the message parsing results, generate context information describing the network;

[0009] 3) Based on the message parsing results, the current network status, and the network context information, determine whether a protocol communication failure has occurred. If a failure has occurred, record the relevant failure information.

[0010] 4) Based on the message parsing results and the current network status, generate the next state that the network needs to jump to, update the network status, and return to step 1) until the listening of protocol messages ends, thus completing the network communication fault detection.

[0011] The network state includes: network cycle state and communication sequence state, wherein...

[0012] The network periodic state is used to describe the current operating phase of the network, including idle state, aperiodic state, and periodic state;

[0013] The communication sequence state is used to describe the type of the most recently transmitted data packet in the network, including idle state, SoC receive state, PReq receive state, PRes receive state, SoA receive state, and Asnd receive state.

[0014] The protocol communication faults include: data frame loss fault, out-of-order fault, process data communication mismatch fault, asynchronous communication mismatch, process data communication loss fault, and process data communication cycle fault.

[0015] The specific steps to determine a data frame loss fault are as follows:

[0016] A1) A SoC data frame loss fault occurs when any of the following conditions are met:

[0017] A11) When the network periodic state is in the aperiodic state and the communication sequence state is in the Asnd receiving state, a PREq data packet or a PREs data packet is received.

[0018] A12) When the network periodic state is in the aperiodic state and the communication sequence state is in the SoA receiving state, a PREQ data packet or a PRES data packet is received.

[0019] A13) When the network cycle state is in the cycle state and the communication sequence state is in the SoA receive state, a PREQ data packet is received.

[0020] A14) When the network cycle state is in the cycle state and the communication sequence state is in the Asnd receiving state, a PREQ data packet is received.

[0021] A2) A PREQ data frame loss fault occurs when any of the following conditions are met:

[0022] A21) When the network periodic state is in the aperiodic state and the communication sequence state is in the Asnd receiving state, a PREs data packet is received.

[0023] A22) When the network periodic state is in the aperiodic state and the communication sequence state is in the SoA receiving state, a PRES data packet is received.

[0024] A23) When the network cycle state is in the cycle state and the communication sequence state is in the SoC receiving state, a PREs data packet is received.

[0025] A24) When the network cycle state is in the cycle state and the communication sequence state is in the PRES receiving state, a PRES data message is received and the data frame does not match the current or the previous process data request.

[0026] A3) A PREs data frame loss failure occurs when the following conditions are met:

[0027] When the network cycle state is in the cycle state and the communication sequence state is in the PReq receiving state, a PReq data packet, a SoC data packet, a SoA data packet, or an Asnd data packet is received.

[0028] A4) A SoA data frame loss fault occurs when any of the following conditions are met:

[0029] A41) When the network periodic state is in an aperiodic state and the communication sequence state is in the Asnd receiving state, an Asnd data packet is received and the packet does not match the current asynchronous request.

[0030] A42) When the network cycle state is in the cycle state and the communication sequence state is in the PReq receiving state, an Asnd data packet is received.

[0031] A43) When the network cycle state is in the cycle state and the communication sequence state is in the PRES receiving state, the Asnd data packet is received.

[0032] A5) An Asnd data frame loss fault occurs when any of the following conditions are met:

[0033] A51) When the network periodic state is in the aperiodic state and the communication sequence state is in the SoA receiving state, the received data packet is not an Asnd packet and the service code of the current asynchronous request is not empty, and the target device of the current asynchronous request is the master station.

[0034] A52) When the network periodic state is in the aperiodic state and the communication sequence state is in the SoA receiving state, the received data packet is not an Asnd packet and the service code of the current asynchronous request is not empty. At the same time, the target device of the current asynchronous request is a slave and the target device is in the slave list.

[0035] A53) When the network cycle state is in the cycle state and the communication sequence state is in the SoA receive state, the received data packet is not an Asnd packet and the service code of the current asynchronous request is not empty, and the target device of the current asynchronous request is the master station.

[0036] A54) When the network cycle state is in the cycle state and the communication sequence state is in the SoA receive state, the received data packet is not an Asnd packet and the service code of the current asynchronous request is not empty. At the same time, the target device of the current asynchronous request is a slave and the target device is in the slave list.

[0037] The specific fault for determining out-of-order sequence is as follows:

[0038] B1) A process data communication delay response fault occurs when any of the following conditions are met:

[0039] B11) When the network cycle state is in the cycle state and the communication sequence state is in the SoA receive state, a PREs data packet is received and the packet matches the current process data request, while the current process data request is not responded to.

[0040] B12) When the network cycle state is in the cycle state and the communication sequence state is in the Asnd receiving state, a PREs data message is received and the message matches the current process data request, while the current process data request is not responded to.

[0041] B13) When the network cycle state is in the cycle state and the communication sequence state is in the PRES receiving state, a PRES data message is received and the message does not match the current process data request but matches the previous process data request.

[0042] B14) When the network cycle state is in the cycle state and the communication sequence state is in the PReq receiving state, a PREs data message is received and the message does not match the current process data request but matches the previous process data request.

[0043] B2) A process data communication repetitive response failure occurs when any of the following conditions are met:

[0044] B21) When the network cycle state is in the cycle state and the communication sequence state is in the Asnd receiving state, a PREs data message is received and the message matches the current process data request, and the current process data request has been responded to.

[0045] B22) When the network cycle state is in the cycle state and the communication sequence state is in the PRES receiving state, a PRES data packet is received and the packet matches the current process data request, and the current process data request has been responded to.

[0046] B23) When the network cycle state is in the cycle state and the communication sequence state is in the SoA receiving state, a PREs data message is received and the message matches the current process data request, and the current process data request has been responded to.

[0047] B3) An asynchronous communication delay response failure occurs when any of the following conditions are met:

[0048] B31) When the network periodic state is in the aperiodic state and the communication sequence state is in the Asnd receiving state, an Asnd data packet is received and the packet matches the current asynchronous request, while the current asynchronous request has not been responded to.

[0049] B32) When the network cycle state is in the cycle state and the communication sequence state is in the Asnd receiving state, an Asnd data packet is received and the packet matches the current asynchronous request, while the current asynchronous request has not been responded to.

[0050] B33) When the network cycle state is in the cycle state and the communication sequence state is in the SoC receiving state, an Asnd data packet is received and the packet matches the current asynchronous request, while the current asynchronous request has not been responded to.

[0051] B4) An asynchronous communication duplicate response failure occurs when any of the following conditions are met:

[0052] B41) When the network periodic state is in the aperiodic state and the communication sequence state is in the Asnd receiving state, an Asnd data packet is received and the packet matches the current asynchronous request, while the current asynchronous request has already been responded to.

[0053] B42) When the network cycle state is in the cycle state and the communication sequence state is in the Asnd receiving state, an Asnd data packet is received and the packet matches the current asynchronous request, and the current asynchronous request has already been responded to.

[0054] B43) When the network cycle state is in the cycle state and the communication sequence state is in the SoC receiving state, an Asnd data packet is received and the packet matches the current asynchronous request, and the current asynchronous request has already been responded to.

[0055] B5) A periodic communication lack of synchronization phase failure occurs when any of the following conditions are met:

[0056] B51) When the network cycle state is in the cycle state and the communication sequence state is in the Asnd receiving state, the SoA data message is received and the master station is in the synchronous communication state.

[0057] B52) When the network cycle state is in the cycle state and the communication sequence state is in the SoC receiving state, a SoA data packet is received and there is a slave device in the slave list that has reached the process data communication cycle;

[0058] B53) When the network cycle state is in the cycle state and the communication sequence state is in the SoA receiving state, the SoA data message is received and the master station is in the synchronous communication state.

[0059] B6) A failure due to a lack of asynchronous phase in periodic communication occurs when any of the following conditions are met:

[0060] B61) When the network cycle state is in the cycle state and the communication sequence state is in the PRES receiving state, a SoC data packet is received.

[0061] B62) When the network cycle state is in the cycle state and the communication sequence state is in the PReq receive state, a SoC data packet is received.

[0062] The specific fault in determining the data communication mismatch during the process is as follows:

[0063] When the network cycle state is in the cycle state and the communication sequence state is in the PReq receiving state, if a PRes data message is received and the message does not match the two nearest process data requests, a process data communication mismatch fault occurs.

[0064] The specific steps to determine an asynchronous communication mismatch fault are as follows:

[0065] D) An asynchronous communication mismatch failure occurs when any of the following conditions are met:

[0066] D1) When the network periodic state is in an aperiodic state and the communication sequence state is in the SoA receiving state, an Asnd data packet is received and the packet does not match the current asynchronous request.

[0067] D2) When the network cycle state is in the cycle state and the communication sequence state is in the SoA receive state, an Asnd data packet is received and the packet does not match the current asynchronous request.

[0068] The specific faults in determining data communication loss during the process are as follows:

[0069] E) A process data communication loss failure occurs when any of the following conditions are met:

[0070] E1) When the network cycle state is in the cycle state and the communication sequence state is in the Asnd receiving state, a device that receives a SoC data packet or a PReq data packet and has a process data communication cycle that has arrived but has not been requested exists in the slave list;

[0071] E2) When the network cycle state is in the cycle state and the communication sequence state is in the PRES receiving state, a device that receives a SoC data packet and has a process data communication cycle arriving but not requested exists in the slave list;

[0072] E3) When the network cycle state is in the cycle state and the communication sequence state is in the PReq receiving state, a device that receives a SoC data packet and has a process data communication cycle arriving but not requested exists in the slave list;

[0073] E4) When the network cycle state is in the cycle state and the communication sequence state is in the SoA receive state, a device that receives a SoC data packet or a PReq data packet and has a process data communication cycle that has arrived but has not been requested exists in the slave list.

[0074] The specific steps to determine a data communication cycle failure are as follows:

[0075] F) A process data communication cycle failure occurs when any of the following conditions are met:

[0076] F1) When the network cycle state is in the cycle state and the communication sequence state is in the Asnd receiving state, a PREq data packet is received and the target device of the data packet has not reached the process data communication cycle.

[0077] F2) When the network cycle state is in the cycle state and the communication sequence state is in the Asnd receiving state, a PREs data packet is received and the source device of the data packet has not reached the process data communication cycle.

[0078] F3) When the network cycle state is in the cycle state and the communication sequence state is in the SoC receiving state, a PREQ data packet is received and the target device of the data packet has not reached the process data communication cycle.

[0079] F4) When the network cycle state is in the cycle state and the communication sequence state is in the SoC receiving state, a PREs data packet is received and the source device of the data packet has not reached the process data communication cycle.

[0080] F5) When the network cycle state is in the cycle state and the communication sequence state is in the PREs receiving state, a PREQ data packet is received and the target device of the data packet has not reached the process data communication cycle.

[0081] F6) When the network cycle state is in the cycle state and the communication sequence state is in the PRES receiving state, a PRES data packet is received and the source device of the data packet has not reached the process data communication cycle.

[0082] F7) When the network cycle state is in the cycle state and the communication sequence state is in the PReq receiving state, a PRes data packet is received and the source device of the data packet has not reached the process data communication cycle.

[0083] F8) When the network cycle state is in the cycle state and the communication sequence state is in the PReq receiving state, a PReq data packet is received and the target device of the data packet has not reached the process data communication cycle.

[0084] F9) When the network cycle state is in the cycle state and the communication sequence state is in the SoA receive state, a PReq data packet is received and the target device of the data packet has not reached the process data communication cycle.

[0085] F10) When the network cycle state is in the cycle state and the communication sequence state is in the SoA receive state, a PREs data packet is received and the source device of the data packet has not reached the process data communication cycle.

[0086] The present invention has the following beneficial effects and advantages:

[0087] The POWERLINK network communication fault detection method proposed in this invention is not limited to the detection of the content and format of a single isolated message in traditional fault detection methods. Instead, it makes full use of the data communication information contained in the POWERLINK protocol message stream by analyzing the rationality of the message sequence and correlation relationship and the protocol consistency. It can accurately and effectively detect dynamic upper-layer protocol faults in the communication network and can be widely used in online fault detection and offline fault analysis of industrial communication networks. Attached Figure Description

[0088] Figure 1 This is a flowchart of the POWERLINK communication fault detection method based on message flow analysis according to the present invention.

[0089] Figure 2This is a state transition diagram for the network's periodic states.

[0090] Figure 3 Flowchart for determining the state update of the communication sequence;

[0091] Figure 4 The logic diagram for determining communication faults when the network is in an aperiodic state and in the SoA receiving state;

[0092] Figure 5 The logic diagram for determining communication faults when the network is in an aperiodic state and in the Asnd receiving state.

[0093] Figure 6 The logic diagram for determining communication faults when the network is in a periodic state and the SoC receiving state is shown.

[0094] Figure 7 The logic diagram for determining communication faults when the network is in a periodic state and a PReq receiving state.

[0095] Figure 8 The logic diagram for determining communication faults when the network is in a periodic state and a PRES receiving state.

[0096] Figure 9 The logic diagram for determining communication faults when the network is in a periodic state and a SoA receiving state.

[0097] Figure 10 The logic diagram for determining communication faults when the network is in a periodic state and an Asnd receiving state. Detailed Implementation

[0098] The present invention will now be described in further detail with reference to the accompanying drawings and embodiments.

[0099] As attached Figure 1 As shown, the POWERLINK communication fault detection method based on message flow analysis includes:

[0100] Step S1: Parse the input protocol message and extract relevant information, including message type, source device address, destination device address, source device status, service request type, and service request target;

[0101] Step S2: Based on the message parsing results, generate context information describing the network, including master device information, slave device list, process data request operation context, asynchronous request operation context, etc.

[0102] Step S3: Based on the message parsing results, the current network status, and the network context information, determine whether a protocol communication failure has occurred. If a failure has occurred, record the relevant failure information.

[0103] Step S4: Based on the message parsing results and the current network status, generate the next state that the network needs to jump to, and implement the network status update.

[0104] For all communication messages in the message stream, the above S1 to S4 operations are executed one by one in sequence to realize network communication fault detection.

[0105] The sequence of data packets transmitted in a network reflects the network's operational status, and this status continuously changes as different data packets are transmitted. The network status is described by two parameters: network cycle status and communication sequence status. Initially, both parameters are idle, indicating that no data packets are being transmitted in the network. When data packet transmission begins, according to the workflow of the method described above, for each received data packet, after data packet analysis and fault detection, the network status is updated to track the entire network's operational cycle.

[0106] The generated context information describing the network includes master device information, slave device list, current process data request operation context, previous process data request operation context, and asynchronous request operation context.

[0107] The master device information includes the master device address, master device type, and master device status. The slave device list stores the identified slave device information in the network, including slave device address, slave device type, slave device status, the start period of the slave device entering the synchronization state, the slave device cycle period, and whether the current period is accessed. The process data request operation context includes the target device and the process response code. The process response code indicates the response status of the request, including idle (value 0), successful response (value 1), no response (value 2), response mismatch (value 4), and response delay (value 8). The asynchronous request operation context includes the target device, service code, and asynchronous response code. The asynchronous response code indicates the response status of the request, including idle (value 0), successful response (value 1), no response (value 2), target device mismatch (value 4), service code mismatch (value 8), target device not in the network (value 16), and response delay (value 32).

[0108] The protocol communication failures mentioned are typical communication failures that usually occur during network operation, including data frame loss failures, out-of-order failures, process data communication mismatch failures, asynchronous communication mismatch failures, process data communication loss failures, and process data communication cycle failures.

[0109] The data frame loss fault is a communication fault in which the data packet stream does not meet the protocol specification due to the lack of a certain type of data frame at a specific location. According to the type of missing data frame, it is divided into SoC data frame loss fault, PReq data frame loss fault, PRes data frame loss fault, SoA data frame loss fault and Asnd data frame loss fault.

[0110] The out-of-order fault refers to a communication fault in which the data packet stream does not meet the protocol specification due to the incorrect order of data packets. It includes process data communication delay response fault, process data communication repetitive response fault, asynchronous communication delay response fault, asynchronous communication repetitive response fault, periodic communication lack of synchronization phase fault, and periodic communication lack of asynchronous phase fault.

[0111] The process data communication mismatch fault is a communication fault in which the source address of the process response data frame PRES is not equal to the destination address of the preceding process data request data frame PReq.

[0112] The asynchronous communication mismatch fault is a communication fault in which the asynchronous transmission data frame Asnd and the SoA data frame do not match in terms of service type or service target device.

[0113] The process data communication loss fault is a communication fault in which process data interaction between a pair of devices is missing during the synchronization phase of a cycle communication.

[0114] The process data communication cycle failure refers to a communication failure in which the process data communication cycle changes after the device enters the synchronization state.

[0115] The network state includes two state parameters: network cycle state and communication sequence state. The network cycle state describes the current operational phase of the network, including idle, aperiodic, and cycle states. The idle state indicates that network communication has not yet begun; the aperiodic state indicates that the network is in short-cycle communication, consisting of a series of asynchronous phases, during which the master device completes the configuration of all slave devices; the cycle state indicates that the network has entered cycle communication, with one cycle containing isochronous synchronous phases, asynchronous phases, and idle phases, during which process data exchange begins between devices.

[0116] The communication sequence state describes the type of data packet most recently transmitted by the network, including idle state, SoC receive state, PReq receive state, PRes receive state, SoA receive state, and Asnd receive state. The idle state indicates that network communication has not started and there are no data packets in the communication sequence. When an SoC data packet appears in the network, the communication sequence state changes to SoC receive state; similarly, when a PReq data packet appears, the communication sequence state changes to PReq receive state; when a PRes data packet appears, the communication sequence state changes to PRes receive state; when a SoA data packet appears, the communication sequence state changes to SoA receive state; and when an Asnd data packet appears, the communication sequence state changes to Asnd receive state.

[0117] In the third step of the communication fault detection method, the method for determining whether a protocol communication fault has occurred is as follows: First, determine the current state of the network. Then, based on the parsing results of the currently received data packets and the network context information, determine whether a fault has occurred according to the different types of protocol communication fault judgment rules. If a fault has occurred, record the relevant fault information.

[0118] The relevant fault information includes the communication fault type (extended to subtypes), the relevant data packet sequence number, and the relevant device address.

[0119] The rules for determining communication failures for different types of protocols are described below.

[0120] For data frame loss faults, the determination rules for different sub-fault types are as follows:

[0121] A SoC data frame loss fault can be determined when one of the following conditions is met.

[0122] 1. When the network periodic state is in an aperiodic state and the communication sequence state is in the Asnd receiving state, a PREq data packet or a PRes data packet is received.

[0123] 2. When the network periodic state is in an aperiodic state and the communication sequence state is in the SoA receiving state, a PREQ data packet or a PRES data packet is received;

[0124] 3. When the network cycle state is in the cycle state and the communication sequence state is in the SoA receive state, a PREQ data packet is received;

[0125] 4. When the network cycle state is in the cycle state and the communication sequence state is in the Asnd receive state, a PREQ data packet is received;

[0126] A PREQ data frame loss fault can be determined when one of the following conditions is met.

[0127] 1. When the network periodic state is in an aperiodic state and the communication sequence state is in the Asnd receiving state, a PREs data packet is received;

[0128] 2. When the network periodic state is in an aperiodic state and the communication sequence state is in the SoA receiving state, a PRES data packet is received;

[0129] 3. When the network cycle state is in the cycle state and the communication sequence state is in the SoC receiving state, a PREs data packet is received;

[0130] 4. When the network cycle state is in the cycle state and the communication sequence state is in the PRES receiving state, a PRES data packet is received and the data frame does not match the current or previous process data request.

[0131] A PRES data frame loss fault can be determined when the following conditions are met.

[0132] That is, when the network cycle state is in the cycle state and the communication sequence state is in the PReq receiving state, a PReq data packet, a SoC data packet, a SoA data packet, or an Asnd data packet is received.

[0133] A SoA data frame loss fault can be determined when one of the following conditions is met.

[0134] 1. When the network cycle state is in an aperiodic state and the communication sequence state is in the Asnd receiving state, an Asnd data packet is received and the packet does not match the current asynchronous request;

[0135] 2. When the network cycle state is in the cycle state and the communication sequence state is in the PReq receive state, an Asnd data packet is received;

[0136] 3. When the network cycle state is in the cycle state and the communication sequence state is in the PRES receiving state, the Asnd data packet is received.

[0137] An Asnd data frame loss fault can be determined when one of the following conditions is met.

[0138] 1. When the network periodic state is in an aperiodic state and the communication sequence state is in the SoA receiving state, the received data packet is not an Asnd packet and the service code of the current asynchronous request is not empty, and the target device of the current asynchronous request is the master station;

[0139] 2. When the network periodic state is in the aperiodic state and the communication sequence state is in the SoA receive state, the received data packet is not an Asnd packet and the service code of the current asynchronous request is not empty. At the same time, the target device of the current asynchronous request is a slave and the target device is in the slave list.

[0140] 3. When the network cycle state is in the cycle state and the communication sequence state is in the SoA receive state, the received data packet is not an Asnd packet and the service code of the current asynchronous request is not empty, and the target device of the current asynchronous request is the master station;

[0141] 4. When the network cycle state is in the cycle state and the communication sequence state is in the SoA receive state, the received data packet is not an Asnd packet and the service code of the current asynchronous request is not empty. At the same time, the target device of the current asynchronous request is a slave and the target device is in the slave list.

[0142] For out-of-order faults, the determination rules for different sub-fault types are as follows:

[0143] A process data communication delay response failure can be determined when one of the following conditions is met.

[0144] 1. When the network cycle state is in the cycle state and the communication sequence state is in the SoA receive state, a PREs data packet is received and the packet matches the current process data request, but the current process data request has not been responded to.

[0145] 2. When the network cycle state is in the cycle state and the communication sequence state is in the Asnd receiving state, a PREs data packet is received and the packet matches the current process data request, but the current process data request has not been responded to.

[0146] 3. When the network cycle state is in the cycle state and the communication sequence state is in the PRES receiving state, a PRES data packet is received and the packet does not match the current process data request but matches the previous process data request;

[0147] 4. When the network cycle state is in the cycle state and the communication sequence state is in the PReq receiving state, a PREs data message is received. This message does not match the current process data request but matches the previous process data request.

[0148] A process data communication repetitive response failure can be determined when one of the following conditions is met.

[0149] 1. When the network cycle state is in the cycle state and the communication sequence state is in the Asnd receiving state, a PREs data packet is received and the packet matches the current process data request, and the current process data request has already been responded to;

[0150] 2. When the network cycle state is in the cycle state and the communication sequence state is in the PRES receiving state, a PRES data packet is received and the packet matches the current process data request, and the current process data request has been responded to.

[0151] 3. When the network cycle state is in the cycle state and the communication sequence state is in the SoA receive state, a PREs data packet is received and the packet matches the current process data request, and the current process data request has been responded to.

[0152] An asynchronous communication delay response failure can be determined when one of the following conditions is met.

[0153] 1. When the network periodic state is in an aperiodic state and the communication sequence state is in the Asnd receiving state, an Asnd data packet is received and the packet matches the current asynchronous request, while the current asynchronous request has not been responded to.

[0154] 2. When the network cycle state is in the cycle state and the communication sequence state is in the Asnd receiving state, an Asnd data packet is received and the packet matches the current asynchronous request, while the current asynchronous request has not been responded to;

[0155] 3. When the network cycle state is in the cycle state and the communication sequence state is in the SoC receiving state, an Asnd data packet is received and the packet matches the current asynchronous request, while the current asynchronous request has not been responded to.

[0156] An asynchronous communication repetitive response failure can be determined when one of the following conditions is met.

[0157] 1. When the network periodic state is in the aperiodic state and the communication sequence state is in the Asnd receiving state, an Asnd data packet is received and the packet matches the current asynchronous request, and the current asynchronous request has already been responded to;

[0158] 2. When the network cycle state is in the cycle state and the communication sequence state is in the Asnd receiving state, an Asnd data packet is received and the packet matches the current asynchronous request, and the current asynchronous request has already been responded to;

[0159] 3. When the network cycle state is in the cycle state and the communication sequence state is in the SoC receiving state, an Asnd data packet is received and the packet matches the current asynchronous request, and the current asynchronous request has already been responded to.

[0160] A failure due to a lack of synchronization phase in periodic communication can be identified when one of the following conditions is met.

[0161] 1. When the network cycle state is in the cycle state and the communication sequence state is in the Asnd receiving state, the SoA data packet is received and the master station is in the synchronous communication state;

[0162] 2. When the network cycle state is in the cycle state and the communication sequence state is in the SoC receiving state, a SoA data packet is received and there is a slave device in the slave list that has reached the process data communication cycle;

[0163] 3. When the network cycle state is in the cycle state and the communication sequence state is in the SoA receiving state, the SoA data packet is received and the master station is in the synchronous communication state.

[0164] A failure due to a lack of asynchronous phase in periodic communication can be identified when one of the following conditions is met.

[0165] 1. When the network cycle state is in the cycle state and the communication sequence state is in the PRES receiving state, a SoC data packet is received;

[0166] 2. When the network cycle state is in the cycle state and the communication sequence state is in the PReq receiving state, a SoC data packet is received.

[0167] The judgment rule for process data communication mismatch faults is as follows:

[0168] When the network cycle state is in the cycle state and the communication sequence state is in the PReq receiving state, if a PRes data message is received and the message does not match the two most recent process data requests, it can be determined that a process data communication mismatch fault has occurred.

[0169] For asynchronous communication mismatch faults, the fault can be determined to have occurred when one of the following conditions is met.

[0170] 1. When the network periodic state is in an aperiodic state and the communication sequence state is in the SoA receive state, an Asnd data packet is received and the packet does not match the current asynchronous request;

[0171] 2. When the network cycle state is in the cycle state and the communication sequence state is in the SoA receive state, an Asnd data packet is received and the packet does not match the current asynchronous request.

[0172] For a process data communication loss fault, the fault can be determined to have occurred when one of the following conditions is met.

[0173] 1. When the network cycle state is in the cycle state and the communication sequence state is in the Asnd receiving state, a device that receives a SoC data packet or a PReq data packet and has a process data communication cycle that has arrived but has not been requested exists in the slave list;

[0174] 2. When the network cycle state is in the cycle state and the communication sequence state is in the PRES receiving state, a SoC data packet is received and there is a device in the slave list whose process data communication cycle has arrived but has not been requested;

[0175] 3. When the network cycle state is in the cycle state and the communication sequence state is in the PReq receiving state, a SoC data packet is received and there is a device in the slave list whose process data communication cycle has arrived but has not been requested.

[0176] 4. When the network cycle state is in the cycle state and the communication sequence state is in the SoA receive state, a device that receives a SoC data packet or a PReq data packet and has a process data communication cycle that has arrived but has not been requested exists in the slave list.

[0177] For process data communication cycle failures, the failure can be determined to have occurred when one of the following conditions is met.

[0178] 1. When the network cycle state is in the cycle state and the communication sequence state is in the Asnd receiving state, a PREQ data packet is received and the target device of the data packet has not reached the process data communication cycle;

[0179] 2. When the network cycle state is in the cycle state and the communication sequence state is in the Asnd receiving state, a PREs data packet is received and the source device of the data packet has not reached the process data communication cycle;

[0180] 3. When the network cycle state is in the cycle state and the communication sequence state is in the SoC receiving state, a PREQ data packet is received and the target device of the data packet has not reached the process data communication cycle;

[0181] 4. When the network cycle state is in the cycle state and the communication sequence state is in the SoC receiving state, a PREs data packet is received and the source device of the data packet has not reached the process data communication cycle;

[0182] 5. When the network cycle state is in the cycle state and the communication sequence state is in the PREs receiving state, a PREQ data packet is received and the target device of the data packet has not reached the process data communication cycle;

[0183] 6. When the network cycle state is in the cycle state and the communication sequence state is in the PRES receiving state, a PRES data packet is received and the source device of the data packet has not reached the process data communication cycle;

[0184] 7. When the network cycle state is in the cycle state and the communication sequence state is in the PReq receiving state, a PRes data packet is received and the source device of the data packet has not reached the process data communication cycle;

[0185] 8. When the network cycle state is in the cycle state and the communication sequence state is in the PReq receiving state, a PReq data packet is received and the target device of the data packet has not reached the process data communication cycle;

[0186] 9. When the network cycle state is in the cycle state and the communication sequence state is in the SoA receive state, a PREQ data packet is received and the target device of the data packet has not reached the process data communication cycle;

[0187] 10. When the network cycle state is in the cycle state and the communication sequence state is in the SoA receive state, a PRES data packet is received and the source device of the data packet has not reached the process data communication cycle.

[0188] The state updates of the network's periodic state parameters are implemented by a state machine, and their transition relationships are as follows: Figure 2 As shown, this parameter can be in an idle state, an aperiodic state, or a periodic state, with T0 to T4 being the state transition conditions. When the state machine starts (condition T0), the network periodic state parameter is in an idle state. At this time, if a SoA data packet or an Asnd data packet is received (condition T1), the state jumps to the aperiodic state; conversely, if a SoC data packet, a PREQ data packet, or a PREs data packet is received (condition T2), the state jumps to the periodic state. If the state parameter is in an aperiodic state, when a SoC data packet, a PREQ data packet, or a PREs data packet is received (condition T3), the state jumps to the periodic state. If the state parameter is in a periodic state, when a SoA data packet is received and the status indicator field of the packet is in an inactive state (condition T4), the state jumps to the aperiodic state.

[0189] The updating of communication sequence state parameters is implemented by decision logic, such as... Figure 3 As shown, the next transition state for this state parameter is determined by checking the type of the received data packet. If the received data packet is a SoC data packet, the communication sequence state transitions to the SoC receive state; otherwise, if the received data packet is a PReq data packet, the communication sequence state transitions to the PReq receive state; otherwise, if the received data packet is a PRes data packet, the communication sequence state transitions to the PRes receive state; otherwise, if the received data packet is a SoA data packet, the communication sequence state transitions to the SoA receive state; otherwise, if the received data packet is an Asnd data packet, the communication sequence state transitions to the Asnd receive state; otherwise, if none of the above packet types apply, no state transition occurs.

[0190] Network fault detection and determination are implemented by determination logic. Different determination logics are used under different network conditions, such as... Figures 4-10 As shown. When the network is in an idle state (at least one network status parameter is idle), since there are no data packets being transmitted and the network context information is incomplete, no network communication fault detection is performed. When the network is in a non-idle state, a fault is determined based on the currently received data packets and the network context information. Figure 2 and Figure 3 As shown in the network status parameter state transition relationship, there are 7 non-idle states during network operation. The communication fault determination logic for each state is as follows: Figures 4 to 10 As shown.

[0191] When the network periodic state is in an aperiodic state and the communication sequence state is in the SoA data frame reception state, the communication fault determination process is as follows: Figure 4 As shown. First, it determines whether the received data packet is an Asnd packet. If so, it checks whether the packet matches the current asynchronous request. If they match, there is no fault, and the determination ends; otherwise, an asynchronous communication mismatch fault is determined, and the determination ends. Next, if the received data packet is not an Asnd packet, it determines whether the service code of the current asynchronous request is a no-operation. If so, subsequent determination operations are performed; otherwise, it checks whether the target device of the current asynchronous service is a master device or whether it is in the slave list. If neither of these conditions is met, subsequent determination operations are performed; if both are met, an Asnd data frame loss error is determined, and subsequent determination operations are performed. Finally, it determines whether the received data packet is a PRES packet. If so, a PREQ data frame loss fault and a SoC data frame loss fault are determined, and the determination ends; otherwise, it determines whether the received data packet is a PREQ packet. If so, an SoC data frame loss fault is determined, and the determination ends.

[0192] When the network periodic state is in an aperiodic state and the communication sequence state is in the Asnd data frame reception state, the communication fault determination process is as follows: Figure 5As shown. First, determine if the received data packet is a SoC packet or a SoA packet. If so, there is no fault, and the determination ends. Otherwise, continue to determine if the packet is a PReq packet. If so, it is determined that a SoC data frame loss fault has occurred, and the determination ends. Otherwise, continue to determine if the packet is a PRes packet. If so, it is determined that both a PReq data frame loss fault and a SoC data frame loss fault have occurred, and the determination ends. Otherwise, continue to determine if the packet is an Asnd packet. If so, it is further determined whether the packet matches the current asynchronous request. If they do not match, it is determined that a SoA data frame loss fault has occurred, and the determination ends. If they match, it continues to check whether the current asynchronous request has been responded to. If it has not been responded to, it is determined that an asynchronous communication delayed response fault has occurred, and the determination ends. If it has been responded to, it is determined that an asynchronous communication duplicate response fault has occurred, and the determination ends.

[0193] When the network cycle state is in the cycle state and the communication sequence state is in the SoC data frame receiving state, the communication fault determination process is as follows: Figure 6 As shown. First, determine if the received data packet is a PREQ packet. If so, check if the target device of the data packet has reached the process data communication cycle. If it has, there is no fault, and the determination ends; otherwise, a process data communication cycle fault has occurred, and the determination ends. If it is not a PREQ packet, determine if the packet is a PREs packet. If so, first determine if a PREQ data frame generation loss fault has occurred; then check if the source device of the data packet has reached the process data communication cycle. If it has not, a process data communication cycle fault has occurred, and the determination ends. If it is not a PREs packet but a SoA packet, check if the packet indicates that the master station is in synchronous communication state. If so, a periodic communication missing synchronization phase fault has occurred, and the determination ends. Finally, if it is not a SoA packet but an Asnd packet, determine if the packet matches the current asynchronous request. If they match, check if the current asynchronous request has been responded to. If it has not been responded to, an asynchronous communication delayed response fault has occurred, and the determination ends; if it has been responded to, an asynchronous communication duplicate response fault has occurred, and the determination ends.

[0194] When the network cycle state is in the cycle state and the communication sequence state is in the PReq data frame reception state, the communication fault determination process is as follows: Figure 7As shown. First, if the received data packet is a PRES packet, it is first checked whether the original device of the packet has reached the process data communication cycle. If it has not reached the cycle, it is determined that a process data communication cycle failure has occurred. Next, it is checked whether the packet matches the two most recent process data communication requests. If it does not match the current request but matches the previous request, it is determined that a process data communication delay response failure has occurred. If neither of them matches, it is determined that a process data communication mismatch failure has occurred, and the process ends. Conversely, if the received data packet is not a PRES packet, a PRES data frame loss fault is first determined. Then, if the received data packet is a SoC packet, a periodic communication missing asynchronous phase fault is first determined. Next, it checks if there is a device in the slave list that has reached the process data communication cycle but has not been requested. If it exists, a process data communication loss fault is determined, and the determination ends. If the received data packet is a PReq packet, it is determined whether the target device of the packet has reached the process data communication cycle. If it has not reached the cycle, a process data communication cycle fault is determined, and the determination ends. If the received data packet is an Asnd packet, a SoA data frame loss fault is determined, and the determination ends.

[0195] When the network cycle state is in the cycle state and the communication sequence state is in the PRES data frame reception state, the communication fault determination process is as follows: Figure 8 As shown. First, if the received data packet is a SoA packet, there is no fault, and the determination ends. Second, if the received data packet is a PREQ packet, it is checked whether the target device of the packet has reached the process data communication cycle. If it has, there is no fault; otherwise, a process data communication cycle fault is determined, and the determination ends. Third, if the received data packet is a PRESQ packet, it is first checked whether the source device of the packet has reached the process data communication cycle. If it has not reached the cycle, a process data communication cycle fault is determined. Then, it is checked whether the packet matches the two most recent process data communication requests. If it matches the current request and the current request has been responded to, a process data communication duplicate response fault is determined. If it does not match the current request but matches the previous request, a process data communication delayed response fault is determined. If neither matches, a PREQ data frame loss fault is determined, and the determination ends. In addition, if the received data packet is a SoC packet, a fault of missing asynchronous phase in periodic communication is first determined. Then, it is checked whether there is a device in the slave list that has reached the process data communication cycle but has not been requested. If so, a process data communication loss fault is determined, and the determination ends. Finally, if the received data packet is an Asnd packet, a SoA data frame loss fault is determined, and the determination ends.

[0196] When the network cycle state is in the cycle state and the communication sequence state is in the SoA data frame reception state, the communication fault determination process is as follows: Figure 9 As shown. First, it determines whether the received data packet is an Asnd packet. If so, it checks whether the packet matches the current asynchronous request. If they match, there is no fault, and the determination ends; otherwise, an asynchronous communication mismatch fault is determined, and the determination ends. Next, if the received data packet is not an Asnd packet, it checks whether the service code of the current asynchronous request is a no-operation. If so, subsequent determination operations are performed; otherwise, it checks whether the target device of the current asynchronous service is a master device or whether it is in the slave list. If neither of these conditions is met, subsequent determination operations are performed; if they are met, an Asnd data frame loss error is determined, and subsequent determination operations are performed. In the subsequent determination operations, if the received data packet is a SoA packet, it checks whether the packet indicates that the master station is in synchronous communication state. If so, a periodic communication missing synchronization phase fault is determined, and the determination ends. Second, if the received data packet is a SoC packet, it checks whether there is a device in the slave list that has reached the process data communication cycle but has not been requested. If so, a process data communication loss fault is determined, and the determination ends. Third, if the received data packet is a PRESQ packet, a SoC data frame loss fault is first determined. Then, it is checked whether the target device of the packet has reached the process data communication cycle. If it has not reached the cycle, a process data communication cycle fault is determined. Next, it is checked whether there is a device in the slave list that has reached the process data communication cycle but has not been requested. If it exists, a process data communication loss fault is determined, and the determination ends. Finally, if the received data packet is a PRESQ packet, it is first checked whether the source device of the packet has reached the process data communication cycle. If it has not reached the cycle, a process data communication cycle fault is determined. Next, it is checked whether the packet matches the current process data communication request. If they match, and the current request has been responded to, a process data communication duplicate response fault is determined; otherwise, if the current request has not been responded to, a process data communication delayed response fault is determined, and the determination ends.

[0197] When the network cycle state is in the cycle state and the communication sequence state is in the Asnd data frame reception state, the communication fault determination process is as follows: Figure 10As shown. First, if the received data packet is a SoA packet, check if the packet indicates that the master station is in synchronous communication state. If so, it is determined that a periodic communication lack of synchronization phase failure has occurred, and the determination ends. Second, if the received data packet is an Asnd packet, determine if the packet matches the current asynchronous request. If they match, check if the current asynchronous request has been responded to. If it has not been responded to, it is determined that an asynchronous communication delayed response failure has occurred; otherwise, it is determined that an asynchronous communication duplicate response failure has occurred, and the determination ends. Third, if the received data packet is a SoC packet, check if there is a device in the slave station list that has reached the process data communication cycle but has not been requested. If it exists, it is determined that a process data communication loss failure has occurred, and the determination ends. Fourth, if the received data packet is a PReq packet, first determine if a SoC data frame loss failure has occurred; then check if the target device of the packet has reached the process data communication cycle. If it has not reached the target device, it is determined that a process data communication cycle failure has occurred; then check if there is a device in the slave station list that has reached the process data communication cycle but has not been requested. If it exists, it is determined that a process data communication loss failure has occurred, and the determination ends. Finally, if the received data packet is a PRESQ packet, the process first checks whether the source device of the packet has reached the process data communication cycle. If it has not reached the cycle, a process data communication cycle failure is determined. Then, the process checks whether the packet matches the current process data communication request. If they match, and the current request has been responded to, a process data communication duplicate response failure is determined. Otherwise, if the current request has not been responded to, a process data communication delayed response failure is determined, and the process ends.

[0198] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in the present invention should be included within the scope of protection of the present invention.

Claims

1. A POWERLINK communication fault detection method based on message flow analysis, characterized in that, Includes the following steps: 1) Parse the protocol messages and extract the message information as the message parsing result; 2) Based on the message parsing results, generate context information describing the network; 3) Based on the message parsing results, the current network status, and the network context information, determine whether a protocol communication failure has occurred. If a failure has occurred, record the relevant failure information. 4) Based on the message parsing results and the current network status, generate the next state that the network needs to jump to, update the network status, and return to step 1) until the listening of protocol messages ends, thus completing the network communication fault detection. The network state includes: network cycle state and communication sequence state, wherein... The network periodic state is used to describe the current operating phase of the network, including idle state, aperiodic state, and periodic state; The communication sequence state is used to describe the type of the most recently transmitted data packet in the network, including idle state, SoC receive state, PReq receive state, PRes receive state, SoA receive state, and Asnd receive state.

2. The POWERLINK communication fault detection method based on message flow analysis according to claim 1, characterized in that, The protocol communication faults include: data frame loss fault, out-of-order fault, process data communication mismatch fault, asynchronous communication mismatch, process data communication loss fault, and process data communication cycle fault.

3. The POWERLINK communication fault detection method based on message flow analysis according to claim 2, characterized in that, The specific steps to determine a data frame loss fault are as follows: A1) A SoC data frame loss fault occurs when any of the following conditions are met: A11) When the network periodic state is in the aperiodic state and the communication sequence state is in the Asnd receiving state, a PREq data packet or a PREs data packet is received. A12) When the network periodic state is in the aperiodic state and the communication sequence state is in the SoA receiving state, a PReq data packet or a PRES data packet is received. A13) When the network cycle state is in the cycle state and the communication sequence state is in the SoA receive state, a PREQ data packet is received. A14) When the network cycle state is in the cycle state and the communication sequence state is in the Asnd receiving state, a PREQ data packet is received. A2) A PREQ data frame loss fault occurs when any of the following conditions are met: A21) When the network periodic state is in the aperiodic state and the communication sequence state is in the Asnd receiving state, a PREs data packet is received. A22) When the network periodic state is in the aperiodic state and the communication sequence state is in the SoA receiving state, a PRES data packet is received. A23) When the network cycle state is in the cycle state and the communication sequence state is in the SoC receiving state, a PREs data packet is received; A24) When the network cycle state is in the cycle state and the communication sequence state is in the PRES receiving state, a PRES data message is received and the data frame does not match the current or the previous process data request. A3) A PRES data frame loss failure occurs when the following conditions are met: When the network cycle state is in the cycle state and the communication sequence state is in the PReq receiving state, a PReq data packet, a SoC data packet, a SoA data packet, or an Asnd data packet is received. A4) A SoA data frame loss fault occurs when any of the following conditions are met: A41) When the network periodic state is in an aperiodic state and the communication sequence state is in the Asnd receiving state, an Asnd data packet is received and the packet does not match the current asynchronous request. A42) When the network cycle state is in the cycle state and the communication sequence state is in the PReq receiving state, an Asnd data packet is received. A43) When the network cycle state is in the cycle state and the communication sequence state is in the PRES receiving state, an Asnd data packet is received. A5) An Asnd data frame loss fault occurs when any of the following conditions are met: A51) When the network periodic state is in the aperiodic state and the communication sequence state is in the SoA receiving state, the received data packet is not an Asnd packet and the service code of the current asynchronous request is not empty. At the same time, the target device of the current asynchronous request is the master station. A52) When the network periodic state is in the aperiodic state and the communication sequence state is in the SoA receiving state, the received data packet is not an Asnd packet and the service code of the current asynchronous request is not empty. At the same time, the target device of the current asynchronous request is a slave and the target device is in the slave list. A53) When the network cycle state is in the cycle state and the communication sequence state is in the SoA receive state, the received data packet is not an Asnd packet and the service code of the current asynchronous request is not empty, and the target device of the current asynchronous request is the master station. A54) When the network cycle state is in the cycle state and the communication sequence state is in the SoA receive state, the received data packet is not an Asnd packet and the service code of the current asynchronous request is not empty. At the same time, the target device of the current asynchronous request is a slave and the target device is in the slave list.

4. The POWERLINK communication fault detection method based on message flow analysis according to claim 2, characterized in that, The specific faults for determining out-of-order sequence are as follows: B1) A process data communication delay response fault occurs when any of the following conditions are met: B11) When the network cycle state is in the cycle state and the communication sequence state is in the SoA receive state, a PRES data packet is received and the packet matches the current process data request, but the current process data request is not responded to. B12) When the network cycle state is in the cycle state and the communication sequence state is in the Asnd receiving state, a PREs data message is received and the message matches the current process data request, while the current process data request is not responded to. B13) When the network cycle state is in the cycle state and the communication sequence state is in the PRES receiving state, a PRES data message is received and the message does not match the current process data request but matches the previous process data request. B14) When the network cycle state is in the cycle state and the communication sequence state is in the PReq receiving state, a PREs data message is received and the message does not match the current process data request but matches the previous process data request. B2) A process data communication repetitive response failure occurs when any of the following conditions are met: B21) When the network cycle state is in the cycle state and the communication sequence state is in the Asnd receiving state, a PREs data message is received and the message matches the current process data request, and the current process data request has been responded to. B22) When the network cycle state is in the cycle state and the communication sequence state is in the PRES receiving state, a PRES data packet is received and the packet matches the current process data request, and the current process data request has been responded to. B23) When the network cycle state is in the cycle state and the communication sequence state is in the SoA receive state, a PREs data packet is received and the packet matches the current process data request, and the current process data request has been responded to. B3) An asynchronous communication delay response failure occurs when any of the following conditions are met: B31) When the network periodic state is in the aperiodic state and the communication sequence state is in the Asnd receiving state, an Asnd data packet is received and the packet matches the current asynchronous request, while the current asynchronous request has not been responded to. B32) When the network cycle state is in the cycle state and the communication sequence state is in the Asnd receiving state, an Asnd data packet is received and the packet matches the current asynchronous request, while the current asynchronous request has not been responded to. B33) When the network cycle state is in the cycle state and the communication sequence state is in the SoC receiving state, an Asnd data packet is received and the packet matches the current asynchronous request, while the current asynchronous request has not been responded to. B4) An asynchronous communication duplicate response failure occurs when any of the following conditions are met: B41) When the network periodic state is in the aperiodic state and the communication sequence state is in the Asnd receiving state, an Asnd data packet is received and the packet matches the current asynchronous request, while the current asynchronous request has already been responded to. B42) When the network cycle state is in the cycle state and the communication sequence state is in the Asnd receiving state, an Asnd data packet is received and the packet matches the current asynchronous request, and the current asynchronous request has already been responded to. B43) When the network cycle state is in the cycle state and the communication sequence state is in the SoC receiving state, an Asnd data packet is received and the packet matches the current asynchronous request, and the current asynchronous request has already been responded to. B5) A periodic communication lack of synchronization phase failure occurs when any of the following conditions are met: B51) When the network cycle state is in the cycle state and the communication sequence state is in the Asnd receiving state, the SoA data message is received and the master station is in the synchronous communication state. B52) When the network cycle state is in the cycle state and the communication sequence state is in the SoC receiving state, a SoA data packet is received and there is a slave device in the slave list that has reached the process data communication cycle; B53) When the network cycle state is in the cycle state and the communication sequence state is in the SoA receiving state, the SoA data message is received and the master station is in the synchronous communication state. B6) A failure due to a lack of asynchronous phase in periodic communication occurs when any of the following conditions are met: B61) When the network cycle state is in the cycle state and the communication sequence state is in the PRES receiving state, a SoC data packet is received; B62) When the network cycle state is in the cycle state and the communication sequence state is in the PReq receive state, a SoC data packet is received.

5. The POWERLINK communication fault detection method based on message flow analysis according to claim 2, characterized in that, The specific fault in determining the data communication mismatch during the process is as follows: When the network cycle state is in the cycle state and the communication sequence state is in the PReq receiving state, if a PRes data message is received and the message does not match the two nearest process data requests, a process data communication mismatch fault occurs.

6. The POWERLINK communication fault detection method based on message flow analysis according to claim 2, characterized in that, The specific steps to determine an asynchronous communication mismatch fault are as follows: D) An asynchronous communication mismatch failure occurs when any of the following conditions are met: D1) When the network periodic state is in an aperiodic state and the communication sequence state is in the SoA receiving state, an Asnd data packet is received and the packet does not match the current asynchronous request. D2) When the network cycle state is in the cycle state and the communication sequence state is in the SoA receive state, an Asnd data packet is received and the packet does not match the current asynchronous request.

7. The POWERLINK communication fault detection method based on message flow analysis according to claim 2, characterized in that, The specific faults in determining data communication loss during the process are as follows: E) A process data communication loss failure has occurred when any of the following conditions are met: E1) When the network cycle state is in the cycle state and the communication sequence state is in the Asnd receiving state, a device that receives a SoC data packet or a PReq data packet and has a process data communication cycle that has arrived but has not been requested exists in the slave list; E2) When the network cycle state is in the cycle state and the communication sequence state is in the PRES receiving state, a device that receives a SoC data packet and has a process data communication cycle arriving but not requested exists in the slave list; E3) When the network cycle state is in the cycle state and the communication sequence state is in the PReq receiving state, a device that receives a SoC data packet and has a process data communication cycle arriving but not requested exists in the slave list; E4) When the network cycle state is in the cycle state and the communication sequence state is in the SoA receive state, a device that receives a SoC data packet or a PReq data packet and has a process data communication cycle that has arrived but has not been requested exists in the slave list.

8. The POWERLINK communication fault detection method based on message flow analysis according to claim 2, characterized in that, The specific steps to determine a data communication cycle failure are as follows: F) A process data communication cycle failure occurs when any of the following conditions are met: F1) When the network cycle state is in the cycle state and the communication sequence state is in the Asnd receiving state, a PREq data packet is received and the target device of the data packet has not reached the process data communication cycle. F2) When the network cycle state is in the cycle state and the communication sequence state is in the Asnd receiving state, a PREs data packet is received and the source device of the data packet has not reached the process data communication cycle. F3) When the network cycle state is in the cycle state and the communication sequence state is in the SoC receiving state, a PREQ data packet is received and the target device of the data packet has not reached the process data communication cycle. F4) When the network cycle state is in the cycle state and the communication sequence state is in the SoC receiving state, a PREs data packet is received and the source device of the data packet has not reached the process data communication cycle. F5) When the network cycle state is in the cycle state and the communication sequence state is in the PREs receiving state, a PREQ data packet is received and the target device of the data packet has not reached the process data communication cycle. F6) When the network cycle state is in the cycle state and the communication sequence state is in the PRES receiving state, a PRES data packet is received and the source device of the data packet has not reached the process data communication cycle. F7) When the network cycle state is in the cycle state and the communication sequence state is in the PReq receiving state, a PRes data packet is received and the source device of the data packet has not reached the process data communication cycle. F8) When the network cycle state is in the cycle state and the communication sequence state is in the PReq receiving state, a PReq data packet is received and the target device of the data packet has not reached the process data communication cycle. F9) When the network cycle state is in the cycle state and the communication sequence state is in the SoA receive state, a PReq data packet is received and the target device of the data packet has not reached the process data communication cycle. F10) When the network cycle state is in the cycle state and the communication sequence state is in the SoA receive state, a PRES data packet is received and the source device of the data packet has not reached the process data communication cycle.

Citation Information

Patent Citations

  • A method for realizing network recovery in loop network

    CN101262401A

  • System and method for fault prediction in home network

    US20100057649A1