![]() | Получение состояния тега |
Пример серверного сценария (с наименованием getData) предоставления информации о состоянии аналогового тега.
var tag = AnalogTag.Find((int)args["tagId"]); var value = tag?.AttributeAsFloat; var valueStr = value == null ? null : value.Value.ToString(); return new { value = valueStr, acked = tag?.AttributeAcked ?? true };
Пример серверного сценария (с наименованием getData) предоставления информации о состоянии дискретного тега.
var tag = DiscretTag.Find((int)args["tagId"]); var value = tag?.AttributeAsBool; var valueStr = state == null ? null : (state.Value ? tag.AttributeOnText : tag.AttributeOffText); return new { value = valueStr, acked = tag?.AttributeAcked ?? true };
Пример клиентского сценария получения и отображения состояния аналогового или дискретного тега.
let textNode = this._node.querySelector('text'); this.getData( { tagId: this.tag ? this.tag.id : 0, }, rs => { textNode.textContent = rs.value; // Неквитированный тег подсвечивается фоновой заливкой if (!rs.acked) { textNode.style.fill = '#FF0000'; } }, err => { console.error(err); });