Documentation
Rotor Balancing Tools Framework
rtrBalanceTools.jar library for Android™
- Version: 1.01
- Author: David Bukowitz
- Created: 28 Nov, 2011
- Update: 12 Jun, 2021
If you have any questions that are beyond the scope of this help file, Please feel free to email via info@rotovibes.com
Description
rtrBalanceTools.jar is an Android™ library that contains experienced methods to calculate rotor balancing parameters such as the correction weight vector, trim weight vector, residual imbalance, etc.
Methods are designed for the balancing of rigid-rotors in single-plane and two-planes.
Installation
Follow the steps below to install the rtrBalanceTools.jar library
- In your projects top bar menu, select >File >New >New Module... A new window will appear, select "Import .JAR/.AAR Package" from the options
- In the new popup window browse and select the rtrBalanceTools.jar library adn click on "Finish"
- The rtrBalanceTools library will appear on the right
- in your App build.gradle add the following dependency
...
dependencies {
...
implementation files('libs/rtrBalanceTools.jar')
}
...
Library Anatomy
- Single-Plane Balancing Correction Weight Calculations
- Single-Plane Balancing Trim Weight Calculations
- Two-Plane Balancing Correction Weight Calculations
- Permissible Residual Imbalance Calculations
- Polar Plot
// Method to calculate Correction weight magnitude and angle for Single Plane Rotor Balancing
// the magnitude response of the correction weight will be in the same units used for the trial weight (wpMag)
// the angle of the correction weight location will be in degrees
// orMag: Original Imbalance Magnitude (can be any magnitude unit)
// orAng: Original Imbalance Angle (degrees)
// wpMag: Trial weight magnitude (grs, Oz, ...)
// wpAng: Trial weight angle (degrrees)
// opMag: Imbalance with Trial Weight Magnitude (same unit as orMag)
// opAng: Imbalance with Trial Weight Angle (degrees)
// wpRad: Radius for the Trial Weight (inches, mm, cms, ....)
// wcRad: Radius for the Correction Weight (same units as wpRad)
// wpOn: select TRUE if trial weight will be left on the rotor, select FALSE if trial weight will be removed from teh rotor
// resMag:select TRUE to calculate the Correction Weight Magnitude (resAng should be set to FALSE)
// resAng:select TRUE to calculate the Correction Weight Angle (resMag should be set to FALSE)
public class single_plane_wc {
public static double sp_correction_weight(double orMag, double orAng, double wpMag, double wpAng, double opMag, double opAng, double wpRad, double wcRad, boolean wpOn, boolean resMag, boolean resAng)
}
In your project import com.rotovibes.rtrbalancetools.single_plane_wc and use as follow:
...
//correction Weight Magnitude:
Double correctionWeight = single_plane_wc.sp_correction_weight(orMag, orAng, wpMag, wpAng, opMag, opAng, wpRad, WcRad, true, true, false)
//Correction Weight Angle:
Double correctionAngle = single_plane_wc.sp_correction_weight(orMag, orAng, wpMag, wpAng, opMag, opAng, wpRad, WcRad, true, false, true)
// Method to calculate trim adjustment weight magnitude and angle for Single Plane Rotor Balancing
// the magnitude response of the trim weight will be in the same units used for the correction weight (wcMag)
// the angle of the trim weight location will be in degrees
// orMag: Original Imbalance Magnitude (can be any magnitude unit)
// orAng: Original Imbalance Angle (degrees)
// wcMag: Correction weight magnitude (grs, Oz, ...)
// wcAng: Correction weight angle (degrrees)
// fvMag: Vibration after correction weight Magnitude (same unit as orMag)
// fvAng: Vibration after correction weight Angle (degrees)
// resMag:select TRUE to calculate the Trim Weight Magnitude (resAng should be set to FALSE)
// resAng:select TRUE to calculate the Trim Weight Angle (resMag should be set to FALSE)
public class single_plane_wc {
public static double sp_trim_weight(double orMag, double orAng, double wcMag, double wcAng, double fvMag, double fvAng, boolean resMag, boolean resAng)
}
In your project import com.rotovibes.rtrbalancetools.single_plane_wc and use as follow:
...
//Trim Weight Magnitude:
Double trimWeight = single_plane_wc.sp_trim_weight(orMag, orAng, wcMag, wcAng, wcMag, wcAng, fvMag, fvAng, true, false)
//Trim Weight Angle:
Double trimAngle = single_plane_wc.sp_trim_weight(orMag, orAng, wcMag, wcAng, wcMag, wcAng, fvMag, fvAng, false, true)
// Method to calculate Correction weight magnitude and angle for Two Plane Rotor Balancing using Influence Coefficients
// the magnitude response of the correction weights will be in the same units used for the trial weights
// the angle of the correction weights location will be in degrees
// Nmod: Original Imbalance Magnitude in the Near Plane (can be any magnitude unit)
// Nang: Original Imbalance Angle in the Near Plane (degrees)
// Fmod: Original Imbalance Magnitude in the Far Plane (can be any magnitude unit)
// Fang: Original Imbalance Angle in the Far Plane (degrees)
// WPNmod: Trial Weight Magnitude used in the Near Plane (grs, Oz, ...)
// WPNang: Trial Weight Angle used in the Near Plane (degrees)
// NNmod: Vibration magnitude in the Near Plane when using trial weight WPN (same units as Nmod and Fmod)
// NNang: Vibration angle in the Near Plane when using trial weight WPN (degrees)
// FNmod: Vibration magnitude in the Far Plane when using trial weight WPN (same units as Nmod and Fmod)
// FNang: Vibration angle in the Far Plane when using trial weight WPN (degrees)
// WPFmod: Trial Weight Magnitude used in the Near Plane (grs, Oz, ...)
// WPFang: Trial Weight Angle used in the Near Plane (degrees)
// NFmod: Vibration magnitude in the Near Plane when using trial weight WPF (same units as Nmod and Fmod)
// NFang: Vibration angle in the Near Plane when using trial weight WPF (degrees)
// FFmod: Vibration magnitude in the Far Plane when using trial weight WPF (same units as Nmod and Fmod)
// FFang: Vibration angle in the Far Plane when using trial weight WPF (degrees)
// WPNrad: radius used for the trial weight in the Near Plane
// WCNrad: radius for the correction weight in the Near Plane
// WPFrad: radius used for the trial weight in the Far Plane
// WCFrad: radius for the correction weight in the Far Plane
// NresMag:select TRUE to calculate the Correction Weight Magnitude for the Near Plane (choose only one TRUE and the other 3 false)
// NresAng:select TRUE to calculate the Correction Weight Angle for the Near Plane (choose only one TRUE and the other 3 false)
// FresMag:select TRUE to calculate the Correction Weight Magnitude for the Far Plane (choose only one TRUE and the other 3 false)
// FresAng:select TRUE to calculate the Correction Weight Angle for the Far Plane (choose only one TRUE and the other 3 false)
public class two_plane_wc {
public static double tp_correction_weight(double Nmod, double Nang, double Fmod, double Fang, double WPNmod, double WPNang, double NNmod, double NNang, double FNmod, double FNang, double WPFmod, double WPFang, double NFmod, double NFang, double FFmod, double FFang, double WPNrad, double WCNrad, double WPFrad, double WCFrad, boolean NresMag, boolean NresAng, boolean FresMag, boolean FresAng)
}
// Method to calculate the Permissible Residual Imbalance from ISO-1940/1
// metricUnits: choose TRUE for Metric units and FALSE for Imperial units
// rotorWeight: weight of rotor (Metric: Kg, Imperial: Lbs)
// rotorSpeed: rotor RPM
// Nplanes: Number of Balancing Planes (1 or 2)
// BQG: Balancing Quality Grade, select from:
// 0: 0.4
// 1: 1.0
// 2: 2.5
// 3: 6.3
// 4: 16
// 5: 40
// 6: 100
// 7: 250
// 8: 630
public class residual_imb {
public static double perm_residual_imbalance(boolean metricUnits, double rotorWeight, double rotorSpeed, int Nplanes, int BQG)
}
// Method to create a Polar Plot imageView for Single Plane Balance, plot vibration vectors,
weights location, vector lines and dynamic vibration limit
// polar_plot: imageView to plot
// value_mag_1: original vibration magnitude
// value_ang_1: original vibration angle (˚)
// value_mag_2: vibration with trial weight magnitude
// value_ang_2: vibration with trial weight angle (˚)
// value_mag_3: final vibration magnitude
// value_ang_3: final vibration angle (˚)
// value_ang_t: trial weight angle (˚)
// value_ang_c: correction weight angle (˚)
// vibe_limit: vibration limit (same units as vibration mag's)
// max_mag: maximum magnitude of all vibration vectors
// plot_radius: plot radius in pixels
// plot_center_offset: plot offset in pixels
// rotation: shaft rotation. 0:clockwise, 1:counter-clockwise
// isTrial: true to display the trial weight angle
// isCorrection: true to display the correction weight angle
// vector_line: true to display the lines between the 3 vectors
public single_plane_wc_plot {
public void v3_polar_plot(ImageView polar_plot, double value_mag_1, double value_ang_1, double value_mag_2, double value_ang_2,
double value_mag_3, double value_ang_3, double value_ang_t, double value_ang_c, double vibe_limit,
double max_mag, int plot_radius, int plot_center_offset, int rotation, Boolean isTrial, Boolean isCorrection,
int vector_line)
}
Changelog
See what's new added, changed, fixed, improved or updated in the latest versions.
Version 1.01 (12 Jun, 2021)
- Updated Several Enhancements
Version 1.0 (28 Nov, 2011)
Initial Release for Android based on a previous C++ version