NEWS
Fehlerauswertung 12 Grup. je 8-12 Meld. und Push
-
Hallo
ich habe folgendes vor
Objekte werden per Modbus ausgelesen und die 12 Fehlergruppen hab ich schon angelegt und kommen alle aktuell mit der Zahl 0 an, soweit gut12 Fehlergruppen mit je 8-12 Fehlernummern und Texte
z.B.
Gruppe 1
0 = alles okay
1 = Spannung Niedrig
2 = Spannung Hoch
4 =
8 =
16 = / 32 / 64 / 128 / 256 / 512 / 1024 / 2048
uswGruppe 2
0 = alles okay
1 = PV fehler y
2 = PV fehler x
usw
Gruppe 3 / Gruppe 4 / Gruppe 5 usw genauso aufgebaut bis Gruppe 12jetzt die Frage muss ich jede Gruppe Auswerten, wenn die Fehlernummer kommt sende mir den Text als Push?
das würde 12x Blockly bedeuten
oder geht so was einfacher in einem etwas größeren BlocklyDanke schon mal für eine Idee oder Richtung wie ich vorgehen könnte.
-
Hallo
ich habe folgendes vor
Objekte werden per Modbus ausgelesen und die 12 Fehlergruppen hab ich schon angelegt und kommen alle aktuell mit der Zahl 0 an, soweit gut12 Fehlergruppen mit je 8-12 Fehlernummern und Texte
z.B.
Gruppe 1
0 = alles okay
1 = Spannung Niedrig
2 = Spannung Hoch
4 =
8 =
16 = / 32 / 64 / 128 / 256 / 512 / 1024 / 2048
uswGruppe 2
0 = alles okay
1 = PV fehler y
2 = PV fehler x
usw
Gruppe 3 / Gruppe 4 / Gruppe 5 usw genauso aufgebaut bis Gruppe 12jetzt die Frage muss ich jede Gruppe Auswerten, wenn die Fehlernummer kommt sende mir den Text als Push?
das würde 12x Blockly bedeuten
oder geht so was einfacher in einem etwas größeren BlocklyDanke schon mal für eine Idee oder Richtung wie ich vorgehen könnte.
@maddin77 sagte: das würde 12x Blockly bedeuten
... oder 12 Trigger in einem Blockly. Da jede Gruppe (Datenpunkt) andere Fehler meldet, müssen sie getrennt behandelt werden.
Da die Fehler Bit-codiert sind, können innerhalb einer Gruppe sicherlich auch mehrere Fehler gleichzeitig auftreten? -
@maddin77 sagte: das würde 12x Blockly bedeuten
... oder 12 Trigger in einem Blockly. Da jede Gruppe (Datenpunkt) andere Fehler meldet, müssen sie getrennt behandelt werden.
Da die Fehler Bit-codiert sind, können innerhalb einer Gruppe sicherlich auch mehrere Fehler gleichzeitig auftreten?@paul53 sagte in Fehlerauswertung 12 Grup. je 8-12 Meld. und Push:
@maddin77 sagte: das würde 12x Blockly bedeuten
... oder 12 Trigger in einem Blockly. Da jede Gruppe (Datenpunkt) andere Fehler meldet, müssen sie getrennt behandelt werden.
sind zwar gleiche Fehlerzahlen, haben aber andere Fehlertexte hinterlegt, also denke ich ja
Da die Fehler Bit-codiert sind, können innerhalb einer Gruppe sicherlich auch mehrere Fehler gleichzeitig auftreten?
kann ich noch nicht sagen, aktuell wenn ein Fehler kommt, war immer nur 1 in der Historie des WR hinterlegt
natürlich kann 2min später ein anderer Fehler kommen, aber Zeitgleich denke ich nur 1
da ja entweder eine 2 oder 64 oder 16xxx gesendet wird in dem Register -
@paul53 sagte in Fehlerauswertung 12 Grup. je 8-12 Meld. und Push:
@maddin77 sagte: das würde 12x Blockly bedeuten
... oder 12 Trigger in einem Blockly. Da jede Gruppe (Datenpunkt) andere Fehler meldet, müssen sie getrennt behandelt werden.
sind zwar gleiche Fehlerzahlen, haben aber andere Fehlertexte hinterlegt, also denke ich ja
Da die Fehler Bit-codiert sind, können innerhalb einer Gruppe sicherlich auch mehrere Fehler gleichzeitig auftreten?
kann ich noch nicht sagen, aktuell wenn ein Fehler kommt, war immer nur 1 in der Historie des WR hinterlegt
natürlich kann 2min später ein anderer Fehler kommen, aber Zeitgleich denke ich nur 1
da ja entweder eine 2 oder 64 oder 16xxx gesendet wird in dem Register -
@maddin77 sagte: da ja entweder eine 2 oder 64 oder 16xxx gesendet wird
Nicht auch 66?
Die Bit-Codierung wird einen Grund haben.EDIT: Beispiel für eine Gruppe:

JS-Funktion checkBit(val, bit):
return !!(val >> bit & 1);@paul53 sagte in Fehlerauswertung 12 Grup. je 8-12 Meld. und Push:
@maddin77 sagte: da ja entweder eine 2 oder 64 oder 16xxx gesendet wird
Nicht auch 66?
Die Bit-Codierung wird einen Grund haben.nein kommt nicht vor
manchmal lassen sie 512 und 1024 weg und machen 256 / 2048 und dann eben bis 32xxx
so wirklich verstehe ich es auch nichtEDIT: Beispiel für eine Gruppe:

JS-Funktion checkBit(val, bit):
return !!(val >> bit & 1);uiuiui
das schaut ja wieder nicht so einfach aus.... -
@maddin77 sagte: da ja entweder eine 2 oder 64 oder 16xxx gesendet wird
Nicht auch 66?
Die Bit-Codierung wird einen Grund haben.EDIT: Beispiel für eine Gruppe:

JS-Funktion checkBit(val, bit):
return !!(val >> bit & 1);@paul53 sagte in Fehlerauswertung 12 Grup. je 8-12 Meld. und Push:
EDIT: Beispiel für eine Gruppe:

JS-Funktion checkBit(val, bit):
return !!(val >> bit & 1);danke für die MusterGruppe, aber verstehen tut ich die nicht wirklich und da ich wohl keine richtige Bit-Codierung habe, wird das wohl eh nicht so gehen?
ich habe jetzt mal Oldschool Blockly gemacht
falls Objekt = 2
mache UserdataObjekt mit Text xyz
falls Objekt = 4
mache UserdataObjekt mit Text zyx
usw.
falls Objekt UserdataObjekt sich ändernt Sende push mit Text ausist zwar schade das ich so 12 Pushblockly brauch und 12 blockly für die Abfrage der ca 120 Fehler.
aber hoffe das ist jetzt nur 1x die Arbeit -
@paul53 sagte in Fehlerauswertung 12 Grup. je 8-12 Meld. und Push:
EDIT: Beispiel für eine Gruppe:

JS-Funktion checkBit(val, bit):
return !!(val >> bit & 1);danke für die MusterGruppe, aber verstehen tut ich die nicht wirklich und da ich wohl keine richtige Bit-Codierung habe, wird das wohl eh nicht so gehen?
ich habe jetzt mal Oldschool Blockly gemacht
falls Objekt = 2
mache UserdataObjekt mit Text xyz
falls Objekt = 4
mache UserdataObjekt mit Text zyx
usw.
falls Objekt UserdataObjekt sich ändernt Sende push mit Text ausist zwar schade das ich so 12 Pushblockly brauch und 12 blockly für die Abfrage der ca 120 Fehler.
aber hoffe das ist jetzt nur 1x die Arbeit@maddin77 sagte: da ich wohl keine richtige Bit-Codierung habe, wird das wohl eh nicht so gehen?
Das funktioniert so auch, wenn nur ein Bit auf 1 gesetzt ist, also immer nur ein Fehler in der Gruppe gemeldet wird.
Man kann es allerdings in dem Fall vereinfachen: