Skip to content

DMA4500m Density Meter

Cosimo Campo edited this page Apr 9, 2020 · 17 revisions

Wiki > The Backend System > Specific Device IOC > Gas and liquid handling systems > DMA4500m Density Meter

The device's IOC was originally developed at ESS, then updated to match ISIS requirements and conventions. The original code is available here.

It is a densitometer which currently measures density and temperature.

Documentation

Vendor documentation is available at \\ISIS\shares\ISIS_Experiment_Controls\Manuals\AntonPaar__DMA4500.

Connection Details

RS-232C Specifications
Baud rate 9600 Baud
Stop bits 1 bit
Parity None
Data length 8 bit
Flow control None

Notes:

  • Commands and returned values are terminated with CR
  • Only one command should be sent per second

Quirks

Raw data and temperature setpoint

According to the device manual, the getrawdata command returns the "current raw data values". Judging from the device output, the reponse is in this format:

{density};{temperature};{temperature setpoint};{sample id}

where:

  • density and temperature are "instant" measurements of the current sample density and temperature. The seem to oscillate slightly if the command is run multiple times in a row, so the error is likely quite high.
  • temperature setpoint is the current temperature setpoint. After a settemperature command is sent to the device, this setpoint immediately updates to the value specified in settemperature and the "instant" temperature measurement can be observed to ramp up/down towards the setpoint
  • sample id is a value that is increased by 1 every time a measurement is run (at least when started by the start command, possibly when started through the device GUI as well)

Simulation

The IOC logic is fairly complex and uses features not supported by RECSIM, so RECSIM has not been implemented for this device.

Measurement Mode

The data sent back by the device is parsed according to the current measurement mode, which is set by $(MEASUREMENT_MODE) macro. Currently, the only supported mode is DENSITY_ONLY (for measuring density, temperature and measurement validity).

From the device's point of view, the measurement results are returned by the getdata command. The quantities to be measured and their position in the results list are determined by the active "method". Methods are defined by the user using the device's GUI, and they can include a large number of different quantities in any order specified by the user. The device does offer a getdatahead command to get the name and position of the quantities returned by getdata, but there is no easy way of parsing the output of this command to automatically make sense of the results list. For this reason, we need to manually add a measurement mode for every method used at ISIS, and users must make sure to set the $(MEASUREMENT_MODE) macro in IBEX to match the method they're using.

IOC diagram:

Diagram of DMA4500M IOC

Clone this wiki locally