Fixes issue of measurements not storing
seconds to store were being multiplied by 1000
This commit is contained in:
@@ -22,14 +22,13 @@ public class Measurement {
|
||||
private double[] totalHistory = new double[30];
|
||||
private double[] averageHistory = new double[30];
|
||||
private long numMeasurements;
|
||||
private boolean storeInDatabase;
|
||||
private double lastSentValue;
|
||||
private double sendDelta;
|
||||
private Database db;
|
||||
private long lastSentTimestamp;
|
||||
private long sendTimeDelta;
|
||||
|
||||
Measurement(String tagName, boolean storeInDatabase, Database db, double sendDelta, long sendTimeDelta){
|
||||
Measurement(String tagName, Database db, double sendDelta, long sendTimeDelta){
|
||||
this.tagName = tagName;
|
||||
average = 0;
|
||||
total = 0;
|
||||
@@ -38,7 +37,6 @@ public class Measurement {
|
||||
dailyMin = Double.MAX_VALUE;
|
||||
|
||||
// Database code
|
||||
this.storeInDatabase = storeInDatabase;
|
||||
this.db = db;
|
||||
this.sendDelta = sendDelta;
|
||||
this.lastSentValue = 0.0;
|
||||
@@ -67,17 +65,17 @@ public class Measurement {
|
||||
|
||||
}
|
||||
|
||||
Measurement(String tagName, boolean storeInDatabase){
|
||||
this.tagName = tagName;
|
||||
average = 0;
|
||||
total = 0;
|
||||
numMeasurements = 0;
|
||||
dailyMax = Double.MIN_VALUE;
|
||||
dailyMin = Double.MAX_VALUE;
|
||||
|
||||
// Database code
|
||||
this.storeInDatabase = storeInDatabase;
|
||||
}
|
||||
// Measurement(String tagName, boolean storeInDatabase){
|
||||
// this.tagName = tagName;
|
||||
// average = 0;
|
||||
// total = 0;
|
||||
// numMeasurements = 0;
|
||||
// dailyMax = Double.MIN_VALUE;
|
||||
// dailyMin = Double.MAX_VALUE;
|
||||
//
|
||||
// // Database code
|
||||
// this.storeInDatabase = storeInDatabase;
|
||||
// }
|
||||
|
||||
public double getCurrentValue() {
|
||||
return currentValue;
|
||||
@@ -132,21 +130,15 @@ public class Measurement {
|
||||
dailyMax = Math.max(dailyMax, currentValue);
|
||||
dailyMin = Math.min(dailyMin, currentValue);
|
||||
|
||||
if(storeInDatabase){
|
||||
if(abs(currentValue - lastSentValue) > sendDelta ||
|
||||
currentTimestamp - lastSentTimestamp > (sendTimeDelta * 1000)){
|
||||
long l = db.newMeasurement(this);
|
||||
lastSentValue = currentValue;
|
||||
lastSentTimestamp = currentTimestamp;
|
||||
}
|
||||
if(abs(currentValue - lastSentValue) > sendDelta || (currentTimestamp - lastSentTimestamp) > (sendTimeDelta)){
|
||||
long l = db.newMeasurement(this);
|
||||
lastSentValue = currentValue;
|
||||
lastSentTimestamp = currentTimestamp;
|
||||
}
|
||||
}
|
||||
|
||||
void endOfDay(){
|
||||
if (storeInDatabase){
|
||||
db.newDailyTotal(this);
|
||||
}
|
||||
|
||||
db.newDailyTotal(this);
|
||||
System.arraycopy(totalHistory, 0, totalHistory, 1, totalHistory.length-1);
|
||||
System.arraycopy(averageHistory, 0, averageHistory, 1, averageHistory.length-1);
|
||||
|
||||
|
||||
@@ -197,25 +197,25 @@ public class Well {
|
||||
}
|
||||
|
||||
private void initializeMeasurements(){
|
||||
strokeSpeed = new Measurement("Stroke Speed", true, db, 0.5, 600);
|
||||
downholeGrossStroke = new Measurement("Downhole Gross Stroke", true, db, 0.5, 600);
|
||||
downholeNetStroke = new Measurement("Downhole Net Stroke", true, db, 0.5, 600);
|
||||
fluidLevel = new Measurement("Fluid Level", true, db, 10, 600);
|
||||
fluidLoad = new Measurement("Fluid Load", true, db, 20, 600);
|
||||
inflowRate = new Measurement("Inflow Rate", true, db, 0.5, 600);
|
||||
peakPolishedRodLoad = new Measurement("Peak PRL", true, db, 50, 600);
|
||||
minPolishedRodLoad = new Measurement("Min PRL", true, db, 50, 600);
|
||||
percentRun = new Measurement("Percent Run", true, db, 1.0, 600);
|
||||
polishedRodHP = new Measurement("Polished Rod HP", true, db, 0.25, 600);
|
||||
pumpHP = new Measurement("Pump HP", true, db, 0.25, 600);
|
||||
fluidProduced = new Measurement("Fluid Produced", true, db, 1.0, 600);
|
||||
fluidProducedAdjusted = new Measurement("Fluid Produced (adjusted)", true, db, 1.0, 600);
|
||||
oilProduced = new Measurement("Oil Produced", true, db, 1.0, 600);
|
||||
waterProduced = new Measurement("Water Produced", true, db, 1.0, 600);
|
||||
gasProduced = new Measurement("Gas Produced", true, db, 1.0, 600);
|
||||
pumpIntakePressure = new Measurement("Pump Intake Pressure", true, db, 5.0, 600);
|
||||
surfaceStrokeLength = new Measurement("Surface Stroke", true, db, 0.5, 1800);
|
||||
tubingMovement = new Measurement("Tubing Movement", true, db, 0.5, 600);
|
||||
strokeSpeed = new Measurement("Stroke Speed", db, 0.5, 600);
|
||||
downholeGrossStroke = new Measurement("Downhole Gross Stroke", db, 0.5, 600);
|
||||
downholeNetStroke = new Measurement("Downhole Net Stroke", db, 0.5, 600);
|
||||
fluidLevel = new Measurement("Fluid Level", db, 10, 600);
|
||||
fluidLoad = new Measurement("Fluid Load", db, 20, 600);
|
||||
inflowRate = new Measurement("Inflow Rate", db, 0.5, 600);
|
||||
peakPolishedRodLoad = new Measurement("Peak PRL", db, 50, 600);
|
||||
minPolishedRodLoad = new Measurement("Min PRL", db, 50, 600);
|
||||
percentRun = new Measurement("Percent Run", db, 1.0, 600);
|
||||
polishedRodHP = new Measurement("Polished Rod HP", db, 0.25, 600);
|
||||
pumpHP = new Measurement("Pump HP", db, 0.25, 600);
|
||||
fluidProduced = new Measurement("Fluid Produced", db, 1.0, 600);
|
||||
fluidProducedAdjusted = new Measurement("Fluid Produced (adjusted)", db, 1.0, 600);
|
||||
oilProduced = new Measurement("Oil Produced", db, 1.0, 600);
|
||||
waterProduced = new Measurement("Water Produced", db, 1.0, 600);
|
||||
gasProduced = new Measurement("Gas Produced", db, 1.0, 600);
|
||||
pumpIntakePressure = new Measurement("Pump Intake Pressure", db, 5.0, 600);
|
||||
surfaceStrokeLength = new Measurement("Surface Stroke", db, 0.5, 1800);
|
||||
tubingMovement = new Measurement("Tubing Movement", db, 0.5, 600);
|
||||
}
|
||||
|
||||
public double getDt() {
|
||||
|
||||
Reference in New Issue
Block a user