First version of POCloud HTML templates
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
<% if (channels["vfdipp.downholetoolenabled"].value == 0){ %>
|
||||
<% if (channels["ipp.downholetoolenabled"].value == 0){ %>
|
||||
<div class="row">
|
||||
<div class="well mar15 text-center">
|
||||
<h1>THE DOWNHOLE SENSOR IS DISABLED</h1>
|
||||
@@ -12,24 +12,24 @@
|
||||
<div class='col-xs-4 text-center box-me'>
|
||||
<h2>Intake 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="vfdipp.dhintakepressure" data-units="PSI" data-min="0" data-max="<%= channels["vfdipp.dhpsirating"].value %>" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
|
||||
<span data-timeupdate="dhintakepressure"><%= channels["vfdipp.dhintakepressure"].timestamp %></span>
|
||||
<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="<%= channels["ipp.dhpsirating"].value %>" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
|
||||
<span data-timeupdate="dhintakepressure"><%= channels["ipp.dhintakepressure"].timestamp %></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='col-xs-4 text-center box-me'>
|
||||
<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="vfdipp.dhfluidlevel" data-units="ft." data-min="0" data-max="1000" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
|
||||
<span data-timeupdate="dhfluidlevel"><%= channels["vfdipp.dhfluidlevel"].timestamp %></span>
|
||||
<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="1000" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
|
||||
<span data-timeupdate="dhfluidlevel"><%= channels["ipp.dhfluidlevel"].timestamp %></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='col-xs-4 text-center box-me'>
|
||||
<h2>Intake 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="vfdipp.dhintaketemperature" data-units="°F" data-min="0" data-max="200" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
|
||||
<span data-timeupdate="dhintaketemperature"><%= channels["vfdipp.dhintaketemperature"].timestamp %></span>
|
||||
<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="200" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
|
||||
<span data-timeupdate="dhintaketemperature"><%= channels["ipp.dhintaketemperature"].timestamp %></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -37,15 +37,15 @@
|
||||
<h2>Instrument Status</h2>
|
||||
<div class="gauge-box">
|
||||
<h1 data-valueupdate="dhdownholestatusint">
|
||||
<% if(channels["vfdipp.dhdownholestatusint"].value == 0) { %>
|
||||
<% if(channels["ipp.dhdownholestatusint"].value == 0) { %>
|
||||
<span class="label label-success">OK</span>
|
||||
<% } else if (channels["vfdipp.dhdownholestatusint"].value == 1){ %>
|
||||
<% } else if (channels["ipp.dhdownholestatusint"].value == 1){ %>
|
||||
<span class="label label-warning">Connecting...</span>
|
||||
<% } else if (channels["vfdipp.dhdownholestatusint"].value == 2){ %>
|
||||
<% } else if (channels["ipp.dhdownholestatusint"].value == 2){ %>
|
||||
<span class="label label-danger">Open Circuit</span>
|
||||
<% } else if (channels["vfdipp.dhdownholestatusint"].value == 3){ %>
|
||||
<% } else if (channels["ipp.dhdownholestatusint"].value == 3){ %>
|
||||
<span class="label label-danger">Shorted</span>
|
||||
<% } else if (channels["vfdipp.dhdownholestatusint"].value == 4){ %>
|
||||
<% } else if (channels["ipp.dhdownholestatusint"].value == 4){ %>
|
||||
<span class="label label-danger">Cannot Decode</span>
|
||||
<% } %>
|
||||
</h1>
|
||||
@@ -59,22 +59,22 @@
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Max Pressure (Startup)</td>
|
||||
<td><%= channels["vfdipp.dhmaxintakepressurestartup"].value %></td>
|
||||
<td><%= channels["ipp.dhmaxintakepressurestartup"].value %></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Max Pressure (Lifetime)</td>
|
||||
<td><%= channels["vfdipp.dhmaxintakepressureforever"].value %></td>
|
||||
<td><%= channels["ipp.dhmaxintakepressureforever"].value %></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Max Temp. (Startup)</td>
|
||||
<td><%= channels["vfdipp.dhmaxintaketemperaturestartup"].value %></td>
|
||||
<td><%= channels["ipp.dhmaxintaketemperaturestartup"].value %></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Max Temp. (Lifetime)</td>
|
||||
<td><%= channels["vfdipp.dhmaxintaketemperatureforever"].value %></td>
|
||||
<td><%= channels["ipp.dhmaxintaketemperatureforever"].value %></td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
@@ -96,7 +96,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class='clearfix col-xs-12' style='height: 300px' id="dynamicChart" data-chart="dynamicchart" data-daysofhistory="7" data-chartlabel="Data" data-ylabel="" data-xlabel="Date" data-units="" data-channelnames="vfdipp.dhintakepressure,vfdipp.dhintaketemperature,vfdipp.dhmaxintakepressureforever,vfdipp.dhmaxintakepressurestartup,vfdipp.dhmaxintaketemperaturestartup,vfdipp.dhmaxintaketemperatureforever"></div>
|
||||
<div class='clearfix col-xs-12' style='height: 300px' id="dynamicChart" data-chart="dynamicchart" data-daysofhistory="7" data-chartlabel="Data" data-ylabel="" data-xlabel="Date" data-units="" data-channelnames="ipp.dhintakepressure,ipp.dhintaketemperature,ipp.dhmaxintakepressureforever,ipp.dhmaxintakepressurestartup,ipp.dhmaxintaketemperaturestartup,ipp.dhmaxintaketemperatureforever"></div>
|
||||
</div>
|
||||
|
||||
<div class="text-center"><h1>CONFIGURATION</h1></div>
|
||||
@@ -109,7 +109,7 @@
|
||||
<tr>
|
||||
<td>Pressure Shutdown Enabled</td>
|
||||
<td>
|
||||
<% if (channels["vfdipp.dhpressureshutdownenabled"].value == 1){ %>
|
||||
<% if (channels["ipp.pressureshutdownenabled"].value == 1){ %>
|
||||
<span class="label label-success">True</span>
|
||||
<% } else { %>
|
||||
<span class="label label-warning">False</span>
|
||||
@@ -119,13 +119,13 @@
|
||||
|
||||
<tr>
|
||||
<td>Pressure Shutdown Limit</td>
|
||||
<td><%= channels["vfdipp.dhpressureshutdownlimit"].value %> PSI</td>
|
||||
<td><%= channels["ipp.pressureshutdown"].value %> PSI</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Pressure Restart Enabled</td>
|
||||
<td>
|
||||
<% if (channels["vfdipp.dhpressurestartupenabled"].value == 1){ %>
|
||||
<% if (channels["ipp.pressurestartupenabled"].value == 1){ %>
|
||||
<span class="label label-success">True</span>
|
||||
<% } else { %>
|
||||
<span class="label label-warning">False</span>
|
||||
@@ -135,7 +135,7 @@
|
||||
|
||||
<tr>
|
||||
<td>Pressure Startup Limit</td>
|
||||
<td><%= channels["vfdipp.dhpressurestartup"].value %> PSI</td>
|
||||
<td><%= channels["ipp.pressurestartup"].value %> PSI</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
@@ -151,7 +151,7 @@
|
||||
<tr>
|
||||
<td>Temp. Shutdown Enabled</td>
|
||||
<td>
|
||||
<% if (channels["vfdipp.dhtempshutdownenabled"].value == 1){ %>
|
||||
<% if (channels["ipp.tempshutdownenabled"].value == 1){ %>
|
||||
<span class="label label-success">True</span>
|
||||
<% } else { %>
|
||||
<span class="label label-warning">False</span>
|
||||
@@ -161,13 +161,13 @@
|
||||
|
||||
<tr>
|
||||
<td>Temp. Shutdown Limit</td>
|
||||
<td><%= channels["vfdipp.dhtempshutdown"].value %> °F</td>
|
||||
<td><%= channels["ipp.tempshutdown"].value %> °F</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Temp. Restart Enabled</td>
|
||||
<td>
|
||||
<% if (channels["vfdipp.dhtempstartupenabled"].value == 1){ %>
|
||||
<% if (channels["ipp.tempstartupenabled"].value == 1){ %>
|
||||
<span class="label label-success">True</span>
|
||||
<% } else { %>
|
||||
<span class="label label-warning">False</span>
|
||||
@@ -177,7 +177,7 @@
|
||||
|
||||
<tr>
|
||||
<td>Temp. Startup Limit</td>
|
||||
<td><%= channels["vfdipp.dhtempstartuplimit"].value %> °F</td>
|
||||
<td><%= channels["ipp.tempstartup"].value %> °F</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
@@ -192,22 +192,22 @@
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Number of Channels</td>
|
||||
<td><%= channels["vfdipp.dhnumchannels"].value %></td>
|
||||
<td><%= channels["ipp.dhnumchannels"].value %></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>PSI Rating</td>
|
||||
<td><%= channels["vfdipp.dhpsirating"].value %> PSI</td>
|
||||
<td><%= channels["ipp.dhpsirating"].value %> PSI</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Tool Type</td>
|
||||
<td><%= channels["vfdipp.dhtooltype"].value %></td>
|
||||
<td><%= channels["ipp.dhtooltype"].value %></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Tool Voltage</td>
|
||||
<td><%= channels["vfdipp.dhtoolvoltage"].value %> V</td>
|
||||
<td><%= channels["ipp.dhtoolvoltage"].value %> V</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
6
POCloud_Driver/HTML/NodeDetailHeader.html
Normal file
6
POCloud_Driver/HTML/NodeDetailHeader.html
Normal file
@@ -0,0 +1,6 @@
|
||||
<div class='col-xs-1'>
|
||||
<div class="<%= nodecolors.statuscolor %> nodecolor"></div>
|
||||
</div>
|
||||
<div class='col-xs-6'>
|
||||
<h3><%= node.vanityname %></h3>
|
||||
</div>
|
||||
41
POCloud_Driver/HTML/Nodelist.html
Normal file
41
POCloud_Driver/HTML/Nodelist.html
Normal file
@@ -0,0 +1,41 @@
|
||||
<style>
|
||||
.header h4 {
|
||||
position: relative;
|
||||
top: 0.9em;
|
||||
}
|
||||
.header h2 {
|
||||
text-transform: uppercase;
|
||||
font-size: 14px;
|
||||
color: #aaa;
|
||||
margin: 0.75em 0;
|
||||
}
|
||||
.header p {
|
||||
font-size: 24px;
|
||||
color: black;
|
||||
font-weight: 600;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="row header">
|
||||
<div class="col-xs-1">
|
||||
<div class="<%= nodecolors.statuscolor %> nodecolor"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-2">
|
||||
<img src="<%= nodeimgurl %>" />
|
||||
</div>
|
||||
|
||||
<div class="col-xs-2">
|
||||
<h4><%= node.vanityname %></h4>
|
||||
</div>
|
||||
<div class="col-xs-3">
|
||||
<h2>Motor Current</h2>
|
||||
<p><%=channels["ipp.e300averagecurrent"].value %> A</p>
|
||||
</div>
|
||||
<% if (channels["ipp.downholetoolenabled"].value == 1) { %>
|
||||
<div class="col-xs-3">
|
||||
<h2>Intake Pressure</h2>
|
||||
<p><%=channels["ipp.dhintakepressure"].value %> PSI</p>
|
||||
</div>
|
||||
<% } %>
|
||||
</div>
|
||||
@@ -1,28 +1,15 @@
|
||||
<div class='row row-flex box-me'>
|
||||
<div class='col-xs-4 text-center'>
|
||||
<h2>Motor Speed</h2>
|
||||
<div class="gauge-box">
|
||||
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-vfdspeedfdbk" data-chart="solidgauge" data-nodename="vfdipp.vfdspeedfdbk" data-units="Hz" data-min="0" data-max="100" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
|
||||
<span data-timeupdate="vfdspeedfdbk"><%= channels["vfdipp.vfdspeedfdbk"].timestamp %></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class='col-xs-8'>
|
||||
<div style="height:300px" id="chart-vfdspeedfdbk" data-chart="chart" data-nodename1="vfdipp.vfdspeedfdbk" data-datalabel1="Speed" data-daysofhistory="2" data-chartlabel="Motor Speed" data-ylabel="" data-xlabel="Date" data-units=" Hz"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% if (channels["vfdipp.downholetoolenabled"].value == 1) {%>
|
||||
<% if (channels["ipp.downholetoolenabled"].value == 1) {%>
|
||||
|
||||
<div class='row row-flex box-me'>
|
||||
<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="vfdipp.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>
|
||||
<span data-timeupdate="dhintakepressure"><%= channels["vfdipp.dhintakepressure"].timestamp %></span>
|
||||
<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>
|
||||
<span data-timeupdate="dhintakepressure"><%= channels["ipp.dhintakepressure"].timestamp %></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class='col-xs-8'>
|
||||
<div style="height:300px" id="chart-dhintakepressure" data-chart="chart" data-nodename1="vfdipp.dhintakepressure" data-datalabel1="Downhole Pressure" data-daysofhistory="2" data-chartlabel="DH Intake Pressure" data-ylabel="" data-xlabel="Date" data-units=" PSI"></div>
|
||||
<div style="height:300px" id="chart-dhintakepressure" data-chart="chart" data-nodename1="ipp.dhintakepressure" data-datalabel1="Downhole Pressure" data-daysofhistory="2" data-chartlabel="DH Intake Pressure" data-ylabel="" data-xlabel="Date" data-units=" PSI"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -30,71 +17,60 @@
|
||||
<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="vfdipp.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>
|
||||
<span data-timeupdate="dhintaketemperature"><%= channels["vfdipp.dhintaketemperature"].timestamp %></span>
|
||||
<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>
|
||||
<span data-timeupdate="dhintaketemperature"><%= channels["ipp.dhintaketemperature"].timestamp %></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class='col-xs-8'>
|
||||
<div style="height:300px" id="chart-dhintaketemperature" data-chart="chart" data-nodename1="vfdipp.dhintaketemperature" data-datalabel1="Downhole Temperature" data-daysofhistory="2" data-chartlabel="DH Intake Temperature" data-ylabel="" data-xlabel="Date" data-units=" ° F"></div>
|
||||
<div style="height:300px" id="chart-dhintaketemperature" data-chart="chart" data-nodename1="ipp.dhintaketemperature" data-datalabel1="Downhole Temperature" data-daysofhistory="2" data-chartlabel="DH Intake Temperature" data-ylabel="" data-xlabel="Date" data-units=" ° F"></div>
|
||||
</div>
|
||||
</div>
|
||||
<% } %>
|
||||
|
||||
<% if (channels["vfdipp.tubingpressuretransducerenabled"].value == 1) {%>
|
||||
<div class='row row-flex box-me'>
|
||||
<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>
|
||||
<span data-timeupdate="e300averagecurrent"><%= channels["ipp.e300averagecurrent"].timestamp %></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class='col-xs-8'>
|
||||
<div style="height:300px" id="chart-e300averagecurrent" data-chart="chart" data-nodename1="ipp.e300averagecurrent" data-datalabel1="Average Current" data-daysofhistory="2" data-chartlabel="Average Current" data-ylabel="" data-xlabel="Date" data-units=" A"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='row row-flex box-me'>
|
||||
<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>
|
||||
<span data-timeupdate="e300averagellvoltage"><%= channels["ipp.e300averagellvoltage"].timestamp %></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class='col-xs-8'>
|
||||
<div style="height:300px" id="chart-e300averagellvoltage" data-chart="chart" data-nodename1="ipp.e300averagellvoltage" data-datalabel1="Average L-L Voltage" data-daysofhistory="2" data-chartlabel="Average L-L Voltage" data-ylabel="" data-xlabel="Date" data-units=" V"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% if (channels["ipp.pressuretransducerenabled"].value == 1) {%>
|
||||
|
||||
<div class='row row-flex box-me'>
|
||||
<div class='col-xs-4 text-center'>
|
||||
<h2>Downhole Pressure</h2>
|
||||
<h2>Tubing Pressure</h2>
|
||||
<div class="gauge-box">
|
||||
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-tubingpressure" data-chart="solidgauge" data-nodename="vfdipp.tubingpressure" data-units="PSI" data-min="0" data-max="400" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
|
||||
<span data-timeupdate="tubingpressure"><%= channels["vfdipp.tubingpressure"].timestamp %></span>
|
||||
<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>
|
||||
<span data-timeupdate="pressurein"><%= channels["ipp.pressurein"].timestamp %></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class='col-xs-8'>
|
||||
<div style="height:300px" id="chart-tubingpressure" data-chart="chart" data-nodename1="vfdipp.tubingpressure" data-datalabel1="Tubing Pressure" data-daysofhistory="2" data-chartlabel="Tubing Pressure" data-ylabel="" data-xlabel="Date" data-units=" PSI"></div>
|
||||
<div style="height:300px" id="chart-pressurein" data-chart="chart" data-nodename1="ipp.pressurein" data-datalabel1="Tubing Pressure" data-daysofhistory="2" data-chartlabel="Tubing Pressure" data-ylabel="" data-xlabel="Date" data-units=" PSI"></div>
|
||||
</div>
|
||||
</div>
|
||||
<% } %>
|
||||
|
||||
|
||||
<div class='row row-flex box-me'>
|
||||
<div class='col-xs-4 text-center'>
|
||||
<h2>Output Current</h2>
|
||||
<div class="gauge-box">
|
||||
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-vfdoutputcurrent" data-chart="solidgauge" data-nodename="vfdipp.vfdoutputcurrent" data-units="A" data-min="0" data-max="<%= channels["vfdipp.vfdnameplatefla"].value %>" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
|
||||
<span data-timeupdate="vfdoutputcurrent"><%= channels["vfdipp.vfdoutputcurrent"].timestamp %></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class='col-xs-8'>
|
||||
<div style="height:300px" id="chart-vfdoutputcurrent" data-chart="chart" data-nodename1="vfdipp.vfdoutputcurrent" data-datalabel1="Output Current" data-daysofhistory="2" data-chartlabel="Output Current" data-ylabel="" data-xlabel="Date" data-units=" A"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='row row-flex box-me'>
|
||||
<div class='col-xs-4 text-center'>
|
||||
<h2>Output Voltage</h2>
|
||||
<div class="gauge-box">
|
||||
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-vfdoutputvoltage" data-chart="solidgauge" data-nodename="vfdipp.vfdoutputvoltage" data-units="V" data-min="0" data-max="600" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
|
||||
<span data-timeupdate="vfdoutputvoltage"><%= channels["vfdipp.vfdoutputvoltage"].timestamp %></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class='col-xs-8'>
|
||||
<div style="height:300px" id="chart-vfdoutputvoltage" data-chart="chart" data-nodename1="vfdipp.vfdoutputvoltage" data-datalabel1="Output Voltage" data-daysofhistory="2" data-chartlabel="Output Voltage" data-ylabel="" data-xlabel="Date" data-units=" V"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='row row-flex box-me'>
|
||||
<div class='col-xs-4 text-center'>
|
||||
<h2>DC Bus Voltage</h2>
|
||||
<div class="gauge-box">
|
||||
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-vfddcbusvoltage" data-chart="solidgauge" data-nodename="vfdipp.vfddcbusvoltage" data-units="V" data-min="0" data-max="700" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
|
||||
<span data-timeupdate="vfddcbusvoltage"><%= channels["vfdipp.vfddcbusvoltage"].timestamp %></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class='col-xs-8'>
|
||||
<div style="height:300px" id="chart-vfddcbusvoltage" data-chart="chart" data-nodename1="vfdipp.vfddcbusvoltage" data-datalabel1="DC Bus Voltage" data-daysofhistory="2" data-chartlabel="DC Bus Voltage" data-ylabel="" data-xlabel="Date" data-units=" V"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.box-me {
|
||||
|
||||
@@ -1,86 +1,5 @@
|
||||
<div class="text-center"><h1>LIVE VALUES</h1></div>
|
||||
<div class='row'>
|
||||
<div class='col-xs-4 text-center box-me'>
|
||||
<div class="gauge-box">
|
||||
<table class="table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<h2>Active Alarms</h2>
|
||||
</td>
|
||||
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>VFD</td>
|
||||
<td>
|
||||
<% if (channels["vfdipp.alarmvfd"].value == 0){ %>
|
||||
<span class="label label-success">OK</span>
|
||||
<% } else { %>
|
||||
<span class="label label-danger">NOT OK</span>
|
||||
<% } %>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Mode</td>
|
||||
<td>
|
||||
<% if (channels["vfdipp.alarmmode"].value == 0){ %>
|
||||
<span class="label label-success">OK</span>
|
||||
<% } else { %>
|
||||
<span class="label label-danger">NOT OK</span>
|
||||
<% } %>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>DH Pressure</td>
|
||||
<td>
|
||||
<% if (channels["vfdipp.alarmpressure"].value == 0){ %>
|
||||
<span class="label label-success">OK</span>
|
||||
<% } else { %>
|
||||
<span class="label label-danger">NOT OK</span>
|
||||
<% } %>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>DH Temperature</td>
|
||||
<td>
|
||||
<% if (channels["vfdipp.alarmtemperature"].value == 0){ %>
|
||||
<span class="label label-success">OK</span>
|
||||
<% } else { %>
|
||||
<span class="label label-danger">NOT OK</span>
|
||||
<% } %>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Remote</td>
|
||||
<td>
|
||||
<% if (channels["vfdipp.alarmremote"].value == 0){ %>
|
||||
<span class="label label-success">OK</span>
|
||||
<% } else { %>
|
||||
<span class="label label-danger">NOT OK</span>
|
||||
<% } %>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Tubing Pressure</td>
|
||||
<td>
|
||||
<% if (channels["vfdipp.alarmtubingpressure"].value == 0){ %>
|
||||
<span class="label label-success">OK</span>
|
||||
<% } else { %>
|
||||
<span class="label label-danger">NOT OK</span>
|
||||
<% } %>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class='row row-flex'>
|
||||
<div class='col-xs-4 text-center box-me'>
|
||||
<div class="gauge-box">
|
||||
<table class="table">
|
||||
@@ -92,7 +11,7 @@
|
||||
|
||||
<td>
|
||||
<h2>
|
||||
<% if (channels["vfdipp.startpermissive"].value == 1){ %>
|
||||
<% if (channels["ipp.startpermissive"].value == 1){ %>
|
||||
<span class="label label-success">OK</span>
|
||||
<% } else { %>
|
||||
<span class="label label-danger">NOT OK</span>
|
||||
@@ -102,9 +21,9 @@
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>VFD</td>
|
||||
<td>Overload Relay</td>
|
||||
<td>
|
||||
<% if (channels["vfdipp.spvfd"].value == 1){ %>
|
||||
<% if (channels["ipp.sptrip"].value == 1){ %>
|
||||
<span class="label label-success">OK</span>
|
||||
<% } else { %>
|
||||
<span class="label label-danger">NOT OK</span>
|
||||
@@ -115,7 +34,7 @@
|
||||
<tr>
|
||||
<td>Mode</td>
|
||||
<td>
|
||||
<% if (channels["vfdipp.spmode"].value == 1){ %>
|
||||
<% if (channels["ipp.spmode"].value == 1){ %>
|
||||
<span class="label label-success">OK</span>
|
||||
<% } else { %>
|
||||
<span class="label label-danger">NOT OK</span>
|
||||
@@ -126,7 +45,7 @@
|
||||
<tr>
|
||||
<td>DH Pressure</td>
|
||||
<td>
|
||||
<% if (channels["vfdipp.sppressure"].value == 1){ %>
|
||||
<% if (channels["ipp.sppressure"].value == 1){ %>
|
||||
<span class="label label-success">OK</span>
|
||||
<% } else { %>
|
||||
<span class="label label-danger">NOT OK</span>
|
||||
@@ -137,18 +56,7 @@
|
||||
<tr>
|
||||
<td>DH Temperature</td>
|
||||
<td>
|
||||
<% if (channels["vfdipp.sptemperature"].value == 1){ %>
|
||||
<span class="label label-success">OK</span>
|
||||
<% } else { %>
|
||||
<span class="label label-danger">NOT OK</span>
|
||||
<% } %>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Remote</td>
|
||||
<td>
|
||||
<% if (channels["vfdipp.spremote"].value == 1){ %>
|
||||
<% if (channels["ipp.sptemperature"].value == 1){ %>
|
||||
<span class="label label-success">OK</span>
|
||||
<% } else { %>
|
||||
<span class="label label-danger">NOT OK</span>
|
||||
@@ -170,7 +78,7 @@
|
||||
|
||||
<td>
|
||||
<h2>
|
||||
<% if (channels["vfdipp.runpermissive"].value == 1){ %>
|
||||
<% if (channels["ipp.runpermissive"].value == 1){ %>
|
||||
<span class="label label-success">OK</span>
|
||||
<% } else { %>
|
||||
<span class="label label-danger">NOT OK</span>
|
||||
@@ -180,9 +88,9 @@
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>VFD</td>
|
||||
<td>Overload Relay</td>
|
||||
<td>
|
||||
<% if (channels["vfdipp.rpvfd"].value == 1){ %>
|
||||
<% if (channels["ipp.rptrip"].value == 1){ %>
|
||||
<span class="label label-success">OK</span>
|
||||
<% } else { %>
|
||||
<span class="label label-danger">NOT OK</span>
|
||||
@@ -193,7 +101,7 @@
|
||||
<tr>
|
||||
<td>Mode</td>
|
||||
<td>
|
||||
<% if (channels["vfdipp.rpmode"].value == 1){ %>
|
||||
<% if (channels["ipp.rpmode"].value == 1){ %>
|
||||
<span class="label label-success">OK</span>
|
||||
<% } else { %>
|
||||
<span class="label label-danger">NOT OK</span>
|
||||
@@ -204,7 +112,7 @@
|
||||
<tr>
|
||||
<td>DH Pressure</td>
|
||||
<td>
|
||||
<% if (channels["vfdipp.rppressure"].value == 1){ %>
|
||||
<% if (channels["ipp.rppressure"].value == 1){ %>
|
||||
<span class="label label-success">OK</span>
|
||||
<% } else { %>
|
||||
<span class="label label-danger">NOT OK</span>
|
||||
@@ -215,18 +123,7 @@
|
||||
<tr>
|
||||
<td>DH Temperature</td>
|
||||
<td>
|
||||
<% if (channels["vfdipp.rptemperature"].value == 1){ %>
|
||||
<span class="label label-success">OK</span>
|
||||
<% } else { %>
|
||||
<span class="label label-danger">NOT OK</span>
|
||||
<% } %>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Remote</td>
|
||||
<td>
|
||||
<% if (channels["vfdipp.rpremote"].value == 1){ %>
|
||||
<% if (channels["ipp.rptemperature"].value == 1){ %>
|
||||
<span class="label label-success">OK</span>
|
||||
<% } else { %>
|
||||
<span class="label label-danger">NOT OK</span>
|
||||
@@ -237,7 +134,7 @@
|
||||
<tr>
|
||||
<td>Tubing Pressure</td>
|
||||
<td>
|
||||
<% if (channels["vfdipp.rptubingpressure"].value == 1){ %>
|
||||
<% if (channels["ipp.rptubingpressure"].value == 1){ %>
|
||||
<span class="label label-success">OK</span>
|
||||
<% } else { %>
|
||||
<span class="label label-danger">NOT OK</span>
|
||||
@@ -250,30 +147,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='row'>
|
||||
<div class='col-xs-6 col-xs-offset-3 text-center box-me'>
|
||||
<h2>Last Shutdown Cause</h2>
|
||||
<h1>
|
||||
<% if (channels["vfdipp.lastshutdowncause"].value == 0){ %>
|
||||
<span class="label label-primary">Unknown</span>
|
||||
<% } else if (channels["vfdipp.lastshutdowncause"].value == 1) { %>
|
||||
<span class="label label-primary">Mode</span>
|
||||
<% } else if (channels["vfdipp.lastshutdowncause"].value == 2) { %>
|
||||
<span class="label label-primary">DH Pressure</span>
|
||||
<% } else if (channels["vfdipp.lastshutdowncause"].value == 3) { %>
|
||||
<span class="label label-primary">DH Temperature</span>
|
||||
<% } else if (channels["vfdipp.lastshutdowncause"].value == 4) { %>
|
||||
<span class="label label-primary">Tubing Pressure</span>
|
||||
<% } else if (channels["vfdipp.lastshutdowncause"].value == 5) { %>
|
||||
<span class="label label-primary">VFD</span>
|
||||
<% } else if (channels["vfdipp.lastshutdowncause"].value == 6) { %>
|
||||
<span class="label label-primary">Remote Trip</span>
|
||||
<% } else if (channels["vfdipp.lastshutdowncause"].value == 7) { %>
|
||||
<span class="label label-primary">User Shutdown</span>
|
||||
<% } %>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<style>
|
||||
.box-me {
|
||||
|
||||
@@ -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="vfdipp.vfdoutputcurrent,vfdipp.vfdspeedref,vfdipp.vfdspeedfdbk,vfdipp.dhintakepressure,vfdipp.dhintaketemperature,vfdipp.tubingpressure,vfdipp.vfddcbusvoltage,vfdipp.vfdoutputvoltage"></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.pressurein,ipp.e300linefrequency,ipp.e300percentcurrentunbalance,ipp.e300percentvoltageunbalance"></div>
|
||||
<style>
|
||||
.dynamic-chart-form {
|
||||
background-color: whiteSmoke;
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -1,4 +1,3 @@
|
||||
import pickle
|
||||
import xml.etree.ElementTree as ET
|
||||
tree = ET.parse('tags.xml')
|
||||
root = tree.getroot()
|
||||
@@ -22,6 +21,7 @@ ignore_tags = [
|
||||
"DigitalInput_Status_3",
|
||||
"DigitalInput_Status_4",
|
||||
"DigitalInput_Status_5",
|
||||
"E300_Config_Buffer",
|
||||
"E300_OUTPUT_NUMBER",
|
||||
"E300_OUTPUT_SET_CORRECTLY",
|
||||
"E300_Output_Enable",
|
||||
@@ -69,9 +69,9 @@ ignore_tags = [
|
||||
"cfg_I_L3_UndercurrentTripDelay",
|
||||
"cfg_I_L3_UndercurrentTripLevel",
|
||||
"cfg_I_L3_UndercurrentWarningLevel",
|
||||
"cfg_I_TripEnableCurrent", # Enables get build by the enable bits
|
||||
"cfg_I_TripEnableCurrent", # Enables get build by the enable bits
|
||||
"cfg_I_WarningEnableCurrent",
|
||||
"cfg_P_OverApparentPowerInhibitTime", # We're not going to worry about the power configuration for this panel
|
||||
"cfg_P_OverApparentPowerInhibitTime", # We're not going to worry about the power configuration for this panel
|
||||
"cfg_P_OverApparentPowerTripDelay",
|
||||
"cfg_P_OverApparentPowerTripLevel",
|
||||
"cfg_P_OverApparentPowerWarningLevel",
|
||||
@@ -259,22 +259,28 @@ for child in root:
|
||||
tagName = child[1].text
|
||||
tagType = child[2].text
|
||||
struct = {
|
||||
'tag':tagName,
|
||||
'tag': tagName,
|
||||
"last_value": "",
|
||||
"data_type": tagType,
|
||||
"change_amount": .5,
|
||||
"last_time_uploaded": 0,
|
||||
"max_time_between_uploads": 360
|
||||
"max_time_between_uploads": 3600
|
||||
}
|
||||
if tagName in writeable_tags:
|
||||
struct['read_only'] = False
|
||||
else:
|
||||
struct['read_only'] = True
|
||||
|
||||
chName = tagName.replace("_", "") # Channel names cannot have underscores
|
||||
chName = chName[0].lower() + chName[1:] # Channel names should all start wth a lowercase letter
|
||||
if tagName[0:3] == "cfg":
|
||||
struct['max_time_between_uploads'] = 86400
|
||||
|
||||
if not tagName in ignore_tags:
|
||||
chName = tagName.replace("_", "") # Channel names cannot have underscores
|
||||
chName = chName.lower() # Channel names should all start wth a lowercase letter
|
||||
|
||||
if len(chName) > 30:
|
||||
chName = chName[0:30]
|
||||
|
||||
if tagName not in ignore_tags:
|
||||
if tagType == "BOOL":
|
||||
struct['change_amount'] = None
|
||||
channels[chName] = struct
|
||||
@@ -316,8 +322,6 @@ with open('channels.txt', 'wb') as ch_txt:
|
||||
rw = "WRITEABLE"
|
||||
ch_txt.write('[] - {} - {} - {}\r'.format(x, c['data_type'], rw))
|
||||
|
||||
|
||||
|
||||
print("UNREADABLE CHANNELS: ")
|
||||
for y in sorted(unreadable_channels):
|
||||
print("{} - {}".format(unreadable_channels[y]['data_type'], y))
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user