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