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

(idl - 16.93 Ki)