Disclosure of Invention
In order to at least solve the above problems in the prior art, the present application provides a wind turbine group data acquisition system, method and device.
According to one aspect of the invention, a data acquisition system of a wind generating set is provided, which is characterized by comprising a data interface and a processor, wherein the data interface is in communication connection with a main controller of the wind generating set; the processor is configured to assign a unit variable acquired from the wind turbine generator set to each of the plurality of acquisition threads during each sampling interval, perform data acquisition on the unit variable assigned to each acquisition thread based on the sampling interval, adjust an ending time of each sampling interval based on an acquisition state of an expected ending time of each sampling interval on the plurality of acquisition threads, determine the time as a starting time of a next sampling interval, and store data of the unit variable acquired on each acquisition thread during each sampling interval at the end of the sampling interval.
The processor may be further operable to: and respectively allocating a group of unit variables to each acquisition thread for data acquisition at the starting time of each sampling interval, and allocating the next group of unit variables to each acquisition thread for data acquisition if the data acquisition of the currently allocated unit variables is finished and the time interval from the expected ending time of the current sampling interval is greater than a preset threshold value.
The processor may be further operable to: if an overtime acquisition thread which does not finish the data acquisition of the unit variable exists in the multiple threads at the expected end time of the current sampling interval, the end time of the current sampling interval is delayed to be the time for finishing the data acquisition of the unit variable on the overtime acquisition thread, the time is determined to be the starting time of the next sampling interval, and if the data acquisition of all the unit variables is finished on the multiple acquisition threads before the expected end time of the current sampling interval, the end time of the current sampling interval is advanced to be the time for finishing the data acquisition of the last unit variable, and the time is determined to be the starting time of the next sampling interval.
The processor may be further operable to: counting the number of sampling intervals at which data acquisition is performed, and performing a first correction operation when the counted value is equal to or greater than a preset value, wherein the first correction operation may include: correcting the end time of the current sampling interval to the expected end time of the current sampling interval if data acquisition of all the unit variables has been completed on the plurality of acquisition threads before the expected end time of the current sampling interval, determining the time as the start time of the next sampling interval and restarting counting, and continuing the current counting if data acquisition of all the unit variables has not been completed on the plurality of acquisition threads before the expected end time of the current sampling interval.
The processor may be further operable to: after the data collection for the predetermined time is performed, performing a second correction operation, wherein the second correction operation may include: the start time of the next sampling interval is reset.
The processor may be further operable to: and analyzing the data of the unit variables acquired from the wind generating set, and providing the analyzed data of the unit variables according to the allocated acquisition threads for data acquisition.
According to another aspect of the present invention, there is provided a wind turbine group data acquisition method, including: allocating a set variable obtained from the wind generating set to each of the plurality of acquisition threads during a current sampling interval; performing data acquisition on the unit variables distributed on each acquisition thread during the current sampling interval; adjusting the end time of the current sampling interval based on the collection status on the plurality of collection threads at the expected end time of the current sampling interval, and determining the time as the start time of the next sampling interval; and storing the data of the unit variables collected on each collection thread during the current sampling interval when the current sampling interval is over.
The step of assigning the unit variable may comprise: and respectively allocating a group of unit variables to each acquisition thread for data acquisition at the starting time of the current sampling interval, and allocating the next group of unit variables to each acquisition thread for data acquisition if the data acquisition of the currently allocated unit variables is finished and the time interval from the expected ending time of the current sampling interval is greater than a preset threshold value.
The step of determining the start time of the next sampling interval may comprise: if an overtime acquisition thread which does not finish the data acquisition of the unit variable exists in the multiple threads at the expected end time of the current sampling interval, the end time of the current sampling interval is delayed to be the time for finishing the data acquisition of the unit variable on the overtime acquisition thread, the time is determined to be the starting time of the next sampling interval, and if the data acquisition of all the unit variables is finished on the multiple acquisition threads before the expected end time of the current sampling interval, the end time of the current sampling interval is advanced to be the time for finishing the data acquisition of the last unit variable, and the time is determined to be the starting time of the next sampling interval.
The step of determining the start time of the next sampling interval may further comprise: counting a number of sampling intervals at which data acquisition is performed; when the count value is equal to or greater than the preset value, performing a first correction operation, wherein the first correction operation may include: correcting the end time of the current sampling interval to the expected end time of the current sampling interval if data acquisition of all the unit variables has been completed on the plurality of acquisition threads before the expected end time of the current sampling interval, determining the time as the start time of the next sampling interval and restarting counting, and continuing counting if data acquisition of all the unit variables has not been completed on the plurality of acquisition threads before the expected end time of the current sampling interval.
The step of determining the start time of the next sampling interval may further comprise: after the data collection for the predetermined time is performed, performing a second correction operation, wherein the second correction operation may include: the start time of the next sampling interval is reset.
According to another aspect of the invention, a data acquisition device for a wind generating set is provided, which is characterized by comprising: a variable allocation module configured to allocate a unit variable acquired from the wind power generation unit to each acquisition thread of the plurality of acquisition threads during each sampling interval; the data acquisition module is configured to acquire the unit variables distributed on each acquisition thread based on the sampling interval; a sampling interval adjustment module configured to adjust an end time of each sampling interval based on an acquisition state of the data acquisition module on the plurality of acquisition threads at an expected end time of each sampling interval and determine the time as a start time of a next sampling interval; a storage module configured to store data of the crew variables collected on each collection thread during each sampling interval at the end of the sampling interval.
According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores thereon computer program instructions, which when executed by a processor, implement the aforementioned data acquisition method.
According to another aspect of the present invention, there is provided a computer apparatus comprising a readable medium having stored thereon computer program instructions, characterized in that the computer program instructions comprise instructions for executing the data acquisition method as described above.
Advantageous effects
By applying the wind power generator group data acquisition system, the method and the device according to the exemplary embodiment of the invention, various real-time control and state data of the fan can be obtained quickly, accurately and in real time by directly acquiring data from the main controller of the fan, so that the overall operation condition of the fan can be evaluated by integrating information such as real-time wind speed, wind direction, pitch angle, azimuth angle, power generation amount, fan rotating speed, fan power and the like, and the future operation condition of the fan can be predicted according to the data and the information, so that the operation, control and planning of the fan are more reasonable.
In addition, by applying the wind driven generator group data acquisition system, the method and the device according to the exemplary embodiment of the invention, the problems of insufficient computing capability of the logic control terminal, insufficient granularity of field level data acquisition, too coarse control and management and the like are effectively solved.
Detailed Description
The following description is provided with reference to the accompanying drawings to assist in a comprehensive understanding of exemplary embodiments of the invention as defined by the claims and their equivalents. The description includes various specific details to aid understanding, but these details are to be regarded as illustrative only. Thus, one of ordinary skill in the art will recognize that: various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present invention. Moreover, descriptions of well-known functions and constructions may be omitted for clarity and conciseness.
Fig. 3 shows a block diagram of a data acquisition system 300 according to an exemplary embodiment of the present invention. For example only, the data acquisition system 300 may be a portable box in hardware configuration and may be carried by an operator into the tower of the wind turbine generator system 100. The data acquisition system 300 comprises a data interface 301 and a processor 302, the data interface 301 being directly connected with the main controller 10 (e.g. PLC) through a switch to obtain data of various plant variables of the wind park 100. However, it should be understood that the data acquisition system 300 may also be in any other form. The processor 302 may be used to perform a data acquisition method described later below with reference to fig. 7.
Fig. 4 shows a block diagram of a data acquisition apparatus 400 according to an exemplary embodiment of the present invention. Referring to fig. 4, the data acquisition apparatus 400 may include: a variable assignment module 410, a data acquisition module 420, a sampling interval adjustment module 430, and a storage module 440.
The variable allocation module 410 according to an exemplary embodiment of the present invention may allocate the crew variables acquired from the wind park to each of the plurality of acquisition threads during each sampling interval, thereby enabling multi-threaded parallel real-time acquisition of crew variable data. This will be described in detail below in connection with fig. 5.
FIG. 5 shows a schematic diagram of multi-threaded parallel real-time acquisition according to an exemplary embodiment of the present invention.
Referring to fig. 5, in the embodiment of the present invention, when data collection is performed, a separate connection channel (connection channel 1, connection channel 2, connection channel 3, connection channel 4, … … shown in fig. 5) may be established for each unit variable obtained from a main controller (e.g., befu PLC) of the wind turbine generator system to transmit the data of the unit variable to the collection thread allocated by the variable allocation module 410, thereby achieving parallel and independent collection of the unit variable data. The collected data can be sent to a data storage and analysis device so that the device can evaluate the overall condition of the wind generating set to obtain the current operating condition of the wind generating set, and meanwhile, the future operating condition of the wind generating set can be predicted according to the data.
When the number of the acquisition threads is equal to or more than the number of the unit variables, the variable allocation module 410 may allocate a separate acquisition thread for each unit variable to perform data acquisition.
However, when the number of acquisition threads is less than the number of crew variables, the variable assignment module 410 may assign the crew variables to each thread in turn. Specifically, at the start time of each sampling interval, the variable allocation module 410 may first allocate a set of unit variables to each acquisition thread respectively for data acquisition, where the set of unit variables may include one unit variable or may include a plurality of preset unit variables. Then, for each acquisition thread, if the acquisition thread completes data acquisition on the currently assigned set variable and the time interval from the expected end time of the current sampling interval is greater than the preset time threshold, the variable allocation module 410 may allocate the next set of set variables to the acquisition thread for data acquisition. For example, assume that there are 5 acquisition threads, thread 1, thread 2, thread 3, thread 4, and thread 5. When the current sampling interval starts, the variable allocation module 410 may allocate the unit variable 1, the unit variable 2, the unit variable 3, the unit variable 4, and the unit variable 5 to the thread 1, the thread 2, the thread 3, the thread 4, and the thread 5, respectively, for data acquisition, if data acquisition on the unit variable 3 is completed on the thread 3 first and the time from the end of the current sampling interval is longer (for example, longer than a preset time threshold), the variable allocation module 410 may allocate the next unit variable 6 to the thread 3 for data acquisition, and so on. In this way, each collection thread can be effectively utilized, the possibility that a certain thread is too idle or too busy is reduced, and therefore the system resources are fully utilized.
Referring back to FIG. 4, the data collection module 420 in an exemplary embodiment according to the present invention may collect data for the allocated crew variables on each collection thread based on the sampling interval.
Here, the sampling interval refers to a preset time period for acquiring data of all unit variables to be acquired. The data acquisition module 420 may complete one data acquisition for all unit variables during one sampling interval.
The data acquisition module 420 typically performs multiple data acquisitions of the unit variables at fixed sample time intervals. However, due to the influence of various factors (for example, the data collection time of a certain unit variable is longer due to a large data amount of the certain unit variable, interference factors, machine failure factors and the like), the use of the fixed sampling interval makes it possible to cause a situation that the data collection of the unit variable cannot be completed at the end of the current sampling interval and the beginning of the next sampling interval on one or some threads, which may cause the sampled data to be incorrect and also affect the time certainty of sampling.
In this regard, in the embodiment of the present invention, based on the collection state of the expected end time of each sampling interval of the data collection module 420 on the multiple collection threads, the end time of each sampling interval is adjusted by the sampling interval adjustment module 430, and the time is determined as the start time of the next sampling interval, so as to ensure that the data collection of all the unit variables is completed before or after the current sampling interval is completed. Here, the expected end time of the current sampling interval refers to the end time of a fixed sampling interval corresponding to the current data acquisition, that is, the end time of the sampling interval corresponding to the current data acquisition in the case that the data acquisition module 420 performs data acquisition according to the fixed sampling interval. For example only, assuming that the current data acquisition is the nth data acquisition, and the time length of the fixed sampling interval is span and the data acquisition start time is 0, the expected end time of the current sampling interval corresponding to the current data acquisition is nxspan.
In an exemplary embodiment of the present invention, if there is an acquisition timeout thread that does not complete data acquisition of the unit variable among the plurality of threads at the expected end time of the current sampling interval, the sampling interval adjustment module 430 may postpone the end time of the current sampling interval to a time at which data acquisition of the unit variable on the acquisition timeout thread ends, and determine the time as the start time of the next sampling interval. If data acquisition for all of the set variables has been completed on the plurality of acquisition threads before the expected end time of the current sampling interval, the sampling interval adjustment module 430 may advance the end time of the current sampling interval by the time at which data acquisition for the last set variable is completed and determine that time as the start time of the next sampling interval. The adjustment operation of the sampling interval adjustment module 430 will be described in more detail below in conjunction with fig. 6.
FIG. 6 illustrates an example of a data acquisition timing diagram in accordance with an exemplary embodiment of the present invention.
Referring to fig. 5, it is assumed that the data collection apparatus 400 uses 5 collection threads (i.e., thread 1, thread 2, thread 3, thread 4, and thread 5 shown in fig. 6), time T0 is a start time of data collection, a sampling interval shown by a dotted line (a solid line overlaps with a dotted line at T3 in fig. 5) is a fixed sampling interval (e.g., 20ms), time T0 to time T1 are fixed sampling intervals corresponding to 1 st data collection and time T1 is an expected end time of 1 st data collection, time T1 to time T2 are fixed sampling intervals corresponding to 2 nd data collection and time T2 is an expected end time of 2 nd data collection, and time T2 to time T3 are fixed sampling intervals corresponding to 3 rd data collection and time T3 is an expected end time of 3 rd data collection.
As shown in FIG. 6, the numbers on each thread represent the crew variables assigned by the variable assignment module 410 to that thread during the corresponding sampling interval, e.g., the numbers 1-6 between T0 and T1 in thread 1 represent the 6 variables assigned by the variable assignment module 410 to thread 1 during the 1 st sampling interval, respectively, the numbers 1-6 between T0 and T1 in thread 2 represent the 6 variables assigned by the variable assignment module 410 to thread 2 during the 1 st sampling interval, respectively, and so on. It should be understood that the numbers on each thread indicating the set variables only indicate the sequence numbers of the set variables assigned to that thread, and that the assigned set variables on each thread during the same sampling interval differ from one another.
As can be seen in FIG. 6, when data collection 1 is performed from time T0, data collection for the assigned crew variables on thread 1, thread 2, thread 4, and thread 5 may be completed during a fixed sampling interval from time T0 to time T1, while data collection for the assigned crew variables on thread 3 has not been completed at the end time T1 of the fixed sampling interval (i.e., the expected end time of the 1 st sampling interval corresponding to data collection 1). At this time, the sampling interval adjustment module 430 according to an exemplary embodiment of the present invention may postpone the actual end time of the 1 st sampling interval to the data collection end time T1 'of the 6 th team variable on the thread 3 that is overtime, and determine the time T1' as the start time of the 2 nd sampling interval corresponding to the 2 nd data collection.
Similarly, when the 2 nd data collection is performed from time T1', the data collection of the assigned crew variables on thread 1, thread 3, thread 4, and thread 5 may be completed at the end time T2 of the fixed sampling interval corresponding to the 2 nd data collection (i.e., the expected end time of the 2 nd sampling interval), while the data collection of the 6 th crew variable assigned on thread 2 has not been completed at the end time T2 of the fixed sampling interval. At this time, the sampling interval adjustment module 430 according to an exemplary embodiment of the present invention may postpone the actual end time of the 2 nd sampling interval to the data collection end time T2 'of the 6 th team variable on the thread 2 that is overtime, and determine the time T2' as the start time of the 3 rd sampling interval corresponding to the 3 rd data collection.
Although fig. 6 illustrates only the operation of the sampling interval adjustment module 430 deferring the end of the sampling interval, it should be understood that the present application is not limited thereto. The sampling interval adjustment module 430 may also advance the end time of the sampling interval. For example, referring to the case of fig. 6, if the data collection of all the unit variables allocated on the thread 1, the thread 2, the thread 3, the thread 4 and the thread 5 is completed before the end time T2 of the fixed sampling interval corresponding to the 2 nd data collection, the sampling interval adjustment module 430 may advance the end time of the 2 nd sampling interval to the time when the data collection of the last unit variable is completed and determine the time as the start time of the next sampling interval, in which case, unlike the case shown in fig. 6, T2' may be before T2.
Through the above adjustment operation of the sampling interval adjustment module 430, since the end time of the sampling interval of each data acquisition is sometimes delayed in advance, the data acquisition times and the data acquisition amount within the same time length can be approximately guaranteed to be the same, so that the time certainty of sampling is guaranteed, and the accuracy of sampling can also be guaranteed.
However, it should be understood that when performing the sampling interval adjustment, the sampling interval adjustment module 430 may perform the adjustment only when the time actually consumed to perform one data acquisition on all the plant variables is close to the fixed sampling interval, and when the time actually consumed to perform one data acquisition on all the plant variables is much longer than the fixed sampling interval (e.g., when the actually consumed time exceeds the fixed sampling interval by more than a predetermined time length), in order to ensure the correctness of the sampling, the time certainty of the sampling may be abandoned without performing the sampling interval adjustment.
Alternatively, the sampling interval adjustment module 430 according to an exemplary embodiment of the present invention may perform a correction operation after the sampling interval adjustment is performed for a period of time, in addition to the above-described sampling interval adjustment operation.
In particular, the sampling interval adjustment module 430 may include a counting module (not shown). A counting module (not shown) may count the number of sampling intervals at which data acquisition is performed by the data acquisition module 420. The sampling interval adjustment module 430 may perform a first correction operation when a count value of a counting module (not shown) is equal to or greater than a preset value. Here, the first correction operation may include: if data acquisition for all of the unit variables has been completed on multiple acquisition threads before the expected end time of the current sampling interval, the sampling interval adjustment module 430 may correct the end time of the current sampling interval to the expected end time of the current sampling interval (rather than the time to complete data acquisition for the last unit variable) and determine that time as the start time of the next sampling interval and cause the counting module (not shown) to restart counting; if, however, data collection for all of the crew variables is not completed on the plurality of collection threads by the expected end time of the current sampling interval, the sampling interval adjustment module 430 may cause a count module (not shown) to continue the current count.
In conjunction with fig. 6, assuming that the preset value is 3, when the data collection module 420 proceeds to the 3 rd data collection, the count value of the counting module (not shown) is 3, and the sampling interval adjustment module 430 may first determine whether data collection for all the unit variables has been completed on a plurality of collection threads (i.e., threads 1 to 5) before the expected end time T3 of the 3 rd sampling interval, and if so, the sampling interval adjustment module 430 may correct the end time of the 3 rd sampling interval to the expected end time T3 instead of the end time of data collection for the last unit variable, as shown in fig. 6. At this time, the sampling interval adjustment module 430 may zero the count value of the count module (not shown) and restart counting after completing the correction, waiting for the arrival of the next correction opportunity.
However, if the data collection for all of the unit variables has not been completed at the expected end time T3 of the 3 rd sampling interval, the sampling interval adjustment module 430 may still defer the end time of the current sampling interval to the time at which the data collection for the last unit variable ends and determine that time as the start time of the next sampling interval. At this time, the counting module (not shown) may continue to count the number of sampling intervals at which the data acquisition module 420 performs data acquisition (i.e., the count value becomes 4), the sampling interval adjustment module 430 may determine whether the following 4 th sampling interval may perform the above-described correction, and if not, continue to make a similar determination for the following sampling interval and the counting module (not shown) continues to count currently until one correction is performed.
In this way, after a period of sampling interval adjustment is performed, the actual end time of the sampling interval and the expected end time can be consistent again, so that even if the start time of some sampling intervals is adjusted, the same number of data acquisitions and the same data acquisition amount in the same period of time (for example, the period of time from T0 to T3) can be ensured, and the time certainty of sampling and the correctness of sampling are further ensured.
In addition, the sampling interval adjustment module 430 may perform a comprehensive correction after a period of data acquisition has been performed. Specifically, after data collection by the data collection module 420 is performed for a predetermined time, the sampling interval adjustment module 430 may perform a second correction operation. Here, the second correction operation may include: the start time of the next sampling interval is reset regardless of the acquisition state of the data acquisition module 420 during the current sampling interval. That is, in the exemplary embodiment of the present invention, the data collection module 420 directly terminates the current data collection process at predetermined time intervals regardless of whether the data collection of the unit variable is completed at this time, and restarts a new data collection operation. Further, in the exemplary embodiment of the present invention, the time interval for performing the second correction operation is much longer than the time interval for performing the first correction operation.
At the end of each sampling interval, the data of the crew variables collected on each collection thread during that sampling interval may be stored in the storage module 440.
Furthermore, in an exemplary embodiment of the present invention, the data acquisition apparatus 400 may further include: and the data analysis module (not shown) is used for analyzing the data of the unit variables acquired from the main controller of the wind generating set, and providing the analyzed data of the unit variables to the data acquisition module 410 for data acquisition according to the acquisition threads allocated by the variable allocation module 410. The data parsing module (not shown) may parse the data of the unit variables to have a preset data type, format and structure. Here, the preset data type, format and structure can be parsed by a variety of protocols and platforms via, for example, a virtual machine, etc., so that the data collection apparatus 400 of the exemplary embodiment of the present invention can be adapted/compatible with the variety of protocols and platforms.
For example only, a data parsing module (not shown) may define the variable format as follows:
variable name: variable types: the length of the variable.
In an exemplary embodiment of the invention, the naming convention and structure of the variable types is fully consistent with the data structure definition in the main controller of the wind park and covers all variable type definitions and syntax formats of the main controller and needs to be defined to specific actual variables. For example, assuming that a PLC is used as the main controller 10, the variables may be defined as follows:
a) simple variable
Global variables are defined in Twincat2 starting with' ″, global variables in Twincat3 starting with global, defined strictly in this format, and other domain variables using domain name + variable name.
b) Structural body
The definition of structure is ' ″ + structure name + specific variable name in Twincat2, and ' global ' + structure name + specific variable name in Twincat3, while the other domain variables use domain name + structure name + variable name.
In addition, the variable length is used to define whether the variable is a single variable or data, the single variable length is 1, and the data is defined by actual size, for example, the following illustrates two variable formats:
univariate: wind _ speed: REAL:1
The structure body: FB _ GH _ CONTROLLER _1.speed _ set _ point REAL:1
Table 1 below shows the overall data types for the pax PLC as the master controller 10 timing group variable.
[ TABLE 1 ]
It should be understood that the parsing process of the data parsing module (not shown) is described above by taking the PLC as an example for easy understanding, but the present application is not limited thereto. When other types of master controllers are used by the wind turbine generator system, a data analysis module (not shown) may adaptively and correspondingly analyze the data of the unit variables according to the specific type of the master controller used.
Furthermore, in an exemplary embodiment of the present invention, the storage module 440 should follow the following storage principle when saving data: simple and easy to read, distinguish single variables and data, store column names, store timestamps, and customize file sizes. By way of example only, the foregoing principles may be implemented as follows:
simple and easy to read: storing the collected data of the unit variables in a text mode (for example, storing the collected data in txt or csv2 file format) facilitates subsequent automatic analysis and manual analysis.
Separate individual variables and data: univariates can be stored directly in the form of a string, and numbers can be stored, for example, in the form of a value 1, a value 2, a value 3.
Storing column names: the first action field list of the file is convenient for the user to view.
Storing the time stamp: the first column of data is data acquisition time, so that data timing and data acquisition frequency and data effectiveness checking are facilitated.
Self-defining the file size: the size of the storage result file is customized, so that the problem that the tool is halted when a too large file tool is opened and the problem that too many files are difficult to manage when too small files are stored is solved.
In addition, although not shown in fig. 4, the data acquisition apparatus 400 may further include at least one of a data processing module (not shown) and a communication module (not shown). The data processing module (not shown) may perform some simple preprocessing and analysis (e.g., perform fast filtering to solve the baseline wander problem, perform fast clustering, perform simple fault diagnosis, and perform simple analysis reporting) on the acquired and stored data while the data acquisition device 400 performs data acquisition, so that when the remote main control center obtains the data of each managed wind turbine generator set, such data can be further processed more conveniently and quickly based on the preprocessed and analyzed data, thereby reducing the operational burden of the main control center and improving the operational efficiency and data analysis accuracy of the main control center. The communication module (not shown) may then transmit the collected and stored unit variable data and/or the result data of the unit variable data preprocessing and analysis by the data processing module (not shown) to the main control center at a preset period or according to the instructions. For example, when an operator cannot directly retrieve the data from the data collection device 400 for various reasons, such data may be transmitted to the key center by a communication module (not shown).
Further, although the composition of the data acquisition apparatus 400 and the specific operations of its respective constituent modules (e.g., the variable assignment module 410, the data acquisition module 420, the sampling interval adjustment module 430, and the storage module 440, etc.) are illustrated in a modular manner, it should be understood that this is merely for convenience of explanation. For example, the operations performed by the various modules of the data acquisition apparatus 400 may be performed by the processor of the data acquisition system 300 of fig. 3, or each module of the data acquisition apparatus 400 may be further refined into more modules to perform the respective operations, or several modules in the data acquisition apparatus 400 may be integrated with each other into one module to perform the corresponding operations. Further, it should be understood that the modules described above may be implemented in software, hardware, firmware, or a combination of two or more of software, hardware, and firmware.
Fig. 7 shows a flow chart of a data acquisition method according to an exemplary embodiment of the present invention. Fig. 7 illustrates a flow of data acquisition performed by the data acquisition system 300 during one sampling interval, and the data acquisition system 300 may perform a similar flow at each sampling interval.
Referring to fig. 7, in step S710, a crew variable acquired from a wind park may be assigned to each acquisition thread of a plurality of acquisition threads during a current sampling interval.
Specifically, each acquisition thread may be respectively assigned a set of unit variables for data acquisition at a start time of a current sampling interval, and if the acquisition thread completes data acquisition of the currently assigned unit variables and a time interval from an expected end time of the current sampling interval is greater than a preset threshold for each acquisition thread, the acquisition thread may be assigned a next set of unit variables for data acquisition.
In step S720, data collection may be performed on the allocated set variables on each collection thread during the current sampling interval.
In step S730, based on the acquisition status on the plurality of acquisition threads at the expected end time of the current sampling interval, the end time of the current sampling interval may be adjusted and determined as the start time of the next sampling interval.
Specifically, if there is an acquisition timeout thread that does not complete data acquisition of the unit variable among the plurality of threads at the expected end time of the current sampling interval, the end time of the current sampling interval may be postponed to a time at which data acquisition of the unit variable on the acquisition timeout thread ends, and the time may be determined as the start time of the next sampling interval; if data acquisition for all of the unit variables has been completed on the plurality of acquisition threads before the expected end time of the current sampling interval, the end time of the current sampling interval may be advanced to the time at which data acquisition for the last unit variable is completed and determined to be the start time of the next sampling interval.
Further, in the exemplary embodiment of the present invention, the number of sampling intervals at which data collection is performed may be further counted in step S720, and the first correction operation is performed when the counted value is equal to or greater than a preset value. Here, the first correction operation may include: if the data collection for all the unit variables has been completed on the plurality of collection threads before the expected end time of the current sampling interval, correcting the end time of the current sampling interval to the expected end time of the current sampling interval, determining the time as the start time of the next sampling interval and causing a counting module (not shown) to restart counting; counting may continue if data collection for all of the crew variables is not completed on the plurality of collection threads before the expected end time of the current sampling interval.
Further, in the exemplary embodiment of the present invention, if data collection has been performed for a predetermined time, a second correction operation may also be performed. Here, the second correction operation may include: the start time of the next sampling interval is reset regardless of the acquisition state during the current sampling interval.
Thereafter, at step S740, data of the crew variables collected on each collection thread during the current sampling interval may be stored at the end of the current sampling interval.
Optionally, although not shown in fig. 7, before step S710, the data of the unit variables acquired from the wind turbine generator system may be first analyzed, and the analyzed data of the unit variables may be provided according to the acquisition thread allocated at step S710 for data acquisition at step S720. Here, the data of the unit variable may be parsed to have a preset data type, format and structure, which can be parsed by a variety of protocols.
More specific implementations of the various steps of the above data acquisition method have been described in detail above in connection with fig. 3 to 6, and therefore, for the sake of brevity, will not be described again.
By applying the system, the method and the device for acquiring the wind power generator group data according to the exemplary embodiment of the aspect, various real-time control data of the fan can be acquired quickly, accurately and in real time by directly acquiring data from the fan main controller, the overall operation condition of the fan can be evaluated by integrating information such as real-time wind speed, wind direction, pitch angle, azimuth angle, generated energy, fan rotating speed, fan power and the like, and the future fan operation condition can be predicted according to the data and the information, so that the operation, control and planning of the fan are more reasonable, the real-time performance of fan control is improved, and the problems of insufficient operation capability of a logic control terminal, insufficient control and over-coarse management of field level data acquisition granularity and the like are effectively solved.
The data acquisition method described above may be implemented by computer program instructions recorded on a computer-readable storage medium, which when executed by a processor or other type of computing device, implement the data acquisition method. The storage media may also include program instructions, data files, data structures, etc. alone or in combination with the program instructions. Examples of the computer readable storage medium include magnetic media (e.g., hard disks, floppy disks, and magnetic tape), optical media (e.g., CD ROM disks and DVDs), magneto-optical media (e.g., optical disks), and hardware devices (e.g., Read Only Memories (ROMs), Random Access Memories (RAMs), flash memories, etc.) specially configured to store and execute program instructions. Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter. The described hardware devices may be configured to act as one or more software elements to perform the operations and methods described above, and vice versa. Furthermore, the computer readable storage medium can be distributed over network coupled computer systems and the computer readable code or program instructions can be stored and executed in a distributed fashion.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the following claims.