Personal tools
You are here: Home Device classes Abstract classes Valve

Valve

Abstract class for valves


This class defines the minimum interface that any kind of valve should have. Usually we can have several kind of valves such as vacuum valves, water valves, etc... These valves can be manual or remotely controllable.

in any case, a valve can be open or closed.  We can also often have external condition that may prevent the valve to open or close.

A standard ATK java panel is available to provide a comfortable interface to any device deriving from this abstract class.

Version 1-1


Commands


The following commands must be implemented :

  1. Open - Open the valve.  (state = OPEN). In case of a manual valve, this command should issue an exception "Manual valve cannot be remotely controlled".
  2. Close -Close the valve (state = CLOSE). In case of a manual valve, this command should issue an exception "Manual valve cannot be remotely controlled".
  3. Reset - reset all the possible interlocks that may prevent the valve to move.

Attributes


no attributes are necessary:



States


The following states must be implemented :

  1. OPEN - the valve is open. This can be determined by reading the state of an end switch
  2. CLOSE - the valve is closed. This can be determined by reading the state of an end switch
  3. MOVING - this state can be present in case of slow valve. when an open/close command have been requested and no end switch are yet pressed. Usually this state should be associated with a timeout declaring the valve as blocked after a certain time.
  4. DISABLE - the valve cannot be moved due to an external condition. e.g. bad pressure condition, safety interlock etc... In any cases, the status attribute should indicate clearly the reason of this state
  5. FAULT - the valve cannot be moved due to faulty hardware. e.g. both end switches active in the same time. not enough compressed air, etc... In any cases, the status attribute should indicate clearly the reason of this state

Properties

 IsManual: Boolean property used to determine if the valve is manual.

Clients


The following client programs depend on the Motor interface :

  • SimpleValveFrame panel in atk

Contact


Please contact Jean-Michel Chaize (chaize at esrf dot fr) if you want to make proposals to change this interface or have questions about it.
Document Actions