Vibration Data¶
Vibration data is a very specific type of data. There is no standardization on how the manufacturer of the CMS system provides it, so we need customized structures to store it in our database for each case. Currently there are two main types of vibration data that we store: GE Bently Nevada and Gamesa SMP. In here we will describe how this data is structured and what configurations should be present in the database so this data can be converted to a standard format using the vibration related classes of echo-postgres. Keep in mind that this note will not go into details of how this data is acquired, more information o this can be found in Obsidian's documentation.
General Structure¶
For both types of vibration data, the data is stored in the database in the raw_data_values table, where basically we have the following columns:
object_id: The ID of the object that the data is related to.raw_data_id: The ID of the raw data that this row is related to. This is used so we can have the name of this data and a more detailed description of it in tableraw_data_def.timestamp: The timestamp of the data.value: The actual value in binary format. Can be anything from a simple integer to a complex structure like a spectrum. The definition of this data is in theraw_data_deftable will tell how to convert this binary data to a standard format. In case of vibration data we are always using compressed Numpy arrays (.npzfiles) to store the data.metada: A JSON field with metadata of the data. This can be used to store information like the sample rate of the data, shaft speed, power, etc.
Gamesa SMP Data¶
Gamesa SMP data is stored as the raw time series acquired from the CMS system, this way we can get both the time series directly or process it doing a FFT to get the spectrum. As the files from the CMS system already describe all the metadata needed for converting the data to a standard format there is no additional configuration needed in the database. Regardless of that, below are the main keys stored in the metadata field of the raw_data_values table for Gamesa SMP data and how they are used:
active_power_kw: The active power of the turbine in kW at the moment of the data acquisition. Not used for converting the data, but can be used for filtering the data.sampling_time: The actual key will besampling_time_low,sampling_time_highorsampling_time_filterdepending on the type of data. This key stores the sampling time of the data in seconds (delta between two samples). This is used to build the time axis of the data and later will be essential for computing the spectrum.generator_speed_rpm: The generator speed in RPM at the moment of the data acquisition. It will be used to convert the values from Hz to orders.accum_active_power_kwh: The accumulated active power of the turbine in kWh at the moment of the data acquisition. Not used for converting the data, but can be used for filtering the data.
GE Bently Nevada Data¶
GE Bently Nevada data is stored as the raw spectrum acquired from the CMS system. This is less flexible than the Gamesa SMP data as we will not be able to get the time series, but avoids the need of doing the FFT to get the spectrum. Another major drawback from GE data is that the exported files from the Farm Client software do not contain all the metadata needed for converting the data to a standard format, each CSV files is actually just one array of amplitudes, so we need to reverse engineer the software and store some configurations in the database to allow the creation of the frequency axis of the data.
Components¶
GE Bently Nevada data varies depending on which type of component (gearbox, generator, etc) is installed in the wind turbine. This way we need to know for each turbine which components are installed in which period of time. This information is stored using the components and events structure in the database, which is the base for the Historical Events dashboard. Please make sure that all GE turbines have at least the following components associated with it during the period of time that the CMS data was acquired:
- Gearbox
- Generator
- Main Shaft
- Tower
Component Attributes¶
For each component model we need to store some attributes that will be used to convert the data to a standard format, which mainly focuses on recreating the frequency axis of the spectrum. Below are the main attributes that need to be stored in the database for each component model:
Important
The attributes must be set for each component model, not for each component instance. This makes sure all component instances of the same model inherit the same attributes.
Gearbox¶
-
gearbox_ratio_ims_hss
The ratio between the intermediate shaft and the high speed shaft of the gearbox. This is a float number lower than 1.0 (IMS speed divided by HSS speed) and is used to convert the frequencies from the IMS to the HSS.
To get this value you can go to the Farm Client software and do the following:
- Select a turbine that uses the desired gearbox model.
- Plot a spectrum for Stage 3 Parallel and get the Spectrum Shaft Speed shown in the plot.
- Plot a spectrum for Stage 2 Parallel and get the Spectrum Shaft Speed shown in the plot.
- Divide the Spectrum Shaft Speed of the Stage 2 Parallel by the Spectrum Shaft Speed of the Stage 3 Parallel to get the ratio.
-
gearbox_ratio_lss_hss
The ratio between the low speed shaft and the high speed shaft of the gearbox. This is a float number lower than 1.0 (LSS speed divided by HSS speed) and is used to convert the frequencies from the LSS to the HSS.
To get this value you can go to the Farm Client software and do the following:
- Select a turbine that uses the desired gearbox model.
- Plot a spectrum for Stage 3 Parallel and get the Spectrum Shaft Speed shown in the plot.
- Plot a spectrum for Stage 1 Planetary and get the Spectrum Shaft Speed shown in the plot.
- Divide the Spectrum Shaft Speed of the Stage 1 Planetary by the Spectrum Shaft Speed of the Stage 3 Parallel to get the ratio.
-
freq_ge_reference
The is a JSON object that contains three keys representing the positions of each CMS sensor in the Gearbox. The keys are
HSS,LSSandPlanetaryand the values are also JSON objects with the following keys:unit: The unit of the data exported by Farm Client. Usuallyorderbut you can check exported data against plots in the Farm Client to make sure.scale_max: A JSON object with two keys,envelopeandhigh_res, that store the maximum frequency (maximum of the x axis when plotting the spectrum) for the envelope and high resolution data respectively. To get this value go to the Farm Client software and plot a spectrum for the desired component and get the maximum frequency shown in the plot. Please make sure you are not zoomed in the plot when getting this value.reference_shaft: The shaft that is used as reference of speed for the x-axis of the spectrum when displayed in orders at the Farm Client software. This is used to convert the frequencies from the reference shaft to the HSS (our standard reference shaft). To get this value you should evaluate the Spectrum Shaft Speed shown in the plot of the desired sensor in Farm Client and based on it's value determine if it is the HSS, LSS or IMS. The values shoudl be the ones in the example below, but we are explaining how to get them in case they are different.
Below is an example of the
freq_ge_referenceattribute for gearbox modelGBX NANJING FDMD.{ "HSS": { "unit": "order", "scale_max": { "envelope": 50, "high_res": 200 }, "reference_shaft": "HSS" }, "LSS": { "unit": "order", "scale_max": { "envelope": 200, "high_res": 800 }, "reference_shaft": "IMS" }, "Planetary": { "unit": "order", "scale_max": { "envelope": 100, "high_res": 400 }, "reference_shaft": "LSS" } }
Generator¶
-
freq_ge_reference
This is a JSON object that contains two keys representing the positions of each CMS sensor in the Generator. The keys are
Generator GSandGenerator RSand the values are also JSON objects with the same keys as the Gearboxfreq_ge_referenceattribute.Below is an example of the
freq_ge_referenceattribute for generator modelGEN GE VIETNAM.{ "Generator GS": { "unit": "order", "scale_max": { "envelope": 50, "high_res": 50 }, "reference_shaft": "HSS" }, "Generator RS": { "unit": "order", "scale_max": { "envelope": 50, "high_res": 50 }, "reference_shaft": "HSS" } }
Main Shaft¶
-
freq_ge_reference
This is a JSON object that contains one key representing the position of the CMS sensor in the Main Shaft. The key is
Main Bearingand the value is also a JSON object with the same keys as the Gearboxfreq_ge_referenceattribute.Below is an example of the
freq_ge_referenceattribute for main shaft modelMS SKF 60Hz 240/710 ECA.{ "Main Bearing": {"unit": "order", "scale_max": {"envelope": 100, "high_res": 400}, "reference_shaft": "LSS"} }
Tower¶
-
freq_ge_reference
This is a JSON object that contains two keys representing the positions of each CMS sensor in the Tower. The keys are
Tower Sway AxialandTower Sway Transverseand the values are also JSON objects with the same keys as the Gearboxfreq_ge_referenceattribute. Keep in mind that as the unit of the data ishertzthereference_shaftkey is not used. Also as there is no envelope data for the Tower sensors thescale_maxkey will only have thehigh_reskey.{ "Tower Sway Axial": { "unit": "hertz", "scale_max": { "high_res": 15.625 } }, "Tower Sway Transverse": { "unit": "hertz", "scale_max": { "high_res": 15.625 } } }
Farm Client¶
The image below shows some of the important places to look for information in the Farm Client software to get the attributes needed for the GE Bently Nevada data.
