Hallo Cloned,
ein kleiner Teil von dem ganzen. Alles Posten würde den Rahmen sprengen.
Code:
//console.log(data.value);
case 'QW5_Fehlerword_1': // -Statusmeldungen WORD 1
if (this.svg_state_container == null) {
this.svg_state_container = d3.select('#Statusfeld').append('g');
this.i = 0;
} else {
this.svg_state_container.remove();
this.i = 0;
this.svg_state_container = d3.select('#Statusfeld').append('g');
}
var svg = this.svg_state_container;
var x = this.x;
var y = this.y;
var i = this.i;
var zh = this.zh;
var state = data.value*10; // Korrektur statusword
// Bit 0 => Anlage an oder Ausgeschaltet
svg.append('text').attr('x',x).attr('y',120).attr('class','w16withe').text((state & 0x01)?'Anlage Eingschaltet':'Anlage Ausgeschaltet');
// PH auswertung
if (state & 0x10) svg.append('text').attr('x',x).attr('y',y + i++ * zh).attr('class','w16withe').text('PH und ORP Werte OK');
else {
if (state & 0x08) { // Ein wert ist ok
if (state & 0x04) { // Redoxwert ok
svg.append('text').attr('x',x).attr('y',y + i++ * zh).attr('class',' w16red').text((state & 0x02)?'PH Wert über Maximum':'PH Wert unter Minimum ');
} else { // PH Wert ok
svg.append('text').attr('x',x).attr('y',y + i++ * zh).attr('class',' w16red').text((state & 0x02)?'ORP Wert über Maximum':'ORP Wert unter Minimum');
}
} else { // Beide werte sind nicht ok
svg.append('text').attr('x',x).attr('y',y + i++ * zh).attr('class',' w16red').text((state & 0x04)?'PH Wert über Maximum':'PH Wert unter Minimum ');
svg.append('text').attr('x',x).attr('y',y + i++ * zh).attr('class',' w16red').text((state & 0x02)?'ORP Wert über Maximum': 'ORP Wert unter Minimum');
}
}
So Funktioniert es