Equipment Classes

Equipment Classes display allows the creation of Equipment models by first creating class(es) and then properties.

On the left side we have a list of all the classes and on the right side the properties. Properties are divided to two datalists; Properties of each class and Inherited properties from base class.

New classes and properties may be created from the Edit button from the bottom of the list. Pressing New will create a new row to the datalist and allows you to configure definitions. The Edit button also allows modifications to already existing classes and properties. Remember to commit changes to save them.


New row may be easily created from the New button


Properties of each class opens on the right side after a class is chosen on the left side. Before this, the properties datalists show full list of already created class properties.


Equipment Class definitions

AttributeTypeDescription
NameStringName of the equipment type. E.g., Tank, Valve, Compressor
BaseGuidName of the base class. May be chosen from dropdown menu. Properties of base class will be inherited.
ImageEnumerationImage for equipment type. Appears in front of the name.
AbstractBooleanAbstract is to indicate that the instances should not be created from this generic model, but only from those inheriting it. See our Example Equipment Model for further information.
InterfacesString
CommandBooleanCommand classes are used to model server-side executable commands and to execute them. Data classes are used to model data and to provide access to the instances and their properties.
ClassNameStringClass name of model (E.g., Path_Tank)

Equipment Property definitions

AttributeTypeDescription
DisplayNameStringThe name of the equipment property
HistorizedBooleanTells whether the property's history data will be collected or not.
Data TypeEnumerationThe type of the equipment property. See supported data types below.
ValueMinDoubleThe minimum value of the property.
ValueMaxDoubleThe maximum value of the property.
UnitStringThe unit of the equipment property.
CategoryStringCategory of property. Shown in property settings menu. E.g., "General information", "Calculated", "Performance parameter".
DescriptionStringThe description of the equipment property.
Application TypeStringIdentifies the application usage type of the property. Please see longer explanation below.*
Reference TargetStringWhen creating reference properties of type GUID, the path of an object that property is related to. E.g., Class:Path_Pump.
Compression MethodEnumerationDefines if data is compressed when stored to history.
Target HistoryHistoryCurrentHistory: optimized for frequently updated history values. Recommended to use for calculated values. More information on calculation concepts. StreamHistory: optimized for write once and read frequently type of use. It is aimed for measured signal storage that is not subject for later maintenance. More information on history tables.
History Collection TemplatesStringDefines chain of histories to be collected. Available collection chains are defined in "HistoryCollectionTemplate" class.
Max Array LengthUintFor array variables, the maximum length of the array. Array variables can only be stored in a StreamHistory table. CurrentValues for this variable will be stored in a CurrentValues table of the appropriate size, aligned to a power of 2.
Variable Length ArrayBooleanFor array properties, indicates that the property will receive arrays of variable length and will optimize space usage accordingly.
Max String LengthUintFor text type and array of text type variables, defines the maximum length of the value in Unicode characters. The maximum possible setting is 2040.
Status StoringEnumerationStream history setting. Defines whether to store statuses on a pre-cluster of per-value basis.
Timestamp StoringEnumerationStream history setting. Defines whether to store timestamps on a per-value basis.
Stream Compression MethodEnumerationDefines how stream history data is compressed. LZW Compression = lossless data compression.
Period LengthUintDefines period length for data saved to stream history. Max value is 4,294,967,295.
Period Length UnitUintFor variables being recorded to a StreamHistory table with per-block timestamp storing, defines the time interval with which values are recorded into history. For best results, it should be as close to the actual frequency of values produced as possible.
IsNullableBooleanSpecifies whether the property can contain NULL values or not. Only applicable for non-historized properties.
EquipmentABB.Vtrin.Interfaces.IEquipmentTells which equipment property is related to.

*Application Type: If the value is nonzero, a special action is performed when data is produced to the property as the current value or via the history maintenance. The ApplicationType = 1 indicates a property that holds a production grade identifier, and causes activations of the RTDB-GradeServer service.

Defining properties as discrete values

It is recommended that calculated Variables and Equipment properties are defined to be of type "discrete". Especially, when calculated value presents a time period, such as average value in 30 minutes, Equipment property should be defined as discrete and not linear. Please see further information: Calculations > Concepts.

How to define: This is an advanced setting found in Properties menu on Equipment Classes window (click one property active, open property attribute menu from wheels in top right corner and press + sign. Discrete Value should show under General settings).

Supported Data Types

TypeRangeMax array lengthMax string length
booleanfalse .. true16340
byte0 .. 25516340
uint160 .. 655368170
uint320 .. 42949672954085
uint640 .. 184467440737095516152042
sbyte-128 .. 12716340
int16-32768 .. 327678170
int32-2147483648 .. 21474836474085
int64-9223372036854775808 .. 92233720368547758072042
single-3,402823E+38 .. 3,402823E+384085
double-1,79769313486232E+308 .. 1,79769313486232E+3082042
DateTime1601-01-02 00:00:00 UTC .. 9766-12-31 23:59:59 UTC2042
TimeSpan-10675199.02:48:05.4775808 .. 10675199.02:48:05.47758072042
GUID1021
byte[max]0 .. 255264
string0 .. 2097151Not supported64
string(size)0 .. 2097151Not supported5443
string(max)0 .. 2097151Not supported264
string(max)[max]**0 .. 20971515440***5440***

Notes:

  • *Max string and array lengths are for the ABB Ability™ History default configuration and can be altered from the database configuration.
  • **The current version of ABB Ability™ History does not support history collection for string(max)[max] properties.
  • ***The string(max)[max] combined size is limited to 16340 bytes. BLOB storage is currently not supported.

For strings, the maximum value is the maximum supported Unicode character code. Strings use 1-3 bytes per character, depending on the character code + length.

For arrays, the length must be specified as in [], e.g., int32[512] to get an array of 32-bit integers with a maximum length of 512.

The maximum array/string length does not affect the disk space consumption for values in history but does affect the disk and memory consumption of the property, so it is recommended to keep it reasonable.


Further reading

More information on our Equipment Model here.