Industrial control system IO module redundancy switching method, industrial control system
By analyzing the configuration information in the industrial control system to obtain redundant configuration information and determining redundant switching based on the fault conditions, the problem of insufficient flexibility in redundant configuration of the IO module in the prior art is solved, and the separate redundant switching of the IO module and the improvement of system stability are achieved.
Patent Information
- Application Number
- CN202411609529.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-12
- Publication Date
- 2025-05-09
- Estimated Expiration
- 2044-11-12
AI Technical Summary
The redundant configuration of the existing industrial control system IO modules is insufficient to achieve fast online modification, and the entire rack must be switched during redundant switching, so it is impossible to achieve separate redundant switching between modules.
The controller analyzes the configuration information downloaded by the configuration server to obtain redundant configuration information, sets the initial operating status of the IO module, and determines whether to perform redundant switching based on the fault condition of the IO module in the redundant group, and issues redundant switching instructions to achieve the working status switching of the IO module.
It improves the flexibility of redundant configuration of IO modules and realizes separate redundant switching of IO modules, so that no additional hardware circuits and mutually redundant racks are required, improving the stability and resilience of the system.
Smart Images

Figure CN119148500B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of industrial control technology, and in particular to an industrial control system IO module redundant switching method and an industrial control system. Background Art
[0002] During the operation of industrial control systems, especially in the key signal acquisition and output control links, IO modules often need to be redundantly configured. Currently, there are two main ways to achieve IO module redundancy: one common method is to install two IO modules in adjacent positions on the same baseboard, and use the hardware circuits inside the IO modules and on the baseboard to achieve state switching between redundant modules. However, the redundant configuration achieved by this method does not have sufficient configuration flexibility for the IO modules. Once the project design needs to be changed, it will be very difficult to temporarily change the design of an IO module that was originally non-redundantly configured to a redundant one. The hardware configuration of the entire rack needs to be modified, and rapid online modification cannot be achieved. Another common method is to use overall rack redundancy, and the IO modules configured on the redundant racks are one-to-one redundant. This method requires that the redundant IO modules must be configured in the same slots of each rack. The problem with this method of achieving redundant configuration is that the IO modules plugged into the redundant racks must all be redundantly configured, and non-redundantly configured modules cannot be installed. At the same time, the entire rack must be switched during redundant switching, and individual redundant switching between modules cannot be achieved. Summary of the invention
[0003] In view of the deficiencies in the prior art, the present invention provides an industrial control system IO module redundancy switching method, wherein the industrial control system includes a configuration server, a controller, and multiple IO modules, and the controller communicates with each IO module through an interface module, comprising the following steps:
[0004] S1, the controller parses the configuration information downloaded from the configuration server and obtains redundant configuration information, wherein the redundant configuration information includes location information of at least one group of mutually redundant multiple IO modules, and the location information includes the rack number and slot number of the IO module;
[0005] S2, the controller sets the initial operation state of the corresponding IO module according to the redundant configuration information, and sends the configuration information and initial operation state information of each IO module to the IO module installed at the corresponding position through the interface module, wherein the initial operation state includes a working state and a standby state;
[0006] S3, each IO module operates according to the initial operating status and configuration information set by the controller, and reports the fault information to the controller after detecting its own fault;
[0007] S4, after receiving the fault information, the controller obtains the fault conditions of other IO modules in the redundant group where the faulty IO module is located, and determines whether to perform redundant switching based on the fault comparison of each IO module in the redundant group. If switching is required, a redundant switching instruction is issued to the IO modules in the redundant group.
[0008] Preferably, after receiving the non-real-time data sent by the controller, the IO module determines the type of the non-real-time data. If the non-real-time data is high-priority data, the current task is interrupted and the high-priority data is responded to. Otherwise, the non-real-time data is stored in the IO module cache and the non-real-time data is retrieved for response after the current task is completed or the corresponding processing cycle is reached. The high-priority data includes but is not limited to redundant switching instructions. After receiving the non-real-time data uploaded by the IO module, the controller determines the type of the non-real-time data. If the non-real-time data is high-priority data, the current task is interrupted and the high-priority data is responded to. Otherwise, the non-real-time data is stored in the controller cache and the non-real-time data is retrieved for response after the current task is completed or the corresponding processing cycle is reached. The high-priority data includes but is not limited to fault diagnosis data.
[0009] Preferably, the step S4 specifically includes:
[0010] S41, after receiving the fault information reported by the IO module through the fault diagnosis data channel, the controller interrupts the current task and queries the configuration information to obtain the location information of other IO modules in the redundant group where the faulty IO module is located;
[0011] S42, query the fault conditions of other IO modules that are redundant with the faulty IO module according to the location information, determine whether to perform redundant switching according to the fault comparison of each IO module in the redundant group, and if switching is required, issue a redundant switching instruction to the corresponding IO module in the redundant group.
[0012] Preferably, after receiving the redundant switching instruction to switch to the standby state issued by the controller, the IO module in the working state obtains the current module working data type, and switches it to the standby state corresponding to the module working data type according to the module working data type; after receiving the redundant switching instruction to switch to the working state issued by the controller, the IO module in the standby state obtains the configured module working data type from the stored configuration data, switches it to the working state corresponding to the module working data type according to the module working data type, and replies the working state identifier to the controller as a response after the switching is completed.
[0013] Preferably, step S4 also includes: after receiving the fault information sent by the IO module in the working state, the controller obtains the location information of the faulty IO module, queries whether the location information exists in the redundant configuration information, and if not, updates the fault information to the fault database; if the location information exists in the redundant configuration information, obtains the location information of other IO modules that are redundant with the IO module on the location information, and collects the fault information of the IO modules at other redundant positions according to the location information; if the fault level of the IO module currently in the working state is higher than that of the IO module in the standby state, selects the IO module with the lower fault level from the IO modules in the standby state and sends it a redundant switching command to switch to the working state, and sends a redundant switching command to switch to the standby state to the IO module currently in the working state.
[0014] Preferably, multiple mutually redundant IO modules are installed on the same rack.
[0015] The present invention also discloses an industrial control system, comprising a configuration server, a controller, and a plurality of IO modules, wherein the controller communicates with each IO module through an interface module, wherein: the controller is configured to parse the configuration information downloaded from the configuration server and obtain redundant configuration information, wherein the redundant configuration information includes location information of at least one group of mutually redundant multiple IO modules, wherein the location information includes the rack number and slot number of the IO module; the initial operation state of the corresponding IO module is set according to the redundant configuration information, and the configuration information and initial operation state information of each IO module are sent to the IO module installed at the corresponding position through the interface module, wherein the initial operation state includes a working state and a standby state; the IO module is configured to operate according to the initial operation state and configuration information set by the controller, and report the fault information to the controller after detecting its own fault; the controller is also configured to obtain the fault conditions of other IO modules in the redundant group where the faulty IO module is located after receiving the fault information, and determine whether to perform redundant switching according to the fault comparison conditions of each IO module in the redundant group, and if switching is required, send a redundant switching instruction to the IO module in the redundant group.
[0016] Preferably, the IO module is configured to, after receiving the non-real-time data sent by the controller, determine the type of the non-real-time data, and if the non-real-time data is high-priority data, interrupt the current task and respond to the high-priority data; otherwise, store the non-real-time data in the IO module cache and retrieve the non-real-time data for response after the current task is completed or the corresponding processing cycle is reached, and the high-priority data includes but is not limited to redundant switching instructions; the controller is configured to, after receiving the non-real-time data uploaded by the IO module, determine the type of the non-real-time data, and if the non-real-time data is high-priority data, interrupt the current task and respond to the high-priority data; otherwise, store the non-real-time data in the controller cache and retrieve the non-real-time data for response after the current task is completed or the corresponding processing cycle is reached, and the high-priority data includes but is not limited to fault diagnosis data.
[0017] Preferably, the controller is configured to interrupt the current task and query the configuration information to obtain the location information of other IO modules in the redundant group where the faulty IO module is located after receiving the fault information reported by the IO module through the fault diagnosis data channel; query the fault conditions of other IO modules that are redundant with the faulty IO module according to the location information, and determine whether to perform redundant switching according to the fault comparison of each IO module in the redundant group; if switching is required, issue a redundant switching instruction to the corresponding IO module in the redundant group.
[0018] Preferably, the IO module is also configured to, when in a working state, after receiving a redundant switching instruction to switch to a standby state issued by the controller, obtain the current module working data type, and switch it to a standby state corresponding to the module working data type according to the module working data type; when in a standby state, after receiving a redundant switching instruction to switch to a working state issued by the controller, obtain the configured module working data type from the stored configuration data, switch it to a working state corresponding to the module working data type according to the module working data type, and reply the working state identifier to the controller as a response after the switching is completed.
[0019] The industrial control system IO module redundant switching method and industrial control system disclosed in the present invention use the rack number and slot number of the IO module as position information, distinguish each IO module and perform corresponding redundant configuration according to the position information, and send the configured configuration information and the configured initial state information to the IO module at the corresponding position. The IO module performs working state or standby state configuration according to the received controller information, and reports the fault information to the controller after detecting its own fault. After receiving the fault information, the controller compares the fault conditions of other IO modules in the redundant group where the faulty IO module is located, determines whether to perform redundant switching, and issues a redundant switching instruction to realize the working state switching of the IO module when redundant switching is required, so that there is no need to set additional hardware circuits for the IO modules that need to be redundantly configured on the rack bottom plate, and there is no need to arrange mutually redundant racks, thereby improving the flexibility of the redundant configuration of the IO modules of the industrial control system.
[0020] Additional aspects and advantages of the present invention will be given in part in the following description and in part will be obvious from the following description, or will be learned through practice of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The drawings described herein are used to provide further understanding of the present invention and constitute a part of this application. The illustrative embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute improper limitations on the present invention.
[0022] Figure 1 The present invention is a schematic diagram of the steps of a method for redundant switching of IO modules of an industrial control system disclosed in an embodiment of the present invention.
[0023] Figure 2 The figure is a schematic diagram of the structure of an industrial control system disclosed in one embodiment of the present invention.
[0024] Figure 3 The figure is a schematic diagram of the structure of an industrial control system disclosed in another embodiment of the present invention.
[0025] Figure 4 This is a schematic diagram of specific steps of step S4 disclosed in one embodiment of the present invention.
[0026] Figure 5 This is a schematic diagram of specific steps of step S41 disclosed in one embodiment of the present invention.
[0027] Figure 6 The figure is a schematic diagram of the structure of an industrial control system disclosed in another embodiment of the present invention. DETAILED DESCRIPTION
[0028] In order to make the purpose, technical solution and advantages of the embodiment of the present invention clearer, the technical solution of the embodiment of the present invention will be clearly and completely described below in conjunction with the drawings of the embodiment of the present invention. Obviously, the described embodiment is a part of the embodiment of the present invention, not all of the embodiments. Based on the described embodiment of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0029] In the present invention, unless otherwise clearly specified and limited, the technical terms or scientific terms used herein shall have the common meanings understood by persons with ordinary skills in the field to which the present invention belongs. The words "first", "second" and similar words used in the patent application specification and claims of the present invention do not indicate any order, quantity or importance, but are only used to distinguish different components. Similarly, words such as "one" or "an" do not indicate a quantity limitation, but indicate the existence of at least one.
[0030] This embodiment discloses a method for redundant switching of IO modules of an industrial control system, wherein the industrial control system includes a configuration server, a controller, and a plurality of IO modules, and the controller communicates with each IO module through an interface module. Figure 1 As shown, the industrial control system IO module redundancy switching method may include the following steps.
[0031] Step S1, the controller parses the configuration information downloaded from the configuration server and obtains redundant configuration information, wherein the redundant configuration information includes location information of at least one group of mutually redundant IO modules, and the location information includes the rack number and slot number of the IO module.
[0032] Specifically, this embodiment is based on Figure 2The industrial control system shown in the figure is used as an example to explain the IO module redundancy switching method. The control system consists of a configuration server, a controller, a rack, an interface module, an IO module and a terminal board. Among them, the configuration server is connected to the controller, and the configuration software for configuring the overall system is running in it, and the configured configuration information can be sent to the controller. The controller is used to process the data of the IO module, run the user program and determine the operating status of the IO module. The rack is used to install the interface module and the IO module. The interface module is used to forward the data interaction information between the controller and the IO module, and the data interaction information includes real-time data and non-real-time data. The IO module is used to collect field signals or output the calculation results of the controller. The terminal board is used to connect the IO module and the field instrument. During the operation of the system, the user performs redundant configuration of the IO module on the server through the configuration software to generate configuration information containing the location information of the redundant IO module. After the configuration is completed, the configuration software downloads the configuration information to the controller. The controller receives and parses the configuration information, obtains the rack number and slot number corresponding to the IO module to be redundantly configured, and is used to realize the configuration and switching of the operating status of each redundant IO module in the subsequent steps.
[0033] Among them Figure 2 As shown, multiple redundant IO modules can be installed on the same rack. Figure 3 As shown in the figure, multiple redundant IO modules are installed on different racks. Users can freely choose different IO modules in the same rack or different racks as redundant modules according to actual needs, and select or change the configuration scheme of redundant modules by specifying the rack number and slot number and combining the configuration information, so as to improve the fault tolerance of the system redundant configuration and the flexibility of redundant module configuration.
[0034] Step S2, the controller sets the initial operating state of the corresponding IO module according to the redundant configuration information, and sends the configuration information and initial operating state information of each IO module to the IO module installed at the corresponding position through the interface module, and the initial operating state includes a working state and a standby state.
[0035] Specifically, after the controller obtains the location information of the redundantly configured IO modules, it configures the initial operating status of each IO module in a mutually redundant state according to the preset rules, configures one IO module to a working state, and configures the other IO modules to a standby state, and exchanges data with the IO modules through the interface module, and sends the initial operating status information of each IO module to the corresponding IO module. After receiving the configuration information and initial status information sent by the controller, the IO module switches the operating state according to the configuration information and initial status, starts the working process, and the system enters a normal working state.
[0036] In step S3, each IO module operates according to the initial operation state and configuration information set by the controller, and reports fault information to the controller after detecting its own fault.
[0037] In this embodiment, step S3 may specifically include the following contents.
[0038] In step S31, each IO module receives the configuration information and initial operation status information sent by the controller, switches its own operation status according to the initial operation status information, and reads the work task to perform the operation when its own operation status is the working status.
[0039] Step S32, each IO module performs fault diagnosis operations in real time and updates its own fault information. When a fault is detected, the fault information is reported to the controller through the fault diagnosis data channel. The fault information includes but is not limited to the rack number, slot number, fault type, and fault time.
[0040] Specifically, the IO module periodically exchanges real-time data with the controller through the interface module and reports the operating status, ensuring that the system obtains the latest status of each module, ensuring timely data updates and stable system operation. At the same time, each IO module performs its own fault diagnosis in real time and updates its own diagnostic information. When a fault is detected, the fault diagnosis data channel is used to immediately report the fault information to the controller, ensuring that the controller takes necessary measures in a timely manner to reduce the impact of the fault on the entire system.
[0041] In this embodiment, the data communication between the IO module and the controller through the interface module specifically includes two categories: real-time data communication and non-real-time data communication. Among them, real-time data communication is used to complete the instant interaction of real-time data to ensure that the system can quickly respond to and process real-time information; non-real-time data communication is used to complete a series of operations such as configuration data issuance, diagnostic data upload, and redundant switching related command interaction to ensure the smooth configuration, monitoring and fault handling of the system.
[0042] Furthermore, for non-real-time data communication, it is divided into two levels of high priority and low priority in a hierarchical form to optimize resource allocation, improve system responsiveness and fault handling efficiency. Specifically, after receiving the non-real-time data sent by the controller, the IO module determines the type of the non-real-time data. If the non-real-time data is high-priority data, the current task is interrupted and the high-priority data is responded to. Otherwise, the non-real-time data is stored in the IO module cache and the non-real-time data is retrieved for response after the current task is completed or the corresponding processing cycle is reached. The high-priority data includes but is not limited to redundant switching instructions; after receiving the non-real-time data uploaded by the IO module, the controller determines the type of the non-real-time data. If the non-real-time data is high-priority data, the current task is interrupted and the high-priority data is responded to. Otherwise, the non-real-time data is stored in the controller cache and the non-real-time data is retrieved for response after the current task is completed or the corresponding processing cycle is reached. The high-priority data includes but is not limited to fault diagnosis data.
[0043] Specifically, according to the urgency of the data and its potential impact on the operation of the system, the transmitted non-real-time data is divided into two categories: low-priority data and high-priority data. Among them, high-priority data may include critical data such as redundant switching instructions and fault diagnosis data. When an IO module in the system that is in working state fails, the controller and the IO module immediately transmit the fault diagnosis data and redundant switching instructions, stop the working state of the faulty IO module and select other normal modules to continue to perform related tasks, so as to minimize the impact of the fault on the operation of the overall system. At the same time, low-priority data is uploaded according to the preset cycle to avoid the potential impact of data transmission peak on system stability. The division of high-priority data and low-priority data enables the system to respond quickly to sudden faults, ensure the immediate transmission and processing of key information, and improve the stability and resilience of the system.
[0044] Step S4, after receiving the fault information, the controller obtains the fault conditions of other IO modules in the redundant group where the faulty IO module is located, and determines whether to perform redundant switching based on the fault comparison of each IO module in the redundant group. If switching is required, a redundant switching instruction is issued to the IO modules in the redundant group.
[0045] Specifically, after receiving the fault information, the controller determines whether to perform redundant switching on the faulty module according to the preset redundant switching rules, and when switching is required, the controller switches the operating states of the mutually redundant IO modules. In this embodiment, the redundant switching rules are configured based on the fault conditions of the mutually redundant IO modules. Figure 4 As shown, step S4 specifically includes the following contents.
[0046] Step S41, after receiving the fault information reported by the IO module through the fault diagnosis data channel, the controller interrupts the current task and queries the configuration information to obtain the location information of other IO modules in the redundant group where the faulty IO module is located.
[0047] Specifically, after receiving the fault information reported by the IO module through the fault diagnosis data channel, the controller interrupts the current task to avoid task failure caused by erroneous operation and possible chain failures or system damage, and determines whether redundant switching is required. If redundant switching is not required, no subsequent processing is required. If switching is required, query the fault status of the IO module in the corresponding redundant group. Among them, for some IO modules, the controller may have configuration failure or no redundant configuration. If Figure 5 As shown, the step S41 also includes the following contents.
[0048] Step S411, after receiving the fault information sent by the IO module in working state, the controller obtains the location information of the faulty IO module, queries whether the location information exists in the redundant configuration information, and updates the fault information to the fault database if it does not exist.
[0049] Step S412: if the location information exists in the redundant configuration information, the location information of other IO modules that are redundant with the IO module at the location information is obtained, and the fault information of the IO modules at other redundant locations is collected according to the location information.
[0050] Specifically, the controller first determines whether the current IO module uses a redundant configuration based on the configuration information. If it is determined to be a non-redundant configuration, the controller will only update the fault information of the IO module and wait for the inspection personnel to perform further operations; if it is determined to be a redundant configuration, the controller will further obtain the information of each IO module in the redundant configuration to prepare for redundant switching.
[0051] Step S42, query the fault conditions of other IO modules that are redundant with the faulty IO module according to the location information, determine whether to perform redundant switching according to the fault comparison of each IO module in the redundant group, and if switching is required, send a redundant switching instruction to the corresponding IO module in the redundant group.
[0052] Specifically, the controller sends a redundant switching command based on the fault condition comparison, and determines whether to perform redundant switching based on the fault comparison of each IO module in each redundant group. If redundant switching is required, the operating status information of each IO module is reconfigured, the faulty IO module that is currently in working state is switched to standby state, and the IO module that can work normally and is in standby state is selected to switch to working state.
[0053] In this embodiment, the fault comparison is configured as the fault level between the mutually redundant IO modules. If the fault level of the IO module currently in the working state is higher than that of the IO module in the standby state, an IO module with a lower fault level is selected from the IO modules in the standby state and a redundant switching command to switch to the working state is sent to the IO module currently in the working state, and a redundant switching command to switch to the standby state is sent to the IO module currently in the working state. If the fault level of the IO module currently in the working state is higher than that of the IO module in the standby state, the fault information is updated to the fault database.
[0054] Specifically, according to the fault level of the IO module, if the fault level of the IO module currently in the working state is higher than that of the IO module in the standby state, the controller will select a suitable module from the IO modules in the standby state according to the preset switching rules, and immediately send a redundant switching command to the IO module currently in the working state and the selected standby IO module, so as to switch the working IO module from the current working state to the standby state, and at the same time switch the selected standby IO module from the standby state to the working state, so as to ensure the stable operation of the system.
[0055] Further, after receiving the redundant switching command issued by the controller, the redundant IO module responds to the command issued by the controller according to its own working state. After receiving the redundant switching instruction issued by the controller to switch to the standby state, the IO module in the working state obtains the current module working data type, and switches it to the standby state corresponding to the module working data type according to the module working data type; after receiving the redundant switching instruction issued by the controller to switch to the working state, the IO module in the standby state obtains the configured module working data type from the stored configuration data, switches it to the working state corresponding to the module working data type according to the module working data type, and replies the working state identifier to the controller as a response after the switching is completed.
[0056] Furthermore, after receiving the response reply from the IO module, the controller compares it with the operating status information of each reconfigured IO module. If the response reply is consistent with the operating status information of each configured IO module, the controller sends status confirmation information to the corresponding IO module. If the response reply is inconsistent with the operating status information of each configured IO module, the controller re-acquires the fault conditions of other IO modules in the redundant group where the IO module is located, reconfigures the operating status information of the IO modules in each redundant group, and sends corresponding redundant switching instructions to the corresponding IO modules.
[0057] The industrial control system IO module redundant switching method disclosed in the present embodiment uses the rack number and slot number of the IO module as location information, distinguishes each IO module according to the location information and performs corresponding redundant configuration, and sends the configured configuration information and the configured initial state information to the IO module at the corresponding position. The IO module performs working state or standby state configuration according to the received controller information, and reports the fault information to the controller after detecting its own fault. After receiving the fault information, the controller compares the fault conditions of other IO modules in the redundant group where the faulty IO module is located, determines whether to perform redundant switching, and issues a redundant switching instruction to implement the working state switching of the IO module when redundant switching is required, so that there is no need to set up additional hardware circuits for the IO modules that need to be redundantly configured on the rack base plate, and there is no need to arrange mutually redundant racks, thereby improving the flexibility of the redundant configuration of the IO modules of the industrial control system.
[0058] In another embodiment, if Figure 6 As shown, an industrial control system is also disclosed, including a configuration server 1, a controller 2, and multiple IO modules 3, wherein the controller 2 communicates with each IO module 3 through an interface module 4, wherein the controller 2 is configured to parse the configuration information downloaded from the configuration server and obtain redundant configuration information, wherein the redundant configuration information includes location information of at least one group of multiple IO modules that are redundant with each other, and the location information includes the rack number and slot number of the IO module; the initial operation state of the corresponding IO module is set according to the redundant configuration information, and the configuration information and initial operation state information of each IO module are sent to the IO module installed at the corresponding position through the interface module, wherein the initial operation state includes a working state and a standby state; the IO module is configured to operate according to the initial operation state and configuration information set by the controller, and report the fault information to the controller after detecting its own fault; the controller is also configured to obtain the fault conditions of other IO modules in the redundant group where the faulty IO module is located after receiving the fault information, and determine whether to perform redundant switching according to the fault comparison conditions of each IO module in the redundant group, and if switching is required, send a redundant switching instruction to the IO module in the redundant group.
[0059] In this embodiment, the IO module is configured to, after receiving the non-real-time data sent by the controller, determine the type of the non-real-time data, interrupt the current task and respond to the high-priority data if the non-real-time data is high-priority data, otherwise store the non-real-time data in the IO module cache and retrieve the non-real-time data for response after the current task is completed or the corresponding processing cycle is reached, wherein the high-priority data includes but is not limited to redundant switching instructions;
[0060] The controller is configured to, after receiving the non-real-time data uploaded by the IO module, determine the type of the non-real-time data, interrupt the current task and respond to the high-priority data if the non-real-time data is high-priority data, otherwise store the non-real-time data in the controller cache and retrieve the non-real-time data for response after the current task is completed or the corresponding processing cycle is reached, wherein the high-priority data is not limited to fault diagnosis data.
[0061] In this embodiment, the controller is configured to interrupt the current task and query the configuration information to obtain the location information of other IO modules in the redundant group where the faulty IO module is located after receiving the fault information reported by the IO module through the fault diagnosis data channel; query the fault conditions of other IO modules that are redundant with the faulty IO module according to the location information, and determine whether to perform redundant switching according to the fault comparison of each IO module in the redundant group. If switching is required, a redundant switching instruction is issued to the corresponding IO module in the redundant group.
[0062] In this embodiment, the IO module is also configured to, when in a working state, obtain the current module working data type after receiving a redundant switching instruction to switch to a standby state issued by the controller, and switch it to a standby state corresponding to the module working data type according to the module working data type; when in a standby state, after receiving a redundant switching instruction to switch to a working state issued by the controller, obtain the configured module working data type from the stored configuration data, switch it to a working state corresponding to the module working data type according to the module working data type, and reply the working state identifier to the controller as a response after the switching is completed.
[0063] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.
[0064] In conclusion, the above is only a preferred embodiment of the present invention, and all equivalent changes and modifications made according to the scope of the patent application of the present invention should fall within the scope of the patent of the present invention.
Claims
1. A method for switching redundant IO modules of an industrial control system, wherein the industrial control system comprises a configuration server, a controller, and a plurality of IO modules, wherein the controller communicates with each IO module via an interface module installed on a rack, wherein a plurality of mutually redundant IO modules are installed on the same rack, characterized in that: The steps include: S1, the controller parses the configuration information downloaded from the configuration server and obtains redundant configuration information, wherein the redundant configuration information includes location information of at least one group of mutually redundant multiple IO modules, and the location information is the rack number and slot number of the IO module; S2, the controller sets the initial operation state of the corresponding IO module according to the redundant configuration information, and sends the configuration information and initial operation state information of each IO module to the IO module installed at the corresponding position through the interface module, wherein the initial operation state includes a working state and a standby state; S3, each IO module operates according to the initial operating status and configuration information set by the controller, and reports the fault information to the controller after detecting its own fault; The step S3 specifically includes: S31, each IO module receives the configuration information and initial operation status information sent by the controller, switches its own operation status according to the initial operation status information, and reads the work task to perform the operation when its own operation status is the working status; S32, each IO module performs fault diagnosis operations in real time and updates its own fault information. When a fault is detected, the fault information is reported to the controller through the fault diagnosis data channel. The fault information includes but is not limited to the rack number, slot number, fault type, and fault time. S4, after receiving the fault information, the controller obtains the fault conditions of other IO modules in the redundant group where the faulty IO module is located, and determines whether to perform redundant switching according to the fault comparison of each IO module in the redundant group. If switching is required, a redundant switching instruction is issued to the IO modules in the redundant group; the step S4 specifically includes: S41, after receiving the fault information reported by the IO module through the fault diagnosis data channel, the controller interrupts the current task and queries the configuration information to obtain the rack number and slot number of other IO modules in the redundant group where the faulty IO module is located; S42, querying the fault conditions of other IO modules that are redundant with the faulty IO module according to the rack number and slot number, and determining whether to perform redundant switching according to the fault comparison of each IO module in the redundant group, and issuing a redundant switching instruction to the corresponding IO module in the redundant group if switching is required; After receiving the fault information sent by the IO module in working state, the controller obtains the rack number and slot number where the faulty IO module is located, and queries whether the rack number and slot number exist in the redundant configuration information. If not, the controller updates the fault information to the fault database; If the rack number and slot number exist in the redundant configuration information, the position information of other IO modules that are redundant with the IO module on the rack number and slot number, i.e., the rack number and slot number, is obtained, and the fault information of the IO modules at other redundant positions is collected according to the position information; if the fault level of the IO module currently in the working state is higher than that of the IO module in the standby state, an IO module with a lower fault level is selected from the IO modules in the standby state and a redundant switching command to switch to the working state is sent to it, and a redundant switching command to switch to the standby state is sent to the IO module currently in the working state.
2. The method for switching redundant IO modules of an industrial control system according to claim 1, characterized in that: After receiving the non-real-time data sent by the controller, the IO module determines the type of the non-real-time data. If the non-real-time data is high-priority data, the current task is interrupted and the high-priority data is responded to. Otherwise, the non-real-time data is stored in the IO module cache and the non-real-time data is retrieved for response after the current task is completed or the corresponding processing cycle is reached. The high-priority data includes but is not limited to redundant switching instructions. After receiving the non-real-time data uploaded by the IO module, the controller determines the type of the non-real-time data. If the non-real-time data is high-priority data, the current task is interrupted and the high-priority data is responded to. Otherwise, the non-real-time data is stored in the controller cache and the non-real-time data is retrieved for response after the current task is completed or the corresponding processing cycle is reached. The high-priority data is not limited to fault diagnosis data.
3. The industrial control system IO module redundancy switching method according to claim 2 is characterized in that: Also includes: After receiving the redundant switching instruction to switch to the standby state issued by the controller, the IO module in the working state obtains the current module working data type, and switches it to the standby state corresponding to the module working data type according to the module working data type; After receiving the redundant switching instruction to switch to the working state issued by the controller, the IO module in the standby state obtains the configured module working data type from the stored configuration data, switches it to the working state corresponding to the module working data type according to the module working data type, and replies the working state identifier to the controller as a response after the switching is completed.
4. An industrial control system, characterized in that: The system comprises a configuration server, a controller, and a plurality of IO modules. The controller communicates with each IO module through an interface module installed on a rack. A plurality of mutually redundant IO modules are installed on the same rack, wherein: The controller is configured to parse the configuration information downloaded from the configuration server and obtain redundant configuration information, wherein the redundant configuration information includes location information of at least one group of mutually redundant multiple IO modules, wherein the location information includes the rack number and slot number of the IO module; set the initial operation state of the corresponding IO module according to the redundant configuration information, and send the configuration information and initial operation state information of each IO module to the IO module installed at the corresponding position through the interface module, wherein the initial operation state includes a working state and a standby state; The IO module is configured to operate according to the initial operation state and configuration information set by the controller, and report the fault information to the controller after detecting its own fault; each IO module receives the configuration information and initial operation state information sent by the controller, switches its own operation state according to the initial operation state information, and reads the work task to operate when its own operation state is in the working state; each IO module performs fault diagnosis operations and updates its own fault information in real time. When a fault is detected, the fault information is reported to the controller through the fault diagnosis data channel. The fault information includes but is not limited to the rack number, slot number, fault type, and fault time; The controller is also configured to, after receiving the fault information, obtain the fault conditions of other IO modules in the redundant group where the faulty IO module is located, and determine whether to perform redundant switching according to the fault comparison of each IO module in the redundant group, and if switching is required, issue a redundant switching instruction to the IO modules in the redundant group; after receiving the fault information reported by the IO module through the fault diagnosis data channel, the controller interrupts the current task and queries the configuration information to obtain the location information of other IO modules in the redundant group where the faulty IO module is located; query the fault conditions of other IO modules that are redundant with the faulty IO module according to the location information, determine whether to perform redundant switching according to the fault comparison of each IO module in the redundant group, and if switching is required, issue a redundant switching instruction to the corresponding IO module in the redundant group; the controller After receiving the fault information sent by the IO module in the working state, the location information of the faulty IO module is obtained, and the redundant configuration information is queried to see whether the location information exists. If not, the fault information is updated to the fault database; if the location information exists in the redundant configuration information, the location information of other IO modules that are redundant with the IO module on the location information is obtained, and the fault information of the IO modules at other redundant positions is collected according to the location information; if the fault level of the IO module currently in the working state is higher than that of the IO module in the standby state, an IO module with a lower fault level is selected from the IO modules in the standby state and a redundant switching command to switch to the working state is sent to it, and a redundant switching command to switch to the standby state is sent to the IO module currently in the working state.
5. The industrial control system according to claim 4, characterized in that: The IO module is configured to, after receiving the non-real-time data sent by the controller, determine the type of the non-real-time data, interrupt the current task and respond to the high-priority data if the non-real-time data is high-priority data, otherwise store the non-real-time data in the IO module cache and retrieve the non-real-time data for response after the current task is completed or the corresponding processing cycle is reached, wherein the high-priority data includes but is not limited to redundant switching instructions; The controller is configured to, after receiving the non-real-time data uploaded by the IO module, determine the type of the non-real-time data, interrupt the current task and respond to the high-priority data if the non-real-time data is high-priority data, otherwise store the non-real-time data in the controller cache and retrieve the non-real-time data for response after the current task is completed or the corresponding processing cycle is reached, wherein the high-priority data is not limited to fault diagnosis data.
6. The industrial control system according to claim 5, characterized in that: The IO module is also configured to, when in a working state, obtain the current module working data type after receiving a redundant switching instruction to switch to a standby state issued by the controller, and switch it to a standby state corresponding to the module working data type according to the module working data type; when in a standby state, after receiving a redundant switching instruction to switch to a working state issued by the controller, obtain the configured module working data type from the stored configuration data, switch it to a working state corresponding to the module working data type according to the module working data type, and reply the working state identifier to the controller as a response after the switching is completed.
Citation Information
Patent Citations
Method for dynamically configuring redundant IO module
CN110515295A
0 switching redundancy system between IO buses
CN117420781A