print

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

};