Skip to content
Snippets Groups Projects
Commit 15c930c8 authored by Alexandre MALFREYT's avatar Alexandre MALFREYT Committed by Florent LANGLOIS
Browse files

Add INIT state (during socket connection, with timeout), and run Pogo 9.6

parent 494a25b9
No related branches found
No related tags found
1 merge request!2Python 3 + améliorations
Showing
with 118 additions and 112 deletions
......@@ -58,9 +58,10 @@ import six
# ON :
# ALARM : Hardware test has failed
# FAULT :
# INIT : Connecting to socket
class GEpressCtrlPACE5000 (PyTango.Device_4Impl):
class GEpressCtrlPACE5000 (PyTango.LatestDeviceImpl):
"""Server for the controll of the Pressuer Automated Calibration Equipment 5000 from GE"""
# -------- Add you global variables here --------------------------
......@@ -70,7 +71,7 @@ class GEpressCtrlPACE5000 (PyTango.Device_4Impl):
#----- PROTECTED REGION END -----# // GEpressCtrlPACE5000.global_variables
def __init__(self, cl, name):
PyTango.Device_4Impl.__init__(self,cl,name)
PyTango.LatestDeviceImpl.__init__(self,cl,name)
self.debug_stream("In __init__()")
GEpressCtrlPACE5000.init_device(self)
#----- PROTECTED REGION ID(GEpressCtrlPACE5000.__init__) ENABLED START -----#
......@@ -90,11 +91,13 @@ class GEpressCtrlPACE5000 (PyTango.Device_4Impl):
self.get_device_properties(self.get_device_class())
#----- PROTECTED REGION ID(GEpressCtrlPACE5000.init_device) ENABLED START -----#
self.set_state(PyTango.DevState.ON)
self.set_state(PyTango.DevState.INIT)
try:
self.socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
self.socket.settimeout(15)
self.socket.connect((self.IPAdress, self.PortNb))
except:
self.set_state(PyTango.DevState.ON)
except Exception as e:
self.set_state(PyTango.DevState.FAULT)
self.set_status("Failed socket connection.\n IpAdress " + self.IPAdress + ", port " + str(self.PortNb) )
......@@ -125,7 +128,7 @@ class GEpressCtrlPACE5000 (PyTango.Device_4Impl):
# -------------------------------------------------------------------------
def Stop(self):
""" Stops operation of the pump. The most important action ? stop the PressureControl ? power control ? go to the measurement mode
""" Stops operation of the pump. The most important action stop the PressureControl power control go to the measurement mode
"""
self.debug_stream("In Stop()")
#----- PROTECTED REGION ID(GEpressCtrlPACE5000.Stop) ENABLED START -----#
......@@ -135,7 +138,8 @@ class GEpressCtrlPACE5000 (PyTango.Device_4Impl):
def is_Stop_allowed(self):
self.debug_stream("In is_Stop_allowed()")
state_ok = not(self.get_state() in [PyTango.DevState.ALARM])
state_ok = not(self.get_state() in [PyTango.DevState.ALARM,
PyTango.DevState.INIT])
#----- PROTECTED REGION ID(GEpressCtrlPACE5000.is_Stop_allowed) ENABLED START -----#
#----- PROTECTED REGION END -----# // GEpressCtrlPACE5000.is_Stop_allowed
......@@ -159,7 +163,8 @@ class GEpressCtrlPACE5000 (PyTango.Device_4Impl):
def is_GetIDN_allowed(self):
self.debug_stream("In is_GetIDN_allowed()")
state_ok = not(self.get_state() in [PyTango.DevState.ALARM])
state_ok = not(self.get_state() in [PyTango.DevState.ALARM,
PyTango.DevState.INIT])
#----- PROTECTED REGION ID(GEpressCtrlPACE5000.is_GetIDN_allowed) ENABLED START -----#
#----- PROTECTED REGION END -----# // GEpressCtrlPACE5000.is_GetIDN_allowed
......@@ -183,7 +188,8 @@ class GEpressCtrlPACE5000 (PyTango.Device_4Impl):
def is_GetMAC_allowed(self):
self.debug_stream("In is_GetMAC_allowed()")
state_ok = not(self.get_state() in [PyTango.DevState.ALARM])
state_ok = not(self.get_state() in [PyTango.DevState.ALARM,
PyTango.DevState.INIT])
#----- PROTECTED REGION ID(GEpressCtrlPACE5000.is_GetMAC_allowed) ENABLED START -----#
#----- PROTECTED REGION END -----# // GEpressCtrlPACE5000.is_GetMAC_allowed
......@@ -213,14 +219,15 @@ class GEpressCtrlPACE5000 (PyTango.Device_4Impl):
def is_GetErrorState_allowed(self):
self.debug_stream("In is_GetErrorState_allowed()")
state_ok = not(self.get_state() in [PyTango.DevState.ALARM])
state_ok = not(self.get_state() in [PyTango.DevState.ALARM,
PyTango.DevState.INIT])
#----- PROTECTED REGION ID(GEpressCtrlPACE5000.is_GetErrorState_allowed) ENABLED START -----#
#----- PROTECTED REGION END -----# // GEpressCtrlPACE5000.is_GetErrorState_allowed
return state_ok
def ClearErrorState(self):
""" Clears the error state for the instrument. This is done by getting the GetErrorState ? 5x times to clear the inner error message buffer
""" Clears the error state for the instrument. This is done by getting the GetErrorState 5x times to clear the inner error message buffer
"""
self.debug_stream("In ClearErrorState()")
#----- PROTECTED REGION ID(GEpressCtrlPACE5000.ClearErrorState) ENABLED START -----#
......@@ -235,7 +242,8 @@ class GEpressCtrlPACE5000 (PyTango.Device_4Impl):
def is_ClearErrorState_allowed(self):
self.debug_stream("In is_ClearErrorState_allowed()")
state_ok = not(self.get_state() in [PyTango.DevState.ALARM])
state_ok = not(self.get_state() in [PyTango.DevState.ALARM,
PyTango.DevState.INIT])
#----- PROTECTED REGION ID(GEpressCtrlPACE5000.is_ClearErrorState_allowed) ENABLED START -----#
#----- PROTECTED REGION END -----# // GEpressCtrlPACE5000.is_ClearErrorState_allowed
......@@ -243,7 +251,7 @@ class GEpressCtrlPACE5000 (PyTango.Device_4Impl):
def MakeHWTest(self):
""" Performs a hardware test for the instrument.
If the result is positive ? device goes to the ON state, else, the device goes to the ALARM state and disallow any SCPI command to go through.
If the result is positive device goes to the ON state, else, the device goes to the ALARM state and disallow any SCPI command to go through.
:return: 1-> OK, 0-> Fail
:rtype: PyTango.DevLong
"""
......@@ -266,6 +274,14 @@ class GEpressCtrlPACE5000 (PyTango.Device_4Impl):
#----- PROTECTED REGION END -----# // GEpressCtrlPACE5000.MakeHWTest
return argout
def is_MakeHWTest_allowed(self):
self.debug_stream("In is_MakeHWTest_allowed()")
state_ok = not(self.get_state() in [PyTango.DevState.INIT])
#----- PROTECTED REGION ID(GEpressCtrlPACE5000.is_MakeHWTest_allowed) ENABLED START -----#
#----- PROTECTED REGION END -----# // GEpressCtrlPACE5000.is_MakeHWTest_allowed
return state_ok
def WriteSocket(self, argin):
""" Write command to socket
:param argin:
......@@ -278,6 +294,14 @@ class GEpressCtrlPACE5000 (PyTango.Device_4Impl):
#----- PROTECTED REGION END -----# // GEpressCtrlPACE5000.WriteSocket
def is_WriteSocket_allowed(self):
self.debug_stream("In is_WriteSocket_allowed()")
state_ok = not(self.get_state() in [PyTango.DevState.INIT])
#----- PROTECTED REGION ID(GEpressCtrlPACE5000.is_WriteSocket_allowed) ENABLED START -----#
#----- PROTECTED REGION END -----# // GEpressCtrlPACE5000.is_WriteSocket_allowed
return state_ok
def WriteReadSocket(self, argin):
""" Send command and returnd the answer
:param argin: Command to send
......@@ -296,6 +320,14 @@ class GEpressCtrlPACE5000 (PyTango.Device_4Impl):
#----- PROTECTED REGION END -----# // GEpressCtrlPACE5000.WriteReadSocket
return argout
def is_WriteReadSocket_allowed(self):
self.debug_stream("In is_WriteReadSocket_allowed()")
state_ok = not(self.get_state() in [PyTango.DevState.INIT])
#----- PROTECTED REGION ID(GEpressCtrlPACE5000.is_WriteReadSocket_allowed) ENABLED START -----#
#----- PROTECTED REGION END -----# // GEpressCtrlPACE5000.is_WriteReadSocket_allowed
return state_ok
#----- PROTECTED REGION ID(GEpressCtrlPACE5000.programmer_methods) ENABLED START -----#
......
<?xml version="1.0" encoding="ASCII"?>
<pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://tango.org/pogo/PogoDsl">
<classes name="GEpressCtrlPACE5000" pogoRevision="9.4">
<description description="Server for the controll of the Pressuer Automated Calibration Equipment 5000 from GE" title="GE Pressure Controller PACE-5000" sourcePath="/home/tnunez/Tango_svn/DeviceClasses/MeasureInstruments/GEpressCtrlPACE5000/trunk" language="Python" filestogenerate="XMI file,Code files,Protected Regions,html Pages" license="GPL" hasMandatoryProperty="false" hasConcreteProperty="true" hasAbstractCommand="false" hasAbstractAttribute="false" descriptionHtmlExists="false">
<pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://www.esrf.fr/tango/pogo/PogoDsl">
<classes name="GEpressCtrlPACE5000" pogoRevision="9.6">
<description description="Server for the controll of the Pressuer Automated Calibration Equipment 5000 from GE" title="GE Pressure Controller PACE-5000" sourcePath="/home/informatique/ica/malfreyt/DEV/Devices/GEpressCtrlPACE5000/GEpressCtrlPACE5000/Release_2_1_dev" language="Python" filestogenerate="XMI file,Code files,Protected Regions,html Pages" license="GPL" hasMandatoryProperty="false" hasConcreteProperty="true" hasAbstractCommand="false" hasAbstractAttribute="false" descriptionHtmlExists="false">
<inheritances classname="Device_Impl" sourcePath=""/>
<identification contact="at mail.desy.de - tnunez" author="tnunez" emailDomain="mail.desy.de" classFamily="MeasureInstruments" siteSpecific="" platform="Unix Like" bus="Socket" manufacturer="GE" reference="PACE-5000"/>
</description>
......@@ -41,6 +41,7 @@
</argout>
<status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
<excludedStates>ALARM</excludedStates>
<excludedStates>INIT</excludedStates>
</commands>
<commands name="GetIDN" description="Returns the identification string from the device as a string" execMethod="get_idn" displayLevel="OPERATOR" polledPeriod="0">
<argin description="">
......@@ -51,6 +52,7 @@
</argout>
<status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
<excludedStates>ALARM</excludedStates>
<excludedStates>INIT</excludedStates>
</commands>
<commands name="GetMAC" description="Returns the MAC address from the device as a string" execMethod="get_mac" displayLevel="OPERATOR" polledPeriod="0">
<argin description="">
......@@ -61,6 +63,7 @@
</argout>
<status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
<excludedStates>ALARM</excludedStates>
<excludedStates>INIT</excludedStates>
</commands>
<commands name="GetErrorState" description="Returns the error message from the instrument" execMethod="get_error_state" displayLevel="OPERATOR" polledPeriod="0">
<argin description="">
......@@ -71,6 +74,7 @@
</argout>
<status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
<excludedStates>ALARM</excludedStates>
<excludedStates>INIT</excludedStates>
</commands>
<commands name="ClearErrorState" description="Clears the error state for the instrument. This is done by getting the GetErrorState &#x2013; 5x times to clear the inner error message buffer" execMethod="clear_error_state" displayLevel="OPERATOR" polledPeriod="0">
<argin description="">
......@@ -81,6 +85,7 @@
</argout>
<status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
<excludedStates>ALARM</excludedStates>
<excludedStates>INIT</excludedStates>
</commands>
<commands name="MakeHWTest" description="Performs a hardware test for the instrument.&#xA;If the result is positive &#x2013; device goes to the ON state, else, the device goes to the ALARM state and disallow any SCPI command to go through." execMethod="make_hwtest" displayLevel="OPERATOR" polledPeriod="0">
<argin description="">
......@@ -90,6 +95,7 @@
<type xsi:type="pogoDsl:IntType"/>
</argout>
<status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
<excludedStates>INIT</excludedStates>
</commands>
<commands name="WriteSocket" description="Write command to socket" execMethod="write_socket" displayLevel="OPERATOR" polledPeriod="0" isDynamic="false">
<argin description="">
......@@ -99,8 +105,9 @@
<type xsi:type="pogoDsl:VoidType"/>
</argout>
<status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
<excludedStates>INIT</excludedStates>
</commands>
<commands name="WriteReadSocket" description="Send command and returnd the answer" execMethod="write_read_socket" displayLevel="OPERATOR" polledPeriod="0" isDynamic="false">
<commands name="WriteReadSocket" description="Send command and return the answer" execMethod="write_read_socket" displayLevel="OPERATOR" polledPeriod="0" isDynamic="false">
<argin description="Command to send">
<type xsi:type="pogoDsl:StringType"/>
</argin>
......@@ -108,6 +115,7 @@
<type xsi:type="pogoDsl:StringType"/>
</argout>
<status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
<excludedStates>INIT</excludedStates>
</commands>
<states name="ON" description="">
<status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
......@@ -118,6 +126,9 @@
<states name="FAULT" description="">
<status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
</states>
<preferences docHome="./doc_html" makefileHome="/usr/share/pogo/preferences"/>
<states name="INIT" description="Connecting to socket">
<status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
</states>
<preferences docHome="../doc/doc_html" makefileHome="$(TANGO_HOME)"/>
</classes>
</pogoDsl:PogoSystem>
......@@ -7,7 +7,7 @@
<br><br><br>
<font size="+1"><u><b> Command ClearErrorState : </b></u></font>
<ul>
Clears the error state for the instrument. This is done by getting the GetErrorState ? 5x times to clear the inner error message buffer
Clears the error state for the instrument. This is done by getting the GetErrorState 5x times to clear the inner error message buffer
</ul>
<br><br><br>
<Table Border=2 Cellpadding=3 CELLSPACING=0>
......@@ -47,7 +47,7 @@
<Tr BGCOLOR="#CCCCFF"><Td><Hr></Td><Td><Hr></Td><Td><Hr></Td></Tr>
<tr>
<td> Command NOT allowed for </td>
<td> <font size="-1"> <li> ALARM </li> </font> </td>
<td> <font size="-1"> <li> ALARM </li> <li> INIT </li> </font> </td>
<td> .. </td>
</tr>
</table>
......
......@@ -47,7 +47,7 @@
<Tr BGCOLOR="#CCCCFF"><Td><Hr></Td><Td><Hr></Td><Td><Hr></Td></Tr>
<tr>
<td> Command NOT allowed for </td>
<td> <font size="-1"> <li> ALARM </li> </font> </td>
<td> <font size="-1"> <li> ALARM </li> <li> INIT </li> </font> </td>
<td> .. </td>
</tr>
</table>
......
......@@ -47,7 +47,7 @@
<Tr BGCOLOR="#CCCCFF"><Td><Hr></Td><Td><Hr></Td><Td><Hr></Td></Tr>
<tr>
<td> Command NOT allowed for </td>
<td> <font size="-1"> <li> ALARM </li> </font> </td>
<td> <font size="-1"> <li> ALARM </li> <li> INIT </li> </font> </td>
<td> .. </td>
</tr>
</table>
......
......@@ -47,7 +47,7 @@
<Tr BGCOLOR="#CCCCFF"><Td><Hr></Td><Td><Hr></Td><Td><Hr></Td></Tr>
<tr>
<td> Command NOT allowed for </td>
<td> <font size="-1"> <li> ALARM </li> </font> </td>
<td> <font size="-1"> <li> ALARM </li> <li> INIT </li> </font> </td>
<td> .. </td>
</tr>
</table>
......
......@@ -8,7 +8,7 @@
<font size="+1"><u><b> Command MakeHWTest : </b></u></font>
<ul>
Performs a hardware test for the instrument.<Br>
If the result is positive ? device goes to the ON state, else, the device goes to the ALARM state and disallow any SCPI command to go through.
If the result is positive device goes to the ON state, else, the device goes to the ALARM state and disallow any SCPI command to go through.
</ul>
<br><br><br>
<Table Border=2 Cellpadding=3 CELLSPACING=0>
......@@ -47,8 +47,8 @@
</tr>
<Tr BGCOLOR="#CCCCFF"><Td><Hr></Td><Td><Hr></Td><Td><Hr></Td></Tr>
<tr>
<td> Command allowed for </td>
<td> All states </td>
<td> Command NOT allowed for </td>
<td> <font size="-1"> <li> INIT </li> </font> </td>
<td> .. </td>
</tr>
</table>
......
......@@ -7,7 +7,7 @@
<br><br><br>
<font size="+1"><u><b> Command Stop : </b></u></font>
<ul>
Stops operation of the pump. The most important action ? stop the PressureControl ? power control ? go to the measurement mode
Stops operation of the pump. The most important action stop the PressureControl power control go to the measurement mode
</ul>
<br><br><br>
<Table Border=2 Cellpadding=3 CELLSPACING=0>
......@@ -47,7 +47,7 @@
<Tr BGCOLOR="#CCCCFF"><Td><Hr></Td><Td><Hr></Td><Td><Hr></Td></Tr>
<tr>
<td> Command NOT allowed for </td>
<td> <font size="-1"> <li> ALARM </li> </font> </td>
<td> <font size="-1"> <li> ALARM </li> <li> INIT </li> </font> </td>
<td> .. </td>
</tr>
</table>
......
......@@ -7,7 +7,7 @@
<br><br><br>
<font size="+1"><u><b> Command WriteReadSocket : </b></u></font>
<ul>
Send command and returnd the answer
Send command and return the answer
</ul>
<br><br><br>
<Table Border=2 Cellpadding=3 CELLSPACING=0>
......@@ -46,8 +46,8 @@
</tr>
<Tr BGCOLOR="#CCCCFF"><Td><Hr></Td><Td><Hr></Td><Td><Hr></Td></Tr>
<tr>
<td> Command allowed for </td>
<td> All states </td>
<td> Command NOT allowed for </td>
<td> <font size="-1"> <li> INIT </li> </font> </td>
<td> .. </td>
</tr>
</table>
......
......@@ -46,8 +46,8 @@
</tr>
<Tr BGCOLOR="#CCCCFF"><Td><Hr></Td><Td><Hr></Td><Td><Hr></Td></Tr>
<tr>
<td> Command allowed for </td>
<td> All states </td>
<td> Command NOT allowed for </td>
<td> <font size="-1"> <li> INIT </li> </font> </td>
<td> .. </td>
</tr>
</table>
......
......@@ -34,7 +34,7 @@
<td> DEV_VOID </td>
<td> DEV_VOID </td>
<td> OPERATOR </td>
<td> Stops operation of the pump. The most important action ? stop the PressureControl ? power control ? go to the measurement mode </td>
<td> Stops operation of the pump. The most important action stop the PressureControl power control go to the measurement mode </td>
</tr>
<tr>
<td> <a href="CmdGetIDN.html"> GetIDN </a> </td>
......@@ -62,7 +62,7 @@
<td> DEV_VOID </td>
<td> DEV_VOID </td>
<td> OPERATOR </td>
<td> Clears the error state for the instrument. This is done by getting the GetErrorState ? 5x times to clear the inner error message buffer </td>
<td> Clears the error state for the instrument. This is done by getting the GetErrorState 5x times to clear the inner error message buffer </td>
</tr>
<tr>
<td> <a href="CmdMakeHWTest.html"> MakeHWTest </a> </td>
......@@ -70,7 +70,7 @@
<td> DEV_LONG </td>
<td> OPERATOR </td>
<td> Performs a hardware test for the instrument.<Br>
If the result is positive ? device goes to the ON state, else, the device goes to the ALARM state and disallow any SCPI command to go through. </td>
If the result is positive device goes to the ON state, else, the device goes to the ALARM state and disallow any SCPI command to go through. </td>
</tr>
<tr>
<td> <a href="CmdWriteSocket.html"> WriteSocket </a> </td>
......@@ -84,7 +84,7 @@
<td> DEV_STRING </td>
<td> DEV_STRING </td>
<td> OPERATOR </td>
<td> Send command and returnd the answer </td>
<td> Send command and return the answer </td>
</tr>
</table>
</body>
......
......@@ -4,52 +4,6 @@
<title> GEpressCtrlPACE5000 Tango Class User&lsquo;s Guide </title>
</head>
<body text="Black" bgcolor="White" link="Blue" vlink="Purple" alink="Red">
<table border="0" width="100%" cellspacing="0" cellpadding="0" >
<td align="center">
<a href="http://www.esrf.fr/" target=new>
<img src="http://www.esrf.fr/gifs/logo/80.gif" border=0 height="35"></a>
</td>
<td align="center">
<a href="http://www.elettra.trieste.it/" target=new>
<img src="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" border=0 height="35"></a>
</td>
<td align="center">
<a href="http://www.synchrotron-soleil.fr/" target=new>
<img src="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" border=0 height="35"></a>
</td>
<td align="center">
<a href="http://www.cells.es/" target=new>
<img src="http://www.esrf.fr/computing/cs/tango/alba.jpg" border=0 height="27"></a>
</td>
<td align="center">
<a href="http://www.tango-controls.org/" target="_top">
<img src="http://www.esrf.fr/computing/cs/tango/tango_logo.jpg" alt="" height="40" /></a>
</td>
<td align="center">
<a href="http://www.desy.de/html/home/index_eng.html" target=new>
<img src="http://www.esrf.fr/computing/cs/tango/desy.gif" border=0 height="26"></a>
</td>
<td align="center">
<a href="http://www.maxlab.lu.se/maxlab/max4/index.html" target=new>
<img src="http://www.esrf.fr/computing/cs/tango/maxlab.gif" border=0 height="21"></a>
</td>
<td align="center">
<a href="http://www.frm2.tum.de/en/index.html" target=new>
<img src="http://www.esrf.fr/computing/cs/tango/frm-2.jpg" border=0 height="24"></a>
</td>
<td align="center">
<a href="http://www.synchrotron.uj.edu.pl/" target=new>
<img src="http://www.esrf.fr/computing/cs/tango/solaris_logo.gif" border=0 height="21"></a>
</td>
<td align="center">
<a href="http://www.anka.kit.edu/english/28.php" target=new>
<img src="http://www.esrf.fr/computing/cs/tango/anka_blau_rot.png" border=0 height="25"></a>
</td>
<td align="center">
<a href="http://www.eli-hu.hu/" target=new>
<img src="http://www.esrf.fr/computing/cs/tango/eli-alps.jpg" border=0 height="32"></a>
</td>
</table>
<hr>
<br>
<center><h2><u><b> GEpressCtrlPACE5000 Tango Python Class </b></u></h2></center> <br><br>
......@@ -195,7 +149,7 @@
<td> DEV_VOID </td>
<td> DEV_VOID </td>
<td> OPERATOR </td>
<td> Stops operation of the pump. The most important action ? stop the PressureControl ? power control ? go to the measurement mode </td>
<td> Stops operation of the pump. The most important action stop the PressureControl power control go to the measurement mode </td>
</tr>
<tr>
<td> <a href="CmdGetIDN.html"> GetIDN </a> </td>
......@@ -223,7 +177,7 @@
<td> DEV_VOID </td>
<td> DEV_VOID </td>
<td> OPERATOR </td>
<td> Clears the error state for the instrument. This is done by getting the GetErrorState ? 5x times to clear the inner error message buffer </td>
<td> Clears the error state for the instrument. This is done by getting the GetErrorState 5x times to clear the inner error message buffer </td>
</tr>
<tr>
<td> <a href="CmdMakeHWTest.html"> MakeHWTest </a> </td>
......@@ -231,7 +185,7 @@
<td> DEV_LONG </td>
<td> OPERATOR </td>
<td> Performs a hardware test for the instrument.<Br>
If the result is positive ? device goes to the ON state, else, the device goes to the ALARM state and disallow any SCPI command to go through. </td>
If the result is positive device goes to the ON state, else, the device goes to the ALARM state and disallow any SCPI command to go through. </td>
</tr>
<tr>
<td> <a href="CmdWriteSocket.html"> WriteSocket </a> </td>
......@@ -245,7 +199,7 @@
<td> DEV_STRING </td>
<td> DEV_STRING </td>
<td> OPERATOR </td>
<td> Send command and returnd the answer </td>
<td> Send command and return the answer </td>
</tr>
</table>
<br><br><hr>
......@@ -351,7 +305,7 @@
<br><br><br>
<font size="+1"><u><b> Command Stop : </b></u></font>
<ul>
Stops operation of the pump. The most important action ? stop the PressureControl ? power control ? go to the measurement mode
Stops operation of the pump. The most important action stop the PressureControl power control go to the measurement mode
</ul>
<br><br><br>
<Table Border=2 Cellpadding=3 CELLSPACING=0>
......@@ -391,7 +345,7 @@
<Tr BGCOLOR="#CCCCFF"><Td><Hr></Td><Td><Hr></Td><Td><Hr></Td></Tr>
<tr>
<td> Command NOT allowed for </td>
<td> <font size="-1"> <li> ALARM </li> </font> </td>
<td> <font size="-1"> <li> ALARM </li> <li> INIT </li> </font> </td>
<td> .. </td>
</tr>
</table>
......@@ -440,7 +394,7 @@
<Tr BGCOLOR="#CCCCFF"><Td><Hr></Td><Td><Hr></Td><Td><Hr></Td></Tr>
<tr>
<td> Command NOT allowed for </td>
<td> <font size="-1"> <li> ALARM </li> </font> </td>
<td> <font size="-1"> <li> ALARM </li> <li> INIT </li> </font> </td>
<td> .. </td>
</tr>
</table>
......@@ -489,7 +443,7 @@
<Tr BGCOLOR="#CCCCFF"><Td><Hr></Td><Td><Hr></Td><Td><Hr></Td></Tr>
<tr>
<td> Command NOT allowed for </td>
<td> <font size="-1"> <li> ALARM </li> </font> </td>
<td> <font size="-1"> <li> ALARM </li> <li> INIT </li> </font> </td>
<td> .. </td>
</tr>
</table>
......@@ -538,7 +492,7 @@
<Tr BGCOLOR="#CCCCFF"><Td><Hr></Td><Td><Hr></Td><Td><Hr></Td></Tr>
<tr>
<td> Command NOT allowed for </td>
<td> <font size="-1"> <li> ALARM </li> </font> </td>
<td> <font size="-1"> <li> ALARM </li> <li> INIT </li> </font> </td>
<td> .. </td>
</tr>
</table>
......@@ -547,7 +501,7 @@
<br><br><br>
<font size="+1"><u><b> Command ClearErrorState : </b></u></font>
<ul>
Clears the error state for the instrument. This is done by getting the GetErrorState ? 5x times to clear the inner error message buffer
Clears the error state for the instrument. This is done by getting the GetErrorState 5x times to clear the inner error message buffer
</ul>
<br><br><br>
<Table Border=2 Cellpadding=3 CELLSPACING=0>
......@@ -587,7 +541,7 @@
<Tr BGCOLOR="#CCCCFF"><Td><Hr></Td><Td><Hr></Td><Td><Hr></Td></Tr>
<tr>
<td> Command NOT allowed for </td>
<td> <font size="-1"> <li> ALARM </li> </font> </td>
<td> <font size="-1"> <li> ALARM </li> <li> INIT </li> </font> </td>
<td> .. </td>
</tr>
</table>
......@@ -597,7 +551,7 @@
<font size="+1"><u><b> Command MakeHWTest : </b></u></font>
<ul>
Performs a hardware test for the instrument.<Br>
If the result is positive ? device goes to the ON state, else, the device goes to the ALARM state and disallow any SCPI command to go through.
If the result is positive device goes to the ON state, else, the device goes to the ALARM state and disallow any SCPI command to go through.
</ul>
<br><br><br>
<Table Border=2 Cellpadding=3 CELLSPACING=0>
......@@ -636,8 +590,8 @@
</tr>
<Tr BGCOLOR="#CCCCFF"><Td><Hr></Td><Td><Hr></Td><Td><Hr></Td></Tr>
<tr>
<td> Command allowed for </td>
<td> All states </td>
<td> Command NOT allowed for </td>
<td> <font size="-1"> <li> INIT </li> </font> </td>
<td> .. </td>
</tr>
</table>
......@@ -685,8 +639,8 @@
</tr>
<Tr BGCOLOR="#CCCCFF"><Td><Hr></Td><Td><Hr></Td><Td><Hr></Td></Tr>
<tr>
<td> Command allowed for </td>
<td> All states </td>
<td> Command NOT allowed for </td>
<td> <font size="-1"> <li> INIT </li> </font> </td>
<td> .. </td>
</tr>
</table>
......@@ -695,7 +649,7 @@
<br><br><br>
<font size="+1"><u><b> Command WriteReadSocket : </b></u></font>
<ul>
Send command and returnd the answer
Send command and return the answer
</ul>
<br><br><br>
<Table Border=2 Cellpadding=3 CELLSPACING=0>
......@@ -734,8 +688,8 @@
</tr>
<Tr BGCOLOR="#CCCCFF"><Td><Hr></Td><Td><Hr></Td><Td><Hr></Td></Tr>
<tr>
<td> Command allowed for </td>
<td> All states </td>
<td> Command NOT allowed for </td>
<td> <font size="-1"> <li> INIT </li> </font> </td>
<td> .. </td>
</tr>
</table>
......@@ -773,6 +727,10 @@
<td> FAULT </td>
<td> </td>
</tr>
<tr>
<td> INIT </td>
<td> Connecting to socket </td>
</tr>
</table>
</body>
</html>
......@@ -24,6 +24,10 @@
<td> FAULT </td>
<td> </td>
</tr>
<tr>
<td> INIT </td>
<td> Connecting to socket </td>
</tr>
</table>
</body>
</html>
......@@ -58,7 +58,7 @@ import socket
# FAULT :
class GEpressCtrlPACE5000Channel (PyTango.Device_4Impl):
class GEpressCtrlPACE5000Channel (PyTango.LatestDeviceImpl):
"""Server for the controll of the Pressuer Automated Calibration Equipment 5000 from GE"""
# -------- Add you global variables here --------------------------
......@@ -72,7 +72,7 @@ class GEpressCtrlPACE5000Channel (PyTango.Device_4Impl):
#----- PROTECTED REGION END -----# // GEpressCtrlPACE5000Channel.global_variables
def __init__(self, cl, name):
PyTango.Device_4Impl.__init__(self,cl,name)
PyTango.LatestDeviceImpl.__init__(self,cl,name)
self.debug_stream("In __init__()")
GEpressCtrlPACE5000Channel.init_device(self)
#----- PROTECTED REGION ID(GEpressCtrlPACE5000Channel.__init__) ENABLED START -----#
......@@ -83,6 +83,7 @@ class GEpressCtrlPACE5000Channel (PyTango.Device_4Impl):
self.debug_stream("In delete_device()")
#----- PROTECTED REGION ID(GEpressCtrlPACE5000Channel.delete_device) ENABLED START -----#
self.set_state(PyTango.DevState.OFF)
self.socket.close()
#----- PROTECTED REGION END -----# // GEpressCtrlPACE5000Channel.delete_device
......@@ -404,7 +405,7 @@ class GEpressCtrlPACE5000Channel (PyTango.Device_4Impl):
# -------------------------------------------------------------------------
def Stop(self):
""" Stops operation of the pump. The most important action ? stop the PressureControl ? power control ? go to the measurement mode
""" Stops operation of the pump. The most important action stop the PressureControl power control go to the measurement mode
"""
self.debug_stream("In Stop()")
#----- PROTECTED REGION ID(GEpressCtrlPACE5000Channel.Stop) ENABLED START -----#
......@@ -424,7 +425,7 @@ class GEpressCtrlPACE5000Channel (PyTango.Device_4Impl):
def Decompress(self):
""" Starts the decompression to the lowest pressure with DecompressRate
First ? stops the operation of the pump.
First stops the operation of the pump.
Reads the value of the DecompressRate, sets the value of the SlewRate to this value
Sets the SlewRateMode to 0=LINEAR
Sets the SetPoint = 0
......@@ -561,7 +562,7 @@ class GEpressCtrlPACE5000ChannelClass(PyTango.DeviceClass):
PyTango.READ_WRITE],
{
'unit': "(0-> LIN, 1->MAX)",
'description': "Instrumental mode for the slew rate operation ? controls usage of the SlewRate parameter.\nMaximum slew rate ? SlewRate parameter is disregarded and compression or decompression takes place with maximum pace.\nLinear ? device respects the SlewRate setting and performs the compression or decompression accordingly\n",
'description': "Instrumental mode for the slew rate operation controls usage of the SlewRate parameter.\nMaximum slew rate SlewRate parameter is disregarded and compression or decompression takes place with maximum pace.\nLinear device respects the SlewRate setting and performs the compression or decompression accordingly\n",
} ],
'Overshoot':
[[PyTango.DevBoolean,
......@@ -569,7 +570,7 @@ class GEpressCtrlPACE5000ChannelClass(PyTango.DeviceClass):
PyTango.READ_WRITE],
{
'unit': "(0-> not allowed, 1-> allowed)",
'description': "Parameter controlling the overshooting capability on pressure increase:\n0 ? not allowed\n1 ? allowed",
'description': "Parameter controlling the overshooting capability on pressure increase:\n0 not allowed\n1 allowed",
} ],
'PressureControl':
[[PyTango.DevBoolean,
......@@ -577,7 +578,7 @@ class GEpressCtrlPACE5000ChannelClass(PyTango.DeviceClass):
PyTango.READ_WRITE],
{
'unit': "(0-> off, 1-> on)",
'description': "Parameter controlling the main operation of the pump. \nIf pressure control is ON ? the device does it best to increase or decrease the pressure according to the setpoint.\nf pressure control is OFF ? the device is going to the measurement mode, no control, just measurement (useful for leakage testing)",
'description': "Parameter controlling the main operation of the pump. \nIf pressure control is ON the device does it best to increase or decrease the pressure according to the setpoint.\nf pressure control is OFF the device is going to the measurement mode, no control, just measurement (useful for leakage testing)",
} ],
'SourceEffectiveness':
[[PyTango.DevDouble,
......
<?xml version="1.0" encoding="ASCII"?>
<pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://www.esrf.fr/tango/pogo/PogoDsl">
<classes name="GEpressCtrlPACE5000Channel" pogoRevision="9.4">
<description description="Server for the controll of the Pressuer Automated Calibration Equipment 5000 from GE" title="GE Pressure Controller PACE-5000" sourcePath="/home/tnunez/Tango_svn/DeviceClasses/MeasureInstruments/GEpressCtrlPACE5000Channel/trunk" language="Python" filestogenerate="XMI file,Code files,Protected Regions,html Pages" license="GPL" hasMandatoryProperty="false" hasConcreteProperty="true" hasAbstractCommand="false" hasAbstractAttribute="false" descriptionHtmlExists="false">
<classes name="GEpressCtrlPACE5000Channel" pogoRevision="9.6">
<description description="Server for the controll of the Pressuer Automated Calibration Equipment 5000 from GE" title="GE Pressure Controller PACE-5000" sourcePath="/home/informatique/ica/malfreyt/DEV/Devices/GEpressCtrlPACE5000/GEpressCtrlPACE5000Channel/Release_1_0_dev" language="Python" filestogenerate="XMI file,Code files,Protected Regions" license="GPL" hasMandatoryProperty="false" hasConcreteProperty="true" hasAbstractCommand="false" hasAbstractAttribute="false">
<inheritances classname="Device_Impl" sourcePath=""/>
<identification contact="at mail.desy.de - tnunez" author="tnunez" emailDomain="mail.desy.de" classFamily="MeasureInstruments" siteSpecific="" platform="Unix Like" bus="Socket" manufacturer="GE" reference="PACE-5000"/>
</description>
......@@ -157,6 +157,6 @@
<states name="FAULT" description="">
<status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
</states>
<preferences docHome="./doc_html" makefileHome="/usr/share/pogo/preferences"/>
<preferences docHome="../doc/doc_html" makefileHome="$(TANGO_HOME)"/>
</classes>
</pogoDsl:PogoSystem>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment