Constraints
This structured item provides a mechanism for determining the availability and valid range of a scalar item dependent on the value of one or more other scalar items.
Definition
ID |
constraints |
Qualified ID |
org.esta.lib.core.1/constraints |
Name |
Constraints |
Description |
Contains markup defining availability and valid ranges of scalar items |
Category |
N/A |
Discussion
This structured item contains an object with some number of key/value pairs. Each key is a unique identifier for a constraint group array which is its value. Each constraint group contains valid combinations of scalar items and scalar item values for a set of dependent scalar items.
A single scalar item instance in a device class shall only be included in one constraint group, contained within an instance of a constraints data item and shall appear in all child combination arrays contained within that constraint group.
A combination array contains a number of child objects, which refer to scalar items and their values, which are considered valid alongside the other scalar items and respective values in the same combination.
Controllers and visualizers can use these combinations to establish the availability, and valid range of a scalar item dependent on the value of one or more other scalar items.
Combination Child Detail
Key |
Description |
---|---|
scalaritem (required) |
Indicates the ID of the scalar item for which this range provides valid values |
min (required) |
A minimum valid value for the scalar item. A null value means this scalar item is unavailable |
max |
A maximum valid value for the scalar item. Must not be included if min is a null value |
The minimum attribute defines a minimum valid value for the scalar item. It applies in different ways when combined with different data types:
When applied to… |
Minimum indicates… |
---|---|
number |
The number’s minimum value. |
string |
N/A |
binary |
N/A |
boolean |
The valid value (true/false) |
enum |
The minimum case index. |
object |
N/A |
The maximum attribute defines a maximum valid value for the scalar item. It applies in different ways when combined with different data types:
When applied to… |
Maximum indicates… |
---|---|
number |
The number’s maximum value. |
string |
N/A |
binary |
N/A |
boolean |
N/A |
enum |
The maximum case index. |
object |
N/A |
Markup Structure
{
"constraintGroup1": [
[
{
"scalaritem": "/scl/scalar-item-1-id",
"min": 0,
"max": 1
},
{
"scalaritem": "/scl/scalar-item-2-id",
"min": null
},
{
"scalaritem": "/scl/scalar-item-3-id",
"min": null
}
],
[
{
"scalaritem": "/scl/scalar-item-1-id",
"min": null
},
{
"scalaritem": "/scl/scalar-item-2-id",
"min": 0,
"max": 1
},
{
"scalaritem": "/scl/scalar-item-3-id",
"min": 0.1,
"max" 10
}
]
]
}
Definition Markup
{
"udrtype": "structureditemclass",
"id": "constraints",
"name": "Constraints",
"description": "A mechanism for determining the availability and valid ranges of scalar items.",
}
Instance Example
{
"udrtype": "structureditem",
"class": "org.esta.lib.core.1/constraints",
"id": "standard-constraints",
"access": "readonly",
"lifetime": "static",
"value": {
"constraintGroup1": [
[
{
"scalaritem": "/scl/shutter",
"min": 0,
"max": 1
},
{
"scalaritem": "/scl/strobe-waveform",
"min": null
},
{
"scalaritem": "/scl/strobe-frequency",
"min": null
}
],
[
{
"scalaritem": "/scl/shutter",
"min": null
},
{
"scalaritem": "/scl/strobe-waveform",
"min": 0,
"max": 1
},
{
"scalaritem": "/scl/strobe-frequency",
"min": 0.1,
"max": 10
}
]
]
}
}