Data acquisition method and device for wind turbine generator
By combining the data acquisition method of subscription mode and direct acquisition mode, the timeliness of wind turbine data acquisition and network resource occupation problems are solved, the stability and frequency requirements of data acquisition are realized, and detailed data analysis is supported.
Patent Information
- Application Number
- CN202410846183.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-06-26
- Publication Date
- 2025-01-14
AI Technical Summary
In the process of data acquisition of wind turbines, the existing technology is difficult to meet the needs of timeliness of data acquisition and rationalization of network resource occupation, resulting in unstable data acquisition frequency and affecting subsequent data analysis.
By combining subscription mode and direct acquisition mode, data acquisition instructions are sent to subscribe to the unit variables, data acquisition is collected based on preset sampling intervals and update time intervals, and the collected data is preprocessed, including timestamp conversion and Data is filled or filtered to meet the storage format requirements of the data.
It realizes the timeliness of data acquisition and rationalizes network resource occupation, ensures that the sampling frequency is close to the preset frequency, and supports subsequent time and frequency domain analysis.
Smart Images

Figure CN119311662A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to the fields of wind power generation technology and data processing technology, and more specifically, to a data collection method and device for a wind turbine generator set. Background Art
[0002] In the wind power industry, as the scale of wind turbines (referred to as "units") increases, the technical difficulty faced in the research and development of wind turbines (referred to as "fans") increases. During the debugging of prototypes or the research and development of fan-related equipment, a data acquisition tool that can obtain various relevant data on the operating status of the unit is needed to monitor the real-time operating status of the fan. In addition, the unit is analyzed offline using the collected data to achieve health assessment.
[0003] Therefore, how to better utilize data collection tools to realize data collection, solve a series of problems in the data collection process, and make the data collected by the data collection tools meet subsequent usage needs has become a key consideration in data collection. Summary of the invention
[0004] The embodiments of the present disclosure provide a data collection method and device for a wind turbine generator set, thereby utilizing different modes of data collection to meet various data collection requirements, while achieving the effects of strong timeliness of data collection and rationalization of network resource occupancy.
[0005] In one general aspect, a data collection method for a wind turbine is provided, the data collection method comprising: sending a data acquisition instruction including a to-be-subscribed unit variable to the wind turbine; performing the following processing during each subscription time interval corresponding to the to-be-subscribed unit variable: receiving a subscription unit variable value corresponding to the to-be-subscribed unit variable from the wind turbine; performing data collection on the subscription unit variable value based on a preset sampling interval for data collection and an update time interval for each to-be-subscribed unit variable; and performing predetermined processing on the collected subscription unit variable value.
[0006] Optionally, the step of sending a data acquisition instruction including the unit variables to be subscribed to the wind turbine group may include: in response to the data collection time being equal to the preset sampling interval, or, in response to the data collection time being greater than the preset sampling interval and satisfying a first data collection requirement, sending a data acquisition instruction including the unit variables to be subscribed to the wind turbine group, wherein the first data collection requirement indicates that the actual sampling frequency when performing data collection is close to the preset data collection frequency.
[0007] Optionally, the step of performing data collection on the subscribed unit variable value based on the preset sampling interval for data collection and the update time interval of each unit variable to be subscribed may include: for each unit variable to be subscribed, the following processing may be performed: in response to the update time interval corresponding to the current unit variable to be subscribed being less than or equal to the preset sampling interval, obtaining the real-time variable value and subscription update value corresponding to the current unit variable to be subscribed; in response to the real-time variable value being the same as the subscription update value, using the real-time variable value as the initial variable value of the current unit variable to be subscribed; in response to the real-time variable value being different from the subscription update value, using the subscription update value as the initial variable value of the current unit variable to be subscribed.
[0008] Optionally, the step of performing data collection on the subscribed unit variable value based on the preset sampling interval for data collection and the update time interval of each unit variable to be subscribed may include: for each unit variable to be subscribed, the following processing may be performed: in response to the update time interval corresponding to the current unit variable to be subscribed being greater than the preset sampling interval, in the first sampling interval after the start of data collection, obtaining the real-time variable value corresponding to the current unit variable to be subscribed; and using the real-time variable value as the initial variable value for the current unit variable to be subscribed.
[0009] Optionally, when the real-time variable value is used as the initial variable value of the current unit variable to be subscribed, the timestamp corresponding to the initial variable value may be the unit timestamp corresponding to the subscription update value, rather than the local timestamp corresponding to when the real-time variable value is collected, and when the subscription update value is used as the initial variable value of the current unit variable to be subscribed, the timestamp corresponding to the initial variable value may be the unit timestamp corresponding to the subscription update value, wherein the local timestamp indicates the time point when data collection is performed, and the unit timestamp indicates the time point when the wind turbine generates the variable value.
[0010] Optionally, the step of performing predetermined processing on the collected subscribed unit variable values may include: for each unit variable to be subscribed, the following processing may be performed: storing the subscribed unit variable value corresponding to the current unit variable to be subscribed in a data stack; obtaining a target storage timestamp; converting the target storage timestamp into a target unit timestamp; storing the target subscribed unit variable value in the data stack whose unit timestamp is less than or equal to the target unit timestamp to a local location, wherein the target storage timestamp represents a storage time point associated with the time point when data collection is performed, and the target unit timestamp represents the time point when the wind turbine generates the variable value.
[0011] Optionally, the step of converting the target storage timestamp into a target unit timestamp may include: summing the target storage timestamp and a time deviation value to obtain the target unit timestamp, wherein the time deviation value is equal to the difference between the local timestamp at the first update of each unit variable to be subscribed and the unit timestamp corresponding to the subscribed unit variable value at the first update.
[0012] Optionally, the step of storing the target subscribed group variable value whose group timestamp in the data stack is less than or equal to the target group timestamp to a local location may include: based on the preset sampling interval and the update time interval of each to-be-subscribed group variable, performing data filling processing or data screening processing on the target subscribed group variable value so that the number of the target subscribed group variable values meets the preset storage format requirements; and storing the processed target subscribed group variable value to a local location.
[0013] Optionally, the data collection method may also include: in response to the data collection time being less than the preset sampling interval, or in response to the data collection time being greater than the preset sampling interval and satisfying a second data collection requirement, receiving a variable value corresponding to a unit variable from a wind turbine; performing data collection on the variable value based on the preset sampling interval and an update time interval of each unit variable; and storing the collected variable values, wherein the second data collection requirement represents a preset real-time requirement for data collection.
[0014] Optionally, the step of performing data collection on the variable values based on the preset sampling interval and the update time interval of each unit variable may include: performing data collection on the variable values using multiple threads based on the preset sampling interval and the update time interval of each unit variable, wherein variable values corresponding to multiple groups of unit variables are assigned to each thread to perform data collection, and each group of unit variables in the multiple groups of unit variables includes multiple unit variables.
[0015] In another general aspect, a data acquisition device for a wind turbine is provided, the data acquisition device comprising a data interface and a processor for communicating data with a main controller of the wind turbine, the processor being configured to: send a data acquisition instruction including a unit variable to be subscribed to the main controller via the data interface; perform the following processing during each subscription time interval corresponding to the unit variable to be subscribed: receive a subscription unit variable value corresponding to the unit variable to be subscribed from the main controller; perform data acquisition on the subscription unit variable value based on a preset sampling interval for data acquisition and an update time interval of each unit variable to be subscribed; and perform predetermined processing on the acquired subscription unit variable value.
[0016] Optionally, the operation of the processor sending a data acquisition instruction including the unit variables to be subscribed to the main controller via the data interface may include: in response to the data collection time being equal to the preset sampling interval, or, in response to the data collection time being greater than the preset sampling interval and satisfying a first data collection requirement, sending a data acquisition instruction including the unit variables to be subscribed to the main controller via the data interface, wherein the first data collection requirement indicates that the actual sampling frequency when performing data collection is close to the preset data collection frequency.
[0017] Optionally, the processor may perform data collection operations on the subscribed unit variable value based on a preset sampling interval for data collection and an update time interval for each unit variable to be subscribed, including: for each unit variable to be subscribed, the following processing may be performed: in response to the update time interval corresponding to the current unit variable to be subscribed being less than or equal to the preset sampling interval, obtaining the real-time variable value and subscription update value corresponding to the current unit variable to be subscribed; in response to the real-time variable value being the same as the subscription update value, using the real-time variable value as the initial variable value of the current unit variable to be subscribed; in response to the real-time variable value being different from the subscription update value, using the subscription update value as the initial variable value of the current unit variable to be subscribed.
[0018] Optionally, the processor may perform data collection operations on the subscribed unit variable value based on a preset sampling interval for data collection and an update time interval for each unit variable to be subscribed, and the operations may include: for each unit variable to be subscribed, the following processing may be performed: in response to the update time interval corresponding to the current unit variable to be subscribed being greater than the preset sampling interval, in the first sampling interval after the start of data collection, obtaining the real-time variable value corresponding to the current unit variable to be subscribed; and using the real-time variable value as the initial variable value for the current unit variable to be subscribed.
[0019] Optionally, when the real-time variable value is used as the initial variable value of the current unit variable to be subscribed, the timestamp corresponding to the initial variable value may be the unit timestamp corresponding to the subscription update value, rather than the local timestamp corresponding to when the real-time variable value is collected, and when the subscription update value is used as the initial variable value of the current unit variable to be subscribed, the timestamp corresponding to the initial variable value may be the unit timestamp corresponding to the subscription update value, wherein the local timestamp represents the data collection time point of the data collection device, and the unit timestamp represents the time point when the main controller generates the variable value.
[0020] Optionally, the operation of the processor performing predetermined processing on the collected subscribed group variable values may include: for each group variable to be subscribed, the following processing may be performed: storing the subscribed group variable value corresponding to the current group variable to be subscribed in a data stack; obtaining a target storage timestamp; converting the target storage timestamp into a target group timestamp; storing the target subscribed group variable value whose group timestamp in the data stack is less than or equal to the target group timestamp to a local location, wherein the target storage timestamp represents a storage time point associated with the data acquisition device, and the target group timestamp represents a time point when the main controller generates the variable value.
[0021] Optionally, the operation of the processor converting the target storage timestamp into a target group timestamp may include: summing the target storage timestamp and a time deviation value to obtain the target group timestamp, wherein the time deviation value is equal to the difference between the local timestamp at the first update of each group variable to be subscribed and the group timestamp corresponding to the subscribed group variable value at the first update.
[0022] Optionally, the operation of the processor storing the target subscribed group variable value whose group timestamp in the data stack is less than or equal to the target group timestamp to a local location may include: based on the preset sampling interval and the update time interval of each to-be-subscribed group variable, performing data filling processing or data screening processing on the target subscribed group variable value so that the number of the target subscribed group variable values meets the preset storage format requirements; and storing the processed target subscribed group variable value to a local location.
[0023] Optionally, the processor can also be configured to: in response to the data collection time being less than the preset sampling interval, or in response to the data collection time being greater than the preset sampling interval and satisfying the second data collection requirement, receive the variable value corresponding to the unit variable from the main controller via the data interface; perform data collection on the variable value based on the preset sampling interval and the update time interval of each unit variable; and store the collected variable value, wherein the second data collection requirement represents a preset real-time requirement for data collection.
[0024] Optionally, the processor, based on the preset sampling interval and the update time interval of each unit variable, performs data collection on the variable value, which may include: based on the preset sampling interval and the update time interval of each unit variable, using multiple threads to perform data collection on the variable value, wherein variable values corresponding to multiple groups of unit variables are assigned to each thread to perform data collection, and each group of unit variables in the multiple groups of unit variables includes multiple unit variables.
[0025] In another general aspect, a computer program product is provided, the computer program product comprising a computer program / instructions which, when executed by a processor, implement the data collection method as described above.
[0026] In another general aspect, a computer-readable storage medium is provided, which, when instructions in the computer-readable storage medium are executed by a processor of an electronic device / server, enables the electronic device / server to perform the data collection method as described above.
[0027] In another general aspect, a computer device is provided, comprising: at least one processor; and at least one memory storing computer executable instructions, wherein the computer executable instructions, when executed by the at least one processor, cause the at least one processor to perform the data collection method as described above.
[0028] According to the data collection method and device for wind turbines of the embodiments of the present disclosure, various data collection requirements are met by using different modes of data collection, and the timeliness of data collection and the rationalization of network resource occupation are achieved. In addition, by using different modes of data collection to meet various data collection requirements, the actual sampling frequency can be close to the preset sampling frequency, ensuring the realization of the data sampling interval, thereby facilitating the subsequent time domain analysis and frequency domain analysis of the collected data. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] The above and other objects and features of the embodiments of the present disclosure will become more apparent through the following description in conjunction with the accompanying drawings showing the embodiments, in which:
[0030] Figure 1 is a flow chart showing a data collection method for a wind turbine according to an embodiment of the present disclosure;
[0031] Figure 2 is an example flow chart showing a data collection scheme in a subscription mode according to an embodiment of the present disclosure;
[0032] Figure 3 is a schematic diagram showing a dual-thread structure in a subscription mode according to an embodiment of the present disclosure;
[0033] Figure 4 is a simplified structural diagram showing a data collection scheme in a subscription mode / direct collection mode according to an embodiment of the present disclosure;
[0034] Figure 5 is an example flow chart showing a data storage scheme in a subscription mode according to an embodiment of the present disclosure;
[0035] Fig. 6A and Figure 6B 1 are diagrams respectively showing simulation results according to a comparative example and simulation results according to an embodiment of the present disclosure;
[0036] Figure 7 is a structural block diagram showing a data acquisition device for a wind turbine generator system according to an embodiment of the present disclosure;
[0037] Figure 8 is a block diagram illustrating a computer device according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0038] The following specific embodiments are provided to help the reader obtain a comprehensive understanding of the methods, devices and / or systems described herein. However, after understanding the disclosure of the present application, various changes, modifications and equivalents of the methods, devices and / or systems described herein will be clear. For example, the order of operations described herein is only an example and is not limited to those orders set forth herein, but can be changed as will be clear after understanding the disclosure of the present application, except for operations that must occur in a specific order. In addition, for greater clarity and simplicity, the description of features known in the art may be omitted.
[0039] The features described herein can be implemented in different forms and should not be construed as being limited to the examples described herein. Rather, the examples described herein have been provided to illustrate only some of the many possible ways to implement the methods, devices, and / or systems described herein, which will be clear after understanding the disclosure of the present application.
[0040] As used herein, the term "and / or" includes any one of the associated listed items and any combination of any two or more.
[0041] The terms used herein are only used to describe various examples and are not intended to limit the disclosure. Unless the context clearly indicates otherwise, the singular form is also intended to include the plural form. The terms "comprise", "include" and "have" indicate the presence of the described features, quantities, operations, components, elements and / or combinations thereof, but do not exclude the presence or addition of one or more other features, quantities, operations, components, elements and / or combinations thereof.
[0042] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as those generally understood by a person of ordinary skill in the art to which the present disclosure belongs after understanding the present disclosure. Unless explicitly defined as such herein, terms (such as those defined in a general dictionary) should be interpreted as having a meaning consistent with their meaning in the context of the relevant art and the present disclosure, and should not be interpreted in an idealized or overly formal manner.
[0043] Furthermore, in the description of examples, when it is considered that a detailed description of a well-known related structure or function would cause vague interpretation of the present disclosure, such a detailed description will be omitted.
[0044] Reference will now be made in detail to the embodiments of the present disclosure, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to like parts throughout. The embodiments will be described below with reference to the drawings in order to explain the present disclosure.
[0045] In the relevant technology, there are the following requirements for the collection of operating data of wind turbines: collect the real-time operating data of wind turbines at a preset frequency and store them at predetermined time intervals; the interval requirements of digital acquisition (i.e., the abbreviation of data acquisition) data must be strictly consistent; and perform data analysis on the collected data to achieve tasks such as: blade vibration testing, prototype load data analysis, blade clearance check, load check, secondary debugging, overlord machine judgment, etc.
[0046] In addition, when the data acquisition device performs real-time data acquisition when there are many variables, the actual data acquisition time may lag behind the expected data acquisition time. For example, the expected data sampling frequency is 50Hz, but the actual sampling frequency may become 30Hz.
[0047] In response to the above data collection requirements and related problems encountered in the data collection process, the present application proposes a data collection method and device based on a subscription model to solve the above problems related to data collection.
[0048] Refer to the following Figures 1 to 8 A data collection method and device for a wind turbine generator system according to an embodiment of the present disclosure are described in detail.
[0049] Figure 1 1 is a flow chart showing a data collection method 100 for a wind turbine according to an embodiment of the present disclosure. Here, the data collection method 100 is applied to a data collection end, for example, a data collection system / device / module, etc.
[0050] In the following, the data acquisition method is applied to a data acquisition device as an example for explanation. In addition, the wind turbine can use a main controller (which can be referred to as "main control", such as "main control PLC (Programmable Logic Controller)") to communicate with the data acquisition terminal. For example, Figure 4 The following specific description is given. Figure 4 400 is a simplified structural diagram showing a data collection solution in a subscription mode / direct collection mode according to an embodiment of the present disclosure.
[0051] like Figure 1As shown, in step S101, the data acquisition device 420 sends a data acquisition instruction including the unit variables to be subscribed to the main control PLC 410 of the wind turbine. For example, the data acquisition device 420 sends a data acquisition instruction including the unit variables to be subscribed to the main control PLC 410 of the wind turbine.
[0052] In the present disclosure, this data collection method of requesting to obtain "unit variables to be subscribed" can be referred to as "subscription mode". Specifically, the subscription mode means that the data collection device subscribes to the unit variables to be collected from the master PLC. Once the unit variables change, the master PLC promptly feeds back the changed data (also called updated data) to the collection program of the data collection device. If the unit variables do not change, the original data (i.e., the corresponding data stored previously) is maintained.
[0053] The advantages of this subscription model are: fewer data requests, less network resource consumption, and no repeated data requests; its disadvantages are: greater time uncertainty, it is difficult to determine the local time difference between the collection and storage of the first data for a specific variable, and it is not easy to meet the high real-time requirements for data collection.
[0054] In addition, as another data collection method different from the subscription mode, it can also include the "direct collection mode". The direct collection mode means that the variable values of the unit variables are directly obtained from the main control PLC through the data acquisition command within the preset time interval, and then the obtained variable values are stored one by one.
[0055] The advantage of this direct purchase model is its good timeliness, but its disadvantage is that it consumes a lot of network resources. When the variable value of a specific variable has not been updated for a long period of time, the same variable value will be repeatedly obtained, resulting in data redundancy and resource waste.
[0056] The present disclosure fully takes into account the advantages and disadvantages of the two data collection modes, proposes a data collection method based on the subscription mode, and as will be described later, applies the direct collection mode to the initial value determination of the variable, integrating the advantages of the two modes.
[0057] As an example, step S101 may further include: in response to the data collection time being equal to the preset sampling interval, or, in response to the data collection time being greater than (for example, much greater than) the preset sampling interval and satisfying the first data collection requirement, the data acquisition device 420 sends a data acquisition instruction including the unit variables to be subscribed to the main control PLC 410 of the wind turbine group.
[0058] Here, the first data collection requirement means that the actual sampling frequency when performing data collection is close to the preset data collection frequency. As an example, "close to" here may mean that the absolute value of the difference between the actual sampling frequency and the preset data collection frequency (that is, the former may be slightly greater than the latter or the former may be slightly less than the latter) is small, for example, within a predetermined difference (the percentage of the difference between the two is, for example, a few percent or a few tenths of a percent, etc.).
[0059] Furthermore, by implementing data collection in a subscription mode when "the data collection time is equal to the preset sampling interval", under the same critical condition, network resource consumption can be reduced and more data can be collected.
[0060] In addition, by adopting the subscription model to implement data collection when "the data collection time is greater than / much greater than the preset sampling interval and meets the first data collection requirement", it is possible to achieve: requiring the data collection frequency to meet the sampling requirement as much as possible, that is, requiring a faster data return speed, while requiring a lower matching degree between the sampling interval and the data.
[0061] According to an embodiment of the present disclosure, in step S102, at each subscription time interval corresponding to the to-be-subscribed unit variable (here, only Figure 1 , "one subscription interval" is shown in "each subscription interval", but in fact the subsequent steps are executed at each subscription interval, and Figure 1 The following steps S1 to S3 are performed during the period (not shown in the figure) of step S102:
[0062] According to an embodiment of the present disclosure, in step S1 , a subscribed unit variable value corresponding to a unit variable to be subscribed is received from a master PLC 410 of a wind turbine generator set.
[0063] According to an embodiment of the present disclosure, in step S2, based on a preset sampling interval for data collection and an update time interval of each to-be-subscribed unit variable, the data collection device 420 performs data collection on the subscribed unit variable value.
[0064] As an example, step S2 may further include: for each unit variable to be subscribed, the data collection device 420 may perform the following steps S21 to S23:
[0065] In step S21, in response to the update time interval corresponding to the current unit variable to be subscribed being less than or equal to the preset sampling interval, the real-time variable value and subscription update value corresponding to the current unit variable to be subscribed are obtained.
[0066] Here, in the present disclosure, the real-time variable value may represent the value of the variable obtained using the direct acquisition mode, and the subscription update value may represent the value of the variable obtained using the subscription mode.
[0067] In step S22, in response to the real-time variable value being the same as the subscription update value, the real-time variable value is used as the initial variable value of the current unit variable to be subscribed.
[0068] Here, when the real-time variable value is used as the initial variable value of the current unit variable to be subscribed, the timestamp corresponding to the initial variable value may be the unit timestamp corresponding to the subscription update value, rather than the local timestamp corresponding to when the real-time variable value is collected.
[0069] In addition, the local timestamp indicates the time point when data collection is performed, and the unit timestamp indicates the time point when the wind turbine unit generates a variable value.
[0070] Further, in the present disclosure, the local timestamp represents the data acquisition time point of the data acquisition device, that is, the local time point at which the data acquisition device performs data processing (e.g., data acquisition). In addition, the unit timestamp represents the time point when the main controller generates a variable value, that is, the main control PLC time point at which various data processing (e.g., data generation and update) is performed at the main controller end of the wind turbine.
[0071] According to the embodiments of the present disclosure, regarding the consideration of the timestamp in the present disclosure, since the wind farm is not equipped with a full-field timing server, the data collection performed in the subscription mode cannot guarantee the consistency between the local time of the data collection device and the time of the unit equipment (for example, the main control PLC) in the absence of a high-precision timing server, resulting in a certain deviation between the data collection time and the recording time.
[0072] Furthermore, there are two sources of timestamps involved in the present disclosure. One is the local timestamp (the time of the data acquisition device) of the first data acquisition in the direct acquisition mode, where only the local timestamp can be obtained; the other is the timestamp when the data is returned by the subscription function in the subscription mode, where there are both local timestamps and timestamps when the master control data changes. Through these two timestamps, the difference between the local time and the master control time can be roughly determined. However, since the data obtained in the subscription mode is not real-time data, this determination method may have unpredictable time deviations.
[0073] Therefore, in order to solve the above time deviation problem, this application proposes a method for aligning local time with master time. Specifically, the difference between the first subscription data value update time and the master time in the subscription mode return value is used as the current time deviation between the local time and the master time.
[0074] Table 1 below shows the time difference between the local time and the master time when returning data in the subscription mode, and the difference column indicates the value of the difference between adjacent time differences. It can be concluded that the difference fluctuates within 2 microseconds.
[0075] Table 1
[0076] frequency Time difference (unit: 0.1 microsecond) Difference (unit: 0.1 microsecond) 1 504911519843847827 2 504911519843837827 0 3 504911519843837819 8 4 504911519843837826 -7 5 504911519843837829 -3 6 504911519843847815 14 7 504911519843857828 -13 8 504911519843867828 6 9 504911519843847822 0 10 504911519843857825 -3
[0077] The method for aligning local time with master time proposed in this application effectively solves the problem of misalignment between local time and master time, and can synchronize local time and master time to millisecond level when the timing mechanism is imperfect.
[0078] In addition, in the case of multiple subscriptions, the difference between the timestamp returned by the first subscription data and the local timestamp can also be used as the difference between the local time and the master time.
[0079] In step S23, in response to the real-time variable value being different from the subscription update value, the subscription update value is used as the initial variable value of the current unit variable to be subscribed.
[0080] Here, in the case where the subscription update value is used as the initial variable value of the current group variable to be subscribed, the timestamp corresponding to the initial variable value may be the group timestamp corresponding to the subscription update value.
[0081] In addition, as another example, step S2 may further include: for each unit variable to be subscribed, the data collection device 420 may perform the following steps S21' and S22':
[0082] In step S21', in response to the update time interval corresponding to the current unit variable to be subscribed being greater than the preset sampling interval, the real-time variable value corresponding to the current unit variable to be subscribed is obtained in the first sampling interval after the start of data collection.
[0083] In step S22', the real-time variable value is used as the initial variable value for the current unit variable to be subscribed.
[0084] According to an embodiment of the present disclosure, in step S3, the data collection device 420 performs predetermined processing on the collected subscribed unit variable values.
[0085] According to an embodiment of the present disclosure, step S3 may further include: for each unit variable to be subscribed, the data acquisition device 420 may perform the following steps S31 to S34:
[0086] In step S31, the subscribed unit variable value corresponding to the current unit variable to be subscribed is stored in a data pile (which may also be a data pool in the present disclosure).
[0087] In step S32, a target storage timestamp is obtained. Here, the target storage timestamp refers to a storage time point associated with a time point at which data collection is performed, that is, a storage time point associated with a data collection device, for example, a local time point at which data storage is performed at a data collection device.
[0088] In step S33, the target storage timestamp is converted into a target unit timestamp. Here, the target unit timestamp represents the time point when the wind turbine generates the variable value, that is, the main control PLC time when the main controller of the wind turbine executes data generation and / or update.
[0089] As an example, step S33 may specifically include: summing the target storage timestamp and the time deviation value to obtain the target unit timestamp.
[0090] For example, the time offset value may be equal to the difference between the local timestamp at the first update of each to-be-subscribed assembly variable and the assembly timestamp corresponding to the subscribed assembly variable value at the first update.
[0091] In addition, in the case of multiple subscriptions, the time deviation value can also be replaced by the difference between the timestamp returned by the first subscription data and the local timestamp (ie, the difference between the time of the data acquisition device and the master PLC).
[0092] In processing S34, the target subscribed unit variable value whose unit timestamp in the data stack is less than or equal to the target unit timestamp is stored in a local location.
[0093] According to an embodiment of the present disclosure, step S34 may further include: based on a preset sampling interval and an update time interval of each unit variable to be subscribed, performing data filling processing or data screening processing on the target subscription unit variable value, so that the number of target subscription unit variable values meets the preset storage format requirements; and storing the processed target subscription unit variable value to a local location.
[0094] Optionally, according to an embodiment of the present disclosure, the data collection method 100 may further include steps S103 to S105. Although S103 to S105 are not shown, they may be referred to in detail. Figure 4 The steps S103 to S105 of performing data acquisition in the direct acquisition mode are described below.
[0095] In step S103, in response to the data collection time being less than (for example, much less than) the preset sampling interval, or in response to the data collection time being greater than (for example, much greater than) the preset sampling interval and satisfying the second data collection requirement, the data collection device 420 receives the variable value corresponding to the unit variable from the main control PLC 410 of the wind turbine unit.
[0096] Here, the second data collection requirement represents a preset real-time requirement for data collection.
[0097] For example, the situation described in step S103 may correspond to the data collection in the direct collection mode described above.
[0098] Furthermore, by adopting the direct collection mode to realize data collection when "the data collection time is less than / much less than the preset sampling interval", the real-time nature of data collection can be guaranteed while consuming little network resources.
[0099] In addition, by adopting the direct collection mode to realize data collection when "the data collection time is greater than / much greater than the preset sampling interval and meets the second data collection requirement", it is fully guaranteed that the higher real-time collection requirements can be met and the strict requirements of sampling interval and data matching can be met.
[0100] Here, as an example, regarding the limitation of the size relationship between the data collection time and the preset sampling interval, if the difference in the size relationship between the two is relatively small, for example, "the former is slightly greater than the latter or the former is slightly less than the latter", then this situation can correspond to the situation where the two are equal, and is not strictly divided into situations such as "the former is greater than the latter or the former is less than the latter". Therefore, the above-mentioned situation of the former being greater than or less than the latter can be explained by taking the situation of the former being much greater than or much less than the latter as an example.
[0101] In step S104, the data collection device 420 performs data collection on the variable values based on a preset sampling interval and an update time interval of each unit variable.
[0102] For example, step S104 may further include: the data acquisition device 420 performs data acquisition on the variable value using multiple threads based on the preset sampling interval and the update time interval of each unit variable. Here, variable values corresponding to multiple groups of unit variables are allocated to each thread to perform data acquisition, and each group of unit variables in the multiple groups of unit variables includes multiple unit variables.
[0103] Furthermore, the multi-threaded data collection mode can realize block collection, where each thread collects different variables, and the data is integrated together after a request is completed, thereby realizing multi-parallel real-time collection.
[0104] Specifically, in order to ensure that data collection is completed within the specified time, for example, when the time required for the master PLC to obtain a variable alone is about 5ms, for the acquisition of many (for example, hundreds of) variables, the serial acquisition method cannot achieve the above purpose, so the present disclosure adopts a block reading and multi-threaded simultaneous acquisition solution. Here, block reading means that a data acquisition channel is established for a group of PLC variables (belonging to unit variables) during data acquisition, and this group of channels can meet the real-time sampling requirements. Multi-threaded simultaneous acquisition means that multiple threads are opened to operate multiple data acquisition channels simultaneously when collecting data to ensure the data acquisition process, and multiple data acquisition channels can correspond to one thread.
[0105] The above-mentioned block reading and multi-threaded parallel acquisition solution can ensure the rational use of system resources, thereby improving the data acquisition efficiency of the direct acquisition mode and reducing the waiting time by using multiple connection channels.
[0106] In step S105 , the data collection device 420 stores the collected variable values.
[0107] Below, refer to Figure 2 , Figure 3 and Figure 5 To further illustrate the various steps of the data collection method disclosed in the present invention. Figure 2 is an example flow chart showing a data collection scheme in a subscription mode according to an embodiment of the present disclosure, Figure 3 is a schematic diagram showing a dual-thread structure in a subscription mode according to an embodiment of the present disclosure, and Figure 5 is an example flow chart illustrating a data storage scheme in a subscription mode according to an embodiment of the present disclosure.
[0108] like Figure 2 As shown, in box S210, data acquisition is started to enable the data acquisition program (as shown in box S220).
[0109] In block S221 , the data acquisition device 420 subscribes to data variables (ie, unit variables) from the main control PLC 410 of the wind turbine unit.
[0110] Next, if the data changes in box S222, the updated data is stored in the data queue (as shown in box S223). The collection process shown in S222 and S223 is executed cyclically, that is, once the subscribed variables are updated, the updated data is stored in the data queue.
[0111] Then, according to the required preset data acquisition time interval, in step S230, when the storage time interval reaches the preset data acquisition time interval, the data in the data queue that meets the preset data acquisition time interval is stored in a local location (eg, a file).
[0112] In block S240 , when data collection is no longer required, the data collection program is terminated.
[0113] Refer to the following Figure 3 To further describe an example of the program architecture (ie, dual-threaded structure) in subscription mode.
[0114] like Figure 3 As shown, the dual-thread structure in the subscription mode according to the present disclosure may include a data acquisition thread 310 and a storage thread 320 .
[0115] For the data acquisition thread 310, in box S311, for each variable to be subscribed (which can be simply referred to as a variable or data variable in this example), first use the direct acquisition mode to obtain the initial data of the variable to be subscribed, and then in box 312, subscribe to the data variable to the main control PLC.
[0116] Next, in block S313 , if the data of the variable (eg, the value of the variable) is changed, the updated data is added to the data queue (as shown in block S314 ).
[0117] Here, the above-mentioned update data can be understood as subscription data obtained in the subscription mode, and the basic format of the subscription data is: data+timestamp (ie, the master control time when the data is changed).
[0118] For the storage thread 320, when the storage time interval reaches the preset time interval, the collected data is stored in the file (as shown in block S323). When storing the file, it is necessary to determine whether the collected data meets the storage condition (which will be referred to later). Figure 5 To explain the storage condition in detail) (as shown in box S322), if the storage condition is not met, return to box S321 to wait until the storage condition is met.
[0119] In block S315 , initial value buffering is performed for each variable. This involves the situation that the data buffered as the initial value may be different from the initial data obtained in S311 , which will be explained in detail later.
[0120] According to the embodiments of the present disclosure, since the data acquisition program can only obtain updated data when the data changes when executing data acquisition in the subscription mode, the initial data must be obtained through the direct acquisition mode for each variable when starting data acquisition. Then, when storing the initial data, there are two situations, the first situation is the determination of the initial value of the subscription variable with low update frequency, and the second situation is the determination of the initial value of the subscription variable with high update frequency.
[0121] Specifically, for the first case, the variable with low update frequency may not change for a period of time. In this case, the initial data can be used for filling and storage, that is, the initial data can be used as the initial value of the variable or stored as a non-initial value. For example, if the variable does not change in two sampling intervals, the initial data can be stored as the initial value of the variable (stored at the end of the first sampling interval) or as a non-initial value (stored at the end of the second sampling interval).
[0122] In addition, for the first case, a variable with a high update frequency may change multiple times within a period of time. In this case, if the initial data is used as the initial value of the variable, it may affect the real-time nature of the update data corresponding to the variable. For example, for a high update frequency subscription variable, since it is impossible to determine the order in which the initial data of the variable obtained using the direct acquisition mode and the first updated variable value obtained using the subscription mode are generated, it is impossible to determine whether the first data (i.e., the initial value) should be stored as the above initial data or the first value in the data queue for the variable.
[0123] The present disclosure adopts a dichotomy method to solve the initial value determination problem involved in the second situation mentioned above. For a subscription variable, for the first updated variable value (also referred to as a subscription value) generated in the subscription mode, if its value is equal to the value of the initial data obtained in the direct acquisition mode, then the initial value of the subscription variable is determined to be the initial data obtained in the direct acquisition mode, and the timestamp corresponding to the initial value is equal to the timestamp when the first subscription value is returned; if its value is different from the value of the initial data obtained in the direct acquisition mode, then the initial value of the subscription variable is determined to be the earliest returned subscription value in the subscription mode.
[0124] In addition, the time of other returned subscription values can be compared with the time of the earliest returned subscription value. If the time difference between the two is less than or equal to the preset sampling interval, the current sampling uses the subscription value returned this time. Otherwise, the real-time variable value obtained in the direct sampling mode is used.
[0125] Refer to the following Figure 5 To further describe an example of a data storage solution in subscription mode, the following description is given for the storage of a subscription variable.
[0126] like Figure 5 As shown, in block S503, the storage operation is started, that is, the data storage procedure is triggered here.
[0127] In block S504, a storage data heap for the subscription variable is obtained (as shown in block S506). Here, the data to be stored (i.e., the variable value) is obtained, and these data are isolated to a fixed storage space (as shown in block S506), and meet the following conditions: even if new data is added to the data queue, the data heap is no longer affected. In the present disclosure, optionally, a data pool that meets the above conditions can be used instead of a data heap.
[0128] In the present disclosure, the data stack stores all the data within a storage period (preset value, not specifically limited in the present disclosure).
[0129] In block S505, after S504, the storage is started and a timestamp is generated, i.e., the storage timestamp (local time of the data acquisition device 410) is stored as shown in block S508. Here, for example, the desired timestamp can be generated based on the start time shown in block S501 and the sampling interval shown in block S502.
[0130] Then, in block S510, the storage timestamp is converted into a master PLC timestamp.
[0131] If it is determined in block S507 that the data acquisition is successful, the process goes to block S509 , and the acquired data at least includes the current data (ie, a part of the data in the data pile).
[0132] Here, the data in the data pile may include two parts of data, namely, a first part of data and a second part of data. Specifically, the first part of data corresponds to data before (including the storage time point) of the required storage time point (ie, the storage timestamp), and the first part of data can be used as the above-mentioned current data (ie, the data to be stored), and the second part of data corresponds to data after the required storage time point.
[0133] That is, in box S511, after the data in the data pile are taken out one by one and placed in the current data queue, in response to the data in the current data queue satisfying the storage condition (as shown in box S511), the part of the data in the current data queue (for example, the current data) is serialized (or formatted), and the serialized data is stored in a local location (for example, a document) (as shown in box S512).
[0134] In the present disclosure, the current data queue stores data based on a predetermined storage timestamp. For example, the initial value in the queue may be the data value acquired in the first direct acquisition mode, and the values after the initial value in the queue are replaced one by one with the corresponding data in the data pile according to the change of the storage timestamp.
[0135] Furthermore, in the present disclosure, a local location (eg, a file or document, etc.) stores data that meets the above-mentioned formatting requirements.
[0136] Here, the storage condition is that the timestamps of all data that meet the current definition are less than or equal to the storage timestamp.
[0137] As an example, the formatting operation performed on the data can be understood as follows: the data obtained in the subscription mode is not stored as it is when it is obtained, but the data needs to be sorted and divided into rows according to the specified time interval and stored row by row to meet the preset storage format requirements (an example will be given later). For example, in order to meet the preset storage format requirements, missing data needs to be filled with the previous data, and redundant data needs to be removed, and each row of data must meet integrity.
[0138] The following example illustrates the above preset storage format requirement. Before being stored, the subscription data is a data pile for each variable. The size of the data pile is related to the number of times the variable is updated.
[0139] The following is an example of pitch current variables and clearance variables: the update interval of pitch current data is 20ms (i.e., data is updated every 20ms), and the update interval of clearance data is 200ms. Assuming that the data storage interval is 1min, the pitch current data pile includes 3000 (i.e., 50 times 60) data, and the clearance data pile includes 300 (i.e., 5 times 60) data.
[0140] In this example, assuming that the required sampling frequency is 50Hz, the number of data in the clearance data pile needs to be filled to 3000 (clearance refers to the minimum distance from the blade tip to the tower surface during the operation of the unit). That is, it is necessary to add 9 data that are the same as the earlier original data in the clearance data pile between every 2 original data in the clearance data pile, and in this case, the variable pitch current data pile remains unchanged because it meets the current storage format requirements.
[0141] In this example, assuming that the required sampling frequency is 10 Hz, it is necessary to perform a process of taking 1 out of every 5 data and removing 4 data in the variable pitch current data pile, and it is necessary to perform a process of filling 1 data between every 2 data in the clearance data pile, so as to ensure that the data in the two data piles can meet the current storage format requirements.
[0142] From the above example, it can be concluded that the storage format requirements are associated with both the sampling frequency / sampling interval and the variable update time interval.
[0143] In addition, in box S513, it is determined whether the data storage operation is completed. If completed, the process goes to box S514, where the storage program ends. If not completed, the process goes to box S505, where subsequent data storage operations continue to be performed.
[0144] In addition, the storage end condition may also include abnormality of data retrieved from the data pile.
[0145] According to the embodiments of the present disclosure, the present application effectively integrates the direct acquisition mode and the subscription mode, and can freely switch the acquisition mode according to the acquisition requirements of the unit variables, thereby better meeting different data acquisition needs.
[0146] Refer to the following Fig. 6A and Figure 6B To illustrate the simulation effect of the above solution of the present application. Fig. 6A and Figure 6B 1 and 2 are diagrams respectively showing simulation results according to a comparative example and a simulation result according to an embodiment of the present disclosure.
[0147] As an example, the data acquisition system involved in the present disclosure may support: ADS (Automation Device Specification) direct acquisition and ADS subscription, OPCUA (Open Platform Communications United Architecture) direct acquisition and OPCUA subscription, that is, support two communication protocols (such as ADS and OPCUA) and four acquisition modes. For example, the data acquisition solution of the present application can be applied to Beckhoff PLC, but is not limited to this, and can also be extended to other general industrial PLCs. The following example is taken as an example in which the main controller of the wind turbine is Beckhoff PLC and the data acquisition device is an Xbox data acquisition system.
[0148] In this example, when the main controller uses Beckhoff PLC, which of the above four acquisition modes to use depends not only on the performance of the industrial computer of the Xbox data acquisition system, but also on the performance of the PLC itself and the network environment in which the two are connected. Table 2 below shows the impact of different Beckhoff PLC versions (TWinCAT2, TWinCAT3) and network environments on the real-time performance of data acquisition.
[0149] Table 2
[0150] Serial number Beckhoff PLC Version Network environment Acquisition Mode Variable restrictions 1 TWinCAT2 Direct connection mode Direct purchase ≤100 2 TWinCAT2 Direct connection mode subscription ≤200 3 TWinCAT2 Ring Network Mode Direct purchase ≤50 4 TWinCAT2 Ring Network Mode subscription ≤100 5 TWinCAT3 Direct connection mode Direct purchase ≤200 6 TWinCAT3 Direct connection mode subscription ≤300 7 TWinCAT3 Ring Network Mode Direct purchase ≤100 8 TWinCAT3 Ring Network Mode subscription ≤200
[0151] In Table 2, the ring network mode and the direct connection mode are two network connection modes of wind turbines in a wind farm. Specifically, the ring network mode means that all turbines can form a large local area network, and the operation data of all turbines in the field can be retrieved from any turbine connected; while the direct connection mode means that all turbines do not form a large local area network, and when a turbine is connected, only the operation data of the turbine can be obtained, but the operation data of other turbines in the field cannot be obtained.
[0152] It can be seen from Table 2 that in the direct acquisition mode, the number of variables that can be collected in real time by TwinCAT3 in the wind farm direct connection mode can be as high as about 200, and the number of variables that can be collected in real time by TWinCAT2 in the wind farm direct connection mode can be as high as about 100; the number of variables that can be collected in real time by TWinCAT3 in the wind farm ring network mode can be as high as about 100, and the number of variables that can be collected in real time by TWinCAT2 in the wind farm ring network mode can be as high as about 50.
[0153] In addition, it can be seen from Table 2 that in the subscription mode, the number of variables that can be collected in real time by TwinCAT3 in the wind farm direct connection mode can be as high as about 300, and the number of variables that can be collected in real time by TWinCAT2 in the wind farm direct connection mode can be as high as about 200; the number of variables that can be collected in real time by TWinCAT3 in the wind farm ring network mode can be as high as about 200, and the number of variables that can be collected in real time by TWinCAT2 in the wind farm ring network mode can be as high as about 100.
[0154] It can be concluded that the number of variables that can be collected in real time under each version in the subscription mode is about twice the number of variables that can be collected in real time under the corresponding version in the direct collection mode.
[0155] Reference Fig. 6A and Figure 6B , shows part of the measured data when the PLC version is TWinCAT2 and the unit is connected to a ring network.
[0156] like Fig. 6A As shown, in the direct acquisition mode, when the number of acquired variables is 72 (not all are shown), it can be seen from the dotted framed part that the difference between adjacent data cannot meet 20ms, which indicates that the real-time acquisition requirement of the preset sampling interval of 20ms can no longer be met.
[0157] In comparison, Figure 6B As shown, in subscription mode, when the number of collected variables is 187 (not all are shown), it can be seen from the dotted box that the difference between adjacent data meets 20ms, which indicates that the data collection in subscription mode can meet the real-time collection requirement of the preset sampling interval of 20ms when the data collected is twice as much as that in direct collection mode.
[0158] Figure 7 is a structural block diagram showing a data acquisition device 700 for a wind turbine generator system according to an embodiment of the present disclosure.
[0159] Reference Figure 7According to an embodiment of the present disclosure, a data acquisition device 700 for a wind turbine generator system may include a data interface 710 and a processor 720 .
[0160] According to an embodiment of the present disclosure, the data interface 710 is configured to communicate data with a main controller of the wind turbine generator set (hereinafter referred to as the "main controller" or, for example, the "main control PLC"). In other words, the data acquisition device 700 communicates data with the main controller of the wind turbine generator set via the data interface 710.
[0161] According to an embodiment of the present disclosure, the processor 720 may be configured to perform the following operations 1) and 2):
[0162] In operation 1), a data acquisition instruction including the unit variables to be subscribed is sent to the main controller via the data interface.
[0163] As an example, operation 1) in which the processor 720 sends a data acquisition instruction including the unit variables to be subscribed to the main controller via the data interface 710 may further include: in response to the data collection time being equal to the preset sampling interval, or, in response to the data collection time being greater than the preset sampling interval and satisfying the first data collection requirement, sending a data acquisition instruction including the unit variables to be subscribed to the main controller via the data interface.
[0164] Here, the first data collection requirement indicates that the actual sampling frequency when performing data collection is close to the preset data collection frequency.
[0165] In operation 2), the following processes 21) to 23) are performed during each subscription time interval corresponding to the to-be-subscribed unit variable:
[0166] In process 21), a subscribed unit variable value corresponding to the unit variable to be subscribed is received from the main controller.
[0167] In process 22), data collection is performed on the subscribed unit variable values based on a preset sampling interval for data collection and an update time interval of each to-be-subscribed unit variable.
[0168] As an example, the above process 22) performed by the processor 720 may specifically include: for each unit variable to be subscribed, the following process may be performed:
[0169] In processing 2211), in response to the update time interval corresponding to the current unit variable to be subscribed being less than or equal to the preset sampling interval, the real-time variable value and subscription update value corresponding to the current unit variable to be subscribed are obtained.
[0170] In processing 2212), in response to the real-time variable value being the same as the subscription update value, the real-time variable value is used as the initial variable value of the current unit variable to be subscribed.
[0171] Here, when the real-time variable value is used as the initial variable value of the current unit variable to be subscribed, the timestamp corresponding to the initial variable value may be the unit timestamp corresponding to the subscription update value, rather than the local timestamp corresponding to when the real-time variable value is collected.
[0172] In the present disclosure, the local timestamp refers to the data collection time point of the data collection device, that is, the local time when data processing (eg, data collection) is performed at the data collection device.
[0173] Furthermore, in the present disclosure, the unit timestamp represents the time point when the main controller generates a variable value, that is, the time point when the main control PLC performs various data processing (eg, data generation and update) at the main controller end of the wind turbine unit.
[0174] In processing 2213), in response to the real-time variable value being different from the subscription update value, the subscription update value is used as the initial variable value of the current unit variable to be subscribed.
[0175] Here, in the case where the subscription update value is used as the initial variable value of the current unit variable to be subscribed, the timestamp corresponding to the initial variable value may be the unit timestamp corresponding to the subscription update value.
[0176] In addition, as an example, regarding the operation of determining the initial values of various variables when performing data collection, the above-mentioned processing 22) performed by the processor 720 may further include: for each unit variable to be subscribed, the following processing may be performed: in response to the update time interval corresponding to the current unit variable to be subscribed being greater than the preset sampling interval, in the first sampling interval after the start of data collection, the real-time variable value corresponding to the current unit variable to be subscribed is obtained; and the real-time variable value is used as the initial variable value for the current unit variable to be subscribed.
[0177] In processing 23), the collected subscribed unit variable values are processed in a predetermined manner.
[0178] As an example, the process 23) performed by the processor 720 may include: for each unit variable to be subscribed, the following processes 231) to 23) may be performed:
[0179] In processing 231), the subscribed unit variable value corresponding to the current unit variable to be subscribed is stored in the data pile.
[0180] In process 232), a target storage timestamp is obtained. Here, the target storage timestamp represents a storage time point associated with the data acquisition device, that is, the local time when data storage is performed at the data acquisition device.
[0181] In processing 233), the target storage timestamp is converted into a target unit timestamp. Here, the target unit timestamp represents the time point when the main controller generates the variable value, that is, the main control PLC time point when the main controller of the wind turbine executes data generation and / or update.
[0182] As an example, the process 223) performed by the processor 720 may specifically include: summing the target storage timestamp and the time deviation value to obtain the target unit timestamp. Here, the time deviation value is equal to the difference between the local timestamp at the first update of each unit variable to be subscribed and the unit timestamp corresponding to the subscribed unit variable value at the first update.
[0183] In processing 234), the target subscribed unit variable value whose unit timestamp in the data stack is less than or equal to the target unit timestamp is stored in a local location.
[0184] According to an embodiment of the present disclosure, the processing 224) performed by the processor 720 may specifically include: based on a preset sampling interval and an update time interval of each unit variable to be subscribed, performing data filling processing or data screening processing on the target subscription unit variable value, so that the number of target subscription unit variable values meets the preset storage format requirements, and storing the processed target subscription unit variable value to a local location.
[0185] According to an embodiment of the present disclosure, the processor 720 may also be configured to perform the following operations 3) to 5):
[0186] In operation 3), in response to the data collection time being less than the preset sampling interval, or in response to the data collection time being greater than the preset sampling interval and satisfying the second data collection requirement, the variable value corresponding to the unit variable is received from the main controller via the data interface.
[0187] Here, the second data collection requirement represents a preset real-time requirement for data collection.
[0188] In operation 4), data collection is performed on the variable values based on a preset sampling interval and an update time interval of each unit variable.
[0189] Optionally, the above operation 4) performed by the processor 720 may further include: based on a preset sampling interval and an update time interval of each unit variable, performing data collection on the variable value using multiple threads.
[0190] For example, variable values corresponding to multiple sets of unit variables are allocated to each thread to perform data collection. Moreover, each set of unit variables in the multiple sets of unit variables includes multiple unit variables.
[0191] In operation 5), the acquired variable values are stored.
[0192] It should be noted that the operations performed on the above-mentioned structural frames can be referred to in Figure 1 The related contents described are similar and will not be repeated here.
[0193] Figure 8 is a block diagram illustrating a computer device 800 according to an embodiment of the present disclosure.
[0194] Reference Figure 8 According to an embodiment of the present disclosure, a computer device 800 may include a processor 810 and a memory 820. The processor 810 may include (but not limited to) a central processing unit (CPU), a digital signal processor (DSP), a microcomputer, a field programmable gate array (FPGA), a system on a chip (SoC), a microprocessor, an application-specific integrated circuit (ASIC), etc. The memory 820 may store computer executable instructions to be executed by the processor 810. The memory 820 includes a high-speed random access memory and / or a non-volatile computer-readable storage medium. When the processor 810 executes the computer executable instructions stored in the memory 820, the data acquisition method as described above may be implemented.
[0195] The data collection method according to the embodiment of the present disclosure can be written as a computer program / instruction to form a computer program product and stored on a computer-readable storage medium. When the computer program / instruction is executed by a processor, the data collection method as described above can be implemented. When the instructions in the computer-readable storage medium are executed by a processor of an electronic device / server, the electronic device / server is enabled to execute the data collection method as described above. Examples of computer-readable storage media include: read-only memory (ROM), random access programmable read-only memory (PROM), electrically erasable programmable read-only memory (EEPROM), random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), flash memory, non-volatile memory, CD-ROM, CD-R, CD+R, CD-RW, CD+RW, DVD-ROM, DVD-R, DVD+R, DVD-RW, DVD+RW, DVD-RAM, BD-ROM, BD-R, BD-R LTH, BD-RE, Blu-ray or optical disk storage, hard disk drive (HDD), solid state drive (SSD), card storage (such as, multimedia card, secure digital (SD) card or extreme digital (XD) card), magnetic tape, floppy disk, magneto-optical data storage device, optical data storage device, hard disk, solid state disk and any other device, any other device is configured to store computer program and any associated data, data files and data structures in a non-transitory manner and provide the computer program and any associated data, data files and data structures to a processor or computer so that the processor or computer can execute the computer program. In one example, the computer program and any associated data, data files and data structures are distributed on a networked computer system so that the computer program and any associated data, data files and data structures are stored, accessed and executed in a distributed manner by one or more processors or computers.
[0196] According to the data collection method and device for wind turbines of the embodiments of the present disclosure, various data collection requirements are met by proposing data collection methods using different modes, while achieving the effects of strong timeliness of data collection and rationalization of network resource occupancy.
[0197] On the other hand, by utilizing different modes of data collection to meet various data collection needs, the actual sampling frequency can be close to the preset sampling frequency, ensuring the realization of the data sampling interval, thereby facilitating subsequent time domain analysis and frequency domain analysis of the collected data.
[0198] Although some embodiments of the present disclosure have been disclosed and described, it will be appreciated by those skilled in the art that modifications and variations may be made to the embodiments without departing from the concept and spirit of the present disclosure, the scope of which is defined by the claims and their equivalents.
Claims
1. A data collection method for a wind turbine generator system, characterized in that: The data collection method comprises: Sending a data acquisition instruction including the variables of the wind turbine to be subscribed to the wind turbine; The following processing is performed during each subscription time interval corresponding to the to-be-subscribed unit variable: Receiving, from the wind turbine generator set, a subscribed unit variable value corresponding to the unit variable to be subscribed; Based on a preset sampling interval for data collection and an update time interval of each to-be-subscribed unit variable, performing data collection on the subscribed unit variable value; The collected variable values of the subscribed units are processed in a predetermined manner.
2. The data collection method according to claim 1, characterized in that: The step of sending a data acquisition instruction including the variables of the wind turbine to be subscribed to the wind turbine includes: In response to the data collection time being equal to the preset sampling interval, or in response to the data collection time being greater than the preset sampling interval and satisfying the first data collection requirement, sending a data acquisition instruction including the to-be-subscribed wind turbine unit variable to the wind turbine unit, The first data collection requirement indicates that the actual sampling frequency when performing data collection is close to the preset data collection frequency.
3. The data collection method according to claim 1, characterized in that: The step of performing data collection on the subscribed unit variable value based on the preset sampling interval for data collection and the update time interval of each to-be-subscribed unit variable comprises: For each unit variable to be subscribed, perform the following processing: In response to an update time interval corresponding to the current unit variable to be subscribed being less than or equal to the preset sampling interval, acquiring a real-time variable value and a subscription update value corresponding to the current unit variable to be subscribed; In response to the real-time variable value being the same as the subscription update value, using the real-time variable value as the initial variable value of the current unit variable to be subscribed; In response to the real-time variable value being different from the subscription update value, the subscription update value is used as the initial variable value of the current unit variable to be subscribed.
4. The data collection method according to claim 1, characterized in that: The step of performing data collection on the subscribed unit variable value based on the preset sampling interval for data collection and the update time interval of each to-be-subscribed unit variable comprises: For each unit variable to be subscribed, perform the following processing: In response to an update time interval corresponding to the variable of the current unit to be subscribed being greater than the preset sampling interval, acquiring a real-time variable value corresponding to the variable of the current unit to be subscribed in the first sampling interval after data collection starts; The real-time variable value is used as the initial variable value for the current unit variable to be subscribed.
5. The data collection method according to claim 3, characterized in that: In the case where the real-time variable value is used as the initial variable value of the current unit variable to be subscribed, the timestamp corresponding to the initial variable value is the unit timestamp corresponding to the subscription update value, rather than the local timestamp corresponding to when the real-time variable value is collected, and In the case where the subscription update value is used as the initial variable value of the current to-be-subscribed unit variable, the timestamp corresponding to the initial variable value is the unit timestamp corresponding to the subscription update value. The local timestamp indicates the time point when data collection is performed, and the unit timestamp indicates the time point when the wind turbine unit generates a variable value.
6. The data collection method according to claim 1, characterized in that: The step of performing predetermined processing on the collected subscribed unit variable values comprises: For each unit variable to be subscribed, perform the following processing: The subscribed unit variable value corresponding to the current unit variable to be subscribed is stored in the data pile; Get the target storage timestamp; Converting the target storage timestamp into a target unit timestamp; The target subscribed unit variable value in the data stack whose unit timestamp is less than or equal to the target unit timestamp is stored in a local location, The target storage timestamp represents a storage time point associated with a time point at which data collection is performed, and the target unit timestamp represents a time point when the wind turbine unit generates a variable value.
7. The data collection method according to claim 6, characterized in that: The step of converting the target storage timestamp into a target unit timestamp comprises: The target storage timestamp and the time deviation value are summed to obtain the target unit timestamp. The time deviation value is equal to the difference between the local timestamp at the first update of each to-be-subscribed unit variable and the unit timestamp corresponding to the subscribed unit variable value at the first update.
8. The data collection method according to claim 6, characterized in that: The step of storing the target subscribed unit variable value in the data stack whose unit timestamp is less than or equal to the target unit timestamp to a local location comprises: Based on the preset sampling interval and the update time interval of each to-be-subscribed unit variable, perform data filling processing or data screening processing on the target subscription unit variable value, so that the number of the target subscription unit variable values meets the preset storage format requirement; Store the processed target subscriber unit variable value to a local location.
9. The data collection method according to claim 1, characterized in that: The data collection method further comprises: In response to the data collection time being less than the preset sampling interval, or in response to the data collection time being greater than the preset sampling interval and satisfying the second data collection requirement, receiving a variable value corresponding to the wind turbine group variable from the wind turbine group; Based on the preset sampling interval and the update time interval of each unit variable, performing data collection on the variable value; Store the collected variable values, The second data collection requirement represents a preset real-time requirement for data collection.
10. The data collection method according to claim 9, characterized in that: The step of performing data collection on the variable value based on the preset sampling interval and the update time interval of each unit variable includes: Based on the preset sampling interval and the update time interval of each unit variable, multiple threads are used to perform data collection on the variable value, Wherein, variable values corresponding to a plurality of groups of unit variables are allocated to each thread to execute data collection, and each group of unit variables in the plurality of groups of unit variables includes a plurality of unit variables.
11. A data acquisition device for a wind turbine generator set, characterized in that: The data acquisition device includes a data interface and a processor for communicating data with the main controller of the wind turbine generator set. The processor is configured to: Sending a data acquisition instruction including the unit variables to be subscribed to the main controller via the data interface; The following processing is performed during each subscription time interval corresponding to the to-be-subscribed unit variable: receiving, from the main controller, a subscribed unit variable value corresponding to the unit variable to be subscribed; Based on a preset sampling interval for data collection and an update time interval of each to-be-subscribed unit variable, performing data collection on the subscribed unit variable value; The collected variable values of the subscribed units are processed in a predetermined manner.
12. A computer program product, characterized in that The computer program product comprises a computer program / instruction, and when the computer program / instruction is executed by a processor, the data collection method according to any one of claims 1 to 10 is implemented.