Skip to content

Object Classes

Eddy Lelièvre-Berna edited this page May 18, 2021 · 1 revision

While functions represent the overall purpose a device fulfils, the class represents general type of the device, irrespective of the manufacturer of said device.

Thus, for the storage function, it has the classes: dewar, cryostat, gas bladder, compressed gas storage and gas bundle. For the indicator function, the classes are: pressure sensor, thermometer and contamination sensor. Functions describe the overall purpose of the device, while the class groups all devices of the same type, regardless of the specific model and manufacturer.

Between the GAM_OBJECTCLASS and GAM_FUNCTION tables there is a many to one relationship with total participation, each function has one or more classes and each class must belong to a function.

Between the GAM_OBJECTCLASS and GAM_DISPLAYFORMAT tables there are 5 optional many-to-one relationships. A display format can be applied to multiple classes, and each can have up to 5 display formats.

Classes are further divided into object types, and therefore between the GAM_OBJECTCLASS and GAM_OBJECTTYPE there is a one to many relationship with total participation, each class has one or more object types.

Measurements and classes

The class of an object is important as it defines the meanings of the measurements taken for that device. A measurement can contain up to 5 values, and the meanings of those five values are defined by five attributes in the class table. These attributes describe what the numbers in the measurement mean. Devices belonging to a certain object class may have no measurements, or may need less than 5 values for a measurement. Therefore, the OC_MEASURETYPEx attributes are optional.

Icon attributes

The OC_ICONX attributes, where X is 0, 20, 40, 60 or 80, represent icons that are meant to be used for displaying object of this class depending on their current fill level. The current level of the object would be approximated to 0, 20, 40, 60 or 80 per cent, and the corresponding icon would be used. These attributes are not actually used by the web client made by HZB, but have been left it as an option if other facilities want to use it. These icons are meant to be used for object classes that hold Helium, or for gas counters.

Display Priority

The web client made at the HZB displays floor plans of a facility, with various fixed positions in it. Multiple objects can be located in the same position, and the fixed position itself is also an object. Therefore, the OC_DISPLAYPRIORITY attribute is used to prioritise objects of a certain class so that they are more likely to be displayed on the floor plan. The lower the value of OC_DISPLAYPRIORITY, the higher the display priority, thus the object with the lowest value will be displayed. Positions themselves never overlay anything.

Object class table

Attribute name Attribute meaning Data type Mandatory Notes
OC_ID ID of class 24-bit Integer Yes It is the primary key.
OC_FUNCTION_ID ID of the function of this class 24-bit Integer Yes It is a foreign key to the primary key of the GAM_FUNCTION table.
OC_NAME Name of this class String, up to 50 bytes in size Yes
OC_POSITIONTYPE Defines how objects are displayed on floor plans Integer, with 2 digits at most Yes Meaning of each integer not yet decided, more information to come later.
OC_COMMENT Comments related to this class String, up to 1000 bytes in size No
OC_MEASURETYPE1 What the first value of a measurement represents, and its units of measurement String, up to 100 bytes in size No
OC_MEASURETYPE2 What the second value of a measurement represents, and its units of measurement String, up to 100 bytes in size No
OC_MEASURETYPE3 What the third value of a measurement represents, and its units of measurement String, up to 100 bytes in size No
OC_MEASURETYPE4 What the fourth value of a measurement represents, and its units of measurement String, up to 100 bytes in size No
OC_MEASURETYPE5 What the fifth value of a measurement represents, and its units of measurement String, up to 100 bytes in size No
OC_ICON0 File path to the icon for representing the device when it is at 0% capacity. String, up to 500 bytes in size No
OC_ICON20 File path to the icon for representing the device when it is at 20% capacity. String, up to 500 bytes in size No
OC_ICON40 File path to the icon for representing the device when it is at 40% capacity. String, up to 500 bytes in size No
OC_ICON60 File path to the icon for representing the device when it is at 60% capacity. String, up to 500 bytes in size No
OC_ICON80 File path to the icon for representing the device when it is at 80% capacity. String, up to 500 bytes in size No
OC_ICON_ALARM File path to the icon for representing the device in an alarm state String, up to 500 bytes in size No
OC_DISPLAYPRIORITY Determines if objects of this class are prioritised when multiple objects are in the same position on a floor plan in the web client Integer from 0 to 9 No Value is 1 for high priority, 2 for medium priority, 3 for low priority, and 0 for when the object is not prioritised.
OC_DF_ID_1 ID of the first display format of this class. 24-bit Integer No It is a foreign key to the GAM_DISPLAYFORMAT table.
OC_DF_ID_2 ID of the second display format of this class. 24-bit Integer No It is a foreign key to the GAM_DISPLAYFORMAT table.
OC_DF_ID_3 ID of the third display format of this class. 24-bit Integer No It is a foreign key to the GAM_DISPLAYFORMAT table.
OC_DF_ID_4 ID of the fourth display format of this class. 24-bit Integer No It is a foreign key to the GAM_DISPLAYFORMAT table.
OC_DF_ID_5 ID of the fifth display format of this class. 24-bit Integer No It is a foreign key to the GAM_DISPLAYFORMAT table.
Clone this wiki locally