4.6.7.1 Custom-Logik: Sensorauswertung mit Polynomfunktionen

Beschreibung: Auswertung des Sensors DS2438 mittels Custom-Logik

Kategorie: Logiken

Link zu diesem Beitrag: Alles auswählen

[url=https://forum.timberwolf.io/app.php/kb/viewarticle?a=85&sid=e426cabb9ab1c9a3c9ebfcacda84dd9b]Knowledge Base - 4.6.7.1 Custom-Logik: Sensorauswertung mit Polynomfunktionen[/url]

Folgende Gleichung soll mittels Logik ausgewertet werden:
(157,2327 * (VAD / VDD) - 23,82) / (1.0546 - 0.00216 * TEMP)


Zur Auswertung dieser Gleichung werden die Module "Polynomial" und "Ratio" verwendet.

Code: Alles auswählen

{
    "Level": [
        ["$VAD_In","float",2.0],
        ["$VDD_In","float",5.0],
        ["$VAD_Rel","float",0.4],
        ["$V_Offset","float",-23.82],
        ["$V_Gradient","float",157.2327],
        ["$V_Part","float",39.07],
        ["$TEMP_IN","float",20.0],
        ["$TEMP_Offset","float",1.0546],
        ["$TEMP_Gradient","float",-0.00216],
        ["$TEMP_Part","float",39.07],
        ["$Result","float",47.11]
    ],
    "Module": [
        ["Ratio","$VAD_In","$VAD_Rel","$VDD_In"],
        ["Polynomial","$VAD_Rel","$V_Part",["$V_Offset","$V_Gradient"]],
        ["Polynomial","$TEMP_IN","$TEMP_Part",["$TEMP_Offset","$TEMP_Gradient"]],
        ["Ratio","$V_Part","$Result","$TEMP_Part"]
    ],
    "Input": [
        ["VAD","Messspannung","$VAD_In","c"],
        ["VDD","Referenz-/Versorgungsspannung","$VDD_In","c"],
        ["TEMP","Temperatur","$TEMP_IN","c"],
        ["Offset V","Offset des Spannungsanteils","$V_Offset","c"],
        ["Steigung V","Steigung des Spannungsanteils","$V_Gradient","c"],
        ["Offset T","Offset des Temperaturanteils","$TEMP_Offset","c"],
        ["Steigung T","Steigung des Temperaturanteils","$TEMP_Gradient","c"]
    ],
    "Output": [
        ["Erbebnis","Resultierende Messgröße","$Result","c"]
    ]
}
Die daraus generierte Logikzelle sieht wie folgt aus:
Bild

Jetzt nur noch die richtigen (1W-)Objekte mittels DOS oder Objekt-Verwaltung an die Ein-/Ausgänge verbinden - fertig.