Added Flexbox rows

This commit is contained in:
Patrick McDonagh
2016-03-04 14:50:13 -06:00
parent 8394567560
commit a9c901aae3
6 changed files with 504 additions and 221 deletions

View File

@@ -5,16 +5,18 @@
</div>
<br />
<div class="text-center"><h1>VFD CONFIGURATION</h1></div>
<div class="row">
<div class="row row-flex">
<div class='col-xs-12 text-center box-me'>
<h2>Motor Speed Reference (Hz)</h2>
<input class="form-control" data-channelId='<%= channels["vfdipp.vfdspeedref"].channelId %>'
data-techName='<%=channels["vfdipp.vfdspeedref"].techName %>'
data-name='<%= channels["vfdipp.vfdspeedref"].name %>'
data-val="<%=channels["vfdipp.vfdspeedref"].value %>"
type="number" step="any"
id="<%= channels["vfdipp.vfdspeedref"].channelId %>"
value="<%=channels["vfdipp.vfdspeedref"].value %>">
<div class="col-xs-6 col-xs-offset-3">
<h2>Motor Speed Reference (Hz)</h2>
<input class="form-control" data-channelId='<%= channels["vfdipp.vfdspeedref"].channelId %>'
data-techName='<%=channels["vfdipp.vfdspeedref"].techName %>'
data-name='<%= channels["vfdipp.vfdspeedref"].name %>'
data-val="<%=channels["vfdipp.vfdspeedref"].value %>"
type="number" step="any"
id="<%= channels["vfdipp.vfdspeedref"].channelId %>"
value="<%=channels["vfdipp.vfdspeedref"].value %>">
</div>
</div>
<div class='col-xs-4 text-center box-me'>
<h2>Start Command</h2>
@@ -148,6 +150,7 @@
<td>Max. Frequency (Hz)</td>
<td>
<input class="form-control" data-channelId='<%= channels["vfdipp.vfdmaxfreq"].channelId %>'
data-valueupdate="vfdmaxfreq"
data-techName='<%=channels["vfdipp.vfdmaxfreq"].techName %>'
data-name='<%= channels["vfdipp.vfdmaxfreq"].name %>'
data-val="<%=channels["vfdipp.vfdmaxfreq"].value %>"
@@ -187,19 +190,19 @@
<td>Stop Mode</td>
<td>
<% if (channels["vfdipp.vfdstopmode"].value == 0) { %>
<h2><span class="label label-success">Coast</span></h2>
<% }else if (channels["vfdipp.vfdstopmode"].value == 1) { %>
<h2><span class="label label-danger">Ramp</span></h2>
<% }else if (channels["vfdipp.vfdstopmode"].value == 2) { %>
<h2><span class="label label-danger">Ramp to Hold</span></h2>
<% }else if (channels["vfdipp.vfdstopmode"].value == 3) { %>
<h2><span class="label label-danger">DC Brake</span></h2>
<% }else if (channels["vfdipp.vfdstopmode"].value == 4) { %>
<h2><span class="label label-danger">DCBrkAutoOff</span></h2>
<% }else if (channels["vfdipp.vfdstopmode"].value == 5) { %>
<h2><span class="label label-danger">Current Limit</span></h2>
<% }else if (channels["vfdipp.vfdstopmode"].value == 6) { %>
<h2><span class="label label-danger">Fast Brake</span></h2>
<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>
@@ -208,13 +211,13 @@
<td>Torque Perf. Mode</td>
<td>
<% if (channels["vfdipp.vfdtorqueperfmode"].value == 0){ %>
<h2><span class="label label-danger">V/Hz</span></h2>
<span class="label label-danger">V/Hz</span>
<% } else if (channels["vfdipp.vfdtorqueperfmode"].value == 1){ %>
<h2><span class="label label-success">SVC</span></h2>
<span class="label label-success">SVC</span>
<% } else if (channels["vfdipp.vfdtorqueperfmode"].value == 2){ %>
<h2><span class="label label-danger">Economize</span></h2>
<span class="label label-danger">Economize</span>
<% } else if (channels["vfdipp.vfdtorqueperfmode"].value == 3){ %>
<h2><span class="label label-danger">Vector</span></h2>
<span class="label label-danger">Vector</span>
<% } %>
</td>
</tr>
@@ -224,7 +227,7 @@
</div>
<div class="text-center"><h1>DOWNHOLE CONFIGURATION</h1></div>
<div class="row">
<div class="row row-flex">
<div class='col-xs-12 text-center box-me'>
<h2>Downhole Sensor Enabled</h2>
<input type="toggle" data-checkedValue="1" data-uncheckedValue="0" data-valueupdate="downholetoolenabled" data-channelId='<%= channels["vfdipp.downholetoolenabled"].channelId %>' data-techName='<%=channels["vfdipp.downholetoolenabled"].techName %>' data-name='vfdipp.downholetoolenabled' id="<%= channels["vfdipp.downholetoolenabled"].channelId %>" name="<%= channels["vfdipp.downholetoolenabled"].channelId %>">
@@ -330,7 +333,7 @@
</div>
</div>
<div class="text-center"><h1>PRESSURE TRANSDUCER CONFIGURATION</h1></div>
<div class="row">
<div class="row row-flex">
<div class='col-xs-12 text-center box-me'>
<h2>Tubing Pressure Transducer Enabled</h2>
<input type="toggle" data-checkedValue="1" data-uncheckedValue="0" data-valueupdate="tubingpressuretransducerenabled" data-channelId='<%= channels["vfdipp.tubingpressuretransducerenabled"].channelId %>' data-techName='<%=channels["vfdipp.tubingpressuretransducerenabled"].techName %>' data-name='vfdipp.tubingpressuretransducerenabled' id="<%= channels["vfdipp.tubingpressuretransducerenabled"].channelId %>" name="<%= channels["vfdipp.tubingpressuretransducerenabled"].channelId %>">
@@ -440,45 +443,53 @@
</form>
<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 {
position: relative;
padding: 0.5em;
padding-bottom: 1.5em;
border: 1px solid #eee;
/*margin: 1em 0;*/
}
.box-me .gauge-box {
margin-top: -0.25em;
}
.pad15 {
margin: 15px 15px;
}
.pad15 {
margin: 15px 15px;
}
.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;
}
.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;
}
.row {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
flex-wrap: wrap;
}
.row > [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;
}
#systemStatusTimelineContainer h2 {
text-transform: uppercase;
font-size: 14px;
color: #666;
font-weight: 400;
letter-spacing: 1px;
z-index: 100;
}
</style>

View File

@@ -1,37 +1,39 @@
<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>
<% if (channels["vfdipp.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>
<% } %>
<div class="text-center"><h1>LIVE VALUES</h1></div>
<div class='row overview'>
<div class='col-xs-4 text-center'>
<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="gauge1" 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>
<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>
</div>
<div class='col-xs-4 text-center'>
<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="gauge1" 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>
<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>
</div>
<div class='col-xs-4 text-center'>
<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="gauge4" data-chart="solidgauge" data-nodename="vfdipp.dhintaketemperature" data-units="&deg;F" data-min="0" data-max="200" 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="vfdipp.dhintaketemperature" data-units="&deg;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>
</div>
<div class='col-xs-4 text-center fill-vertically'>
<div class='col-xs-4 text-center box-me'>
<h2>Instrument Status</h2>
<div class="gauge-box">
<h1 data-valueupdate="dhdownholestatusint">
@@ -50,7 +52,7 @@
</div>
</div>
<div class='col-xs-4 text-center fill-vertically'>
<div class='col-xs-4 text-center box-me'>
<h2>MAX VALUES</h2>
<div class="gauge-box">
<table class="table">
@@ -82,7 +84,7 @@
</div>
<div class="text-center"><h1>TRENDS</h1></div>
<div class="row overview">
<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">
@@ -98,8 +100,8 @@
</div>
<div class="text-center"><h1>CONFIGURATION</h1></div>
<div class="row overview">
<div class='col-xs-4 text-center fill-vertically'>
<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">
@@ -141,7 +143,7 @@
</div>
</div>
<div class='col-xs-4 text-center fill-vertically'>
<div class='col-xs-4 text-center box-me'>
<h2>Temperature Trip</h2>
<div class="gauge-box">
<table class="table">
@@ -183,7 +185,7 @@
</div>
</div>
<div class='col-xs-4 text-center fill-vertically'>
<div class='col-xs-4 text-center box-me'>
<h2>Sensor Info.</h2>
<div class="gauge-box">
<table class="table">
@@ -216,44 +218,52 @@
</div>
<style>
.overview .col-xs-4 {
position: relative;
padding: 0.5em;
padding-bottom: 1.5em;
border: 1px solid #eee;
/*margin: 1em 0;*/
}
.overview .gauge-box {
margin-top: -0.25em;
}
.overview 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;
}
.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;
}
.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;
}
.mar15 {
margin: 15px 15px;
}
#systemStatusTimelineContainer h2 {
text-transform: uppercase;
font-size: 14px;
color: #666;
font-weight: 400;
letter-spacing: 1px;
z-index: 100;
}
#systemStatusTimelineContainer h2 {
text-transform: uppercase;
font-size: 14px;
color: #666;
font-weight: 400;
letter-spacing: 1px;
z-index: 100;
}
</style>

View File

@@ -1,4 +1,4 @@
<div class='row overview'>
<div class='row row-flex box-me'>
<div class='col-xs-4 text-center'>
<h2>Motor Speed</h2>
<div class="gauge-box">
@@ -13,7 +13,7 @@
<% if (channels["vfdipp.downholetoolenabled"].value == 1) {%>
<div class='row overview'>
<div class='row row-flex box-me'>
<div class='col-xs-4 text-center'>
<h2>Downhole Pressure</h2>
<div class="gauge-box">
@@ -26,7 +26,7 @@
</div>
</div>
<div class='row overview'>
<div class='row row-flex box-me'>
<div class='col-xs-4 text-center'>
<h2>Downhole Temperature</h2>
<div class="gauge-box">
@@ -42,7 +42,7 @@
<% if (channels["vfdipp.tubingpressuretransducerenabled"].value == 1) {%>
<div class='row overview'>
<div class='row row-flex box-me'>
<div class='col-xs-4 text-center'>
<h2>Downhole Pressure</h2>
<div class="gauge-box">
@@ -57,7 +57,7 @@
<% } %>
<div class='row overview'>
<div class='row row-flex box-me'>
<div class='col-xs-4 text-center'>
<h2>Output Current</h2>
<div class="gauge-box">
@@ -70,7 +70,7 @@
</div>
</div>
<div class='row overview'>
<div class='row row-flex box-me'>
<div class='col-xs-4 text-center'>
<h2>Output Voltage</h2>
<div class="gauge-box">
@@ -83,7 +83,7 @@
</div>
</div>
<div class='row overview'>
<div class='row row-flex box-me'>
<div class='col-xs-4 text-center'>
<h2>DC Bus Voltage</h2>
<div class="gauge-box">
@@ -97,21 +97,22 @@
</div>
<style>
.overview .col-xs-4 {
position: relative;
padding: 0.5em;
padding-bottom: 1.5em;
/*margin: 1em 0;*/
.box-me {
position: relative;
padding: 0.5em;
padding-bottom: 1.5em;
border: 1px solid #eee;
/*margin: 1em 0;*/
}
.row {
border: 1px solid #eee;
.box-me .gauge-box {
margin-top: -0.25em;
}
.overview .gauge-box {
margin-top: -0.25em;
.pad15 {
margin: 15px 15px;
}
.overview h2 {
.box-me h2 {
text-transform: uppercase;
font-size: 14px;
color: #666;
@@ -120,8 +121,29 @@
z-index: 100;
}
.dynamic-chart-form {
background-color: whiteSmoke;
padding: 1em 0.5em;
margin-top: 1em;
}
background-color: whiteSmoke;
padding: 1em 0.5em;
margin-top: 1em;
}
.row {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
flex-wrap: wrap;
}
.row > [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>

View File

@@ -1,17 +1,106 @@
<div class="text-center"><h1>LIVE VALUES</h1></div>
<div class='row'>
<div class='col-xs-6 text-center box-me'>
<h2>Start Permissive</h2>
<h2>
<% if (channels["vfdipp.startpermissive"].value == 1){ %>
<span class="label label-success">OK</span>
<% } else { %>
<span class="label label-danger">NOT OK</span>
<% } %>
</h2>
<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='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["vfdipp.startpermissive"].value == 1){ %>
<span class="label label-success">OK</span>
<% } else { %>
<span class="label label-danger">NOT OK</span>
<% } %>
</h2>
</td>
</tr>
<tr>
<td>VFD</td>
<td>
@@ -70,18 +159,26 @@
</table>
</div>
</div>
<div class='col-xs-6 text-center box-me'>
<h2>Run Permissive</h2>
<h2>
<% if (channels["vfdipp.runpermissive"].value == 1){ %>
<span class="label label-success">OK</span>
<% } else { %>
<span class="label label-danger">NOT OK</span>
<% } %>
</h2>
<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["vfdipp.runpermissive"].value == 1){ %>
<span class="label label-success">OK</span>
<% } else { %>
<span class="label label-danger">NOT OK</span>
<% } %>
</h2>
</td>
</tr>
<tr>
<td>VFD</td>
<td>
@@ -152,6 +249,32 @@
</div>
</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 {
position: relative;
@@ -189,4 +312,16 @@
letter-spacing: 1px;
z-index: 100;
}
.row {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
flex-wrap: wrap;
}
.row > [class*='col-'] {
display: flex;
flex-direction: column;
}
</style>

View File

@@ -9,7 +9,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.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="vfdipp.vfdoutputcurrent,vfdipp.vfdspeedref,vfdipp.vfdspeedfdbk,vfdipp.dhintakepressure,vfdipp.dhintaketemperature,vfdipp.tubingpressure,vfdipp.vfddcbusvoltage,vfdipp.vfdoutputvoltage"></div>
<style>
.dynamic-chart-form {
background-color: whiteSmoke;

View File

@@ -1,41 +1,41 @@
<div class="text-center"><h1>LIVE VALUES</h1></div>
<div class='row overview'>
<div class='col-xs-4 text-center'>
<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'>
<!-- <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'>
<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'>
<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'>
<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 fill-vertically'>
<div class='col-xs-4 text-center box-me'>
<h2>VFD Status</h2>
<div class="gauge-box">
<table class="table">
@@ -87,7 +87,7 @@
</table>
</div>
</div>
<div class='col-xs-4 text-center fill-vertically'>
<div class='col-xs-4 text-center box-me'>
<h2>VFD Faults</h2>
<div class="gauge-box">
<table class="table">
@@ -105,7 +105,105 @@
<tr>
<td>VFD Fault Code</td>
<td><%= channels["vfdipp.vfdfaultcode"].value %></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>
@@ -116,7 +214,7 @@
</div>
<div class="text-center"><h1>TRENDS</h1></div>
<div class="row overview">
<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">
@@ -132,8 +230,8 @@
</div>
<div class="text-center"><h1>CONFIGURATION</h1></div>
<div class="row overview">
<div class="col-md-6">
<div class="row row-flex">
<div class="col-md-6 box-me text-center">
<h2>MOTOR NAMEPLATE DATA</h2>
<table class="table">
<tbody>
@@ -175,7 +273,7 @@
</table>
</div>
<div class="col-md-6">
<div class="col-md-6 box-me text-center">
<h2>VFD SETTINGS</h2>
<table class="table">
<tbody>
@@ -204,19 +302,19 @@
<td>
<% if (channels["vfdipp.vfdstopmode"].value == 0){ %>
<h2><span class="label label-success">Coast</span></h2>
<span class="label label-success">Coast</span>
<% } else if (channels["vfdipp.vfdstopmode"].value == 1){ %>
<h2><span class="label label-danger">Ramp</span></h2>
<span class="label label-danger">Ramp</span>
<% } else if (channels["vfdipp.vfdstopmode"].value == 2){ %>
<h2><span class="label label-danger">Ramp to Hold</span></h2>
<span class="label label-danger">Ramp to Hold</span>
<% } else if (channels["vfdipp.vfdstopmode"].value == 3){ %>
<h2><span class="label label-danger">DC Brake</span></h2>
<span class="label label-danger">DC Brake</span>
<% } else if (channels["vfdipp.vfdstopmode"].value == 4){ %>
<h2><span class="label label-danger">DCBrkAutoOff</span></h2>
<span class="label label-danger">DCBrkAutoOff</span>
<% } else if (channels["vfdipp.vfdstopmode"].value == 5){ %>
<h2><span class="label label-danger">Current Limit</span></h2>
<span class="label label-danger">Current Limit</span>
<% } else if (channels["vfdipp.vfdstopmode"].value == 6){ %>
<h2><span class="label label-danger">Fast Brake</span></h2>
<span class="label label-danger">Fast Brake</span>
<% } %>
</td>
</tr>
@@ -225,57 +323,64 @@
<td>Torque Perf. Mode</td>
<td>
<% if (channels["vfdipp.vfdtorqueperfmode"].value == 0){ %>
<h2><span class="label label-danger">V/Hz</span></h2>
<span class="label label-danger">V/Hz</span>
<% } else if (channels["vfdipp.vfdtorqueperfmode"].value == 1){ %>
<h2><span class="label label-success">SVC</span></h2>
<span class="label label-success">SVC</span>
<% } else if (channels["vfdipp.vfdtorqueperfmode"].value == 2){ %>
<h2><span class="label label-danger">Economize</span></h2>
<span class="label label-danger">Economize</span>
<% } else if (channels["vfdipp.vfdtorqueperfmode"].value == 3){ %>
<h2><span class="label label-danger">Vector</span></h2>
<span class="label label-danger">Vector</span>
<% } %>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<style>
.overview .col-xs-4 {
position: relative;
padding: 0.5em;
padding-bottom: 1.5em;
border: 1px solid #eee;
/*margin: 1em 0;*/
}
.overview .gauge-box {
margin-top: -0.25em;
}
.overview 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;
}
.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;
}
.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;
}
#systemStatusTimelineContainer h2 {
text-transform: uppercase;
font-size: 14px;
color: #666;
font-weight: 400;
letter-spacing: 1px;
z-index: 100;
}
</style>