Compressed air foam fire extinguishing system and automatic control method thereof

By designing a compressed air foam fire extinguishing system that includes multiple fire guns, partition control valves, fire control boxes, linkage controllers, foam generators, and fire alarms, use Golang programming language and pipeline real -time communication technology to create an automatic fire extinguishing process. It solves the problem of whether the system composition unit can effectively cooperate with each other during parallel runtime, and realize the automatic, reliable and secure automatic control of the system.

CN119345641APending Publication Date: 2025-01-24BEIJING NANRUI YIHE ENVIRONMENTAL PROTECTION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411810691.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-10
Publication Date
2025-01-24

AI Technical Summary

Technical Problem

When the existing compressed air foam fire extinguishing system is operating in parallel, whether the components can effectively cooperate and connect with each other will affect the reliability and stability of the system.

Method used

A compressed air foam fire extinguishing system including multiple fire monitors, partition control valves, fire control boxes, linkage controllers, foam generators and fire alarms was designed. An automatic fire extinguishing process was created through the golang programming language and pipeline real-time communication technology. , including the main goroutine and multiple concurrently running sub-goroutines, to achieve efficient and lightweight control of the system.

Benefits of technology

It achieves stable, reliable and safe automatic control of the compressed air foam fire extinguishing system, improves the efficiency and resource utilization of the system, and avoids excessive occupation of system resources and performance degradation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119345641A_ABST
    Figure CN119345641A_ABST
Patent Text Reader

Abstract

The invention discloses a compressed air foam fire extinguishing system and an automatic control method thereof. The system comprises a plurality of units including a plurality of fire monitors, a plurality of partition control valves in one-to-one correspondence with the fire monitors, a fire control box, a linkage controller, a foam generator and a fire alarm. The linkage controller is respectively connected with the foam generator, the fire alarm and the fire control box and is used for creating an automatic fire extinguishing process by utilizing a pipeline real-time communication technology through a golang programming language; the foam generator is used for generating a foam extinguishing agent; the fire control box is respectively connected to the plurality of fire monitors and the plurality of partition control valves; each partition control valve is arranged on a passage for conveying a foam extinguishing agent from the foam generator to the corresponding fire monitor; and the fire control box is used for controlling the fire monitor and the partition control valve. According to the invention, efficient and lightweight control of the compressed air foam fire extinguishing system can be effectively realized, the program execution efficiency is improved, and stable and safe operation of the fire extinguishing system is ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the field of electric power fire protection, and specifically relates to an automatic control method of a compressed air foam fire extinguishing system suitable for a transformer substation. Background Art

[0002] With the development of social economy and other aspects, the requirements for power systems are getting higher and higher, including power supply end, power supply end, distribution point end, etc. Among them, substations play a vital role in the reliable supply of electricity. Every year, the state and various power companies also invest a lot to ensure the reliable operation of substations. Among them, fire protection work and fire protection equipment have an irreplaceable position.

[0003] For example, unmanned substations are generally equipped with fire-fighting facilities such as automatic fire alarm systems and fixed automatic fire extinguishing systems. These facilities can monitor fire hazards in real time and automatically extinguish fires.

[0004] With the development and progress of science and technology, the fire-fighting equipment of substations has been greatly improved. The compressed air foam fire extinguishing system is an efficient, safe and reliable fire-fighting system compared to the traditional fire-fighting of substations. In the application of fire-fighting equipment in modern substations, new substations and stations with improved fire-fighting technology capabilities have gradually introduced this system. The system produces a large amount of foam to cover the fire source, isolate the air, and achieve rapid fire extinguishing. However, the components of the compressed air foam fire-fighting system are diverse, for example, they usually include foam generators, fire monitors, etc. It can be seen that whether the functions of each component unit can effectively cooperate with each other when running in parallel is the key point related to whether the system can operate reliably, safely and stably. . Summary of the invention

[0005] In order to solve the deficiencies in the prior art, the object of the present invention is to provide a stable, reliable and safe compressed air foam fire extinguishing system and an automatic control method thereof, so as to achieve efficient and lightweight control of the compressed air foam fire extinguishing system.

[0006] The present invention adopts the following technical solution.

[0007] According to a first aspect of the present invention, a compressed air foam fire extinguishing system is provided. The system comprises the following multiple units: multiple fire monitors, multiple zone control valves corresponding to the multiple fire monitors, a fire control box, a linkage controller, a foam generator and a fire alarm;

[0008] The linkage controller is respectively connected with the foam generator, the fire alarm, and the fire control box, and is used to create an automatic fire extinguishing process through the golang programming language and the pipeline real-time communication technology; the automatic fire extinguishing process includes a main goroutine and multiple concurrent sub-goroutines created by the main goroutine; the multiple sub-goroutines include: a real-time acquisition model data sub-goroutine, a timed output prompt model status sub-goroutine, a fire cannon automatic control sub-goroutine, a front-end call interface monitoring sub-goroutine, a real-time judgment fire start extinguishing sub-goroutine and a foam generator automatic control sub-goroutine;

[0009] The foam generator is used to generate foam fire extinguishing agent;

[0010] The fire control box is respectively connected to the multiple fire monitors and the multiple zone control valves; each zone control valve is arranged on a passage for conveying foam fire extinguishing agent from a foam generator to a corresponding fire monitor; the fire control box is used to control the fire monitors and zone control valves.

[0011] Preferably, the fire cannon comprises: a fire cannon base and a gun head, a fire cannon rotation drive component, and a fire cannon angle sensor; the fire cannon rotation drive component is respectively connected to the fire cannon base and the gun head, and is used to interact with the fire control box to drive the fire cannon base to swing horizontally according to a first setting program and drive the gun head to move horizontally and vertically according to a second setting program; the fire cannon angle sensor is used to sense the rotation angle of the gun head.

[0012] Preferably, the partition control valve comprises a valve and a valve driving component; the valve driving component is used to interact with the fire control box to drive and control the opening and closing of the valve and the opening amount.

[0013] Preferably, the foam generator includes a generation control cabinet and a water pump group, a foam pump group, an air compressor, a gas-liquid mixer and a foam proportion mixer connected to the generation control cabinet; the water and foam delivered by the water pump group and the foam pump group are mixed in the foam proportion mixer according to a set ratio, and the mixed foam is output; the gas output by the air compressor and the mixed foam are mixed in the gas-liquid mixer according to a set ratio to obtain the required foam fire extinguishing agent; the generation control cabinet is used to interact with the linkage controller to control the water pump group, the foam pump group, the air compressor, the gas-liquid mixer and the foam proportion mixer.

[0014] Preferably, the fire control box is used to interact with the interlocking controller to send telesignaling information to the interlocking controller; the fire control box is also used to interact with the multiple partition control valves and the multiple fire cannons to obtain telemetry information from the multiple partition control valves and the multiple fire cannons, and send remote control information to the multiple partition control valves and the multiple fire cannons; the telesignaling information includes the remote / local status of the fire control box, the stop signal, the power status, the open / closed status of the partition valve, and the movement status of the fire cannon; the telemetry information includes the horizontal angle and the pitch angle of the fire cannon; the remote control information includes the control instructions corresponding to the left turn, right turn and pitch movement of the fire cannon and the opening and closing instructions of the partition valve.

[0015] According to the second invention of the present invention, there is provided an automatic control method for the compressed air foam fire extinguishing system as described in the first aspect of the present invention. The method is executed at the linkage controller, including initializing the multiple sub-goroutines, and executing the following steps in parallel after initialization:

[0016] The fire extinguishing sub-goroutine receives the fire alarm signal in real time, determines whether a fire has occurred according to the fire alarm signal, and triggers the foam generation signal and the fire extinguishing start signal respectively after determining that a fire has occurred. The foam generation signal is pushed to the foam generator automatic control sub-goroutine through pipeline technology, and the fire extinguishing start signal is pushed to the fire monitor automatic control sub-goroutine through pipeline technology; the fire extinguishing start signal includes information related to the fire monitor in the coverage area where a fire has occurred;

[0017] The foam generator automatic control sub-goroutine starts the foam extinguishing agent generation process after receiving the foam generation signal;

[0018] The front-end calling interface monitoring sub-goroutine receives the calling instruction of the front-end user interface in real time, and pushes a synchronous linkage signal to the fire monitor automatic control sub-goroutine when the calling instruction indicates that a synchronous linkage signal needs to be pushed to the fire monitor automatic control sub-goroutine;

[0019] The timed output prompt status sub-goroutine prompts all units to push their respective real-time status data to the real-time acquisition model data sub-goroutine according to the set time interval;

[0020] The real-time acquisition model data sub-goroutine acquires and processes the real-time status data of all units and pushes it to the automatic control sub-goroutine of the fire monitor;

[0021] The fire monitor automatic control sub-goroutine starts the automatic fire extinguishing process after receiving the fire extinguishing start signal of the real-time fire judgment and fire extinguishing start sub-goroutine or receiving the synchronous linkage signal of the front-end call interface monitoring sub-goroutine; the automatic fire extinguishing process includes: based on the real-time status data of all units, the fire extinguishing start signal and / or the synchronous linkage signal, interacting with the fire control box to enable and control the fire monitors and corresponding partition control valves in the coverage area to extinguish the fire.

[0022] Preferably, the fire cannon automatic control sub-goroutine includes multiple independent fire cannon automatic control sub-goroutines corresponding one by one to multiple key fire cannons and a common goroutine pool shared by multiple ordinary fire cannons; the independent fire cannons are only used to interact with the corresponding key fire cannons; the common goroutine pool is used to interact with the multiple ordinary fire cannons; the key fire cannons and ordinary fire cannons are divided according to the fire risk level and importance of the corresponding fire cannon coverage.

[0023] Preferably, the fire risk level is determined based on the building types, building density and personnel density in the corresponding fire monitor coverage area; the importance is determined based on the area size of the corresponding fire monitor coverage area and whether it includes important protected objects.

[0024] Preferably, the method also includes: the main goroutine blocks and waits for all sub-goroutines to send error information so that all created sub-goroutines are in a running state; when an error occurs in any sub-goroutine, the erroneous sub-goroutine sends the error information to the main goroutine through pipeline technology and stops running, and the main goroutine receives the error information sent by the sub-goroutine, stops blocking, and stops running, so that other running sub-goroutines stop running together.

[0025] Preferably, the error information includes execution errors, I / O errors, business logic errors, timeout errors and resource acquisition failure errors; execution errors include: null pointer reference and array out of bounds; I / O errors: read and write failures, connection timeouts and insufficient permissions; business logic errors include: data verification failures and business logic not meeting expectations; timeout errors include: the corresponding sub-goroutine fails to complete the task within the specified time; resource acquisition failure errors include: the corresponding sub-goroutine fails to obtain memory, file handles or network connections.

[0026] The beneficial effects of the present invention are:

[0027] 1. By using the golang programming language at the linkage controller and utilizing the pipeline real-time communication technology, an automatic fire extinguishing process is created, wherein the automatic fire extinguishing process includes a main goroutine and multiple concurrently running sub-goroutines created by the main goroutine. Compared with existing programming languages ​​such as java, the automatic fire extinguishing control program has the following significant advantages: (a) it can realize lightweight threads and efficient concurrent execution; (b) it can realize automatic scheduling and multiple scheduling strategies; (c) since the golang programming language also provides synchronization mechanisms such as mutex and wait group; these mechanisms help to ensure that multiple coroutines will not have race conditions and data inconsistency problems when accessing shared resources; (d) it is more suitable for IO-intensive scenarios, because goroutine performs well in processing IO-intensive tasks, can effectively handle IO operations, avoid blocking and waiting, and thus improve the concurrent performance of the program.

[0028] 2. By making the fire cannon automatic control sub-goroutine include multiple independent fire cannon automatic control sub-goroutines corresponding to multiple key fire cannons one by one and a common goroutine pool shared by multiple ordinary fire cannons, the independent fire cannon is only used to interact with the corresponding key fire cannon, and the common goroutine pool is used to interact with the multiple ordinary fire cannons, and the key fire cannons and ordinary fire cannons are divided according to the fire risk level and importance of the corresponding fire cannon coverage. The number and allocation of each sub-goroutine can be more flexibly adjusted according to system requirements and resource conditions, so as to maximize resource utilization while avoiding excessive occupation of system resources and performance degradation caused by too many sub-goroutines running in parallel.

[0029] 3. By blocking the main goroutine and waiting for the error information of each child goroutine, the main goroutine can: (a) ensure that all errors are handled before continuing execution or exiting the program; (b) ensure that all child goroutines complete their work as expected; (c) ensure that the program ends only after all tasks are completed; (d) prevent the resources created or managed by the child goroutine from being properly cleaned up or closed, resulting in resource leaks or other problems; (e) ensure that all resources are properly processed and released before the program ends; (f) help developers find and diagnose problems more easily, because by viewing the error information and the output of the child goroutine, developers can better understand the operation of the program and potential problems. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] Figure 1 It is a schematic diagram of the compressed air foam fire extinguishing system in the present invention.

[0031] Figure 2 is a schematic diagram of the automatic control method of the compressed air foam fire extinguishing system in the present invention; wherein, when Figure 2 As long as one of the two conditions ① and ② meets the requirements, the fire extinguishing process can be started;

[0032] Figure 3 This is the operation logic diagram of the main goroutine and multiple sub-goroutines in the present invention when errors occur. DETAILED DESCRIPTION

[0033] The present application is further described below in conjunction with the accompanying drawings. The following embodiments are only used to more clearly illustrate the technical solution of the present invention, and cannot be used to limit the protection scope of the present application.

[0034] Example 1

[0035] This embodiment provides a compressed air foam fire extinguishing system. Figure 1 The system includes the following multiple units: multiple fire monitors, multiple zone control valves corresponding to the multiple fire monitors, a fire control box, a linkage controller, a foam generator and a fire alarm.

[0036] The linkage controller is respectively connected with the foam generator, the fire alarm, and the fire control box, and is used to create an automatic fire extinguishing process through the golang programming language and pipeline real-time communication technology; the automatic fire extinguishing process includes a main goroutine (coroutine) and multiple concurrent sub-goroutines created by the main goroutine; the multiple sub-goroutines include: a real-time acquisition model data sub-goroutine, a timed output prompt model status sub-goroutine, a fire cannon automatic control sub-goroutine, a front-end call interface monitoring sub-goroutine, a real-time judgment fire start extinguishing sub-goroutine and a foam generator automatic control sub-goroutine;

[0037] The foam generator is used to generate foam fire extinguishing agent;

[0038] The fire control box is respectively connected to the multiple fire monitors and the multiple zone control valves; each zone control valve is arranged on a passage for conveying foam fire extinguishing agent from a foam generator to a corresponding fire monitor; the fire control box is used to control the fire monitors and zone control valves.

[0039] Among them, goroutine is a lightweight thread implementation in the Go language, allowing developers to execute multiple functions or methods in parallel in the same address space at a very low cost. The scheduling and execution of goroutine is automatically managed by the Go runtime, and developers do not need to intervene manually.

[0040] In this embodiment, an automatic fire extinguishing process is created by using the golang programming language at the linkage controller and the pipeline real-time communication technology, so that the automatic fire extinguishing process includes a main goroutine and multiple concurrently running sub-goroutines created by the main goroutine. Compared with existing programming languages ​​such as java, the automatic fire extinguishing control program has the following significant advantages: (a) it can realize lightweight threads and efficient concurrent execution; (b) it can realize automatic scheduling and multiple scheduling strategies; (c) because the golang programming language also provides synchronization mechanisms such as mutex and wait group; these mechanisms help to ensure that multiple coroutines will not have race conditions and data inconsistency problems when accessing shared resources; (d) it is more suitable for IO-intensive scenarios, because goroutine performs well in processing IO-intensive tasks, can effectively handle IO operations, avoid blocking and waiting, and thus improve the concurrent performance of the program.

[0041] Furthermore, the fire cannon includes: a fire cannon base and a gun head, a fire cannon rotation drive component, and a fire cannon angle sensor; the fire cannon rotation drive component is respectively connected to the fire cannon base and the gun head, and is used to interact with the fire control box to drive the fire cannon base to swing horizontally according to a first setting program and drive the gun head to move horizontally and vertically according to a second setting program; the fire cannon angle sensor is used to sense the rotation angle of the gun head.

[0042] Additionally, the fire monitor may also include a fire monitor power supply and an electrical interface for driving the horizontal and vertical movement control of the fire monitor.

[0043] Furthermore, the partition control valve includes a valve and a valve driving component; the valve driving component is used to interact with the fire control box to drive and control the opening and closing of the valve and the opening amount.

[0044] Additionally, the zone control valve may further include an electrical interface for driving the valve opening and closing control.

[0045] Furthermore, the foam generator includes a generation control cabinet and a water pump group, a foam pump group, an air compressor, a gas-liquid mixer and a foam proportion mixer connected to the generation control cabinet; the water and foam delivered by the water pump group and the foam pump group are mixed in the foam proportion mixer according to a set ratio, and the mixed foam is output; the gas output by the air compressor and the mixed foam are mixed in the gas-liquid mixer according to a set ratio to obtain the required foam fire extinguishing agent; the generation control cabinet is used to interact with the linkage controller to control the water pump group, the foam pump group, the air compressor, the gas-liquid mixer and the foam proportion mixer. Usually, the foam generator also includes control valves arranged on each delivery pipeline of the foam generator.

[0046] More specifically, the control cabinet of the generating device may also include a power switch, a programmable logic controller, electrical protection components and a relay circuit. Among them, the power switch is used to supply power to the foam generator, the programmable logic controller and the relay circuit are used to realize automatic control of the foam generator, and the electrical protection components are used to provide electrical protection. The control cabinet of the generating device can collect the water pump start signal, the foam pump start signal, the air compressor start signal, the valve opening signal, the system pipeline pressure data, and the flow data of the generating device in real time, and can directly control the driver to start and stop the water pump, start and stop the foam pump, start and stop the air compressor, start and stop the pipeline valves, and create a foam generation model with the above information to facilitate automatic control.

[0047] Furthermore, the fire control box is used to interact with the linkage controller to send telesignaling information to the linkage controller; the fire control box is also used to interact with the multiple partition control valves and the multiple fire cannons to obtain telemetry information from the multiple partition control valves and the multiple fire cannons, and send remote control information to the multiple partition control valves and the multiple fire cannons; the telesignaling information includes the remote / local status of the fire control box, the stop signal, the power status, the partition valve open / closed status, and the fire cannon movement status; the telemetry information includes the horizontal angle and the pitch angle of the fire cannon; the remote control information includes the control instructions corresponding to the left turn, right turn and pitch movement of the fire cannon and the opening and closing instructions of the partition valve.

[0048] More specifically, the fire control box may also include a communication device, a local control cabinet and a relay circuit for communicating with other units and realizing automatic control.

[0049] Furthermore, the linkage controller may also include cabinets, power switches, electrical protection components, three-layer photoelectric switches, displays, programmable logic controllers, relay circuits, buttons, indicator lights and other accessories. The remote signaling information of the linkage controller may include manual / automatic status, power status, emergency stop status and fire alarm signals of a certain transformer. Among them, the three-layer photoelectric switch of the linkage controller can be used for data communication with other units, the display, buttons and indicator lights and other accessories can be used for interaction with users, and the programmable logic controller and relay circuit can realize the required automatic control.

[0050] Furthermore, the fire alarm may include a (linked) host, a fire alarm communication module, an input module and an output module, which are used to provide real-time station transformer fire alarm signals.

[0051] Example 2

[0052] This embodiment provides an automatic control method for the compressed air foam fire extinguishing system of the present invention. Figure 2 , the control method comprises:

[0053] Step 1, initialize the multiple sub-goroutines.

[0054] Step 2, execute the following steps in parallel after initialization.

[0055] Step 21, real-time judgment of fire, starting the fire extinguishing sub-goroutine to receive the fire alarm signal in real time, and judge whether a fire has occurred according to the fire alarm signal. After determining that a fire has occurred, the foam generation signal and the fire extinguishing start signal are triggered respectively, and the foam generation signal is pushed to the foam generator automatic control sub-goroutine through pipeline technology, and the fire extinguishing start signal is pushed to the automatic control sub-goroutine of the fire monitor through pipeline technology; the fire extinguishing start signal includes information related to the fire monitor in the coverage area where a fire has occurred.

[0056] Step 22, the foam generator automatic control subgoroutine starts the foam fire extinguishing agent generation process after receiving the foam generation signal.

[0057] Step 23, the front-end calling interface monitoring sub-goroutine receives the calling instruction of the front-end user interface in real time, and when the calling instruction indicates the need to push a synchronous linkage signal to the fire cannon automatic control sub-goroutine.

[0058] Step 24, the timed output prompt status sub-goroutine prompts all units to push their respective real-time status data to the real-time acquisition model data sub-goroutine according to the set time interval.

[0059] Step 25, the real-time acquisition model data sub-goroutine acquires and processes the real-time status data of all units, and pushes it to the automatic control sub-goroutine of the fire monitor.

[0060] Step 26, the fire monitor automatic control sub-goroutine starts the automatic fire extinguishing process after receiving the fire extinguishing start signal of the real-time fire judgment and fire extinguishing start sub-goroutine or receiving the synchronous linkage signal of the front-end call interface monitoring sub-goroutine; the automatic fire extinguishing process includes: based on the real-time status data of all units, the fire extinguishing start signal and / or the synchronous linkage signal, interacting with the fire control box to enable and control the fire monitors and corresponding partition control valves in the coverage area to extinguish the fire.

[0061] Through the automatic control method including the above steps, the golang programming language can be used to realize the automatic control of the compressed air foam fire extinguishing system of the present invention, and lightweight threads and efficient concurrent execution can be realized.

[0062] Preferably, in step 26, the fire monitors and corresponding zone control valves in the coverage area where the fire occurs are activated and controlled to extinguish the fire.

[0063] In a more preferred embodiment, the fire monitor automatic control sub-goroutine in step 26 may include a plurality of independent fire monitor automatic control sub-goroutines corresponding to a plurality of key fire monitors one by one and a common goroutine pool shared by a plurality of ordinary fire monitors. The independent fire monitors are only used to interact with the corresponding key fire monitors. The common goroutine pool is used to interact with the plurality of ordinary fire monitors. The key fire monitors and ordinary fire monitors are divided according to the fire risk level and importance of the corresponding fire monitor coverage.

[0064] Each independent fire monitor automatic control sub-goroutine can contain a loop to continuously listen to the instructions from the fire control box and adjust the state of the fire monitor according to the instructions. The public goroutine pool can interact with multiple ordinary fire monitors. It can use a work queue (such as a channel) to store interaction requests. The goroutines in the pool take the interaction requests from the work queue and perform corresponding operations. It can also track the current state and configuration of each ordinary fire monitor through a mapping structure or database.

[0065] Furthermore, the fire risk level is determined based on the building types, building density and personnel density in the building included in the corresponding fire cannon coverage area; the importance is determined based on the area size of the corresponding fire cannon coverage area and whether it includes important protected objects.

[0066] Regarding the determination of the fire risk level, as an example, different types of buildings (such as residential, commercial, industrial, etc.) have different fire risks. For example, industrial buildings that store flammable and explosive materials may have a higher fire risk level. For another example, for buildings with a higher population density (such as hospitals, schools, nursing homes, etc.), the corresponding fire risk level is higher. In addition, places with dense populations or special groups of people usually have a higher fire risk level.

[0067] Regarding the determination of importance, as an example, the larger the coverage area of ​​a fire monitor, the higher its importance is usually. Especially in large buildings or building complexes, fire monitors that can cover key areas or multiple areas need to be assigned a higher importance. At the same time, the value of the objects protected by the fire monitor (such as important equipment, valuables, cultural heritage, etc.) is also a consideration in determining importance.

[0068] Key fire monitors and ordinary fire monitors can be divided by comprehensively considering the fire risk level and importance. For example, the results of expert evaluation can be referred to and the weighted sum method can be used to score, so as to achieve scientific division.

[0069] By making the fire monitor automatic control sub-goroutine include multiple independent fire monitor automatic control sub-goroutines corresponding to multiple key fire monitors one by one and a common goroutine pool shared by multiple common fire monitors, the independent fire monitors are only used to interact with the corresponding key fire monitors, while the common goroutine pool is used to interact with the multiple common fire monitors, and the key fire monitors and the common fire monitors are divided according to the fire risk level and importance of the corresponding fire monitor coverage. The number and allocation of each sub-goroutine can be more flexibly adjusted according to system requirements and resource conditions, so as to maximize resource utilization while avoiding excessive occupation of system resources and performance degradation caused by too many sub-goroutines running in parallel.

[0070] In a more preferred embodiment, the method may further include:

[0071] Step 3: The main goroutine blocks and waits for all sub-goroutines to send error information, so that all created sub-goroutines are in running state; when an error occurs in any sub-goroutine, the erroneous sub-goroutine sends the error information to the main goroutine through the pipeline technology and stops running. The main goroutine receives the error information sent by the sub-goroutine, stops blocking, and stops running, so that other running sub-goroutines stop running together.

[0072] Specifically, preferably, the error information includes execution errors, I / O errors, business logic errors, timeout errors and resource acquisition failure errors.

[0073] Execution errors include: null pointer dereference and array out of bounds;

[0074] I / O errors: read and write failures, connection timeouts, and insufficient permissions;

[0075] Business logic errors include: data validation failure and business logic not meeting expectations;

[0076] Timeout errors include: the corresponding child goroutine fails to complete the task within the specified time;

[0077] Resource acquisition failure errors include: the corresponding child goroutine fails to obtain memory, file handle or network connection.

[0078] Figure 3 This is the operation logic diagram of the main goroutine and multiple sub-goroutines in the present invention when errors occur.

[0079] It should be noted that step 2 and step 3 are also in parallel relationship.

[0080] By blocking the main goroutine and waiting for error information from each child goroutine, the main goroutine can: (a) ensure that all errors are handled before continuing or exiting the program; (b) ensure that all child goroutines complete their work as expected; (c) ensure that the program ends only after all tasks are completed; (d) prevent the resources created or managed by the child goroutine from being properly cleaned up or closed, resulting in resource leaks or other problems; (e) ensure that all resources are properly handled and released before the program ends; (f) help developers more easily discover and diagnose problems, because by viewing error messages and output from child goroutines, developers can better understand the operation of the program and potential problems.

[0081] In addition, when the front-end call interface monitoring sub-goroutine receives the call instruction from the front-end user interface in real time to instruct the operator to manually press the EM (Emergency Manual, i.e., the emergency manual control button), the system reset process is triggered, such as Figure 2 System reset usually includes closing the foam liquid control valve, opening related valves to flush the pipeline, resetting the solenoid valve and manual quick opening valve, etc., and finally restoring the system to a state where it can be put back into use.

[0082] The applicant of the present invention has made a detailed explanation and description of the implementation examples of the present invention in conjunction with the drawings in the specification. However, those skilled in the art should understand that the above implementation examples are only preferred implementation schemes of the present invention, and the detailed description is only to help readers better understand the spirit of the present invention, but not to limit the scope of protection of the present invention. On the contrary, any improvements or modifications based on the inventive spirit of the present invention should fall within the scope of protection of the present invention.

Claims

1. A compressed air foam fire extinguishing system, characterized in that: It includes the following multiple units: multiple fire monitors, multiple zone control valves corresponding to the multiple fire monitors, a fire control box, a linkage controller, a foam generator and a fire alarm; The linkage controller is respectively connected with the foam generator, the fire alarm, and the fire control box, and is used to create an automatic fire extinguishing process through the golang programming language and the pipeline real-time communication technology; the automatic fire extinguishing process includes a main goroutine and multiple concurrent sub-goroutines created by the main goroutine; the multiple sub-goroutines include: a real-time acquisition model data sub-goroutine, a timed output prompt model status sub-goroutine, a fire cannon automatic control sub-goroutine, a front-end call interface monitoring sub-goroutine, a real-time judgment fire start extinguishing sub-goroutine and a foam generator automatic control sub-goroutine; The foam generator is used to generate foam fire extinguishing agent; The fire control box is respectively connected to the multiple fire monitors and the multiple zone control valves; each zone control valve is arranged on a passage for conveying foam fire extinguishing agent from a foam generator to a corresponding fire monitor; the fire control box is used to control the fire monitors and zone control valves.

2. The compressed air foam fire extinguishing system according to claim 1, characterized in that: The fire cannon includes: a fire cannon base and a cannon head, a fire cannon rotation drive component, and a fire cannon angle sensor; the fire cannon rotation drive component is respectively connected to the fire cannon base and the cannon head, and is used to interact with the fire control box to drive the fire cannon base to swing horizontally according to a first setting program and drive the cannon head to move horizontally and vertically according to a second setting program; the fire cannon angle sensor is used to sense the rotation angle of the cannon head.

3. The compressed air foam fire extinguishing system according to claim 1, characterized in that: The partition control valve comprises a valve and a valve driving component; the valve driving component is used to interact with the fire control box to drive and control the opening and closing of the valve and the opening amount.

4. The compressed air foam fire extinguishing system according to claim 1, characterized in that: The foam generator comprises a generation control cabinet and a water pump group, a foam pump group, an air compressor, a gas-liquid mixer and a foam proportion mixer connected to the generation control cabinet; the water and foam delivered by the water pump group and the foam pump group are mixed in the foam proportion mixer according to a set ratio, and the mixed foam is output; The gas output by the air compressor and the mixed foam are mixed in a set ratio at the gas-liquid mixer to obtain the required foam fire extinguishing agent; the production control cabinet is used to interact with the linkage controller to control the water pump group, foam pump group, air compressor, gas-liquid mixer and foam proportion mixer.

5. The compressed air foam fire extinguishing system according to claim 1, characterized in that: The fire control box is used to interact with the linkage controller to send telemetering information to the linkage controller; the fire control box is also used to interact with the multiple partition control valves and the multiple fire cannons to obtain telemetry information from the multiple partition control valves and the multiple fire cannons, and send remote control information to the multiple partition control valves and the multiple fire cannons; the telemetering information includes the remote / local status of the fire control box, the stop signal, the power status, the open / closed status of the partition valve, and the movement status of the fire cannon; the telemetering information includes the horizontal angle and the pitch angle of the fire cannon; the remote control information includes the control instructions corresponding to the left turn, right turn and pitch movement of the fire cannon and the opening and closing instructions of the partition valve.

6. An automatic control method for a compressed air foam fire extinguishing system according to any one of claims 1 to 5, executed at the linkage controller, characterized in that: The process includes initializing the plurality of child goroutines and executing the following steps in parallel after the initialization: The fire extinguishing sub-goroutine receives the fire alarm signal in real time, determines whether a fire has occurred according to the fire alarm signal, and triggers the foam generation signal and the fire extinguishing start signal respectively after determining that a fire has occurred. The foam generation signal is pushed to the foam generator automatic control sub-goroutine through pipeline technology, and the fire extinguishing start signal is pushed to the fire monitor automatic control sub-goroutine through pipeline technology; the fire extinguishing start signal includes information related to the fire monitor in the coverage area where a fire has occurred; The foam generator automatic control sub-goroutine starts the foam extinguishing agent generation process after receiving the foam generation signal; The front-end calling interface monitoring sub-goroutine receives the calling instruction of the front-end user interface in real time, and pushes a synchronous linkage signal to the fire monitor automatic control sub-goroutine when the calling instruction indicates that a synchronous linkage signal needs to be pushed to the fire monitor automatic control sub-goroutine; The timed output prompt status sub-goroutine prompts all units to push their respective real-time status data to the real-time acquisition model data sub-goroutine according to the set time interval; The real-time acquisition model data sub-goroutine acquires and processes the real-time status data of all units and pushes it to the automatic control sub-goroutine of the fire monitor; The fire monitor automatic control sub-goroutine starts the automatic fire extinguishing process after receiving the fire extinguishing start signal of the real-time fire judgment start-up sub-goroutine or receiving the synchronous linkage signal of the front-end call interface monitoring sub-goroutine; The automatic fire extinguishing process includes: based on the real-time status data of all units, the fire extinguishing start signal and / or the synchronous linkage signal, interacting with the fire control box to enable and control the fire monitors and corresponding zone control valves in the coverage area to extinguish the fire.

7. The automatic control method of the compressed air foam fire extinguishing system according to claim 6, characterized in that: The fire cannon automatic control sub-goroutine includes multiple independent fire cannon automatic control sub-goroutines corresponding one by one to multiple key fire cannons and a common goroutine pool shared by multiple ordinary fire cannons; the independent fire cannon is only used to interact with the corresponding key fire cannon; the common goroutine pool is used to interact with the multiple ordinary fire cannons; the key fire cannons and ordinary fire cannons are divided according to the fire risk level and importance of the corresponding fire cannon coverage.

8. The automatic control method of the compressed air foam fire extinguishing system according to claim 7, characterized in that: The fire risk level is determined based on the building types, building density and density of people in the buildings included in the corresponding fire monitor coverage area; the importance is determined based on the area size of the corresponding fire monitor coverage area and whether it includes important protected objects.

9. The automatic control method of the compressed air foam fire extinguishing system according to claim 6, characterized in that: The method further comprises: The main goroutine blocks and waits for all sub-goroutines to send error information, so that all created sub-goroutines are in running state; When an error occurs in any sub-goroutine, the erroneous sub-goroutine sends the error information to the main goroutine through the pipeline technology and stops running. The main goroutine receives the error information sent by the sub-goroutine, stops blocking, and stops running, so that other running sub-goroutines will stop running together.

10. The automatic control method of the compressed air foam fire extinguishing system according to claim 9, characterized in that: The error information includes execution error, I / O error, business logic error, timeout error and resource acquisition failure error; Execution errors include: null pointer dereference and array out of bounds; I / O errors: read and write failures, connection timeouts, and insufficient permissions; Business logic errors include: data validation failure and business logic not meeting expectations; Timeout errors include: the corresponding child goroutine fails to complete the task within the specified time; Resource acquisition failure errors include: the corresponding child goroutine fails to obtain memory, file handle or network connection.