Marking up HTML Elements

Marking up element tags with specialized attributes

The simplest and most direct method of binding HTML elements to server Tags is to mark up the element tag with one or more specialized attributes. Each attribute represents a behavior added to the HTML element, tied to the value and state of a Tag or set of tags. For example, if you wish to display the current value for the Ramp.Value tag within a text box, you would use the oas-tag-val attribute:

<input type="text" id="my-textbox" oas-tag-val='{"tag":"Pump.Value"}' ">

Web HMI Wizard

To learn how to use each of the markup attributes, you can use the interactive Web HMI Wizard to generate working example code.

Values are valid JSON

The value of the oas-tag-val attribute, like all oas-tag- attributes must be valid JSON. Each attribute requires a specific JSON structure for defining the element behavior, but the JSON structures consist of specific types and sub-types. For example, a simple oas-tag-val attribute expects JSON in the format:

    "tag": "TagName.Property",
    "config" : <Config>

For this attribute the config is optional, and would contain settings used to format the server Tag value for display. If you want to apply formatting to the server Tag value, you would use the formats setting in the config:

    "formats": [
        "bad_q": <optional string: displayed when data quality is bad>,
        "string": <optional string: replaces {0} with server value>,
        "bool_f": <optional string: displayed when boolean server value = false>,
        "bool_t": <optional string: displayed when boolean server value = true>,
        "int": <optional string: integer number formatter - see reference>,
        "float", <optional string: float number formatter - see reference>

Tying it all together

Tying this all together, if the server tag Pump.Value is a boolean, and you want “YES” and “NO” to be displayed in a text box instead of True or False, the full HTML markup would be:

<input type="text" id="my-textbox" oas-tag-val='{"tag":"Pump.Value", "config":{"formats":["bool_f":"NO", "bool_t":"YES"]}}' ">