Adds some other HTML Templates
This commit is contained in:
269
POCloud/HTML/Downhole.html
Normal file
269
POCloud/HTML/Downhole.html
Normal file
@@ -0,0 +1,269 @@
|
||||
<% if (channels["ipp.downholetoolenabled"].value == 0){ %>
|
||||
<div class="row">
|
||||
<div class="well mar15 text-center">
|
||||
<h1>THE DOWNHOLE SENSOR IS DISABLED</h1>
|
||||
<h1>IT CAN BE ENABLED FROM THE CONFIGURATION SCREEN</h1>
|
||||
</div>
|
||||
</div>
|
||||
<% } %>
|
||||
|
||||
<div class="text-center"><h1>LIVE VALUES</h1></div>
|
||||
<div class='row row-flex'>
|
||||
<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="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="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="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>
|
||||
|
||||
<div class='col-xs-4 text-center box-me'>
|
||||
<h2>Instrument Status</h2>
|
||||
<div class="gauge-box">
|
||||
<h1 data-valueupdate="dhdownholestatusint">
|
||||
<% if(channels["ipp.dhdownholestatusint"].value == 0) { %>
|
||||
<span class="label label-success">OK</span>
|
||||
<% } else if (channels["ipp.dhdownholestatusint"].value == 1){ %>
|
||||
<span class="label label-warning">Connecting...</span>
|
||||
<% } else if (channels["ipp.dhdownholestatusint"].value == 2){ %>
|
||||
<span class="label label-danger">Open Circuit</span>
|
||||
<% } else if (channels["ipp.dhdownholestatusint"].value == 3){ %>
|
||||
<span class="label label-danger">Shorted</span>
|
||||
<% } else if (channels["ipp.dhdownholestatusint"].value == 4){ %>
|
||||
<span class="label label-danger">Cannot Decode</span>
|
||||
<% } %>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='col-xs-4 text-center box-me'>
|
||||
<h2>MAX VALUES</h2>
|
||||
<div class="gauge-box">
|
||||
<table class="table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Max Pressure (Startup)</td>
|
||||
<td><%= channels["ipp.dhmaxintakepressurestartup"].value %></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Max Pressure (Lifetime)</td>
|
||||
<td><%= channels["ipp.dhmaxintakepressureforever"].value %></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Max Temp. (Startup)</td>
|
||||
<td><%= channels["ipp.dhmaxintaketemperaturestartup"].value %></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Max Temp. (Lifetime)</td>
|
||||
<td><%= channels["ipp.dhmaxintaketemperatureforever"].value %></td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="text-center"><h1>TRENDS</h1></div>
|
||||
<div class="row box-me">
|
||||
<div class='col-xs-12' style="padding-top: 1em; margin-bottom: 1em;">
|
||||
<div class="input-daterange input-group" id="datepicker">
|
||||
<input data-chartid="dynamicChart" id="fromDate" data-daysofhistory="7" type="text" class="form-control" name="start">
|
||||
<span class="input-group-addon">to</span>
|
||||
<input class="form-control" data-chartid="dynamicChart" id="toDate" type="text" name="end">
|
||||
<span class='input-group-btn'>
|
||||
<a href="#!" data-chartid="dynamicChart" data-otherchartids="statusTimeline" class="btn chart-update btn-theme">Run</a>
|
||||
</span>
|
||||
</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="ipp.dhintakepressure,ipp.dhintaketemperature,ipp.dhmaxintakepressureforever,ipp.dhmaxintakepressurestartup,ipp.dhmaxintaketemperaturestartup,ipp.dhmaxintaketemperatureforever"></div>
|
||||
</div>
|
||||
|
||||
<div class="text-center"><h1>CONFIGURATION</h1></div>
|
||||
<div class="row row-flex">
|
||||
<div class='col-xs-4 text-center box-me'>
|
||||
<h2>Pressure Trip</h2>
|
||||
<div class="gauge-box">
|
||||
<table class="table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Pressure Shutdown Enabled</td>
|
||||
<td>
|
||||
<% if (channels["ipp.pressureshutdownenabled"].value == 1){ %>
|
||||
<span class="label label-success">True</span>
|
||||
<% } else { %>
|
||||
<span class="label label-warning">False</span>
|
||||
<% } %>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Pressure Shutdown Limit</td>
|
||||
<td><%= channels["ipp.pressureshutdown"].value %> PSI</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Pressure Restart Enabled</td>
|
||||
<td>
|
||||
<% if (channels["ipp.pressurestartupenabled"].value == 1){ %>
|
||||
<span class="label label-success">True</span>
|
||||
<% } else { %>
|
||||
<span class="label label-warning">False</span>
|
||||
<% } %>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Pressure Startup Limit</td>
|
||||
<td><%= channels["ipp.pressurestartup"].value %> PSI</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='col-xs-4 text-center box-me'>
|
||||
<h2>Temperature Trip</h2>
|
||||
<div class="gauge-box">
|
||||
<table class="table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Temp. Shutdown Enabled</td>
|
||||
<td>
|
||||
<% if (channels["ipp.tempshutdownenabled"].value == 1){ %>
|
||||
<span class="label label-success">True</span>
|
||||
<% } else { %>
|
||||
<span class="label label-warning">False</span>
|
||||
<% } %>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Temp. Shutdown Limit</td>
|
||||
<td><%= channels["ipp.tempshutdown"].value %> °F</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Temp. Restart Enabled</td>
|
||||
<td>
|
||||
<% if (channels["ipp.tempstartupenabled"].value == 1){ %>
|
||||
<span class="label label-success">True</span>
|
||||
<% } else { %>
|
||||
<span class="label label-warning">False</span>
|
||||
<% } %>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Temp. Startup Limit</td>
|
||||
<td><%= channels["ipp.tempstartup"].value %> °F</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='col-xs-4 text-center box-me'>
|
||||
<h2>Sensor Info.</h2>
|
||||
<div class="gauge-box">
|
||||
<table class="table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Number of Channels</td>
|
||||
<td><%= channels["ipp.dhnumchannels"].value %></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>PSI Rating</td>
|
||||
<td><%= channels["ipp.dhpsirating"].value %> PSI</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Tool Type</td>
|
||||
<td><%= channels["ipp.dhtooltype"].value %></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Tool Voltage</td>
|
||||
<td><%= channels["ipp.dhtoolvoltage"].value %> V</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.box-me {
|
||||
position: relative;
|
||||
padding: 0.5em;
|
||||
padding-bottom: 1.5em;
|
||||
border: 1px solid #eee;
|
||||
/*margin: 1em 0;*/
|
||||
}
|
||||
.box-me .gauge-box {
|
||||
margin-top: -0.25em;
|
||||
}
|
||||
.box-me h2 {
|
||||
text-transform: uppercase;
|
||||
font-size: 14px;
|
||||
color: #666;
|
||||
font-weight: 400;
|
||||
letter-spacing: 1px;
|
||||
z-index: 100;
|
||||
}
|
||||
.dynamic-chart-form {
|
||||
background-color: whiteSmoke;
|
||||
padding: 1em 0.5em;
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
.row-flex {
|
||||
display: -webkit-box;
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.row-flex > [class*='col-'] {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.mar15 {
|
||||
margin: 15px 15px;
|
||||
}
|
||||
|
||||
#systemStatusTimelineContainer h2 {
|
||||
text-transform: uppercase;
|
||||
font-size: 14px;
|
||||
color: #666;
|
||||
font-weight: 400;
|
||||
letter-spacing: 1px;
|
||||
z-index: 100;
|
||||
}
|
||||
</style>
|
||||
211
POCloud/HTML/Permissives.html
Normal file
211
POCloud/HTML/Permissives.html
Normal file
@@ -0,0 +1,211 @@
|
||||
<div class="text-center"><h1>LIVE VALUES</h1></div>
|
||||
<div class='row row-flex'>
|
||||
<div class='col-xs-4 text-center box-me'>
|
||||
<div class="gauge-box">
|
||||
<table class="table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<h2>Start Permissive</h2>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<h2>
|
||||
<% if (channels["ipp.startpermissive"].value == 1){ %>
|
||||
<span class="label label-success">OK</span>
|
||||
<% } else { %>
|
||||
<span class="label label-danger">NOT OK</span>
|
||||
<% } %>
|
||||
</h2>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Overload Relay</td>
|
||||
<td>
|
||||
<% if (channels["ipp.sptrip"].value == 1){ %>
|
||||
<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["ipp.spmode"].value == 1){ %>
|
||||
<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["ipp.sppressure"].value == 1){ %>
|
||||
<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["ipp.sptemperature"].value == 1){ %>
|
||||
<span class="label label-success">OK</span>
|
||||
<% } else { %>
|
||||
<span class="label label-danger">NOT OK</span>
|
||||
<% } %>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class='col-xs-4 text-center box-me'>
|
||||
<div class="gauge-box">
|
||||
<table class="table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<h2>Run Permissive</h2>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<h2>
|
||||
<% if (channels["ipp.runpermissive"].value == 1){ %>
|
||||
<span class="label label-success">OK</span>
|
||||
<% } else { %>
|
||||
<span class="label label-danger">NOT OK</span>
|
||||
<% } %>
|
||||
</h2>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Overload Relay</td>
|
||||
<td>
|
||||
<% if (channels["ipp.rptrip"].value == 1){ %>
|
||||
<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["ipp.rpmode"].value == 1){ %>
|
||||
<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["ipp.rppressure"].value == 1){ %>
|
||||
<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["ipp.rptemperature"].value == 1){ %>
|
||||
<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["ipp.rptubingpressure"].value == 1){ %>
|
||||
<span class="label label-success">OK</span>
|
||||
<% } else { %>
|
||||
<span class="label label-danger">NOT OK</span>
|
||||
<% } %>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row row-flex">
|
||||
<div class="col-md-6">
|
||||
<button href="#" data-channelId="<%= channels["ipp.e300tripstatus"].channelId %>" class="data-table btn btn-theme" title="Trip History"><i style='margin-left: 0.5em; cursor: pointer' class="fa fa-th-list icon-theme"></i> Trip History</button>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<button href="#" data-channelId="<%= channels["ipp.e300warningstatus"].channelId %>" class="data-table btn btn-theme" title="Trip History"><i style='margin-left: 0.5em; cursor: pointer' class="fa fa-th-list icon-theme"></i> Warning History</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<style>
|
||||
.box-me {
|
||||
position: relative;
|
||||
padding: 0.5em;
|
||||
padding-bottom: 1.5em;
|
||||
border: 1px solid #eee;
|
||||
/*margin: 1em 0;*/
|
||||
}
|
||||
.box-me .gauge-box {
|
||||
margin-top: -0.25em;
|
||||
}
|
||||
.box-me h2 {
|
||||
text-transform: uppercase;
|
||||
font-size: 14px;
|
||||
color: #666;
|
||||
font-weight: 400;
|
||||
letter-spacing: 1px;
|
||||
z-index: 100;
|
||||
}
|
||||
.dynamic-chart-form {
|
||||
background-color: whiteSmoke;
|
||||
padding: 1em 0.5em;
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
.fill-vertically {
|
||||
height:261px;
|
||||
}
|
||||
|
||||
#systemStatusTimelineContainer h2 {
|
||||
text-transform: uppercase;
|
||||
font-size: 14px;
|
||||
color: #666;
|
||||
font-weight: 400;
|
||||
letter-spacing: 1px;
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
.row-flex {
|
||||
display: -webkit-box;
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.row-flex > [class*='col-'] {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
</style>
|
||||
386
POCloud/HTML/VFD.html
Normal file
386
POCloud/HTML/VFD.html
Normal file
@@ -0,0 +1,386 @@
|
||||
<div class="text-center"><h1>LIVE VALUES</h1></div>
|
||||
<div class='row row-flex'>
|
||||
<div class='col-xs-4 text-center box-me'>
|
||||
<h2>Speed Feedback</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-4 text-center box-me'>
|
||||
<h2>Speed Reference</h2>
|
||||
<div class="gauge-box">
|
||||
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge2" data-chart="solidgauge" data-nodename="vfdipp.vfdspeedref" data-units="Hz" data-min="0" data-max="100" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-decimals="2" data-valuefontsize="18px"></div>
|
||||
<span data-timeupdate="vfdspeedref"><%= channels["vfdipp.vfdspeedref"].timestamp %></span>
|
||||
</div>
|
||||
</div> -->
|
||||
<div class='col-xs-4 text-center box-me'>
|
||||
<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-4 text-center box-me'>
|
||||
<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-4 text-center box-me'>
|
||||
<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-4 text-center box-me'>
|
||||
<h2>VFD Status</h2>
|
||||
<div class="gauge-box">
|
||||
<table class="table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>VFD Active</td>
|
||||
<td>
|
||||
<% if (channels["vfdipp.vfdactive"].value == 1){ %>
|
||||
<span class="label label-success">True</span>
|
||||
<% } else { %>
|
||||
<span class="label label-danger">False</span>
|
||||
<% } %>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>VFD Ready</td>
|
||||
<td>
|
||||
<% if (channels["vfdipp.vfdready"].value == 1){ %>
|
||||
<span class="label label-success">True</span>
|
||||
<% } else { %>
|
||||
<span class="label label-danger">False</span>
|
||||
<% } %>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>VFD At Speed</td>
|
||||
<td>
|
||||
<% if (channels["vfdipp.vfdatspeedref"].value == 1){ %>
|
||||
<span class="label label-success">True</span>
|
||||
<% } else { %>
|
||||
<span class="label label-danger">False</span>
|
||||
<% } %>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>VFD Disabled</td>
|
||||
<td>
|
||||
<% if (channels["vfdipp.vfddisabled"].value == 1){ %>
|
||||
<span class="label label-danger">True</span>
|
||||
<% } else { %>
|
||||
<span class="label label-success">False</span>
|
||||
<% } %>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class='col-xs-4 text-center box-me'>
|
||||
<h2>VFD Faults</h2>
|
||||
<div class="gauge-box">
|
||||
<table class="table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>VFD Faulted</td>
|
||||
<td>
|
||||
<% if (channels["vfdipp.vfdfault"].value == 1){ %>
|
||||
<span class="label label-danger">True</span>
|
||||
<% } else { %>
|
||||
<span class="label label-success">False</span>
|
||||
<% } %>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>VFD Fault Code</td>
|
||||
<td>
|
||||
<% if (channels["vfdipp.vfdfaultcode"].value == 0) { %>
|
||||
<span class="vfdFault">None</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 2) { %>
|
||||
<span class="vfdFault">Auxiliary Input</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 3 ) { %>
|
||||
<span class="vfdFault">Power Loss</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 4 ) { %>
|
||||
<span class="vfdFault">UnderVoltage</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 5 ) { %>
|
||||
<span class="vfdFault">OverVoltage</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 6 ) { %>
|
||||
<span class="vfdFault">Motor Stalled</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 7 ) { %>
|
||||
<span class="vfdFault">Motor Overload</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 8 ) { %>
|
||||
<span class="vfdFault">Heatsink OverTemp</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 9 ) { %>
|
||||
<span class="vfdFault">Control Module OverTemp</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 12 ) { %>
|
||||
<span class="vfdFault">Hardware OverCurrent</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 13 ) { %>
|
||||
<span class="vfdFault">Ground Fault</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 15 ) { %>
|
||||
<span class="vfdFault">Load Loss</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 21 ) { %>
|
||||
<span class="vfdFault">Output Phase Loss</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 29 ) { %>
|
||||
<span class="vfdFault">Analog Input Loss</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 33 ) { %>
|
||||
<span class="vfdFault">Auto Restart Tries Exceeded</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 38 ) { %>
|
||||
<span class="vfdFault">Phase U Ground Fault</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 39 ) { %>
|
||||
<span class="vfdFault">Phase V Ground Fault</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 40 ) { %>
|
||||
<span class="vfdFault">Phase W Ground Fault</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 41 ) { %>
|
||||
<span class="vfdFault">Phase UV Short</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 42 ) { %>
|
||||
<span class="vfdFault">Phase UW Short</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 43 ) { %>
|
||||
<span class="vfdFault">Phase VW Short</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 48 ) { %>
|
||||
<span class="vfdFault">Parameters Defaulted</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 59 ) { %>
|
||||
<span class="vfdFault">Safety Open</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 63 ) { %>
|
||||
<span class="vfdFault">Software OverCurrent</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 64 ) { %>
|
||||
<span class="vfdFault">Drive Overload</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 70 ) { %>
|
||||
<span class="vfdFault">Power Unit Failure</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 71 ) { %>
|
||||
<span class="vfdFault">DSI Network Loss</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 72 ) { %>
|
||||
<span class="vfdFault">Option Card Network Loss</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 73 ) { %>
|
||||
<span class="vfdFault">Ethernet Network Loss</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 80 ) { %>
|
||||
<span class="vfdFault">Autotune Failure</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 81 ) { %>
|
||||
<span class="vfdFault">DSI Communications Loss</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 82 ) { %>
|
||||
<span class="vfdFault">Option Card Communications Loss</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 83 ) { %>
|
||||
<span class="vfdFault">Ethernet Communications Loss</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 91 ) { %>
|
||||
<span class="vfdFault">Encoder Loss</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 94 ) { %>
|
||||
<span class="vfdFault">Function Loss</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 100 ) { %>
|
||||
<span class="vfdFault">Parameter Checksum Error</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 101 ) { %>
|
||||
<span class="vfdFault">External Storage Failure</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 105 ) { %>
|
||||
<span class="vfdFault">Control Module Connection Error</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 106 ) { %>
|
||||
<span class="vfdFault">Incompatible Control Module</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 107 ) { %>
|
||||
<span class="vfdFault">Replaced Control Module not Recognized</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 109 ) { %>
|
||||
<span class="vfdFault">Mismatched Control Module</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 110 ) { %>
|
||||
<span class="vfdFault">Keypad Membrane Failure</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 111 ) { %>
|
||||
<span class="vfdFault">Safety Hardware Malfunction</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 114 ) { %>
|
||||
<span class="vfdFault">Microprocessor Failure</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 122 ) { %>
|
||||
<span class="vfdFault">IO Board Failure</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 125 ) { %>
|
||||
<span class="vfdFault">Flash Update Required</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 126 ) { %>
|
||||
<span class="vfdFault">Non-recoverable Firmware Error</span>
|
||||
<% } else if (channels["vfdipp.vfdfaultcode"].value == 127 ) { %>
|
||||
<span class="vfdFault">DSI Flash Update Required</span>
|
||||
<% } %>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="text-center"><h1>TRENDS</h1></div>
|
||||
<div class="row">
|
||||
<div class='col-xs-12' style="padding-top: 1em; margin-bottom: 1em;">
|
||||
<div class="input-daterange input-group" id="datepicker">
|
||||
<input data-chartid="dynamicChart" id="fromDate" data-daysofhistory="7" type="text" class="form-control" name="start">
|
||||
<span class="input-group-addon">to</span>
|
||||
<input class="form-control" data-chartid="dynamicChart" id="toDate" type="text" name="end">
|
||||
<span class='input-group-btn'>
|
||||
<a href="#!" data-chartid="dynamicChart" data-otherchartids="statusTimeline" class="btn chart-update btn-theme">Run</a>
|
||||
</span>
|
||||
</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.vfdspeedref,vfdipp.vfdspeedfdbk,vfdipp.vfdoutputcurrent,vfdipp.vfdoutputcurrent,vfdipp.vfddcbusvoltage"></div>
|
||||
</div>
|
||||
|
||||
<div class="text-center"><h1>CONFIGURATION</h1></div>
|
||||
<div class="row row-flex">
|
||||
<div class="col-md-6 box-me text-center">
|
||||
<h2>MOTOR NAMEPLATE DATA</h2>
|
||||
<table class="table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Motor FLA</td>
|
||||
<td><%= channels["vfdipp.vfdnameplatefla"].value %> A</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Motor HP</td>
|
||||
<td><%= Math.round(channels["vfdipp.vfdnameplatehp"].value * 10) / 10 %> HP</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Motor RPM</td>
|
||||
<td><%= channels["vfdipp.vfdnameplaterpm"].value %> RPM</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Motor Frequency</td>
|
||||
<td><%= channels["vfdipp.vfdnameplatehz"].value %> Hz</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Motor Overload Current</td>
|
||||
<td><%= channels["vfdipp.vfdnameplateolcurrent"].value %> A</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Motor Volts</td>
|
||||
<td><%= channels["vfdipp.vfdnameplatevolts"].value %> V</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Motor Poles</td>
|
||||
<td><%= channels["vfdipp.vfdmotorpoles"].value %></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 box-me text-center">
|
||||
<h2>VFD SETTINGS</h2>
|
||||
<table class="table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Min. Frequency</td>
|
||||
<td><%= channels["vfdipp.vfdminfreq"].value %> Hz</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Max. Frequency</td>
|
||||
<td><%= channels["vfdipp.vfdmaxfreq"].value %> Hz</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Accel. Time</td>
|
||||
<td><%= channels["vfdipp.vfdacceltime"].value %> s.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Decel. Time</td>
|
||||
<td><%= channels["vfdipp.vfddeceltime"].value %> s.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Stop Mode</td>
|
||||
|
||||
<td>
|
||||
<% if (channels["vfdipp.vfdstopmode"].value == 0){ %>
|
||||
<span class="label label-success">Coast</span>
|
||||
<% } else if (channels["vfdipp.vfdstopmode"].value == 1){ %>
|
||||
<span class="label label-danger">Ramp</span>
|
||||
<% } else if (channels["vfdipp.vfdstopmode"].value == 2){ %>
|
||||
<span class="label label-danger">Ramp to Hold</span>
|
||||
<% } else if (channels["vfdipp.vfdstopmode"].value == 3){ %>
|
||||
<span class="label label-danger">DC Brake</span>
|
||||
<% } else if (channels["vfdipp.vfdstopmode"].value == 4){ %>
|
||||
<span class="label label-danger">DCBrkAutoOff</span>
|
||||
<% } else if (channels["vfdipp.vfdstopmode"].value == 5){ %>
|
||||
<span class="label label-danger">Current Limit</span>
|
||||
<% } else if (channels["vfdipp.vfdstopmode"].value == 6){ %>
|
||||
<span class="label label-danger">Fast Brake</span>
|
||||
<% } %>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Torque Perf. Mode</td>
|
||||
<td>
|
||||
<% if (channels["vfdipp.vfdtorqueperfmode"].value == 0){ %>
|
||||
<span class="label label-danger">V/Hz</span>
|
||||
<% } else if (channels["vfdipp.vfdtorqueperfmode"].value == 1){ %>
|
||||
<span class="label label-success">SVC</span>
|
||||
<% } else if (channels["vfdipp.vfdtorqueperfmode"].value == 2){ %>
|
||||
<span class="label label-danger">Economize</span>
|
||||
<% } else if (channels["vfdipp.vfdtorqueperfmode"].value == 3){ %>
|
||||
<span class="label label-danger">Vector</span>
|
||||
<% } %>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.box-me {
|
||||
position: relative;
|
||||
padding: 0.5em;
|
||||
padding-bottom: 1.5em;
|
||||
border: 1px solid #eee;
|
||||
/*margin: 1em 0;*/
|
||||
}
|
||||
.box-me .gauge-box {
|
||||
margin-top: -0.25em;
|
||||
}
|
||||
.box-me h2 {
|
||||
text-transform: uppercase;
|
||||
font-size: 14px;
|
||||
color: #666;
|
||||
font-weight: 400;
|
||||
letter-spacing: 1px;
|
||||
z-index: 100;
|
||||
}
|
||||
.dynamic-chart-form {
|
||||
background-color: whiteSmoke;
|
||||
padding: 1em 0.5em;
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
.row-flex {
|
||||
display: -webkit-box;
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.row-flex > [class*='col-'] {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
#systemStatusTimelineContainer h2 {
|
||||
text-transform: uppercase;
|
||||
font-size: 14px;
|
||||
color: #666;
|
||||
font-weight: 400;
|
||||
letter-spacing: 1px;
|
||||
z-index: 100;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user