Aktivitätszählmodul "uptime"
Beschreibung
Das "uptime" Modul konsumiert einen bestimmten Satz von Eingangskanälen, wendet ein Prädikat auf ihre Kanalwerte an und summiert die Zeiträume, für die das Prädikat erfüllt ist. Die aufsummierten Zeiträume werden dann in einer entsprechenden persistenten Datei gespeichert und zusätzlich in Form von Kanälen produziert.
Verwendete Schnittstellen und Protokolle
KEINE
JSON-Konfigurationsbeispiel (Demo)
Der folgende Abschnitt zeigt eine Demokonfiguration des Moduls.
{
"module":"Uptime",
"factory": "uptime",
"config":{
"fileName": "/sdi/log/uptimes.ini",
"pollingIntervalMs": 1000,
"writeIntervalMs":5000,
"reproductionTimeoutMs":60000,
"triggerChannels":[
{
"inputChannel":"ch_trigger_sawtooth_int64",
"outputChannel":"ch_trigger_sawtooth_int64_and2_ch",
"countIf": "&2"
},
{
"inputChannel":"ch_trigger_sawtooth_int64",
"outputChannel":"ch_trigger_sawtooth_int64_and4_ch",
"countIf": "&4"
},
{
"inputChannel":"ch_trigger_sawtooth_int64",
"outputChannel":"ch_trigger_sawtooth_int64_andoct8_ch",
"countIf": "&010"
},
{
"inputChannel":"ch_trigger_sawtooth_int64",
"outputChannel":"ch_trigger_sawtooth_int64_andhex16_ch",
"countIf": "&0xA"
},
{
"inputChannel":"ch_trigger_sawtooth_int64",
"outputChannel":"ch_trigger_sawtooth_int64_andbinary4_ch",
"countIf": "&0b100"
},
{
"inputChannel":"ch_trigger_sawtooth_int64",
"outputChannel":"ch_trigger_sawtooth_int64_andbinary4or1_ch",
"countIf": "&0b101"
},
{
"inputChannel":"ch_trigger",
"outputChannel":"ch_trigger_outputChannel",
"offset":-10
},
{
"inputChannel":"ch_trigger",
"outputChannel": "ch_trigger_outputChannel_RENAMED_CHANNEL"
},
{
"inputChannel":"ch_trigger_sawtooth",
"outputChannel":"ch_trigger_sawtooth_lessThan_90_channel",
"countIf": "<90,0"
},
{
"inputChannel":"ch_trigger_sawtooth",
"outputChannel":"ch_trigger_sawtooth_lessOrEqual_90_channel",
"countIf": "<=90"
},
{
"inputChannel":"ch_trigger_sawtooth",
"outputChannel":"ch_trigger_sawtooth_greaterThan_130_channel",
"countIf": ">130"
},
{
"inputChannel":"ch_trigger_sawtooth",
"outputChannel":"ch_trigger_sawtooth_greaterOrEqual_130_channel",
"countIf":">=130.0"
},
{
"inputChannel":"ch_trigger_sawtooth",
"outputChannel":"ch_trigger_sawtooth_inRangeExclusive_90_130_channel",
"countIf": "90.0~130"
},
{
"inputChannel":"ch_trigger_sawtooth",
"outputChannel":"ch_trigger_sawtooth_inRangeInclusive_90_130_channel",
"countIf": "90=~=130.0"
},
{
"inputChannel":"ch_trigger_sawtooth",
"outputChannel":"ch_trigger_sawtooth_notInRangeExclusive_90_130_channel",
"countIf": "90.!~130"
},
{
"inputChannel":"ch_trigger_sawtooth",
"outputChannel":"ch_trigger_sawtooth_notInRangeInclusive_90_130_channel",
"countIf": "90=!~=130."
},
{
"inputChannel":"ch_trigger_sawtooth",
"outputChannel":"ch_trigger_sawtooth_equal_110_channel",
"countIf":"==110."
},
{
"inputChannel":"ch_trigger_sawtooth",
"outputChannel":"ch_trigger_sawtooth_notEqual_110_channel",
"countIf":"!=110."
}
]
}
}
Modulparameter
Parametername | Erforderlich | Datentyp | Sinnvoller Wertebereich | Default | Beschreibung |
---|---|---|---|---|---|
fileName | Nein | STRING | gültiger beschreibbarer Dateipfad | "/sdi/config/uptimes.ini" | Pfad zur persistenten Datei, in der die Zählerstände gespeichert werden |
pollingIntervalMs | Nein | INT | 1000 (1 s) | Intervall [ms] für die periodische Auswertung der Zählprädikate | |
writeIntervalMs | Nein | INT | 60000 (60 s) | Intervall [ms] für die Aktualisierung der Zählerstände innerhalb der persistenten Datei | |
reproductionTimeoutMs | Nein | INT | 60000 (60 s) | Timeout [ms] für die unbedingte Produktion der resultierenden Zählerkanäle, wenn keine Zähleraktualisierung erfolgt ist | |
triggerChannels | JA | JSON Array von JSON Objekten | siehe unten | Konfiguration der zu überwachenden Kanäle sowie ihrer Zählerkanäle |
Konfiguration der "triggerChannels"
Parametername | Erforderlich | Datentyp | Sinnvoller Wertebereich | Default | Beschreibung |
---|---|---|---|---|---|
inputChannel | JA | STRING | gültiger Kanalname | überwachter Kanal | |
outputChannel | JA | STRING | Zählerkanal des überwachten Kanals | ||
offset | Nein | INT | 0 | ein zusätzlicher Offset, der zum CounterChannel-Wert addiert wird | |
countIf | Nein | STRING | inputChannel-Wert wird als wahr interpretiert | ein optionales Prädikat, das den Wert von inputChannel in einen booleschen Wert umwandelt (siehe unten) |
Konfiguration des Prädikats "countIf"
Das Prädikat kann mit den folgenden Notationen definiert werden
Prädikattyp | Prädikatsbeispiele | Beschreibung |
---|---|---|
Bitweises & | "&2", "&010", "&0xf0", "&0b10010" | Bitweise Konjunktion des Wertes des überwachten (ganzzahligen) Kanals, z. B. zur Zustandsüberwachung von Bitmasken. Dezimal-, Oktal-, Hexadezimal- und Binärdarstellungen werden unterstützt (von links nach rechts dargestellt) |
Wahrer Vergleich < , > | "<70.0", ">90" | Wahrer Vergleich des Wertes des überwachten Kanals |
Vergleich <= , >= | "<=70.0", ">=90" | Vergleich des Wertes des überwachten Kanals |
Vergleich auf innerhalb des Bereichs liegend ~ | "7~10", "7=~10", "7~=10", "7=~=10" | Vergleich auf Zugehörigkeit zum Bereich für die Bereiche 7-10, ausschließlich 7 und 10, ausschließlich 10, ausschließlich 7, einschließlich 7 und 10 (dargestellt von links nach rechts) |
Vergleich auf außerhalb des Bereichs liegend !~ | "7!~10", "7=!~10", "7!~=10", "7=!~=10" | Vergleich auf nicht-vorhandene Zugehörigkeit zum Bereich 7–10, ausschließlich 7 und 10, ausschließlich 10, ausschließlich 7, einschließlich 7 und 10 (dargestellt von links nach rechts) |
Gleichheit == und Ungleichheit != | "==42", "!=7.0" | Überprüfung des überwachten Kanals auf Gleichheit oder Ungleichheit |
Rücksetzung der Zählerstände (Reset) über SCPI
Die Zählerstände können über die SCPI Aktion UPTIME:SET
zurückgesetzt bzw. geändert werden.
Parameter
Optional | Parameter | Datentyp | Wertebereich | Bedeutung |
---|---|---|---|---|
Nein | Name | STRING | Name des Zählers | |
Nein | Zählerstand | INT | Neu zugewiesener Zählerstand |
Rückgabe
OK bzw. ERR
Beispiel
< uptime:set counter,42
> OK
Rücksetzung der Zählerstände (Reset) über RPC
Die Zählerstände können über den Remote Procedure Call [$Modulinstanz]::setCounter
in optiCloud zurückgesetzt bzw. geändert werden.
Parameter
Optional | Parameter | Datentyp | Wertebereich | Bedeutung |
---|---|---|---|---|
Nein | counterVariable | STRING | Der Kanalname des Counters, welcher geändert werden soll. | |
Nein | counterValue | INT | 0 - * | Der Wert, auf den der Counter gesetzt werden soll. |
Beispiel
RPC Methode: [uptime0]::setCounter
RPC Parameter:
{
"counterVariable": "SawToothExceed70_Time",
"counterValue": 0
}
Modulinformationen
Informationen | Wert |
---|---|
Autor | optiMEAS Measurement and Automation Systems GmbH |
seit smartCORE | 0,143 |
Modultyp | Consumer / Producer |
Abhängigkeiten | zu überwachende Kanäle |