-
Notifications
You must be signed in to change notification settings - Fork 0
Objects
An object represents the individual instance of a type of device. For example, a row in the GAM_OBJECT
table represents one
Helios 100A dewar
.
There are a lot of attributes in the GAM_OBJECT
table storing data pertaining to each individual device, and many of these attributes are not used for all types of devices, and some attributes have different meanings based on the type of device. The meaning and use of the optional attributes in the object table is determined by the class of the object.
There is a many to one relationship between the GAM_OBJECT
and GAM_OBJECTTYPE
tables, with total participation on the GAM_OBJECT
side. Each object needs to belong to a type, and there can multiple objects of the same type.
There are two one to many relationships between the GAM_OBJECT
and GAM_OBJECTRELATION
tables. Each object can participate in multiple relationships, or none. The GAM_OBJECTRELATION
table represents a relationship between two objects.
There is a one to many relationship between the GAM_OBJECT
and GAM_MEASUREMENT
tables, each object can have multiple measurements, or none at all. Each measurement must belong to an object.
There is a many to one relationship between the GAM_OBJECT
and GAM_NETWORK
tables. Each network has multiple objects, and an object can belong to one and only one network, but does not have to.
There is a one to many relationship between the GAM_OBJECT
and the GAM_COORDINATE
tables. An object can have multiple coordinates, or none at all. Each coordinate must belong to one object.
There is a many to one relationship between the GAM_OBJECT
and GAM_DISPLAYGROUP
tables. Each display group must have one or more objects, and an object may or may not belong to a display group.
Between the GAM_OBJECT
and GAM_DISPLAYFORMAT
tables there are 5 optional many-to-one relationships. A display format can be applied to multiple objects, and each object can have up to 5 display formats.
Attribute name | Attribute meaning | Data type | Mandatory | Notes |
---|---|---|---|---|
OB_ID | ID of object | 24-bit Integer | Yes | It is the primary key. It is automatically incremented, no need to set it manually. |
OB_OBJECTTYPE_ID | ID of the type of this object | 24-bit Integer | Yes | It is a foreign key to the GAM_OBJECTTYPE table |
OB_NAME | Name of object | String, up to 50 bytes in size | Yes | |
OB_ADDRESS | The XBee Address (or IP for LAN Gascount. Mod.) | String, up to 20 bytes in size | No | |
OB_COMMENT | Comments regarding this object | String, up to 1000 bytes in size | No | |
OB_POSINFORMATION | Physical position of the device | String, up to 1000 bytes in size | No | e.g. "Cryogenic Lab Upstairs" |
OB_STATUS | Behaves differently for each object class, see OB_STATUS. | Integer from 0 to 255 | No | Currently used mainly for gas counter monitors (0, 1, 3). |
OB_LASTTIMEACTIVE | Last measurement, see notes. | String showing date in YYYY-MM-DD hh:mm:ss format | No |
Vessel: book-in/book-out (last measurement by the balance) Levelmeter: last measurement He. Level Module: last measurement Gas Counter Module: last measurement |
OB_ACTIVE | Whether the device is active | Integer from 0 to 9 | No |
Vessel : is on campus/booked-in |
OB_IP | The IP address of the device | String, up to 20 bytes in size | No | |
OB_VOLUME | Volume of the object | Decimal number, with a precision of 10 and a scale of 4 | No | Is presently not used. The volume of e.g. a vessel is given by the objecttype OT_VOLUME |
OB_VALUE | Value of the object | Decimal number, with a precision of 10 and a scale of 4 | No | |
OB_MINVALUE | Device type-specific minimum value | Decimal number, with a precision of 10 and a scale of 4 | No |
Vessel resistance (ohm) , Level Meter battery voltage (volt)
|
OB_MAXVALUE | Device type-specific maximum value | Decimal number, with a precision of 10 and a scale of 4 | No |
Vessel resistance (ohm) , Level Meter battery voltage (volt)
|
OB_CRITVALUE | Device Critical value | Decimal number, with a precision of 10 and a scale of 4 | No |
Vessel Min. Level % required for Autofill , Level Meter Critical Battery Capacity %
|
OB_COMPORT | Device COM Port | String, up to 10 bytes in size | No | For Coordinator
|
OB_TARE | Tare/unladen weight of the vessel in kg | Decimal number, with a precision of 7 and a scale of 3 | No | |
OB_ENABLED1 | Object class-specific setting #1, see OB_ENABLED | Integer, from 0 to 9 | No |
ILM Module, Software Level Device: Channel 1 (on/off) Position: "Display on floorplan for drag&drop" Gas Counter Module: Temperature compensation Vessels: N/A |
OB_SUBSTANCE1 | Object substance #1 (see notes) | String, up to 20 bytes in size | No |
ILM Module, Software Level Device : Channel 1 Gas |
OB_SPAN1 | Object class-specific span #1 (see notes) | Decimal number, with a precision of 10 and a scale of 4 | No |
ILM Module : Channel 1 Span, Vessel : analog pressure sensor |
OB_ZERO1 | Object class-specific zero #1 (see notes) | Decimal number, with a precision of 10 and a scale of 4 | No |
ILM Module : Channel 1 Zero, Vessel : analog pressure sensor |
OB_ENABLED2 | Object class-specific setting #2, see OB_ENABLED | Integer, from 0 to 9 | No |
ILM Module, Software Level Device: Channel 2 (on/off) Position: Display level meters - "Include in levelmeter position list" Gas Counter Module: Pressure compensation Vessel: "Level Meter Properties are valid" |
OB_SUBSTANCE2 | Object substance #2 (see notes) | String, up to 20 bytes in size | No |
ILM Module, Software Level Device : Channel 2 Gas |
OB_SPAN2 | Object class-specific span #2 (see notes) | Decimal number, with a precision of 10 and a scale of 4 | No |
ILM Module : Channel 2 Span |
OB_ZERO2 | Object class-specific zero #2 (see notes) | Decimal number, with a precision of 10 and a scale of 4 | No |
ILM Module : Channel 2 Zero |
OB_ENABLED3 | Object class-specific setting #3, see OB_ENABLED | Integer, from 0 to 9 | No |
ILM Module, Software Level Device: Channel 3 (on/off) Position: N/A Gas Counter Module: N/A Vessel: "Display reversed" |
OB_SUBSTANCE3 | Object substance #3 (see notes) | String, up to 20 bytes in size | No |
ILM Module, Software Level Device : Channel 3 Gas |
OB_SPAN3 | Object class-specific span #3 (see notes) | Decimal number, with a precision of 10 and a scale of 4 | No |
ILM Module : Channel 3 Span |
OB_ZERO3 | Object class-specific zero #3 (see notes) | Decimal number, with a precision of 10 and a scale of 4 | No |
ILM Module : Channel 3 Zero |
OB_SHORTINTERVAL | Vessel short measurement interval in seconds (filling) | 32-bit Integer | No |
Vessel : Minimum 30 seconds, Maximum 10 minutes |
OB_LONGINTERVAL | Vessel long measurement interval in minutes (normal) | 32-bit Integer | No |
Vessel : Minimum 10 minutes, Maximum 24 hours |
OB_QUENCHTIME | Vessel quench time in milliseconds | 32-bit Integer | No | For Vessel
|
OB_QUENCHCURRENT | Vessel quench current in milliamperes (mA) | 32-bit Integer | No | For Vessel
|
OB_WAITTIME | Vessel wait time in milliseconds | 32-bit Integer | No | For Vessel
|
OB_MEASCURRENT | Vessel measurement current in milliamperes (mA) | 32-bit Integer | No | For Vessel
|
OB_ADCLOOP | Vessel number of cycles for integrations | 32-bit Integer | No | For Vessel 40 is ok |
OB_FILLTIMEOUT | Vessel fill timeout in minutes | 32-bit Integer | No | For Vessel
|
OB_CELLCOUNT | Not presently used (see notes). | Integer from 0 to 9 | No | This was for an application that monitors the loading cycles of the batteries. |
OB_INSTALLED | Date this device was created | String showing date in YYYY-MM-DD hh:mm:ss format | No | |
OB_SERNO | Serial number of this device | String, up to 50 bytes in size | No | |
OB_OFFSET_VALUE | The offset value for measurements | Decimal number, with a precision of 10 and a scale of 3 | No | It is used for gas counter modules, so that when a new gas counter module connects to its gas counter, it takes into account the amount of gas measured before the gas counter was installed. |
OB_OFFSET_VOLUME | The offset volume for when a gas counter is replaced | Decimal number, with a precision of 10 and a scale of 3 | No | It is only used for a gas counter module when its gas counter is replaced by a newer one. The offset makes sure that the measurement continues on from the last value of the old gas counter. |
OB_OFFSET_CORRVOLUME | The offset corrected volume for when a gas counter is replaced | Decimal number, with a precision of 10 and a scale of 3 | No | It is only used for positions where a gas counter is replaced. The offset is similar to OB_OFFSET_VOLUME, but is instead for volume corrected to take into account pressure and temperature. |
OB_SEND_DELTA_V | A gas counter monitor will send data when the difference of the measured volume to the last transmitted message is larger than this value. | Decimal number, with a precision of 10 and a scale of 3 | No | |
OB_SEND_DELTA_P | A gas counter monitor will send data when the difference of the measured pressure to the last transmitted message is larger than this value. | Integer with up to 4 digits | No | |
OB_DISPLAYGROUP_ID | ID of the display group this object belongs to | 24-bit Integer | No | It is a foreign key to the primary key of the GAM_DISPLAYGROUP table |
OB_NW_ID | ID of the network this object is on | 24-bit Integer | No | It is a foreign key to the primary key of the GAM_NETWORK table |
OB_ALIASNAME | Object alias, as the name itself can be quite cryptic. | String, up to 10 bytes in size | No | For GasCounter , Position , ... In addition the Levelmeters need a 4 letters/digits name for the position to be transmitted to the next level meter. |
OB_DF_ID_1 | ID of the first display format of this object. | 24-bit Integer | No | It is a foreign key to the primary key of the GAM_DISPLAYFORMAT table. |
OB_DF_ID_2 | ID of the second display format of this object. | 24-bit Integer | No | It is a foreign key to the primary key of the GAM_DISPLAYFORMAT table. |
OB_DF_ID_3 | ID of the third display format of this object. | 24-bit Integer | No | It is a foreign key to the primary key of the GAM_DISPLAYFORMAT table. |
OB_DF_ID_4 | ID of the fourth display format of this object. | 24-bit Integer | No | It is a foreign key to the primary key of the GAM_DISPLAYFORMAT table. |
OB_DF_ID_5 | ID of the fifth display format of this object. | 24-bit Integer | No | It is a foreign key to the primary key of the GAM_DISPLAYFORMAT table. |
OB_ENDOFOPERATION | Date when this object is no longer being used | String showing date in YYYY-MM-DD hh:mm:ss format | No | When an object is "Deleted" through the HM app, it is assigned an ENDOFOPERATION date within the DB. This is because objects, object types or object classes should never be cleared (or anything else) from the database as old measurements will reference to it. |
Certain objects require an SLD/ILM Module, which will receive the measurements instead of the object. The object itself and the SLD/ILM object will have a relation, which is how the HZB app will know the measurement is for that object.
Currently, object classes that require an SLD/ILM Module are Vessels, Cryostats and Gas Counters.
Each SLD/ILM can only be assigned to one object (e.g. for each vessel object, there will be an SLD/ILM object assigned to it).
E.g. Vessel1 (GAM_OBJECT) -- Relation_Record (GAM_OBJECTRELATION) -- SLD_Vessel1 (GAM_OBJECT) <-- Measurement_SLD_Vessel1 (GAM_MEASUREMENT)
Status | Level Meter | Gas Counter Module | Coordinator |
---|---|---|---|
0 | inactive | inactive | inactive |
1 | connecting | new login | open |
2 | connected | connected | not connected |
3 | fill begin | login confirmed | |
4 | filling | ||
5 | timeout | timeout | |
6 | |||
7 | req. meas. |
Object class | ENABLED1 | ENABLED2 | ENABLED3 |
---|---|---|---|
Vessels | Parameters valid | Display reversed | |
Positions | Display floorplan | Display level meters | |
Helium Level Module | Channel 1 | Channel 2 | Channel 3 |
Gas Counter Module | Temperature compensation | Pressure compensation |
- Installation
- Update for Adding Version Control
- Update GAM to Version 1.2
- Update GAM to Version 1.3
- Configure (tbc)