Interfaces
Interfaces to the objects in the network (IDL file)
module SaneStatus {
| valuetype Instrument { | // Definition of 'Instrument' | |||||||||
| public string name; | // string sent by NOMAD and checked by Igor Pro | |||||||||
| }; | ||||||||||
| valuetype Setpoint { | // Definition of 'Setpoint' | |||||||||
| public double value; | // in K, bar, Tesla | |||||||||
| }; | ||||||||||
| valuetype Data { | // Definition of 'Data' | |||||||||
| public double value; | // in K, bar, Tesla | |||||||||
| public double datime; | // seconds since 01.01.1970 | |||||||||
| public long errCode; | // error code | |||||||||
| public string errMessage; | // error message | |||||||||
| }; | ||||||||||
| valuetype Status { | // Definition of 'Status' | |||||||||
| public double code; | // 0:disabled, 1:enabled | |||||||||
| public string message; | // string returned by Igor Pro | |||||||||
| public long errCode; | // error code | |||||||||
| public string errMessage; | // error message | |||||||||
| }; | ||||||||||
| interface Temperature { | // Interface for the temperature control | |||||||||
| Data getTempRegul(in Instrument n); | // Regulation temperature Treg in K | |||||||||
| Data getTempRegulSetpoint(in Instrument n); | // Regulation setpoint Tsp in K | |||||||||
| Data setTempRegulSetpoint(in Instrument n, in Setpoint s); | ||||||||||
| Data getTempSmpReading1(in Instrument n); | // Sample temperature Tsmp in K | |||||||||
| Data getTempSmpReading2(in Instrument n); | ||||||||||
| Data getTempTolerance(in Instrument n); | // Data collection when Tsmp in Tsp±Tolerance in K | |||||||||
| Data SetTempTolerance(in Instrument n, in Setpoint s); | ||||||||||
| Data getTempSmpReady(in Instrument n); | // Data collection when sample ready (0:not ready, 1:ready) | |||||||||
| Status getTempStatus(in Instrument n); | // Availability of the equipment (0:disabled, 1:enabled) | |||||||||
| Data getTempTimeout(in Instrument n); | // Error management (Timeout for communication in s) | |||||||||
| Data setTempTimeout(in Instrument n, in Setpoint s); | ||||||||||
| Status getTempError(in Instrument n); | ||||||||||
| }; | ||||||||||
| interface Pressure { | // Interface for the pressure control | |||||||||
| Data getPressRegul(in Instrument n); | // Regulation pressure Preg in bar | |||||||||
| Data getPressRegulSetpoint(in Instrument n); | // Regulation setpoint Psp in bar | |||||||||
| Data setPressRegulSetpoint(in Instrument n, in Setpoint s); | ||||||||||
| Data getPressSmpReading(in Instrument n); | // Sample pressure Psmp in bar | |||||||||
| Data getPressTolerance(in Instrument n); | // Data collection when Psmp in Psp±Tolerance in bar | |||||||||
| Data SetPressTolerance(in Instrument n, in Setpoint s); | ||||||||||
| Data getPressSmpReady(in Instrument n); | // Data collection when sample ready (0:not ready, 1:ready) | |||||||||
| Status getPressStatus(in Instrument n); | // Availability of the equipment (0:disabled, 1:enabled) | |||||||||
| Data getPressTimeout(in Instrument n); | // Error management (Timeout for communication in s) | |||||||||
| Data setPressTimeout(in Instrument n, in Setpoint s); | ||||||||||
| Status getPressError(in Instrument n); | ||||||||||
| }; | ||||||||||
| interface MagField { | // Interface for the magnetic field control | |||||||||
| Data getMagField(in Instrument n); | // Magnetic field B in Tesla | |||||||||
| Data getMagFieldSetpoint(in Instrument n); | // Regulation setpoint Bsp in Tesla | |||||||||
| Data setMagFieldSetpoint(in Instrument n, in Setpoint s); | ||||||||||
| Data getMagFieldPersistentMode(in Instrument n); | // Field mode (0:non-persistent, 1:persistent) | |||||||||
| Data setMagFieldPersistentMode(in Instrument n, in Setpoint s); | ||||||||||
| Data getMagFieldTolerance(in Instrument n); | // Data collection when B in Bsp±Tolerance in Tesla | |||||||||
| Data SetMagFieldTolerance(in Instrument n, in Setpoint s); | ||||||||||
| Data getMagFieldSmpReady(in Instrument n); | // Data collection when sample ready (0:not at field, 1:ready) | |||||||||
| Status getMagFieldStatus(in Instrument n); | // Availability of the equipment (0:disabled, 1:enabled) | |||||||||
| Data getMagFieldTimeout(in Instrument n); | // Error management (Timeout for communication in s) | |||||||||
| Status getMagFieldError(in Instrument n); | Data setMagFieldTimeout(in Instrument n, in Setpoint s); | |||||||||
| }; | ||||||||||
| interface Cryogenics { | // Interface for the cryogenics (for manual mode only) | |||||||||
| Data getCryoLevelLN2(in Instrument n); | // Cryogen levels in % | |||||||||
| Data getCryoLevelLHe(in Instrument n); | ||||||||||
| Data getCryoColdValveMode(in Instrument n); | // Cold-valve control mode (0:manual, 1:auto) | |||||||||
| Data getCryoColdValvePressure(in Instrument n); | // Cold-valve pressure in mbar | |||||||||
| Data setCryoColdValvePressure(in Instrument n, in Setpoint s); | ||||||||||
| Data getCryoColdValvePower(in Instrument n); | // Cold-valve power in % | |||||||||
| Data setCryoColdValvePower(in Instrument n, in Setpoint s); | ||||||||||
| Status getCryoStatus(in Instrument n); | // Availability of the equipment (0:disabled, 1:enabled) | |||||||||
| }; | ||||||||||
| }; | ||||||||||