MODBUS-based functional safety implementation method

By integrating the openSAFETY protocol onto the MODBUS protocol, the problem of secure data transmission of the MODBUS protocol in industrial environments is solved, achieving secure and reliable data transmission and reducing development costs and risks.

CN116346525BActive Publication Date: 2025-10-31SHENYANG INST OF AUTOMATION - CHINESE ACAD OF SCI
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111599421.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-24
Publication Date
2025-10-31
Estimated Expiration
2041-12-24

AI Technical Summary

Technical Problem

The existing industrial Ethernet MODBUS protocol lacks versatility and cannot achieve secure data transmission in various industrial environments. Furthermore, traditional security protocols are costly and risky to develop.

Method used

The openSAFETY protocol is used as the underlying communication protocol. The MODBUS protocol is integrated with the openSAFETY protocol through the openSAFETY function module, security verification module, parameter configuration module and object dictionary mapping module to realize secure transmission and mapping of data frames.

Benefits of technology

The functional safety application of openSAFETY was implemented on the MODBUS protocol, which ensures the data integrity and reliability of industrial Ethernet and reduces development costs and risks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116346525B_ABST
    Figure CN116346525B_ABST
Patent Text Reader

Abstract

This invention relates to a functional safety implementation method based on the industrial communication protocol MODBUS, comprising the following steps: 1. Implementing three functional modules; 2. Integrating the openSAFETY protocol into the MODBUS communication protocol through the implemented functional modules, thereby implementing the functional safety application of openSAFETY on MODBUS. The functional modules include: a security verification module; a parameter configuration module; and an object dictionary mapping module. This invention addresses the shortcomings of existing technologies by providing a MODBUS-based openSAFETY functional safety implementation method, ensuring data integrity and reliability at the data application layer.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of industrial Ethernet communication security, and in particular to industrial Ethernet functional safety protocols, specifically a method for implementing security at the industrial Ethernet network layer. Background Technology

[0002] The main focus of industrial communication security research is on service function safety applications, specifically whether industrial networks can function properly under various industrial environmental interferences such as electromagnetic fields, high temperatures, noise, and vibration. In industrial settings, secure data transmission between machines is crucial, and Ethernet-based fieldbus networks have become the standard transmission medium. The performance and scope of traditional industrial security technologies are generally limited by bus protocol standards. To meet network security requirements, various companies and organizations have developed corresponding network security protocols for their respective industrial networks. However, these security protocols are constrained by their respective underlying protocols and lack universality.

[0003] OpenSAFETY is the first open and bus-independent security protocol, with the potential to become the standard protocol for security-oriented data transmission in the field of automation. It is compatible with all industrial Ethernet protocols.

[0004] The OpenSAFETY solution offers an opportunity to provide a common security system standard for industrial communication networks, especially for security-oriented development. Thanks to OpenSAFETY's openness, cost-sensitive manufacturers and field operators will reduce the significant development effort they need to put in.

[0005] openSAFETY is a reliable choice for both product manufacturers and end-users because this solution provides a ready-to-use security stack with years of practical application and a high level of credibility. Unlike development using proprietary technologies, it does not require high development costs, long-term development, or expert personnel. Since openSAFETY is already TUV certified and included in IEC 61784-3, development risks are minimized, and openSAFETY is freely available under the BSD open-source license. Summary of the Invention

[0006] This invention addresses the communication security issues inherent in the MODBUS standard protocol for industrial Ethernet by proposing a MODBUS-based method for implementing openSAFETY functional safety. By using MODBUS as the underlying communication protocol for openSAFETY, functional safety applications can be implemented on top of the MODBUS protocol.

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

[0008] A functional safety implementation system based on MODBUS includes:

[0009] The openSAFETY module is used to encapsulate user data into data frames according to the mapping relationship and transmit them securely.

[0010] The security verification module is used to determine whether a data frame is an openSAFETY frame. When the data frame is an openSAFETY frame, a mapping relationship is constructed through the object dictionary mapping module, and the data frame is transmitted securely through the openSAFETY function module.

[0011] The parameter configuration module is used to configure the parameters of the openSAFETY functional modules;

[0012] The object dictionary mapping module is used to call object dictionary mapping functions and mapping indices to establish the mapping relationship between MODBUS address registers and openSAFETY object dictionaries.

[0013] The openSAFETY functional module includes:

[0014] The secure network management state machine is used to control the openSAFETY functional modules to transmit data frames according to the control instructions of the protocol stack control module;

[0015] The protocol stack control module is used to configure parameters for the parameter configuration module, security verification module, openSAFETY object dictionary, and object dictionary mapping module, and, based on the user-configured parameters, link process variables containing user data and communication objects representing encapsulated communication data structures, as well as control the security network management state machine.

[0016] The openSAFETY object dictionary is used to describe the characteristics of MODBUS devices. The objects are description parameters of MODBUS devices and store MODBUS device address codes.

[0017] The Security Process Data Object module is used to transmit openSAFETY frames between MODBUS devices;

[0018] The Security Service Data Object module is used for initialization parameters and configuration of the openSAFETY object dictionary.

[0019] The description parameters of the MODBUS device include: communication object, communication parameters, manufacturer information, and device function information.

[0020] The MODBUS-based functional safety implementation method adds the openSAFETY module to the MODBUS application layer through application programming interface function calls, thereby implementing openSAFETY's secure data transmission function on MODBUS. Specifically, it includes the following steps:

[0021] After the security protocol stack process starts, the protocol stack control module configures the parameters of the parameter configuration module, security verification module, openSAFETY object dictionary, and object dictionary mapping module respectively.

[0022] The protocol stack control module links process variables containing user data and communication objects representing encapsulated communication data structures according to user-configured parameters in order to transmit data frames.

[0023] The security verification module determines whether the data frame is an openSAFETY frame. When the data frame is an openSAFETY frame, the communication between MODBUS device nodes accesses the openSAFETY object dictionary. The object dictionary mapping module calls the internal object dictionary mapping function to map the index and establish the mapping relationship between the MODBUS address register and the openSAFETY object dictionary.

[0024] The protocol stack control module starts the secure network management state machine to control the openSAFETY function module to transmit data frames.

[0025] The process of determining whether a data frame is an openSAFETY frame through a security verification module involves the following steps: the security verification module performs bi-subframe verification and CRC verification on the data frame. If the data frame meets the requirements of bi-subframe verification and CRC verification, then the data frame is an openSAFETY frame.

[0026] The openSAFETY functional module transmits data frames, specifically: the openSAFETY frames sent by the MODBUS data link layer are sent to the client after being processed by the security process data object module in the openSAFETY functional module, including address encoding.

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

[0028] This invention, based on the MODBUS communication protocol and employing the openSAFETY protocol stack, implements SafetyMODBUS industrial Ethernet with application-layer security. It ensures the integrity and reliability of data during network operation in fields such as industrial process control. Attached Figure Description

[0029] Figure 1 The structure diagram of the openSAFETY protocol based on MODBUS in this invention;

[0030] Figure 2 A schematic diagram of object dictionary mapping in this invention;

[0031] Figure 3 The flowchart of the security protocol stack operation in this invention. Detailed Implementation

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

[0033] The MODBUS-based functional safety implementation method includes the following steps:

[0034] Establish different functional modules:

[0035] 1) Security verification module, used for openSAFETY dual subframe verification and CRC verification, providing an interface for MODBUS and openSAFETY;

[0036] 2) Parameter configuration module, used for configuring openSAFETY node parameters;

[0037] 3) Object dictionary mapping module, used for mapping openSAFETY object dictionary and MODBUS register addresses.

[0038] In the security verification module, the user configures relevant parameters according to the openSAFETY function to perform verification.

[0039] The parameter configuration module is used to configure security-related specific parameters of openSAFETY.

[0040] Specific parameters include MODBUS master and slave settings, maximum number of secure nodes, maximum number of data sent / received, number of address mapping channels, and number of payload bytes.

[0041] The MODBUS master and slave stations are configured as a security management node and a security worker node through the openSAFETY header file. The object dictionary module is used to index the MODBUS register data structure.

[0042] This invention designs a functional safety implementation method based on MODBUS: the openSAFETY protocol is added to the MODBUS application layer, and the openSAFETY functional module is integrated into the MODBUS protocol layer through application programming interface function calls, thereby implementing the openSAFETY security function on MODBUS.

[0043] As attached Figure 1As shown, MODBUS data is divided into service data objects and process data objects. The process data objects are used for transmitting process data between master and slave nodes, i.e., MODBUS register data transmission. Both service data objects and process data objects are communication data objects; the service data objects are used for transmitting master station configuration commands and configuring MODBUS network parameters.

[0044] In OpenSAFETY, the object dictionary describes the characteristics of a MODBUS device. An object is a set of descriptive parameters; a MODBUS device requires multiple sets of objects, including communication objects, communication parameters, manufacturer information, and device function information. MODBUS network process data objects and service data objects are used by OpenSAFETY nodes to implement security functions and provide security services to application-layer programs.

[0045] Process data objects are used to transmit secure application data between MODBUS sites. Service data objects are used during the network startup phase and are responsible for configuring the initialization parameters and object dictionary of the master and slave stations. During the working phase, service data objects are responsible for object dictionary communication and uploading and downloading related parameters.

[0046] The openSAFETY secure network management state machine is responsible for network services, including UDID authentication, node address allocation, and communication state management. The openSAFETY secure network management state machine is divided into master / slave structure.

[0047] The openSAFETY protocol stack initializes the protocol stack control module. After initialization, the protocol stack control module processes the security network management state machine and security service data objects through security network management functions.

[0048] The security verification module is responsible for openSAFETY double subframe verification and CRC check, providing an interface between openSAFETY and MODBUS link data. When a data frame from the MODBUS data link layer is identified as an openSAFETY frame, the security verification module parses and compares the double subframes of the message and performs CRC redundancy check. Users need to configure the relevant parameters in the openSAFETY header file within the security verification module.

[0049] Parameter configuration module: This module in openSAFETY sets relevant parameter configurations based on the specific implementation scheme of MODBUS.

[0050] Object dictionary mapping module: Used to establish the openSAFETY object dictionary and MODBUS register address mapping table, so that the openSAFETY security object dictionary can be embedded into the MODBUS register address list, and thus linked through interface function mapping.

[0051] like Figure 2 As shown, the object dictionary mapping module establishes an object dictionary mapping function, mapping index, and parameter descriptions of the data structures for the openSAFETY object dictionary mapping table and the MODBUS address register list. Parameters include data type, index, sub-index, address offset, length, etc. This function establishes links between the corresponding data structures.

[0052] During communication, all requests accessing from MODBUS first call this mapping function to map the user security data encapsulated in the corresponding object dictionary to the openSAFETY object dictionary. When upper-layer user data is sent externally through the openSAFETY object dictionary, the mapping function also needs to be called to map the data information into the MODBUS address register.

[0053] like Figure 3 As shown, after the security protocol stack process starts, the user program needs to call system functions to set parameters. The protocol stack modifies the configuration module parameters, security verification module parameters, openSAFETY object dictionary and object dictionary mapping table, etc., according to the user-written application. The initialization process also calls the openSAFETY control module to enable other modules and initialize the security domain node list and security worker node parameter configuration.

[0054] After initialization, the protocol stack links process variables and communication objects according to the user-configured communication parameters. When the communication object involves security applications, communication between nodes requires accessing the openSAFETY object dictionary, calling the object dictionary mapping function, mapping indices, and establishing a mapping relationship between the MODBUS address register and the openSAFETY object dictionary. After completing the above steps, the protocol stack calls the state control module to start the security state machine. To ensure secure data communication in the MODBUS network, the openSAFETY state control module processes MODBUS frame data, thereby monitoring the operating status of the security management node and the security worker nodes. The processing of secure data frames is handled by the frame management module, and the CRC check is performed by the security check module.

Claims

1. A functional safety implementation method based on MODBUS, characterized in that, The openSAFETY functional module is added to the MODBUS application layer through application programming interface function calls to implement openSAFETY's secure data transmission function on MODBUS. This includes the following steps: After the security protocol stack process starts, the protocol stack control module configures the parameters of the parameter configuration module, security verification module, openSAFETY object dictionary, and object dictionary mapping module respectively. The protocol stack control module links process variables containing user data and communication objects representing encapsulated communication data structures according to user-configured parameters in order to transmit data frames. The security verification module determines whether the data frame is an openSAFETY frame. When the data frame is an openSAFETY frame, the communication between MODBUS device nodes accesses the openSAFETY object dictionary. The object dictionary mapping module calls the internal object dictionary mapping function to map the index and establish the mapping relationship between the MODBUS address register and the openSAFETY object dictionary. The protocol stack control module starts the secure network management state machine to control the openSAFETY function module to transmit data frames; The method is applied to a MODBUS-based functional safety implementation system, which includes: The openSAFETY module is used to encapsulate user data into data frames according to the mapping relationship and transmit them securely. The security verification module is used to determine whether a data frame is an openSAFETY frame. When the data frame is an openSAFETY frame, a mapping relationship is constructed through the object dictionary mapping module, and the data frame is transmitted securely through the openSAFETY function module. The parameter configuration module is used to configure the parameters of the openSAFETY functional modules; The object dictionary mapping module is used to call object dictionary mapping functions and mapping indices to establish the mapping relationship between MODBUS address registers and openSAFETY object dictionaries; The openSAFETY functional module includes: The secure network management state machine is used to control the openSAFETY functional modules to transmit data frames according to the control instructions of the protocol stack control module; The protocol stack control module is used to configure parameters for the parameter configuration module, security verification module, openSAFETY object dictionary, and object dictionary mapping module, and, based on the user-configured parameters, link process variables containing user data and communication objects representing encapsulated communication data structures, as well as control the security network management state machine. The openSAFETY object dictionary is used to describe the characteristics of MODBUS devices. The objects are description parameters of MODBUS devices and store MODBUS device address codes. The Security Process Data Object module is used to transmit openSAFETY frames between MODBUS devices; The Security Service Data Object module is used for initialization parameter and openSAFETY object dictionary configuration; The description parameters of the MODBUS device include: communication object, communication parameters, manufacturer information, and device function information.

2. The functional safety implementation method based on MODBUS according to claim 1, characterized in that, The process of determining whether a data frame is an openSAFETY frame through a security verification module involves the following steps: the security verification module performs bi-subframe verification and CRC verification on the data frame. If the data frame meets the requirements of bi-subframe verification and CRC verification, then the data frame is an openSAFETY frame.

3. The functional safety implementation method based on MODBUS according to claim 1, characterized in that, The openSAFETY functional module transmits data frames, specifically: the openSAFETY frames sent by the MODBUS data link layer are sent to the client after being processed by the security process data object module in the openSAFETY functional module, including address encoding.

Citation Information

Patent Citations

  • Method for realizing openSAFETY function security based on POWERLINK

    CN104821948A