Completes IPP-104, Flow now added to driver. Starts working on mapping E300 faults to strings, and then to one final string. IPP-68
This commit is contained in:
@@ -4,7 +4,8 @@
|
||||
<div class='col-xs-4 text-center'>
|
||||
<h2>Fluid Level</h2>
|
||||
<div class="gauge-box">
|
||||
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-dhfluidlevel" data-chart="solidgauge" data-nodename="ipp.dhfluidlevel" data-units="ft" data-min="0" data-max="600" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
|
||||
<!-- <div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-dhfluidlevel" data-chart="solidgauge" data-nodename="ipp.dhfluidlevel" data-units="ft" data-min="0" data-max="600" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div> -->
|
||||
<gauge type="angular" channel="dhfluidlevel" max="600" label="ft." classes="extra" height="250" />
|
||||
<span data-timeupdate="dhfluidlevel"><%= channels["ipp.dhfluidlevel"].timestamp %></span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -17,7 +18,8 @@
|
||||
<div class='col-xs-4 text-center'>
|
||||
<h2>Downhole Pressure</h2>
|
||||
<div class="gauge-box">
|
||||
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-dhintakepressure" data-chart="solidgauge" data-nodename="ipp.dhintakepressure" data-units="PSI" data-min="0" data-max="400" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
|
||||
<!-- <div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-dhintakepressure" data-chart="solidgauge" data-nodename="ipp.dhintakepressure" data-units="PSI" data-min="0" data-max="400" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div> -->
|
||||
<gauge type="angular" channel="dhintakepressure" max="400" label="PSI" classes="extra" height="250" />
|
||||
<span data-timeupdate="dhintakepressure"><%= channels["ipp.dhintakepressure"].timestamp %></span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -30,7 +32,8 @@
|
||||
<div class='col-xs-4 text-center'>
|
||||
<h2>Downhole Temperature</h2>
|
||||
<div class="gauge-box">
|
||||
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-dhintaketemperature" data-chart="solidgauge" data-nodename="ipp.dhintaketemperature" data-units=" ° F" data-min="0" data-max="400" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
|
||||
<!-- <div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-dhintaketemperature" data-chart="solidgauge" data-nodename="ipp.dhintaketemperature" data-units=" ° F" data-min="0" data-max="400" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div> -->
|
||||
<gauge type="angular" channel="dhintaketemperature" max="300" label="deg F" classes="extra" height="250" />
|
||||
<span data-timeupdate="dhintaketemperature"><%= channels["ipp.dhintaketemperature"].timestamp %></span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -44,7 +47,8 @@
|
||||
<div class='col-xs-4 text-center'>
|
||||
<h2>Average Current</h2>
|
||||
<div class="gauge-box">
|
||||
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-e300averagecurrent" data-chart="solidgauge" data-nodename="ipp.e300averagecurrent" data-units="A" data-min="0" data-max="<%= channels["ipp.cfgcflasetting"].value %>" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
|
||||
<!-- <div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-e300averagecurrent" data-chart="solidgauge" data-nodename="ipp.e300averagecurrent" data-units="A" data-min="0" data-max="<%= channels["ipp.cfgcflasetting"].value %>" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div> -->
|
||||
<gauge type="angular" channel="e300averagecurrent" max="150" label="A" classes="extra" height="250" />
|
||||
<span data-timeupdate="e300averagecurrent"><%= channels["ipp.e300averagecurrent"].timestamp %></span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -57,7 +61,8 @@
|
||||
<div class='col-xs-4 text-center'>
|
||||
<h2>Average L-L Voltage</h2>
|
||||
<div class="gauge-box">
|
||||
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-e300averagellvoltage" data-chart="solidgauge" data-nodename="ipp.e300averagellvoltage" data-units="V" data-min="0" data-max="600" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
|
||||
<!-- <div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-e300averagellvoltage" data-chart="solidgauge" data-nodename="ipp.e300averagellvoltage" data-units="V" data-min="0" data-max="600" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div> -->
|
||||
<gauge type="angular" channel="e300averagellvoltage" max="600" label="V" classes="extra" height="250" />
|
||||
<span data-timeupdate="e300averagellvoltage"><%= channels["ipp.e300averagellvoltage"].timestamp %></span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -66,13 +71,27 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='row row-flex box-me'>
|
||||
<div class='col-xs-4 text-center'>
|
||||
<h2>Flow Rate</h2>
|
||||
<div class="gauge-box">
|
||||
<gauge type="angular" channel="flowrate" max="400" label="GPM" classes="extra" height="250" />
|
||||
<span data-timeupdate="flowrate"><%= channels["ipp.flowrate"].timestamp %></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class='col-xs-8'>
|
||||
<div style="height:300px" id="chart-flowrate" data-chart="chart" data-nodename1="ipp.flowrate" data-datalabel1="Flow Rate" data-daysofhistory="2" data-chartlabel="Flow Rate" data-ylabel="" data-xlabel="Date" data-units=" GPM"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% if (channels["ipp.pressuretransducerenabled"].value == 1) {%>
|
||||
|
||||
<div class='row row-flex box-me'>
|
||||
<div class='col-xs-4 text-center'>
|
||||
<h2>Tubing Pressure</h2>
|
||||
<div class="gauge-box">
|
||||
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-pressurein" data-chart="solidgauge" data-nodename="ipp.pressurein" data-units="PSI" data-min="0" data-max="400" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
|
||||
<!-- <div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-pressurein" data-chart="solidgauge" data-nodename="ipp.pressurein" data-units="PSI" data-min="0" data-max="400" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div> -->
|
||||
<gauge type="angular" channel="pressurein" max="400" label="PSI" classes="extra" height="250" />
|
||||
<span data-timeupdate="pressurein"><%= channels["ipp.pressurein"].timestamp %></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class='clearfix col-xs-12' style='height: 450px' id="dynamicChart" data-chart="dynamicchart" data-daysofhistory="7" data-chartlabel="Data" data-ylabel="" data-xlabel="Date" data-units="" data-channelnames="ipp.e300averagecurrent,ipp.e300l1current,ipp.e300l2current,ipp.e300l3current,ipp.e300averagellvoltage,ipp.e300l1l2voltage,ipp.e300l2l3voltage,ipp.e300l3l1voltage,ipp.dhintakepressure,ipp.dhintaketemperature,ipp.dhfluidlevel,ipp.pressurein,ipp.e300linefrequency,ipp.e300percentcurrentunbalance,ipp.e300percentvoltageunbalance"></div>
|
||||
<div class='clearfix col-xs-12' style='height: 450px' id="dynamicChart" data-chart="dynamicchart" data-daysofhistory="7" data-chartlabel="Data" data-ylabel="" data-xlabel="Date" data-units="" data-channelnames="ipp.e300averagecurrent,ipp.e300l1current,ipp.e300l2current,ipp.e300l3current,ipp.e300averagellvoltage,ipp.e300l1l2voltage,ipp.e300l2l3voltage,ipp.e300l3l1voltage,ipp.dhintakepressure,ipp.dhintaketemperature,ipp.dhfluidlevel,ipp.pressurein,ipp.e300linefrequency,ipp.e300percentcurrentunbalance,ipp.e300percentvoltageunbalance,ipp.flowrate"></div>
|
||||
<style>
|
||||
.dynamic-chart-form {
|
||||
background-color: whiteSmoke;
|
||||
|
||||
@@ -9,6 +9,70 @@ addr = '10.20.4.5'
|
||||
channels = {}
|
||||
|
||||
|
||||
e300_current: {
|
||||
0: 'None',
|
||||
1: 'Overload',
|
||||
2: 'Phase Loss',
|
||||
4: 'Ground Fault',
|
||||
8: 'Stall',
|
||||
16: 'Jam',
|
||||
32: 'Underload',
|
||||
64: 'Current Imbalance',
|
||||
128: 'L1 Undercurrent',
|
||||
256: 'L2 Undercurrent',
|
||||
512: 'L3 Undercurrent',
|
||||
1024: 'L1 Overcurrent',
|
||||
2048: 'L2 Overcurrent',
|
||||
4096: 'L3 Overcurrent',
|
||||
8192: 'L1 Line Loss',
|
||||
16384: 'L2 Line Loss',
|
||||
32768: 'L3 Line Loss'
|
||||
}
|
||||
|
||||
e300_voltage = {
|
||||
0: 'None',
|
||||
1: 'Undervoltage',
|
||||
2: 'Overvoltage',
|
||||
4: 'Voltage Unbalance',
|
||||
8: 'Phase Rotation',
|
||||
16: 'Overfrequency'
|
||||
}
|
||||
|
||||
e300_control = {
|
||||
0: 'None',
|
||||
1: 'Test Trip',
|
||||
2: 'DLX Trip',
|
||||
4: 'PTC Trip',
|
||||
8: 'Operator Station Trip',
|
||||
16: 'Remote Trip',
|
||||
32: 'Blocked Start Trip',
|
||||
64: 'Hardware Fault Trip',
|
||||
128: 'Config Trip',
|
||||
256: 'Option Match Trip',
|
||||
512: 'DLX FB Timeout Trip',
|
||||
1024: 'Expansion Bus Trip',
|
||||
2048: 'Reserved',
|
||||
4096: 'Reserved',
|
||||
8192: 'NVS Trip',
|
||||
16384: 'Test Mode Trip'
|
||||
}
|
||||
|
||||
e300_power = {
|
||||
0: 'None',
|
||||
1: 'Under kW',
|
||||
2: 'Over kW',
|
||||
4: 'Under kVAR Consumed',
|
||||
8: 'Over kVAR Consumed',
|
||||
16: 'Under kVAR Generated',
|
||||
32: 'Over kVAR Generated',
|
||||
64: 'Under kVA',
|
||||
128: 'Over kVA',
|
||||
256: 'Under PF Lag',
|
||||
512: 'Over PF Lag',
|
||||
1024: 'Under PF Lead',
|
||||
2048: 'Over PF Lead'
|
||||
}
|
||||
|
||||
class Channel():
|
||||
def read(self):
|
||||
valData = u800.readMicroTag(self.device_addr, self.tag)
|
||||
@@ -214,6 +278,7 @@ class start(threading.Thread, deviceBase):
|
||||
'e300totalapparentpower': Channel('e300totalapparentpower', 'E300_TotalApparentPower', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
|
||||
'e300totalreactivepower': Channel('e300totalreactivepower', 'E300_TotalReactivePower', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
|
||||
'e300totalrealpower': Channel('e300totalrealpower', 'E300_TotalRealPower', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
|
||||
'flowrate': Channel('flowrate', 'Flowrate', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
|
||||
'handmode': Channel('handmode', 'Hand_Mode', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
|
||||
'overloadtrip': Channel('overloadtrip', 'OverloadTrip', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
|
||||
'pressurealarmdelay': Channel('pressurealarmdelay', 'Pressure_Alarm_Delay', 3600, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
|
||||
@@ -299,6 +364,9 @@ class start(threading.Thread, deviceBase):
|
||||
'warningstatuspowerint': Channel('warningstatuspowerint', 'WarningStatusPower_INT', 3600, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
|
||||
'warningstatusvoltageint': Channel('warningstatusvoltageint', 'WarningStatusVoltage_INT', 3600, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
|
||||
}
|
||||
trip_channels = {
|
||||
|
||||
}
|
||||
|
||||
def __init__(self, name=None, number=None, mac=None, Q=None, mcu=None, companyId=None, offset=None, mqtt=None, Nodes=None):
|
||||
global addr
|
||||
|
||||
Reference in New Issue
Block a user