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) | |||||
}; | ||||||
}; |