Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4283f32d33 | |||
| 0e233f5f2d | |||
| 116efb58b5 | |||
| a72456a770 | |||
| d0531476d3 | |||
| 8d9f23ba70 | |||
| 43b32c6b8c | |||
| 3aebe55260 |
+21
-12
@@ -40,10 +40,18 @@ if redSrv0.get('SETTINGS:LOG:FREQ') is None:
|
||||
redSrv0.set('SETTINGS:LOG:FREQ', 100)
|
||||
if redSrv0.get('SETTINGS:DECIMALS:COUNT') is None:
|
||||
redSrv0.set('SETTINGS:DECIMALS:COUNT',1)
|
||||
if redSrv0.get('RTDATA:VALUE:K1CONST') is None:
|
||||
redSrv0.set('RTDATA:VALUE:K1CONST', 0)
|
||||
if redSrv0.get('RTDATA:VALUE:K6CONST') is None:
|
||||
redSrv0.set('RTDATA:VALUE:K6CONST', 0)
|
||||
if redSrv0.get('RTDATA:VALUE:K5CONST') is None:
|
||||
redSrv0.set('RTDATA:VALUE:K5CONST', 0)
|
||||
if redSrv0.get('RTDATA:VALUE:K4CONST') is None:
|
||||
redSrv0.set('RTDATA:VALUE:K4CONST', 0)
|
||||
if redSrv0.get('RTDATA:VALUE:K3CONST') is None:
|
||||
redSrv0.set('RTDATA:VALUE:K3CONST', 0)
|
||||
if redSrv0.get('RTDATA:VALUE:K2CONST') is None:
|
||||
redSrv0.set('RTDATA:VALUE:K2CONST', 1)
|
||||
redSrv0.set('RTDATA:VALUE:K2CONST', 0)
|
||||
if redSrv0.get('RTDATA:VALUE:K1CONST') is None:
|
||||
redSrv0.set('RTDATA:VALUE:K1CONST', 1)
|
||||
if redSrv0.get('RTDATA:VALUE:OFFSET') is None:
|
||||
redSrv0.set('RTDATA:VALUE:OFFSET', 0)
|
||||
if redSrv0.get('SETTINGS:POWER:UPTIME') is None:
|
||||
@@ -180,8 +188,12 @@ def calculateValue():
|
||||
ch2 = getRedisVal('SETTINGS:CHANNEL:B')
|
||||
v1 = getRedisVal('RTDATA:OUT:' + ch1)
|
||||
v2 = getRedisVal('RTDATA:OUT:' + ch2)
|
||||
k1 = getRedisVal('RTDATA:VALUE:K1CONST')
|
||||
k6 = getRedisVal('RTDATA:VALUE:K6CONST')
|
||||
k5 = getRedisVal('RTDATA:VALUE:K5CONST')
|
||||
k4 = getRedisVal('RTDATA:VALUE:K4CONST')
|
||||
k3 = getRedisVal('RTDATA:VALUE:K3CONST')
|
||||
k2 = getRedisVal('RTDATA:VALUE:K2CONST')
|
||||
k1 = getRedisVal('RTDATA:VALUE:K1CONST')
|
||||
offset = getRedisVal('RTDATA:VALUE:OFFSET')
|
||||
den = abs(float(v1)-float(v2))
|
||||
if(den < 0.05):
|
||||
@@ -203,16 +215,13 @@ def calculateValue():
|
||||
strValInRaw = (XVal/eFact) + (oldValRaw * (eFact-1) / eFact)
|
||||
redSrv0.set('RTDATA:VALUE:SMRAW',round(strValInRaw,decimalsCount))
|
||||
|
||||
# applicazione correzioni (costanti k1*x^2, k2*x e offset)
|
||||
newValue = (float(k1)*float(XVal)*float(XVal))+(float(k2)*float(XVal))+float(offset)
|
||||
# applicazione correzioni fino al quinto grado (costanti k e offset)
|
||||
newValue = (float(k6)*pow(float(XVal),6)) + (float(k5)*pow(float(XVal),5)) + (float(k4)*pow(float(XVal),4)) + (float(k3)*pow(float(XVal),3)) + (float(k2)*pow(float(XVal),2)) + (float(k1)*float(XVal)) + float(offset)
|
||||
|
||||
#salvo in redis nuovo valore corretto e arrotondato
|
||||
redSrv0.set('RTDATA:VALUE:REAL',round(newValue,decimalsCount))
|
||||
#if(newValue > 0):
|
||||
# redSrv0.set('RTDATA:VALUE:REAL',round(newValue,decimalsCount))
|
||||
#else:
|
||||
# newValue = 300
|
||||
# redSrv0.set('RTDATA:VALUE:REAL',round(newValue,decimalsCount))
|
||||
|
||||
# Smoothing EWMA valori corretti (fattori k1 k2)
|
||||
# Smoothing EWMA valori corretti
|
||||
strValIn = newValue
|
||||
# EWMA: RILEGGO DA REDIS vecchio valore
|
||||
oldVal = float(redSrv0.get('RTDATA:VALUE:SMOOTHED'))
|
||||
|
||||
+15
-3
@@ -160,8 +160,12 @@ def api_channels_current():
|
||||
#funzione legge direttamente da redis, ritorna jsonify
|
||||
result = {
|
||||
'numCh' : numCh,
|
||||
'CostanteK1' : getRedisVal('RTDATA:VALUE:K1CONST'),
|
||||
'CostanteK6' : getRedisVal('RTDATA:VALUE:K6CONST'),
|
||||
'CostanteK5' : getRedisVal('RTDATA:VALUE:K5CONST'),
|
||||
'CostanteK4' : getRedisVal('RTDATA:VALUE:K4CONST'),
|
||||
'CostanteK3' : getRedisVal('RTDATA:VALUE:K3CONST'),
|
||||
'CostanteK2' : getRedisVal('RTDATA:VALUE:K2CONST'),
|
||||
'CostanteK1' : getRedisVal('RTDATA:VALUE:K1CONST'),
|
||||
'Offset' : getRedisVal('RTDATA:VALUE:OFFSET'),
|
||||
'CalcUMeasure' : getRedisVal('RTDATA:VALUE:UMEASURE'),
|
||||
'SmoothFact' : getRedisVal('SETTINGS:SMOOTHING:FACTOR'),
|
||||
@@ -442,10 +446,18 @@ def setDecimalsCount():
|
||||
@flaskApp.route("/api/v1/kconst", methods=['POST'])
|
||||
def setKConst():
|
||||
#scrive su redis la costante K
|
||||
newK1Const = request.form['K1Const']
|
||||
redSrv0.set('RTDATA:VALUE:K1CONST', newK1Const)
|
||||
newK6Const = request.form['K6Const']
|
||||
redSrv0.set('RTDATA:VALUE:K6CONST', newK6Const)
|
||||
newK5Const = request.form['K5Const']
|
||||
redSrv0.set('RTDATA:VALUE:K5CONST', newK5Const)
|
||||
newK4Const = request.form['K4Const']
|
||||
redSrv0.set('RTDATA:VALUE:K4CONST', newK4Const)
|
||||
newK3Const = request.form['K3Const']
|
||||
redSrv0.set('RTDATA:VALUE:K3CONST', newK3Const)
|
||||
newK2Const = request.form['K2Const']
|
||||
redSrv0.set('RTDATA:VALUE:K2CONST', newK2Const)
|
||||
newK1Const = request.form['K1Const']
|
||||
redSrv0.set('RTDATA:VALUE:K1CONST', newK1Const)
|
||||
newOffset = request.form['Offset']
|
||||
redSrv0.set('RTDATA:VALUE:OFFSET', newOffset)
|
||||
redSrv0.save()
|
||||
|
||||
@@ -25,9 +25,9 @@
|
||||
<h4>FTLogger</h4>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
Egalware 2022
|
||||
Egalware 2023
|
||||
<br>
|
||||
Ver 1.6.2
|
||||
Ver 1.7.1
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
@@ -32,8 +32,12 @@
|
||||
$("#MaxOut").val(result.MaxOut);
|
||||
$("#MinIn").val(result.MinIn);
|
||||
$("#MaxIn").val(result.MaxIn);
|
||||
$("#K1Const").val(result.CostanteK1);
|
||||
$("#K6Const").val(result.CostanteK6);
|
||||
$("#K5Const").val(result.CostanteK5);
|
||||
$("#K4Const").val(result.CostanteK4);
|
||||
$("#K3Const").val(result.CostanteK3);
|
||||
$("#K2Const").val(result.CostanteK2);
|
||||
$("#K1Const").val(result.CostanteK1);
|
||||
$("#Offset").val(result.Offset);
|
||||
$("#CurrentFolder").html(result.CurrentWorkFolder);
|
||||
$("#UniMisura").val(result.UniMisura);
|
||||
@@ -358,15 +362,33 @@
|
||||
<div class="card my-2 col-12">
|
||||
<div class="row card-header">
|
||||
<i class="fas fa-table mr-1"></i>
|
||||
<strong>Valori per calcolo risultante = k1*x^2 + k2*x + offset</strong>
|
||||
<strong>Setup k6*x^6 + k5*x^5 + k4*x^4 + k3*x^3 + k2*x^2 + k1*x + offset</strong>
|
||||
</div>
|
||||
<div class="card-body row">
|
||||
<form class="col-12" method="POST" action="/api/v1/kconst">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">Costante k1: </span>
|
||||
<span class="input-group-text">Costante k6: </span>
|
||||
</div>
|
||||
<input type="number" step="0.0000001" class="form-control" id="K1Const" name="K1Const"></input>
|
||||
<input type="number" step="0.0000001" class="form-control" id="K6Const" name="K6Const"></input>
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">Costante k5: </span>
|
||||
</div>
|
||||
<input type="number" step="0.0000001" class="form-control" id="K5Const" name="K5Const"></input>
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">Costante k4: </span>
|
||||
</div>
|
||||
<input type="number" step="0.0000001" class="form-control" id="K4Const" name="K4Const"></input>
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">Costante k3: </span>
|
||||
</div>
|
||||
<input type="number" step="0.0000001" class="form-control" id="K3Const" name="K3Const"></input>
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
@@ -376,7 +398,13 @@
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">Offset o: </span>
|
||||
<span class="input-group-text">Costante k1: </span>
|
||||
</div>
|
||||
<input type="number" step="0.0000001" class="form-control" id="K1Const" name="K1Const"></input>
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">Offset: </span>
|
||||
</div>
|
||||
<input type="number" step="0.0000001" class="form-control" id="Offset" name="Offset"></input>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user