A method for collecting monitoring data of an offshore platform

By creating multiple main threads for marine data acquisition on an industrial control computer and nesting media-level time controller sub-threads, combined with asynchronous processing tasks, the problem of incomplete data acquisition on marine platforms was solved, enabling synchronous, real-time, and efficient acquisition of data from multiple sensors. This approach is suitable for big data acquisition in complex marine environments.

CN120849432BActive Publication Date: 2026-02-24DALIAN KINGMILE ANTICORROSION TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511361593.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-09-23
Publication Date
2026-02-24
Estimated Expiration
2045-09-23

AI Technical Summary

Technical Problem

Existing technologies on marine platforms cannot effectively process multiple data acquisition tasks in parallel, resulting in incomplete data acquisition, poor real-time performance and accuracy, and severe impacts, especially when communication transmission is abnormal.

Method used

Multiple main threads for marine data acquisition are created on an industrial control computer, and media-level time controller sub-threads are nested within each main thread. Combined with asynchronous processing tasks, high-frequency real-time data acquisition and caching are achieved. The combination of nested multi-threading and asynchronous multi-threading meets the needs of various monitoring devices and data transmission protocols on marine platforms.

Benefits of technology

It enables synchronous, real-time, and efficient acquisition of data from multiple sensors on marine platforms, avoiding data congestion and ensuring data integrity and real-time performance. It is suitable for big data acquisition in complex marine environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120849432B_ABST
    Figure CN120849432B_ABST
Patent Text Reader

Abstract

The application discloses a kind of ocean platform monitoring data acquisition method, it is related to data acquisition technical field, comprising: S1: creating multiple ocean data acquisition main threads on industrial computer, respectively used to open industrial computer from different kinds of data acquisition equipment High-frequency real-time acquisition ocean platform monitoring data task;S2: media level time controller subthread is nested in each ocean data acquisition main thread Settings, industrial computer is based on the interval time set by media level time controller subthread Execution from data acquisition equipment High-frequency real-time acquisition ocean platform monitoring data task;S3: media level time controller subthread will be collected monitoring data according to data acquisition equipment ID Transmission to the set cache area.The application acquires data in real time by nested multithreading and asynchronous multithreading combination mode, so that each acquisition task can be parallel and not interfere with each other, realize to reach multiple equipment synchronization, real-time, high-speed, acquisition sensor data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of data acquisition technology, and in particular to a method for acquiring monitoring data from marine platforms. Background Technology

[0002] Offshore platforms are structures that provide production and living facilities for activities such as drilling, oil production, cargo collection, observation, navigation, and construction at sea. To monitor and acquire real-time data on the platform's structure and the marine environment, various data acquisition devices and sensors are typically installed on the platform. Each device and sensor has different acquisition frequencies, data volumes, and data transmission protocols. In this situation, comprehensive data acquisition usually requires high-configuration computers to handle multiple complex data acquisition tasks to ensure accuracy and completeness. However, due to the complexity of the marine environment and the limited resources available on offshore platforms, such as weak power supply, high-configuration computers cannot be used for data acquisition. The work can only utilize low-configuration industrial PCs for data acquisition. However, due to hardware limitations and software maintenance costs, these PCs cannot directly process all data acquisition tasks in parallel. Even using conventional asynchronous multithreading for data acquisition is problematic, as the data acquisition frequency is on the millisecond level. One thread continuously acquires data, consuming resources and causing other threads to wait and be unable to run, thus hindering successful data acquisition. Furthermore, if the communication protocol of a data acquisition device experiences a blockage, it directly affects data acquisition from subsequent devices, preventing real-time data retrieval and impacting data timeliness and accuracy. The more types of devices involved, the greater the impact. Summary of the Invention

[0003] This invention provides a method for collecting monitoring data from marine platforms, overcoming the technical problems that existing asynchronous multithreading technology cannot meet the high requirements of marine platforms for data collection and is prone to blockage anomalies, resulting in incomplete data monitoring.

[0004] To achieve the above objectives, the technical solution of the present invention is as follows:

[0005] A method for collecting monitoring data from marine platforms includes:

[0006] S1: Create multiple marine data acquisition main threads on an industrial control computer. The multiple marine data acquisition main threads are used to start the task of the industrial control computer to acquire marine platform monitoring data in real time at high frequency from different types of data acquisition devices. The marine platform monitoring data includes marine platform structural data and marine environmental monitoring data.

[0007] S2: A media-level time controller sub-thread is nested within each of the main threads for ocean data acquisition. The industrial control computer performs the task of high-frequency real-time acquisition of ocean platform monitoring data from the data acquisition devices based on the interval set by the media-level time controller sub-thread. Each of the data acquisition devices stores monitoring data transmitted from multiple sensors.

[0008] S3: The media-level time controller sub-thread transmits the collected monitoring data to the set cache area according to the data acquisition device ID.

[0009] Furthermore, the main thread for ocean data acquisition includes:

[0010] The main threads are: dynamic acquisition instrument main thread, fiber optic demodulator main thread, STS4 structural wireless test system acquisition system main thread, radar equipment main thread, anemometer main thread, impressed current cathodic protection system main thread, seabed integrated observation platform main thread, and memory monitoring main thread.

[0011] The main thread of the dynamic acquisition instrument is used to start the task of the industrial control computer to acquire data from the accelerometer, tilt sensor and displacement sensor from the dynamic acquisition instrument;

[0012] The main thread of the fiber Bragg grating demodulator is used to start the task of the industrial control computer to collect data from the fiber Bragg grating sensor and the level sensor from the fiber Bragg grating demodulator.

[0013] The main thread of the STS4 wireless test system acquisition system is used to start the task of the industrial control computer to acquire weight center of gravity sensor data from the STS4 wireless test system acquisition system.

[0014] The main thread of the radar device is used to start the task of the industrial control computer to collect and monitor water level, wave height, wave peak wavelength, wave peak direction, flow velocity, flow direction, average wave height, average wavelength, average flow velocity, and average flow direction data from the radar device.

[0015] The main thread of the anemometer is used to start the task of the industrial control computer to collect wind speed and wind direction data from the anemometer.

[0016] The main thread of the impressed current cathodic protection system is used to start the task of the industrial control computer to collect data from the auxiliary anode release current / output voltage, reference electrode, sacrificial anode release current, and cathode current density sensor data from the impressed current cathodic protection system.

[0017] The main thread of the seabed integrated observation platform is used to start the task of the industrial control computer to collect 75kHz flow velocity data, 75kHz flow direction data, 1200kHz flow velocity data, 1200kHz flow direction data, temperature, conductivity, pressure and salinity data from the seabed integrated observation platform.

[0018] Furthermore, a power supply status monitoring main thread is created on the industrial control computer, which is used to start the task of the industrial control computer to monitor the UPS power supply status in real time.

[0019] A first timer thread is nested within the main thread for power supply status monitoring. The industrial control computer acquires UPS power supply status data based on the interval set by the first timer thread, and determines whether to shut down the industrial control computer based on the acquired UPS power supply status data.

[0020] Furthermore, a memory cleanup main thread is created on the industrial control computer, which is used to start the task of cleaning up the memory of the industrial control computer;

[0021] A second timer thread is nested within the main memory cleanup thread. The industrial control computer cleans up memory based on the interval set by the second timer thread and using the garbage collection mechanism of C#.

[0022] Furthermore, the acquisition method also includes: nesting an asynchronous processing task within the sub-thread of the media-level time controller, wherein the industrial control computer extracts and analyzes monitoring data from the cache area based on the asynchronous processing task according to the set processing task time, and saves the analyzed monitoring data to the database.

[0023] Furthermore, in the main thread of the dynamic acquisition instrument, the asynchronous processing task processes the acquired data from the accelerometer, tilt sensor, and displacement sensor as follows:

[0024] (1)

[0025] (2)

[0026] (3)

[0027] In the formula, and These are the processed accelerometer sensor values ​​and the measured accelerometer sensor values, respectively. and These are the processed tilt sensor value and the measured tilt sensor value, respectively. and These represent the processed displacement sensor value and the measured displacement sensor value, respectively; c represents zero drift; d represents gain; b represents bias.

[0028] In the main thread of the fiber Bragg grating demodulator, the asynchronous processing task processes the acquired data from the MOI-type fiber Bragg grating sensor as follows:

[0029] (4)

[0030] In the formula, F G S is the strain factor; T Temperature sensitivity; λ 0S For calibration wavelength; λ S λ represents the wavelength of the measured strain. 1S λ is the initial strain wavelength; 0T For calibrating the wavelength; λ T The measured temperature-compensated wavelength; λ 1T Initial temperature-compensated wavelength; CTE S CTE is the coefficient of thermal expansion. T The coefficient of thermal expansion of the temperature probe;

[0031] The data collected from the ZO130 fiber Bragg grating sensor were processed as follows:

[0032] με =((λ-λ0)-( -λ T0 )*K T ) / K (5)

[0033] In the formula, λ is the strain test wavelength; λ0 is the zero strain wavelength; For temperature-compensated wavelength; λ T0 The temperature-compensated zero-point wavelength; K is the sensitivity coefficient; K T Temperature compensation coefficient.

[0034] Beneficial Effects: This invention creates multiple main threads for marine data acquisition on an industrial control computer. These main threads initiate tasks for the industrial control computer to collect marine platform structure and marine environmental monitoring data from data acquisition devices. Simultaneously, each main thread contains a nested media-level time controller sub-thread. The industrial control computer executes high-frequency, real-time data acquisition from the data acquisition devices based on the intervals set by the media-level time controller sub-thread. This enables high-frequency, real-time acquisition of monitoring data transmitted from multiple sensors. This invention uses a combination of nested and asynchronous multi-threading to acquire data in real time, allowing each acquisition task to run in parallel without interference. This achieves synchronous, real-time, and high-speed acquisition of sensor data from multiple devices. It is suitable for environments with various monitoring devices, sensors, data transmission protocols, and data formats on marine platforms, meeting the requirements for large-scale data acquisition in the special environment of marine platforms. It also solves the technical problem of congestion and incomplete data monitoring during large-scale data acquisition. Attached Figure Description

[0035] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0036] Figure 1 This is a schematic diagram illustrating the workflow of a method for collecting monitoring data from a marine platform according to the present invention. Detailed Implementation

[0037] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0038] This embodiment provides a method for collecting monitoring data from a marine platform, such as... Figure 1 As shown, it includes:

[0039] S1: Create multiple marine data acquisition main threads on an industrial control computer. Each of the multiple marine data acquisition main threads is used to start the task of the industrial control computer to acquire marine platform monitoring data in real time at high frequency from different types of data acquisition devices. The marine platform monitoring data includes marine platform structural data and marine environmental monitoring data.

[0040] S2: A media-level time controller sub-thread is nested within each of the main threads for ocean data acquisition. The industrial control computer performs the task of high-frequency real-time acquisition of ocean platform monitoring data from the data acquisition devices based on the interval set by the media-level time controller sub-thread. Each of the data acquisition devices stores monitoring data transmitted from multiple sensors.

[0041] Specifically, the media-level time controller, also known as the Multimedia Timer, is an advanced timer service provided by the Windows API. Compared to system timers and control timers, it offers higher precision and lower latency, reaching the 1-millisecond level. This makes it suitable for scenarios requiring precisely timed task execution and meets the requirements of real-time data acquisition. Therefore, in this embodiment, a media-level time controller sub-thread is nested within each main thread of the marine data acquisition process to meet the millisecond-level real-time data acquisition needs of the marine platform.

[0042] S3: The media-level time controller sub-thread transmits the collected monitoring data to the set cache area according to the data acquisition device ID.

[0043] Specifically, in this embodiment, an asynchronous processing task is nested within the sub-thread of the media-level time controller. The industrial control computer extracts and analyzes monitoring data from the cache area based on the asynchronous processing task according to the set processing task time, and saves the analyzed monitoring data to the database for subsequent actual needs.

[0044] In a specific embodiment, the main thread for marine data acquisition includes: the main thread for the dynamic acquisition instrument, the main thread for the fiber optic demodulator, the main thread for the STS4 wireless test system acquisition system, the main thread for the radar equipment, the main thread for the anemometer, the main thread for the impressed current cathodic protection system, the main thread for the seabed integrated observation platform, and the main thread for memory monitoring.

[0045] The main thread of the dynamic acquisition instrument is used to start the task of the industrial control computer to acquire data from the accelerometer, tilt sensor and displacement sensor from the dynamic acquisition instrument;

[0046] The main thread of the fiber Bragg grating demodulator is used to start the task of the industrial control computer to collect data from the fiber Bragg grating sensor and the level sensor from the fiber Bragg grating demodulator.

[0047] The main thread of the STS4 wireless test system acquisition system is used to start the task of the industrial control computer to acquire weight center of gravity sensor data from the STS4 wireless test system acquisition system.

[0048] The main thread of the radar device is used to start the task of the industrial control computer to collect and monitor water level, wave height, wave peak wavelength, wave peak direction, flow velocity, flow direction, average wave height, average wavelength, average flow velocity, and average flow direction data from the radar device.

[0049] The main thread of the anemometer is used to start the task of the industrial control computer to collect wind speed and wind direction data from the anemometer.

[0050] The main thread of the impressed current cathodic protection system is used to start the task of the industrial control computer to collect data from the auxiliary anode release current / output voltage, reference electrode, sacrificial anode release current, and cathode current density sensor data from the impressed current cathodic protection system.

[0051] The main thread of the seabed integrated observation platform is used to start the task of the industrial control computer to collect 75kHz flow velocity data, 75kHz flow direction data, 1200kHz flow velocity data, 1200kHz flow direction data, temperature, conductivity, pressure and salinity data from the seabed integrated observation platform.

[0052] Specifically, in this embodiment, the dynamic data acquisition device is equipped with nine accelerometers, comprising 27 data channels across the X, Y, and Z axes, with a sampling frequency of 100Hz, acquiring a total of 2700 data points per second; eight tilt sensors, comprising 16 data channels across the X and Y axes, with a sampling frequency of 10Hz, acquiring a total of 160 data points per second; and four displacement sensors, comprising eight data channels across the X and Y axes, with a sampling frequency of 10Hz, acquiring a total of 80 data points per second.

[0053] Specifically, the data interface in the dynamic data acquisition instrument is a dynamic library provided by the equipment manufacturer; the data format is a decimal number array; and the integration method is to acquire data through the dynamic library interface provided by the equipment manufacturer.

[0054] Specifically, in this embodiment, the multi-threaded operation adopts an asynchronous mode, and the main thread forms a nested asynchronous multi-threaded structure to prevent thread blocking. Simultaneously, a media-level time controller sub-thread is nested within each of the main ocean data acquisition threads. This allows control over the time interval of each data acquisition to be accurate to 1 millisecond, with an acquisition frequency of 100Hz (100 milliseconds). For example, the dynamic acquisition instrument pushes 10 sets of data each time, with each set containing 27 channels of acceleration data, 16 channels of tilt angle data, and 8 channels of displacement data, totaling 510 data points acquired each time. Acquiring data once every 100 milliseconds, 10 times per second corresponds to 100Hz, resulting in 5100 data points acquired per second. After acquiring and caching the data, an asynchronous processing task created within the media-level time controller parses and saves the acquired data. This ensures that the acquisition process of the main thread is not blocked while data parsing and processing are performed, including processing the raw data using specified calculation formulas and analyzing abnormal data. After data processing, a database connection is created, and the data is saved to the corresponding data table.

[0055] Specifically, current data acquisition requirements for marine platform structure monitoring are generally divided into the following acquisition cycles, depending on the type of equipment: 1Hz (1 acquisition per second), 10Hz (10 acquisitions per second), 50Hz (50 acquisitions per second), and 100Hz (100 acquisitions per second). Multiplying these by the different data collected from each sensor, the number can exceed 100. Depending on the offshore platform, the data volume is approximately 3000 data points per second, and around 10GB of data per day. Most commercially available software timer controls are based on second-level controls. Although they can be configured for millisecond-level control, there is always a 10-30 millisecond time difference, which cannot meet the high-speed data acquisition requirements of marine platform structure monitoring, leading to missed data acquisitions. Given the complexity of the marine environment, missed data acquisitions could cause safety issues. Therefore, this embodiment uses an existing media-level time controller to control the data acquisition process.

[0056] Specifically, in this embodiment, the fiber Bragg grating demodulator is equipped with a total of 130 fiber Bragg grating sensors, including 130 temperature-compensated data points and 130 wavelength data points, totaling 260 data points; it is also equipped with four level sensors, including four temperature-compensated data points and four wavelength data points, totaling eight data points; the data protocol is TCP / IP (Transmission Control Protocol / Internet Protocol); the data format is set to hexadecimal data packets; the integration method is set to a handshake operation via TCP protocol, where one party initiates the handshake process and the other party listens. When the listening end detects a valid connection, it immediately starts the data transmission process, continuously sending data to the client at certain time intervals. By creating a media-level time controller to control the time interval of each data acquisition to an accuracy of 1 millisecond, with an acquisition frequency of 10Hz, one set of data is read each time, including 130 temperature-compensated data points, 130 wavelength data points, and 8 level data points, with 10 reads per second, for a total of 10 sets of 2680 data points. After the data is acquired and cached, the acquired data is parsed and saved through an asynchronous processing task created within the media-level time controller. This ensures that the acquisition process is not blocked while parsing the hexadecimal data into decimal data. Then, the data is converted into stress-strain data using a specified calculation formula, and abnormal data is analyzed. After the data is processed, a database connection is created, and the data is saved to the corresponding data table.

[0057] Specifically, the STS4 structural wireless testing system's data acquisition system incorporates a weight center of gravity sensor. This device is imported and its data is read from a specified data file directory. Weight center of gravity sensor data is obtained through filtering and parsing. The data interface is set to .tdms file format, generated by the manufacturer's software. The integration method involves reading and parsing the .tdms file via a dynamic library interface, obtaining weight center of gravity sensor data through data parsing and filtering. Data files are generated every two minutes. A media-level time controller reads the latest .tdms data file from a designated folder directory every two minutes, parses the file format, and obtains the specified data content. An asynchronous processing task created within the media-level time controller parses and calculates the corresponding sensor data, analyzes abnormal data, and after processing, removes the read files to a designated directory for saving. Then, a database connection is created, and the data is saved to the corresponding data table.

[0058] Specifically, in this embodiment, the monitoring data of the integrated wave radar equipment is collected. The communication interface adopts the Modbus-RTU protocol, and the serial communication interface is RS485 / TCP. The data format is hexadecimal double-precision floating-point. The integration method is to use the ModbusRTU protocol to send specified instructions to the slave device to obtain the corresponding data. The data collection interval is once every two minutes, and one hexadecimal data is collected each time. Through the created media-level time controller, the collection frequency is controlled to be once every two minutes, and one set of data is pushed each time. After the data is acquired, the hexadecimal data is parsed through the asynchronous processing task created in the media-level time controller, the data is converted into decimal data, and abnormal data is parsed and analyzed. After the data is processed, a database connection is created, and the data is saved to the corresponding data table.

[0059] Specifically, in this embodiment, anemometer data is integrated and collected. The communication interface uses the Modbus-RTU protocol, and the data format is hexadecimal. The integration method involves establishing a connection with the hardware device using the Modbus RTU protocol to receive data pushed by the device in real time. The data collection interval is one hexadecimal data point per second. The collection frequency is controlled by a media-level time controller to be once per second, with each push containing one set of data, including wind speed and wind direction information. After the data is acquired, the hexadecimal data is parsed through an asynchronous processing task created within the media-level time controller. The data is converted into decimal data and subjected to logical processing, wind direction and wind speed conversion, and analysis of abnormal data. After the data is processed, a database connection is created, and the data is saved to the corresponding data table.

[0060] Specifically, in this embodiment, monitoring data from the impressed current cathodic protection system is integrated and collected. The collected data includes data from 100 auxiliary anode release current / output voltage sensors, 24 reference electrodes (Ag), 24 reference electrodes (Zn), 13 sacrificial anode release current sensors, and 4 cathode current density sensors. The data interface is a WebAPI, and the data format is a JSON string. The integration method involves establishing a connection via the WebAPI to a specified IP address, acquiring specified configuration information and data files in batches every minute. The number of sensors varies depending on the project. A media-level time controller controls the acquisition frequency to acquire data once per minute, acquiring multiple sets of different types and sensor data each time. After acquiring the data, an asynchronous thread is created to control the data parsing and saving operations. The asynchronous processing task created within the media-level time controller parses the JSON data, performs logical processing, calculates various parameter values, analyzes abnormal data, and after processing the data, creates a database connection and saves the data to the corresponding data table.

[0061] Specifically, in this embodiment, monitoring data from a comprehensive seabed observation platform is integrated and collected. The collected data includes 75kHz current velocity data for layers 1-25, 75kHz current direction data for layers 1-25, 1200kHz current velocity data for layers 1-25, 1200kHz current direction data for layers 1-25, temperature, conductivity, pressure, and salinity data. The data interface is ModbusTCP; the data format is hexadecimal double-byte unsigned integer. The integration method involves establishing a connection with the hardware device using the ModbusTCP communication protocol, sending specified instructions according to a dictionary table provided by a third party, and reading the corresponding data. A media-level time controller controls the acquisition frequency to once per hour. According to the instruction set in the dictionary table, data acquisition instructions are sent sequentially to acquire the corresponding sensor data. After acquiring the data, an asynchronous processing task created within the media-level time controller parses the collected hexadecimal data, converts the hexadecimal data into decimal data for logical processing, analyzes abnormal data, and after processing the data, creates a database connection and saves the data to the corresponding data table.

[0062] In a specific embodiment, a power supply status monitoring main thread is created on the industrial control computer. The power supply status monitoring main thread is used to start the task of the industrial control computer to monitor the UPS power supply status in real time.

[0063] A first timer thread is nested within the main thread for power supply status monitoring. The industrial control computer acquires UPS power supply status data based on the interval set by the first timer thread, and determines whether to shut down the industrial control computer based on the acquired UPS power supply status data.

[0064] Specifically, a first timer thread is nested within the main thread for power supply status monitoring. The industrial control computer acquires UPS power supply status data based on the interval set by the first timer thread. By nesting asynchronous processing tasks within the first timer thread, the asynchronous processing tasks parse the hexadecimal UPS power supply status data and determine the UPS power supply status according to a preset UPS power supply status lookup table based on the parsing results. When the UPS power supply status is determined to be "discharging", the industrial control computer sends an instruction to read the UPS power and voltage. If the acquired UPS power and voltage reach the set threshold, the shutdown instruction in the script file is executed, thereby shutting down the Windows system.

[0065] Specifically, the working environment of offshore platforms may experience power outages due to typhoons, power supply issues, and other uncontrollable factors. During high-frequency writes of large amounts of data, a sudden power outage can lead to a series of problems, including hardware damage, software malfunctions, and unrecoverable database table corruption. Since most offshore platforms lack network connectivity, this significantly hinders subsequent hardware, software, and database maintenance and repair. Therefore, a UPS (Uninterruptible Power Supply) system needs to be activated for temporary power after a power outage. However, UPS systems have limited power capacity, typically only lasting 2-3 days. If the offshore platform's power supply is not restored promptly, the UPS may automatically shut down due to insufficient power. If the UPS automatically shuts down, the industrial control computer may suffer software and hardware damage due to the sudden power loss. Therefore, a UPS power monitoring task is set up, and the monitoring results are compared with preset UPS parameters. The power supply status is compared with the UPS power supply status table. If the UPS power supply system is in charging state, it means that the power supply status of the offshore platform is normal and the UPS power supply system is not being used for power supply. If the UPS power supply system is in discharging state, it is necessary to obtain the specific power and voltage of the UPS power supply system and determine whether the power and voltage of the UPS power supply system have reached the set critical value according to the UPS power supply status table. If the power and voltage of the UPS power supply system reach the critical value, it means that the power supply capacity of the UPS power supply system can no longer meet the requirements. At this time, the industrial control computer will activate the low power system protection function, that is, gradually shut down the relevant software acquisition and monitoring programs and shut down the computer to avoid damage to hardware devices, software systems and database files caused by sudden power failure.

[0066] In a specific embodiment, a memory cleanup main thread is created on the industrial control computer, and the memory cleanup main thread is used to start the task of cleaning up the memory of the industrial control computer;

[0067] A second timer thread is nested within the main memory cleanup thread. The industrial control computer cleans up memory based on the second timer thread at set intervals, using a memory reclamation mechanism and the C# automatic garbage collection mechanism.

[0068] Specifically, in this embodiment, while each nested asynchronous multithread synchronously executes its own task, the software will gradually generate memory usage and be unable to release memory. Therefore, a second timer thread is created, and a time controller based on Windows time control is implemented through it to monitor the software's memory usage in real time. Asynchronous processing tasks are created within the time controller based on Windows time control. Since the C# automatic garbage collection mechanism may sometimes fail to achieve the expected results, this embodiment uses a memory reclamation mechanism and the C# automatic garbage collection mechanism to perform garbage collection every certain period of time, thereby ensuring that the acquisition system can run stably for a long time.

[0069] Specifically, garbage collection is an automatic memory management mechanism in C#. It is responsible for detecting and releasing the memory occupied by objects that are no longer in use. In C#, developers do not need to manually release memory; the garbage collector will automatically handle these tasks. This ensures that even under remote conditions, the marine platform can release memory in a timely manner, avoiding memory space filling up and affecting data collection, thus ensuring the smooth progress of data collection.

[0070] Specifically, both the first timer thread nested within the main thread for power supply status monitoring and the second timer thread nested within the main thread for memory monitoring are designed using time controllers based on the Windows Time Control. In this embodiment, although the media-level time controller is more accurate, it also consumes more resources. The Windows Time Control-based time controller, on the other hand, is more lightweight, consumes fewer resources, and is suitable for use cases requiring data at the second level or higher. Therefore, a media-level time controller is used for data acquisition from the marine platform, while a Windows Time Control-based time controller is sufficient for scenarios requiring data acquisition at the second level or higher, such as memory and power supply monitoring. By using a hybrid approach to time controllers, limited system resources can be utilized more efficiently.

[0071] In a specific embodiment, within the main thread of the dynamic data acquisition instrument, the asynchronous processing task processes the acquired data from the accelerometer, tilt sensor, and displacement sensor as follows:

[0072] (1)

[0073] (2)

[0074] (3)

[0075] In the formula, and These are the processed accelerometer sensor values ​​and the measured accelerometer sensor values, respectively. and These are the processed tilt sensor value and the measured tilt sensor value, respectively. and These represent the processed displacement sensor value and the measured displacement sensor value, respectively; c represents zero drift; d represents gain; b represents bias.

[0076] In the main thread of the fiber Bragg grating demodulator, the asynchronous processing task processes the acquired data from the MOI-type fiber Bragg grating sensor as follows:

[0077] (4)

[0078] In the formula, FG S is the strain factor; T Temperature sensitivity; λ 0S For calibrating the wavelength; λ S λ represents the wavelength of the measured strain. 1S λ is the initial strain wavelength; 0T For calibrating the wavelength; λ T The measured temperature-compensated wavelength; λ 1T Initial temperature-compensated wavelength; CTE S CTE is the coefficient of thermal expansion. T The coefficient of thermal expansion of the temperature probe;

[0079] The data collected from the ZO130 fiber Bragg grating sensor were processed as follows:

[0080] με =((λ-λ0)-( -λ T0 )*K T ) / K(5)

[0081] In the formula, λ is the strain test wavelength; λ0 is the zero strain wavelength; For temperature-compensated wavelength; λ T0 The temperature-compensated zero-point wavelength; K is the sensitivity coefficient; K T Temperature compensation coefficient.

[0082] In this embodiment, because the marine platform operates in a long-term unattended environment, the requirements for software stability, data accuracy, and data acquisition cycle accuracy are extremely high. Not only must data accuracy be guaranteed, but also the accuracy of the data acquisition cycle. Furthermore, it must be able to monitor the connection status of various hardware components and the running status of the software in real time. Different types of monitoring equipment need to be added as needed. The system must also be able to automatically run acquisition and monitoring programs after the acquisition program is shut down or restarted due to an unexpected power outage, without requiring manual intervention. Therefore, to ensure that the acquisition software can start acquisition without re-login after a computer restart, this embodiment adopts a Windows service acquisition program and monitoring client architecture. The acquisition program operates as a Windows service, with the acquisition service set to automatic startup. When the computer system starts, the Windows acquisition service automatically starts. After the service starts, the data acquisition program can be started automatically without entering a password to log in to the computer system, ensuring automatic startup after a system restart and meeting the needs of the unattended platform.

[0083] In this embodiment, the method is implemented based on the .NET development platform using the C# language and client-server architecture, using the .NET Framework 7.2, and running on the Windows 10 system. The C# language and development framework have significant advantages in long-term operation on the Windows system and in terms of memory usage and release, ensuring the long-term stable operation of the system.

[0084] In this embodiment, a third timer task is also created to monitor the service operation status of the current acquisition system periodically (once every 10 seconds). If the acquisition service is unexpectedly shut down or fails to start after the system is restarted, the watchdog timer task can start the acquisition service to ensure that the acquisition service can operate normally.

[0085] The working environment of offshore platforms is susceptible to power outages due to typhoons, power supply issues, and other uncontrollable factors. During high-frequency writes of large amounts of data, a sudden power outage can lead to a series of problems, including hardware damage, software malfunctions, and unrecoverable database table corruption. Furthermore, most offshore platforms operate without network access, significantly complicating subsequent hardware, software, and database maintenance and repair. Therefore,

[0086] In this embodiment, a main data export thread is also set, within which a fourth time controller sub-thread is nested. The industrial control computer exports data based on the interval set by the fourth time controller sub-thread. Specifically, due to the large amount of data in the industrial control computer system, when exporting the original data, the fourth time controller sub-thread will set different export times according to different device types, so that the industrial control computer exports the data as CSV files according to different time periods. For example, tables with large amounts of data are exported as a file at 5-10 minute intervals, while relatively small amounts of data are exported as a file at 1-hour intervals or as a file per day, to avoid the problem of the exported data files being too large to open.

[0087] Specifically, an exception handling mechanism is also set up in this embodiment. When the hardware device connection is abnormal, the industrial control machine will try to connect to the hardware repeatedly and generate abnormal data to save to the database. When the database connection is abnormal, the abnormal data will be saved to the specified directory in the form of text for timely troubleshooting.

[0088] In this embodiment, by setting up a combination of nested multithreading and asynchronous multithreading, the problems caused by the large number and variety of lower-level hardware, as well as the different communication protocols and data formats, are effectively solved. This addresses numerous issues such as communication anomalies, congestion, and failure to meet acquisition frequency targets due to hardware protocol conflicts. The goal is to achieve parallel and independent operation of each nested thread, with no interference between sub-threads within nested threads. Furthermore, the combination of nested and asynchronous multithreading better utilizes computer CPU resources, allowing each CPU core to be allocated to different threads for task processing. This significantly improves program throughput, enabling the host computer software to handle multiple tasks simultaneously when integrated with multiple lower-level hardware, thus improving program response speed and operating efficiency, and ultimately enhancing the overall processing power and execution efficiency of the software. In addition, nested multithreading programming offers advantages such as avoiding blocking, decoupling, improved error handling capabilities, and flexible task scheduling. By combining millisecond-level time controls, it can collect large amounts of data at high speed while enabling each device to connect, process, and save independently without interfering with each other, thus ensuring the integrity of each business process and data.

[0089] Beneficial Effects: This invention addresses the complex application environment of marine platforms involving multiple devices, multiple protocols, large amounts of data, and the need for high-frequency data acquisition. It proposes a method for acquiring marine platform monitoring data, employing a combination of nested and asynchronous multithreading to acquire data in real time. This allows each acquisition task to run in parallel without interference, enabling the acquisition of large amounts of data from various monitoring devices, sensors, data transmission protocols, and data formats on the marine platform. This avoids congestion and anomalies during the large-scale data acquisition process, ensuring the integrity of the data collected from the marine platform and facilitating subsequent research using the complete data.

[0090] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features; and these modifications or substitutions 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.

Claims

1. A method for collecting monitoring data from a marine platform, characterized in that, include: S1: Create multiple marine data acquisition main threads on an industrial control computer. The multiple marine data acquisition main threads are used to start the task of the industrial control computer to acquire marine platform monitoring data in real time at high frequency from different types of data acquisition devices. The marine platform monitoring data includes marine platform structural data and marine environmental monitoring data. S2: Each ocean data acquisition main thread is designed as a nested asynchronous multithreaded structure, including: A media-level time controller sub-thread is nested within each of the main threads for ocean data acquisition. The industrial control computer executes the task of high-frequency real-time acquisition of marine platform monitoring data from data acquisition devices based on the interval time set by the media-level time controller sub-thread. Each data acquisition device stores monitoring data transmitted from different types of sensors. The media-level time controller is a multimedia timer. Create a main thread for power supply status monitoring on an industrial control computer. The main thread for power supply status monitoring is used to start the task of real-time monitoring of the UPS power supply status on the industrial control computer. A first timer thread is nested within the main thread for power supply status monitoring. The industrial control computer obtains UPS power supply status data based on the interval set by the first timer thread, and determines whether to shut down the industrial control computer based on the obtained UPS power supply status data. The step of determining whether to shut down the industrial control computer based on the acquired UPS power supply status data includes: nesting an asynchronous processing task within a first timer thread, parsing the UPS power supply status data through the asynchronous processing task, and determining the UPS power supply status according to a preset UPS power supply status lookup table based on the parsing result. When the UPS power supply status is determined to be "discharging", the industrial control computer sends an instruction to read the UPS power and voltage. If the acquired UPS power and voltage reach the set threshold, a shutdown instruction is executed to shut down the industrial control computer. A memory cleanup main thread is created on the industrial control computer, which is used to start the task of cleaning up the memory of the industrial control computer. A second timer thread is nested within the main memory cleanup thread. The industrial control computer cleans up memory based on the interval set by the second timer thread and using the memory reclamation mechanism and the C# automatic garbage collection mechanism. S3: The media-level time controller sub-thread transmits the collected monitoring data to the set buffer area according to the data acquisition device ID; S4: An asynchronous processing task is nested within the sub-thread of the media-level time controller. The industrial control computer extracts data from the cache area based on the asynchronous processing task according to the set processing task time, and performs parsing and abnormal data analysis processing in sequence. After the data processing is completed, a database connection is created and the data is saved to the corresponding data table.

2. The method for collecting monitoring data from a marine platform according to claim 1, characterized in that, The main thread for ocean data acquisition includes: The main threads are: dynamic acquisition instrument main thread, fiber optic demodulator main thread, STS4 structural wireless test system acquisition system main thread, radar equipment main thread, anemometer main thread, impressed current cathodic protection system main thread, seabed integrated observation platform main thread, and memory monitoring main thread. The main thread of the dynamic acquisition instrument is used to start the task of the industrial control computer to acquire data from the accelerometer, tilt sensor and displacement sensor from the dynamic acquisition instrument; The main thread of the fiber Bragg grating demodulator is used to start the task of the industrial control computer to collect data from the fiber Bragg grating sensor and the level sensor from the fiber Bragg grating demodulator. The main thread of the STS4 wireless test system acquisition system is used to start the task of the industrial control computer to acquire weight center of gravity sensor data from the STS4 wireless test system acquisition system. The main thread of the radar device is used to start the task of the industrial control computer to collect and monitor water level, wave height, wave peak wavelength, wave peak direction, flow velocity, flow direction, average wave height, average wavelength, average flow velocity, and average flow direction data from the radar device. The main thread of the anemometer is used to start the task of the industrial control computer to collect wind speed and wind direction data from the anemometer. The main thread of the impressed current cathodic protection system is used to start the task of the industrial control computer to collect data from the auxiliary anode release current / output voltage, reference electrode, sacrificial anode release current, and cathode current density sensor data from the impressed current cathodic protection system. The main thread of the seabed integrated observation platform is used to start the task of the industrial control computer to collect 75kHz flow velocity data, 75kHz flow direction data, 1200kHz flow velocity data, 1200kHz flow direction data, temperature, conductivity, pressure and salinity data from the seabed integrated observation platform.

3. The method for collecting monitoring data from marine platforms according to claim 2, characterized in that, In the main thread of the dynamic data acquisition instrument, the asynchronous processing task processes the acquired data from the accelerometer, tilt sensor, and displacement sensor as follows: (1) (2) (3) In the formula, and These are the processed accelerometer sensor values ​​and the measured accelerometer sensor values, respectively. and These are the processed tilt sensor value and the measured tilt sensor value, respectively. and These represent the processed displacement sensor value and the measured displacement sensor value, respectively; c is zero drift; d is gain; b is bias. In the main thread of the fiber Bragg grating demodulator, the asynchronous processing task processes the acquired data from the MOI-type fiber Bragg grating sensor as follows: (4) In the formula, F G S is the strain factor; T Temperature sensitivity; λ 0S For wavelength calibration; λ S The wavelength of the measured strain; λ 1S The initial strain wavelength; λ 0T For wavelength calibration; λ T This is the measured temperature-compensated wavelength; λ 1T Initial temperature-compensated wavelength; CTE S CTE is the coefficient of thermal expansion. T The coefficient of thermal expansion of the temperature probe; The data collected from the ZO130 fiber Bragg grating sensor were processed as follows: with =((λ-λ0)-( -l T0 )*K T ) / K (5) In the formula, λ is the strain test wavelength; λ0 is the wavelength at the zero strain point; For temperature-compensated wavelength; λ T0 The temperature-compensated zero-point wavelength; K is the sensitivity coefficient; K T Temperature compensation coefficient.

Citation Information

Patent Citations

  • Method and system of uninterrupted intelligent power supply of ATM

    CN105703475A

  • Data processing system and method

    CN117784739A