Skip to content

Measurements

KlausKiefer edited this page Oct 8, 2024 · 10 revisions

The GAM_MEASUREMENT table stores information received through the base stations from the various devices. Each row in this table represents a measurement taken at a certain point in time from a certain device. The data can come from the scales that communicate with the dewar balance program, the level meters, cryostats and gas counters communicating with the Wireless Network program and also from the gas storage devices that communicate with the Gas Storage program.

There is a many to one relationship between the GAM_MEASUREMENT and the GAM_OBJECT table. Each measurement must belong to one device, but devices do not need to have measurements.

Measurement values

A measurement can store up to 5 different values, in the MEA_VALUEx attribute, where x is between 1 and 5. The meaning of each of the 5 numbers in a measurement is not stored in this table, it is defined by the object class of the object type of the object to which the measurement belongs. The OC_MEASURETYPEx fields in the GAM_OBJECTCLASS table should store the names and units of the parameter being measured in the MEA_VALUEx attributes. Measurements do not have to make use of all 5 values and can store only one value.

Booking code

One of the possible sources of measurements is Balance program. This is the server software that handles the book-in and book-out of vessels or dewars and the management of vessels and their types and properties.

When dewars are brought to the facility, they are weighed and the scale sends the measurement to the server. This process is the book-in and is done so that you know how much liquid Helium enters your system. When the dewars have been used and are sent back to be filled with Helium, they are weighed again. This is called a book-out and is done to know how Helium leaves the system with the dewar. These processes are the only ways Helium enters or leaves the system, except leaks.

Since the weight sent by the scale represents a measurement, we need to know which of these measurements were taken for a book-in and which were taken for a book-out. This is what the MEA_BOOKINGCODE attribute is for. It has a value of 1 is the measurement is for a book-in, a value of 2 if a measurement is for a book-out, and 0 or NULL if this measurement is not for a vessel's balance and thus has needs no booking code. This attribute is not used for measurements that do not come from the balance program. The MEA_BOOKINGCODE attribute is also used for the the book-in/book-out process for gas bundles.

Measurement table

Attribute name Attribute meaning Data type Mandatory Notes
MEA_ID ID of measurement 32-bit Integer Yes It is the primary key. It is automatically incremented, no need to set it manually.
MEA_OBJECT_ID ID of the object from which this measurement comes from 24-bit Integer Yes It is a foreign key to the primary key of the GAM_OBJECT table.
MEA_DATE Date when the measurement was taken String showing date in YYYY-MM-DD hh:mm:ss format Yes
MEA_DATE2 Date when the measurement was received by the server. String showing date in YYYY-MM-DD hh:mm:ss format No MEA_DATE and MEA_DATE2 can differ a lot when there is no wireless connection due to network problems.
MEA_STATUS See MEA_STATUS Integer with up to 3 digits No In most cases MEA_STATUS is always NULL or 0. This is true at the moment when the measurement is on the object of interest itself like the bladder, a pressure, a cylinder when no exchangeable “module” is needed.
MEA_COMMENT Information regarding this measurement String, with up to 1000 bytes in size No e.g. 'ILM MODULE "HIFI VARIOX - DH2270" (Cryostat "UNKNOWN") via DH2443 - Cryolab'
MEA_VALUE1 First value of this measurement Decimal number, with a precision of 12 and a scale of 3 No
MEA_VALUE2 Second value of this measurement Decimal number, with a precision of 12 and a scale of 3 No
MEA_VALUE3 Third value of this measurement Decimal number, with a precision of 12 and a scale of 3 No
MEA_VALUE4 Fourth value of this measurement Decimal number, with a precision of 12 and a scale of 3 No
MEA_VALUE5 Fifth value of this measurement Decimal number, with a precision of 12 and a scale of 3 No MEA_VALUE5 is reserved for the Helium content in liquid liters for ALL measurements. For gas counter modules this is presently not fulfilled as MEA-VALUE5 represents here the corrected gas count in m³. This has to be changed.
MEA_VALUE6 Sixth value of this measurement Decimal number, with a precision of 12 and a scale of 3 No
MEA_VALID Whether the measurement is valid or not. Integer, can be 0, 1 or 2 No Whoever writes the data to the database decides if the measurement is valid. If MEA_VALID is set to 0 the measurement can not be trusted. Only if the measurement is complete and can really be trusted, MEA_VALID is set to 1 (true). For a warning MEA_VALID can be set to 2 (still a correct measurement). Example: if the parameters of a vessel are not valid, the measurement of the level is marked with MEA_VALID = 0. If the internal temperature sensor of a level meter is not functional, you can issue a warning (MEA_VALID = 2) as the level reading of the level meter is still valid.
MEA_BOOKINGCODE Code that specifies if the measurements is taken when a dewar, bundle or cylinder enters the system, or leaves it. Integer, can be NULL, 0, 1 or 2. No Value is 1 for book-in, 2 for book-out. The value 0 (or NULL) is set for measurements that are not representing a book-in or book-out action.

MEA_STATUS

Level Meter forwards the status of the levelmeter
Gas Counter Module forwards the bitwise defined status of the levelmeter

Object class Status Meaning
Level meter 2 normal measurement
4 filling
5 fill end
6 logout
Helium Level Module 0 o.k.
Gas Counter Module 0 o.k.
> 0 some problem
Clone this wiki locally