Open BirgitBoss opened 2 years ago
Here is a proposal for the definition:
bamm-e:Range a bamm:AbstractEntity ;
bamm:properties ( bamm-e:min bamm-e:max ) .
bamm-e:minValue a bamm:AbstractProperty ;
bamm:preferredName "minimum value"@en ;
bamm:description "The minimum value"@en .
bamm-e:maxValue a bamm:AbstractProperty .
Here is how you would use it, in combination with a bamm-c:RangeConstraint
:
:FloatQuantifiable a bamm-c:Quantifiable ;
bamm-c:unit unit:rpm ;
bamm:dataType xsd:float .
:ConstrainedTorque a bamm-c:Trait ;
bamm-c:baseCharacteristic :FloatQuantifiable ;
bamm-c:constraint [
a bamm-c:RangeConstraint ;
bamm-c:minValue "3"^^xsd:float ;
bamm-c:maxValue "10"^^xsd:float ;
bamm-c:upperBoundDefinition bamm-c:AT_MOST ;
bamm-c:lowerBoundDefinition bamm-c:GREATER_THAN ;
] .
:TorqueRange a bamm:Entity ;
bamm:extends bamm-e:Range ;
bamm:properties (
[ bamm:extends bamm-e:minValue ; bamm:characteristic :ConstrainedTorque; bamm:payloadName "min" ]
[ bamm:extends bamm-e:maxValue ; bamm:characteristic :ConstrainedTorque; bamm:payloadName "max" ]
) .
And the corresponding payload for a bamm:Property
called myvalue
using :TorqueRange
as its datatype:
{
"myvalue": {
"min": 4,
"max": 7
}
}
To discuss: We now would have both bamm-c:minValue
and bamm-e:minValue
(and maxValue) with different semantics, one being an attribute for the RangeConstraint and the other being an Abstract Property. This might lead to confusion, so a different name might be necessary.
Is your task related to a problem? Please describe. BAMM shall support the semantic definition of range submodel elements in the Asset Administration Shell.
Describe the solution you'd like Introduce a predefined abstract entity with two attributes min and max. The values of min and max shall be numeric but have no predefined data type.
Describe alternatives you've considered none
Additional context https://industrialdigitaltwin.org/wp-content/uploads/2021/09/07_details_of_the_asset_administration_shell_part1_v3_en_2020.pdf