<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki-ext.aps.anl.gov/ug11bm/index.php?action=history&amp;feed=atom&amp;title=Python_Control_Software</id>
	<title>Python Control Software - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-ext.aps.anl.gov/ug11bm/index.php?action=history&amp;feed=atom&amp;title=Python_Control_Software"/>
	<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/ug11bm/index.php?title=Python_Control_Software&amp;action=history"/>
	<updated>2026-06-04T04:06:53Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/ug11bm/index.php?title=Python_Control_Software&amp;diff=128&amp;oldid=prev</id>
		<title>WikiSysop: Created page with &quot;== Cryostat Python Control Software ==  ===SetupCryostat()=== in robot.py  ''Set up Oxford ITC503 Cryostat to default parameters''   def SetupCryostat(sensor=2, tries=5)      sen...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/ug11bm/index.php?title=Python_Control_Software&amp;diff=128&amp;oldid=prev"/>
		<updated>2011-07-14T16:40:28Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;== Cryostat Python Control Software ==  ===SetupCryostat()=== in robot.py  &amp;#039;&amp;#039;Set up Oxford ITC503 Cryostat to default parameters&amp;#039;&amp;#039;   def SetupCryostat(sensor=2, tries=5)      sen...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Cryostat Python Control Software ==&lt;br /&gt;
&lt;br /&gt;
===SetupCryostat()===&lt;br /&gt;
in robot.py&lt;br /&gt;
&lt;br /&gt;
''Set up Oxford ITC503 Cryostat to default parameters''&lt;br /&gt;
&lt;br /&gt;
 def SetupCryostat(sensor=2, tries=5)&lt;br /&gt;
&lt;br /&gt;
    sensor: sensor # to control against: 1=gas inlet; 2=cold block (default); 3=spare&lt;br /&gt;
&lt;br /&gt;
    tries: number of repeats to try when sending the command before giving up (default is 5)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===GetCryostatT()===&lt;br /&gt;
in robot.py&lt;br /&gt;
&lt;br /&gt;
''Read Oxford ITC503 cryostat temperatures''&lt;br /&gt;
&lt;br /&gt;
 def GetCryostatT(tries=5)&lt;br /&gt;
&lt;br /&gt;
      input: number of times to attempt read (defaults to 5)&lt;br /&gt;
&lt;br /&gt;
      returns a list of 3 temperatures: sensor1, sensor2, sensor3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetCryostatT()===&lt;br /&gt;
in robot.py&lt;br /&gt;
&lt;br /&gt;
''Set Oxford ITC503 setpoint and optionally hold for temperature''&lt;br /&gt;
&lt;br /&gt;
 def SetCryostatT(setpoint, WaitFlag=True, Delay=5, MaxWait=120, DeltaT=2, tries=5):&lt;br /&gt;
&lt;br /&gt;
    setpoint (K) -- desired end T&lt;br /&gt;
&lt;br /&gt;
    WaitFlag (default=True) -- if True the routine will return once the temperature is reached (default), &lt;br /&gt;
                               False means return immediately after setting the ramp to begin&lt;br /&gt;
&lt;br /&gt;
    Delay (min) -- period of time to wait after initially reaching the desired temperature in min (default is 5)&lt;br /&gt;
&lt;br /&gt;
    MaxWait (min) -- maximum period to wait for the selected sensor to reach the Set Point in min.&lt;br /&gt;
                     If this period expires, an exception is thrown (defaults to 120)&lt;br /&gt;
&lt;br /&gt;
    DeltaT (K) -- allowed discrepancy between the selected sensor and the desired T to start the delay period (defaults to 2)&lt;br /&gt;
&lt;br /&gt;
    tries -- number of repeats to try when sending the command before giving up (defaults to 5)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SweepCryostatT()===&lt;br /&gt;
in robot.py&lt;br /&gt;
&lt;br /&gt;
''Sets Oxford ITC503 setpoint and optionally hold for temperature''&lt;br /&gt;
&lt;br /&gt;
 def SweepCryostatT(startpoint, endpoint, sweeptime, WaitFlag=False, MaxWait=1.25, tries=5):&lt;br /&gt;
&lt;br /&gt;
    startpoint (K) -- desired start T for Temp&lt;br /&gt;
&lt;br /&gt;
    endpoint (K) -- desired end T&lt;br /&gt;
&lt;br /&gt;
    sweeptime (min) -- desired time for change from startpoint to endpoint (minutes)&lt;br /&gt;
&lt;br /&gt;
    WaitFlag (default=False) -- if True the routine will return once the temperature is reached,&lt;br /&gt;
                                False means return immediately after setting the ramp to begin (default)&lt;br /&gt;
&lt;br /&gt;
    MaxWait (ratio) -- maximum period to wait for the sweep to complete as a ratio of the sweep time.&lt;br /&gt;
                       Default is 1.25, meaning to wait 125% of sweeptime,&lt;br /&gt;
                       If this period expires, an exception is thrown.&lt;br /&gt;
&lt;br /&gt;
    tries -- number of repeats to try when sending the command before giving up (defaults to 5)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Example Code===&lt;br /&gt;
 s11bmwork% /APSshare/bin/python&lt;br /&gt;
 Python 2.5.2 (r252:60911, Jan 28 2009, 15:33:22) &lt;br /&gt;
 [GCC 4.1.2 20070626 (Red Hat 4.1.2-13)] on linux2&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import sys&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; sys.path.append('/local/11BMcontrol/MailIn')&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import robot&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; robot.GetCryostatT()&lt;br /&gt;
 (1.3999999999999999, 407.80000000000001, 273.39999999999998)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; robot.gui.Sleep(1)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; robot.SweepCryostatT(1,2,1)&lt;br /&gt;
 False&lt;br /&gt;
 True&lt;br /&gt;
 False&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; robot.SweepCryostatT(1,2,1,WaitFlag=True)&lt;br /&gt;
 True&lt;br /&gt;
 False&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
</feed>