!2020 copyright tne-systeme UG (haftungsbeschraenk) und Uwe Voigt !Definitionen object BCD_D = datapoints.Get("HmIP-MOD-RC8 001460C9ABA6A1:5.STATE"); object BCD_C = datapoints.Get("HmIP-MOD-RC8 001460C9ABA6A1:6.STATE"); object BCD_B = datapoints.Get("HmIP-MOD-RC8 001460C9ABA6A1:7.STATE"); object BCD_A = datapoints.Get("HmIP-MOD-RC8 001460C9ABA6A1:8.STATE"); object Level =dom.GetObject('ZisternePegel_Prozent'); object Fehler =dom.GetObject('Zisterne_Fehler'); object Ueberlauf =dom.GetObject('Zisterne_Ueberlauf'); object Aus =dom.GetObject('Zisterne_Aus'); object noPegel =dom.GetObject('Zisterne_keinPegel'); negative Logik positive Logik !Füllstanddecodierung DCBA DCBA if ((BCD_D.Value()) && (BCD_C.Value()) && (BCD_B.Value()) && (BCD_A.Value())) {Level.State(0);} 1111 0000 0 if ((!BCD_D.Value()) && (!BCD_C.Value()) && (!BCD_B.Value()) && (!BCD_A.Value())) {Level.State(0);} 0000 1111 15 if ((!BCD_D.Value()) && (!BCD_C.Value()) && (BCD_B.Value()) && (!BCD_A.Value())) {Level.State(0);} 0010 1101 13 if ((BCD_D.Value()) && (BCD_C.Value()) && (BCD_B.Value()) && (!BCD_A.Value())) {Level.State(10);} 1110 0001 1 if ((BCD_D.Value()) && (BCD_C.Value()) && (!BCD_B.Value()) && (BCD_A.Value())) {Level.State(20);} 1101 0010 2 if ((BCD_D.Value()) && (BCD_C.Value()) && (!BCD_B.Value()) && (!BCD_A.Value())) {Level.State(30);} 1100 0011 3 if ((BCD_D.Value()) && (!BCD_C.Value()) && (BCD_B.Value()) && (BCD_A.Value())) {Level.State(40);} 1011 0100 4 if ((BCD_D.Value()) && (!BCD_C.Value()) && (BCD_B.Value()) && (!BCD_A.Value())) {Level.State(50);} 1010 0101 5 if ((BCD_D.Value()) && (!BCD_C.Value()) && (!BCD_B.Value()) && (BCD_A.Value())) {Level.State(60);} 1001 0110 6 if ((BCD_D.Value()) && (!BCD_C.Value()) && (!BCD_B.Value()) && (!BCD_A.Value())) {Level.State(70);} 1000 0111 7 if ((!BCD_D.Value()) && (BCD_C.Value()) && (BCD_B.Value()) && (BCD_A.Value())) {Level.State(80);} 0111 1000 8 if ((!BCD_D.Value()) && (BCD_C.Value()) && (BCD_B.Value()) && (!BCD_A.Value())) {Level.State(90);} 0110 1001 9 if ((!BCD_D.Value()) && (BCD_C.Value()) && (!BCD_B.Value()) && (BCD_A.Value())) {Level.State(100);} 0101 0101 10 !Fehlerdecodierung Fehler.State( (!BCD_D.Value()) && (!BCD_C.Value()) && (!BCD_B.Value()) && (BCD_A.Value())); 0001 1110 14 Ueberlauf.State( (!BCD_D.Value()) && (BCD_C.Value()) && (!BCD_B.Value()) && (!BCD_A.Value())); 0100 1011 11 Aus.State( (!BCD_D.Value()) && (!BCD_C.Value())&& (!BCD_B.Value()) && (!BCD_A.Value())); 0000 1111 15 noPegel.State( (!BCD_D.Value()) && (!BCD_C.Value()) && (BCD_B.Value()) && (!BCD_A.Value())); 0010 1101 13