Для изменения размера нажмите или перетащите

Получение состояния тега

Пример серверного сценария (с наименованием getData) предоставления информации о состоянии аналогового тега.

C#
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) предоставления информации о состоянии дискретного тега.

C#
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 };

Пример клиентского сценария получения и отображения состояния аналогового или дискретного тега.

JavaScript
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);    
});
См. также