<?xml version='1.0' encoding='us-ascii'?>
<rss version='2.0'>
<!-- MHonArc v2.6.18 -->
  <channel>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>

    <title>EPICS Tech-talk mailing list</title>
    <link>https://epics.anl.gov/tech-talk/index.php</link>
    <description>
      Email archive for the EPICS Tech-talk mailing list.
    </description>
    <webMaster>anj@aps.anl.gov</webMaster>

    <image>
       <url>https://epics.anl.gov/icons/logoOnly.png</url>
       <title>EPICS Tech-talk mailing list</title>
       <link>https://epics.anl.gov/tech-talk/index.php</link>
    </image>

    <lastBuildDate>Wed, 19 Aug 2026 06:08:46 GMT</lastBuildDate>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00897.php</link>
      <author>James P. Withrow via Tech-talk</author>
      <pubDate>Thu, 13 Aug 2026 23:34:05 GMT</pubDate>
      <guid isPermaLink="false">BN8PR04MB6467B8CAC3FFAA73FC826643D7DB2@BN8PR04MB6467.namprd04.prod.outlook.com</guid>
      <title>Re: Oxford Cryostream 1000 IOC questions</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Re: Oxford Cryostream 1000 IOC questions -->
<!--X-From-R13: "Xnzrf B. Ivguebj ivn Frpu&#45;gnyx" <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Thu, 13 Aug 2026 23:34:05 +0000 -->
<!--X-Message-Id: BN8PR04MB6467B8CAC3FFAA73FC826643D7DB2@BN8PR04MB6467.namprd04.prod.outlook.com -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Reference: BN8PR04MB64677CE4D47CCAF72AE9B64DD7DB2@BN8PR04MB6467.namprd04.prod.outlook.com -->
<!--X-Reference: DM3PPF1CEB6B7EF9B7C6B171D8606BCD46599DB2@DM3PPF1CEB6B7EF.namprd11.prod.outlook.com -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Re: Oxford Cryostream 1000 IOC questions</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
&quot;James P. Withrow via Tech-talk&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
Mark Rivers &lt;<a href="mailto:rivers%20at%20cars%20dot%20uchicago%20dot%20edu">rivers at cars.uchicago.edu</a>&gt;, tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Thu, 13 Aug 2026 23:34:05 +0000</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<table width="100%"><tr><td style="">


<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hello Mark -</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Below is the relevant excerpt from the IOC when both the status and command sockets are set to the same IP and port as in the repository.</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<pre class="elementToProof"><div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"># CS1000 uses TCP for Status Packets or Commands
# Status Packets
drvAsynIPPortConfigure(&quot;L0&quot;, &quot;164.54.212.121:10304 TCP&quot;, 0, 0, 0)
# Commands
drvAsynIPPortConfigure(&quot;OC_CMD&quot;, &quot;164.54.212.121:10304 TCP&quot;, 0, 0, 0)
# Status Packet and Commands on a Single Port
dbLoadRecords(&quot;db/MDO.db&quot;, &quot;P=OXCRYO:,Q=CS1000,PORT=L0,R=MDO:,L=0,A=0,PORTCMD=OC_CMD&quot;)
#var mySubDebug 1
#var streamError 1
#var streamDebug 1
#If are interested in saving logs, it can produce a few GBs of logs, use with caution
#streamSetLogfile(&quot;logfile.txt&quot;)
cd &quot;/opt/epics/iocs/cryostream-1000-EPICS-IOC/OXCS1000/iocBoot/ioccryo1&quot;
iocInit
Starting iocInit
############################################################################
## EPICS R7.0.9
## Rev. 2026-01-14T12:49-0600
## Rev. Date build date/time: 
############################################################################
<b>2026/08/13 18:20:47.498515 _main_ OXCRYO:CS1000:TURBOCMD lockRequest: port OC_CMD not connected</b>
</div></pre>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
-Jim</div>
<div id="Signature" class="elementToProof">
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Jim Withrow, Research Support Specialist - jwithrow at cornell.edu</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
NE-CAT, Cornell University - <a rel="nofollow" href="https://urldefense.us/v3/__https://necat.chem.cornell.edu__;!!G_uCfscf7eWS!bQUlFeB8Ss4Ld1UEgT81zkfbDKNC45p-t9sRZ7_CkjZAneJkA6dASzQkvJxv-sxT_Vg8Xi_mPdEMWYD8exIx7mlc-g$">https://necat.chem.cornell.edu</a></div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Advanced Photon Source, Sector 24</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
9700 S. Cass Avenue, Building 436 E001</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Lemont, IL 60439</div>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Mark Rivers &lt;rivers at cars.uchicago.edu&gt;<br>
<b>Sent:</b> Thursday, August 13, 2026 5:07 PM<br>
<b>To:</b> tech-talk &lt;tech-talk at aps.anl.gov&gt;; James P. Withrow &lt;jwithrow at cornell.edu&gt;<br>
<b>Subject:</b> Re: Oxford Cryostream 1000 IOC questions</font>
<div>&nbsp;</div>
</div>

<div dir="ltr">
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
Hi Jim,</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
I think the database was probably intentionally designed to open 2 separate sockets to the device, so that the long status reply and short commands were independent.</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
Can you send the error message you got when using 2 separate asyn ports?</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
Mark</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div id="x_appendonsend"></div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Tech-talk &lt;tech-talk-bounces at aps.anl.gov&gt; on behalf of James P. Withrow via Tech-talk &lt;tech-talk at aps.anl.gov&gt;<br>
<b>Sent:</b> Thursday, August 13, 2026 4:02 PM<br>
<b>To:</b> tech-talk &lt;tech-talk at aps.anl.gov&gt;<br>
<b>Subject:</b> Oxford Cryostream 1000 IOC questions</font>
<div>&nbsp;</div>
</div>

<div dir="ltr">
<div class="x_x_elementToProof" style="font-family:Aptos,&quot;Aptos_EmbeddedFont&quot;,&quot;Aptos_MSFontService&quot;,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Good afternoon, all -&nbsp;</div>
<div class="x_x_elementToProof" style="font-family:Aptos,&quot;Aptos_EmbeddedFont&quot;,&quot;Aptos_MSFontService&quot;,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_x_elementToProof" style="font-family:Aptos,&quot;Aptos_EmbeddedFont&quot;,&quot;Aptos_MSFontService&quot;,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
I have an Oxford Cryostream 1000 and I am attempting to use the IOC located at&nbsp;</div>
<div class="x_x_elementToProof" style="font-family:Aptos,&quot;Aptos_EmbeddedFont&quot;,&quot;Aptos_MSFontService&quot;,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_x_elementToProof" style="font-family:Aptos,&quot;Aptos_EmbeddedFont&quot;,&quot;Aptos_MSFontService&quot;,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<a rel="nofollow" href="https://urldefense.us/v3/__https://github.com/bcsblbl/cryostream-1000-EPICS-IOC__;!!G_uCfscf7eWS!eQE76DYWeSxU8TKizFHTRrBr5nFR8PaYs_JUcCoSd7CwM7FMa79ZY-dTmIDogP_5mkcQ1bKtf0ec_H5OJSJEpuITMw$" originalsrc="https://urldefense.us/v3/__https://github.com/bcsblbl/cryostream-1000-EPICS-IOC__;!!G_uCfscf7eWS!eQE76DYWeSxU8TKizFHTRrBr5nFR8PaYs_JUcCoSd7CwM7FMa79ZY-dTmIDogP_5mkcQ1bKtf0ec_H5OJSJEpuITMw$">https://github.com/bcsblbl/cryostream-1000-EPICS-IOC</a></div>
<div class="x_x_elementToProof" style="font-family:Aptos,&quot;Aptos_EmbeddedFont&quot;,&quot;Aptos_MSFontService&quot;,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_x_elementToProof" style="font-family:Aptos,&quot;Aptos_EmbeddedFont&quot;,&quot;Aptos_MSFontService&quot;,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
I have it working well; I am able to both control and monitor the cryostream. However, my IOC console fills up with the following messages at 1-second intervals:</div>
<div class="x_x_elementToProof" style="font-family:Aptos,&quot;Aptos_EmbeddedFont&quot;,&quot;Aptos_MSFontService&quot;,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_x_elementToProof" style="font-family:Aptos,&quot;Aptos_EmbeddedFont&quot;,&quot;Aptos_MSFontService&quot;,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
2026/08/13 15:55:18.027546 L0 OXCRYO:CS1000:STATUS: device L0 0 disconnected</div>
<div class="x_x_elementToProof" style="font-family:Aptos,&quot;Aptos_EmbeddedFont&quot;,&quot;Aptos_MSFontService&quot;,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
2026/08/13 15:55:19.179502 L0 OXCRYO:CS1000:STATUS: device L0 0 disconnected</div>
<div class="x_x_elementToProof" style="font-family:Aptos,&quot;Aptos_EmbeddedFont&quot;,&quot;Aptos_MSFontService&quot;,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
2026/08/13 15:55:20.331536 L0 OXCRYO:CS1000:STATUS: device L0 0 disconnected</div>
<div class="x_x_elementToProof" style="font-family:Aptos,&quot;Aptos_EmbeddedFont&quot;,&quot;Aptos_MSFontService&quot;,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
2026/08/13 15:55:21.483524 L0 OXCRYO:CS1000:STATUS: device L0 0 disconnected</div>
<div class="x_x_elementToProof" style="font-family:Aptos,&quot;Aptos_EmbeddedFont&quot;,&quot;Aptos_MSFontService&quot;,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
2026/08/13 15:55:22.635480 L0 OXCRYO:CS1000:STATUS: device L0 0 disconnected</div>
<div class="x_x_elementToProof" style="font-family:Aptos,&quot;Aptos_EmbeddedFont&quot;,&quot;Aptos_MSFontService&quot;,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_x_elementToProof" style="font-family:Aptos,&quot;Aptos_EmbeddedFont&quot;,&quot;Aptos_MSFontService&quot;,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Have I configured something incorrectly? Is this something to be concerned with? I did change the following line in st.cmd:</div>
<div class="x_x_elementToProof" style="font-family:Aptos,&quot;Aptos_EmbeddedFont&quot;,&quot;Aptos_MSFontService&quot;,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_x_elementToProof" style="font-family:Aptos,&quot;Aptos_EmbeddedFont&quot;,&quot;Aptos_MSFontService&quot;,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
dbLoadRecords(&quot;db/MDO.db&quot;, &quot;P=OXCRYO:,Q=CS1000,PORT=L0,R=MDO:,L=0,A=0,PORTCMD=L0&quot;)</div>
<div class="x_x_elementToProof" style="font-family:Aptos,&quot;Aptos_EmbeddedFont&quot;,&quot;Aptos_MSFontService&quot;,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_x_elementToProof" style="font-family:Aptos,&quot;Aptos_EmbeddedFont&quot;,&quot;Aptos_MSFontService&quot;,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
I changed PORTCMD from &quot;OC_CMD&quot; to &quot;LO&quot; as both the drvAsynIPPortConfigure lines referenced the same IP and port, and the IOC complained about not being able to get a lock for the second port.</div>
<div class="x_x_elementToProof" style="font-family:Aptos,&quot;Aptos_EmbeddedFont&quot;,&quot;Aptos_MSFontService&quot;,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_x_elementToProof" style="font-family:Aptos,&quot;Aptos_EmbeddedFont&quot;,&quot;Aptos_MSFontService&quot;,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Thank you,&nbsp;</div>
<div class="x_x_elementToProof" style="font-family:Aptos,&quot;Aptos_EmbeddedFont&quot;,&quot;Aptos_MSFontService&quot;,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
-Jim Withrow</div>
<div class="x_x_elementToProof" style="font-family:Aptos,&quot;Aptos_EmbeddedFont&quot;,&quot;Aptos_MSFontService&quot;,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div id="x_x_Signature" class="x_x_elementToProof">
<div class="x_x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Jim Withrow, Research Support Specialist - jwithrow at cornell.edu</div>
<div class="x_x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
NE-CAT, Cornell University - <a rel="nofollow" href="https://urldefense.us/v3/__https://necat.chem.cornell.edu__;!!G_uCfscf7eWS!eQE76DYWeSxU8TKizFHTRrBr5nFR8PaYs_JUcCoSd7CwM7FMa79ZY-dTmIDogP_5mkcQ1bKtf0ec_H5OJSJCOXGXug$" originalsrc="https://urldefense.us/v3/__https://necat.chem.cornell.edu__;!!G_uCfscf7eWS!eQE76DYWeSxU8TKizFHTRrBr5nFR8PaYs_JUcCoSd7CwM7FMa79ZY-dTmIDogP_5mkcQ1bKtf0ec_H5OJSJCOXGXug$">
https://necat.chem.cornell.edu</a></div>
<div class="x_x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Advanced Photon Source, Sector 24</div>
<div class="x_x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
9700 S. Cass Avenue, Building 436 E001</div>
<div class="x_x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Lemont, IL 60439</div>
</div>
</div>
</div>


</td></tr></table>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00898.php</link>
      <author>Kuldeep Joshi via Tech-talk</author>
      <pubDate>Fri, 14 Aug 2026 05:14:58 GMT</pubDate>
      <guid isPermaLink="false">CANxvdShRYLLopPyCcwWRMa=h_q_B5ZiSY3gDWMdAMtX_TAmTTQ@mail.gmail.com</guid>
      <title>Modbus and SScan acquisition synchronisation and timestamp query</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Modbus and SScan acquisition synchronisation and timestamp query -->
<!--X-From-R13: Yhyqrrc Xbfuv ivn Frpu&#45;gnyx <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Fri, 14 Aug 2026 05:14:58 +0000 -->
<!--X-Message-Id: CANxvdShRYLLopPyCcwWRMa=h_q_B5ZiSY3gDWMdAMtX_TAmTTQ@mail.gmail.com -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Reference: mailman.18.1786554002.8102.tech&#45;talk@aps.anl.gov -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Modbus and SScan acquisition synchronisation and timestamp query</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
Kuldeep Joshi via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a></td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Fri, 14 Aug 2026 05:14:58 +0000</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<div dir="ltr"><div class="gmail_quote gmail_quote_container"><div>Hello Kay,</div><div>Thank you for your response, Even I was banking on the last record to process.</div><div>However the EPICS documentation, does not assure the sequence of processing.</div><div><br></div><div>I also wanted to know how to get Modbus read/write time stamp.</div><div><br></div><div>for sequencing, I was wondering if PHAS field will help. Another workaround I could think was the having another bi record flag as Done and check that all flags are asserted.</div><div>But I have to reset it every time.</div><div><br></div><div></div><div>Another nifty soln can be thought as given in the pseudo code below. However, I am not sure of scaling and computation overhead. any suggestion on this will be welcome.</div><br></div><div class="gmail_quote gmail_quote_container">record(ai, modin1) {<br>&#xA0; &#xA0; field(DTYP, &quot;asynFloat64&quot;)<br>&#xA0; &#xA0; field(INP, &quot;@asyn($(PORT) $(OFFSET) 10)FLOAT32_LE&quot;)<br>&#xA0; &#xA0; field(FLNK,&quot;modin1:done)&quot;)<br>}<br><br>record(calcout, &quot;modin1:done&quot;) {<br>&#xA0; field(CALC, &quot;!A&quot;) &#xA0; &#xA0; &#xA0; &#xA0; #Toggle<br>&#xA0; field(OUT, &quot;modin1:done.A&quot;)<br>&#xA0; field(FLNK,&quot;check:done)&quot;)<br>}<br><br>record(calcout, &quot;check:done&quot;) {<br>&#xA0; field(INPA,&quot;modin1:done&quot;)<br>&#xA0; field(INPB,&quot;modin2:done&quot;<br>&#xA0; field(CALC, &quot;A&amp;&amp;B = A||B&quot;) &#xA0; &#xA0; &#xA0; &#xA0; #XNOR OPERATION<br>&#xA0; field(OOPT, &quot;On Change&quot;)<br>&#xA0; field(OCAL,&#39;0&#39;)<br>&#xA0; field(DOPT,&quot;Use OCAL&quot;)<br>&#xA0; field(OUT, &quot;modbus:busy&quot;)<br>}<br><br>record(busy, &quot;modbus:busy&quot;){&#xA0; &#xA0; &#xA0; &#xA0; #sscan detector trigger can set this to 1 which can be cleared by the check:done<br>}</div><div class="gmail_quote gmail_quote_container"><div><br></div><div>Thank you in advance,</div><div><br></div><div>Kuldeep&#xA0;</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Date: Wed, 12 Aug 2026 12:44:23 +0000<br>
From: &quot;Kasemir, Kay&quot; &lt;<a rel="nofollow" href="mailto:kasemirk at ornl.gov" target="_blank">kasemirk at ornl.gov</a>&gt;<br>
To: &quot;<a rel="nofollow" href="mailto:tech-talk at aps.anl.gov" target="_blank">tech-talk at aps.anl.gov</a>&quot; &lt;<a rel="nofollow" href="mailto:tech-talk at aps.anl.gov" target="_blank">tech-talk at aps.anl.gov</a>&gt;<br>
Subject: Re: [EXTERNAL] Modbus and SScan acquisition synchronisation<br>
&#xA0; &#xA0; &#xA0; &#xA0; and timestamp query<br>
Message-ID:<br>
&#xA0; &#xA0; &#xA0; &#xA0; &lt;<a rel="nofollow" href="mailto:DM8PR09MB683912CC9885405D56DFF2C6B4DC2 at DM8PR09MB6839.namprd09.prod.outlook.com" target="_blank">DM8PR09MB683912CC9885405D56DFF2C6B4DC2 at DM8PR09MB6839.namprd09.prod.outlook.com</a>&gt;<br>
<br>
Content-Type: text/plain; charset=&quot;windows-1252&quot;<br>
<br>
Hi:<br>
<br>
Good question, I?ve been wondering about this as well!<br>
<br>
When I had N records that all read from the same device via SCAN=I/O Intr, I?ve set the ?TPRO? flag and that way saw in which order they are processed. Then I added an FLNK from the one record processed last to the record or chain of records that should process next to use the information just read from the device.<br>
That ?works? as long as your device support always reads items from the device and then issues the I/O Intr updates of the associated records in the same order. This was the case for the specific device that I used, but isn?t generally given.<br>
<br>
???<br>
<br>
Hello,<br>
I am having a device communicating over Modbus/TCP with four analog input channel<br>
I am using these individual channels with ai records and SCAN in I/O Intr mode.<br>
These four channels are used as detector PV&#39;s in SScan record.<br>
<br>
I wanted to trigger the Detector acquisition only after all the four ai PV are processed (i.e. after I/o Intr processing of ai record).<br>
Is there any way to do this and can I get the time stamp of the modbus read/write operation.<br>
<br>
I am using EPICS 7 with modbus 3.3 asyn 4.42 streamdevice 2.8.22<br>
<br>
Thank you in advance.<br>
<br>
Regards,<br>
Kuldeep<br><br>
</blockquote></div></div>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00899.php</link>
      <author>Pearson, Matthew via Tech-talk</author>
      <pubDate>Fri, 14 Aug 2026 13:56:19 GMT</pubDate>
      <guid isPermaLink="false">SA1PR09MB734228B72F3E03C7B5149670DEDA2@SA1PR09MB7342.namprd09.prod.outlook.com</guid>
      <title>RE: [EXTERNAL] Modbus and SScan acquisition synchronisation and timestamp query</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: RE: [EXTERNAL] Modbus and SScan acquisition synchronisation and timestamp query -->
<!--X-From-R13: "Brnefba, [nggurj ivn Frpu&#45;gnyx" <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Fri, 14 Aug 2026 13:56:19 +0000 -->
<!--X-Message-Id: SA1PR09MB734228B72F3E03C7B5149670DEDA2@SA1PR09MB7342.namprd09.prod.outlook.com -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Reference: mailman.18.1786554002.8102.tech&#45;talk@aps.anl.gov -->
<!--X-Reference: CANxvdShRYLLopPyCcwWRMa=h_q_B5ZiSY3gDWMdAMtX_TAmTTQ@mail.gmail.com -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>RE: [EXTERNAL] Modbus and SScan acquisition synchronisation and timestamp query</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
&quot;Pearson, Matthew via Tech-talk&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
Kuldeep Joshi &lt;<a href="mailto:kuldeep%20dot%20joshi%20at%20gmail%20dot%20com">kuldeep.joshi at gmail.com</a>&gt;, &quot;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Fri, 14 Aug 2026 13:56:19 +0000</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<table width="100%"><tr><td style="a:link { color: blue } a:visited { color: purple } ">


<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Instead of SCAN=I/O Intr you might want to consider modbus absolute addressing, where the modbus driver will write/read for each specified address in turn. If each record is forward linked, the records will
 process in order, and after the last one has finished you can trigger the detector. This is a less efficient way of doing modbus I/O, as it results is separate write/read operations rather than polling contiguous registers, but can be useful in certain circumstances.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">For the timestamps, each of the record timestamps will be set when the response comes back (I think). So depending on how fast the device is, there&#x2019;ll be several milliseconds between each write/read. However,
 it&#x2019;ll be deterministic for your application.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Cheers,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Matt<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p>&nbsp;</o:p></span></p>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="margin-left:.5in"><b><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif"> Tech-talk &lt;tech-talk-bounces at aps.anl.gov&gt;
<b>On Behalf Of </b>Kuldeep Joshi via Tech-talk<br>
<b>Sent:</b> Friday, August 14, 2026 1:15 AM<br>
<b>To:</b> tech-talk at aps.anl.gov<br>
<b>Subject:</b> [EXTERNAL] Modbus and SScan acquisition synchronisation and timestamp query<o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="margin-left:.5in"><o:p>&nbsp;</o:p></p>
<div>
<p class="MsoNormal" style="margin-left:.5in;mso-line-height-alt:.75pt"><span style="font-size:1.0pt;color:white">Hello Kay, Thank you for your response, Even I was banking on the last record to process. However the EPICS documentation, does not assure the
 sequence of processing. I also wanted to know how to get Modbus read/write time stamp. for sequencing,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in;mso-line-height-alt:.75pt"><span style="font-size:1.0pt;color:white"><o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="margin-left:.5in">Hello Kay,<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">Thank you for your response, Even I was banking on the last record to process.<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">However the EPICS documentation, does not assure the sequence of processing.<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal" style="margin-left:.5in">I also wanted to know how to get Modbus read/write time stamp.<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal" style="margin-left:.5in">for sequencing, I was wondering if PHAS field will help. Another workaround I could think was the having another bi record flag as Done and check that all flags are asserted.<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">But I have to reset it every time.<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal" style="margin-left:.5in">Another nifty soln can be thought as given in the pseudo code below. However, I am not sure of scaling and computation overhead. any suggestion on this will be welcome.<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal" style="margin-left:.5in">record(ai, modin1) {<br>
&nbsp; &nbsp; field(DTYP, &quot;asynFloat64&quot;)<br>
&nbsp; &nbsp; field(INP, &quot;@asyn($(PORT) $(OFFSET) 10)FLOAT32_LE&quot;)<br>
&nbsp; &nbsp; field(FLNK,&quot;modin1:done)&quot;)<br>
}<br>
<br>
record(calcout, &quot;modin1:done&quot;) {<br>
&nbsp; field(CALC, &quot;!A&quot;) &nbsp; &nbsp; &nbsp; &nbsp; #Toggle<br>
&nbsp; field(OUT, &quot;modin1:done.A&quot;)<br>
&nbsp; field(FLNK,&quot;check:done)&quot;)<br>
}<br>
<br>
record(calcout, &quot;check:done&quot;) {<br>
&nbsp; field(INPA,&quot;modin1:done&quot;)<br>
&nbsp; field(INPB,&quot;modin2:done&quot;<br>
&nbsp; field(CALC, &quot;A&amp;&amp;B = A||B&quot;) &nbsp; &nbsp; &nbsp; &nbsp; #XNOR OPERATION<br>
&nbsp; field(OOPT, &quot;On Change&quot;)<br>
&nbsp; field(OCAL,'0')<br>
&nbsp; field(DOPT,&quot;Use OCAL&quot;)<br>
&nbsp; field(OUT, &quot;modbus:busy&quot;)<br>
}<br>
<br>
record(busy, &quot;modbus:busy&quot;){&nbsp; &nbsp; &nbsp; &nbsp; #sscan detector trigger can set this to 1 which can be cleared by the check:done<br>
}<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal" style="margin-left:.5in">Thank you in advance,<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal" style="margin-left:.5in">Kuldeep&nbsp;<o:p></o:p></p>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal" style="mso-margin-top-alt:0in;margin-right:0in;margin-bottom:12.0pt;margin-left:.5in">
Date: Wed, 12 Aug 2026 12:44:23 +0000<br>
From: &quot;Kasemir, Kay&quot; &lt;<a rel="nofollow" href="mailto:kasemirk at ornl.gov" target="_blank">kasemirk at ornl.gov</a>&gt;<br>
To: &quot;<a rel="nofollow" href="mailto:tech-talk at aps.anl.gov" target="_blank">tech-talk at aps.anl.gov</a>&quot; &lt;<a rel="nofollow" href="mailto:tech-talk at aps.anl.gov" target="_blank">tech-talk at aps.anl.gov</a>&gt;<br>
Subject: Re: [EXTERNAL] Modbus and SScan acquisition synchronisation<br>
&nbsp; &nbsp; &nbsp; &nbsp; and timestamp query<br>
Message-ID:<br>
&nbsp; &nbsp; &nbsp; &nbsp; &lt;<a rel="nofollow" href="mailto:DM8PR09MB683912CC9885405D56DFF2C6B4DC2 at DM8PR09MB6839.namprd09.prod.outlook.com" target="_blank">DM8PR09MB683912CC9885405D56DFF2C6B4DC2 at DM8PR09MB6839.namprd09.prod.outlook.com</a>&gt;<br>
<br>
Content-Type: text/plain; charset=&quot;windows-1252&quot;<br>
<br>
Hi:<br>
<br>
Good question, I?ve been wondering about this as well!<br>
<br>
When I had N records that all read from the same device via SCAN=I/O Intr, I?ve set the ?TPRO? flag and that way saw in which order they are processed. Then I added an FLNK from the one record processed last to the record or chain of records that should process
 next to use the information just read from the device.<br>
That ?works? as long as your device support always reads items from the device and then issues the I/O Intr updates of the associated records in the same order. This was the case for the specific device that I used, but isn?t generally given.<br>
<br>
???<br>
<br>
Hello,<br>
I am having a device communicating over Modbus/TCP with four analog input channel<br>
I am using these individual channels with ai records and SCAN in I/O Intr mode.<br>
These four channels are used as detector PV's in SScan record.<br>
<br>
I wanted to trigger the Detector acquisition only after all the four ai PV are processed (i.e. after I/o Intr processing of ai record).<br>
Is there any way to do this and can I get the time stamp of the modbus read/write operation.<br>
<br>
I am using EPICS 7 with modbus 3.3 asyn 4.42 streamdevice 2.8.22<br>
<br>
Thank you in advance.<br>
<br>
Regards,<br>
Kuldeep<o:p></o:p></p>
</blockquote>
</div>


</td></tr></table>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00900.php</link>
      <author>Mark Rivers via Tech-talk</author>
      <pubDate>Fri, 14 Aug 2026 17:44:53 GMT</pubDate>
      <guid isPermaLink="false">DM3PPF1CEB6B7EF3F781A4BAD04F422A3FE99DA2@DM3PPF1CEB6B7EF.namprd11.prod.outlook.com</guid>
      <title>Re: Modbus and SScan acquisition synchronisation and timestamp query</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Re: Modbus and SScan acquisition synchronisation and timestamp query -->
<!--X-From-R13: [nex Dviref ivn Frpu&#45;gnyx <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Fri, 14 Aug 2026 17:44:53 +0000 -->
<!--X-Message-Id: DM3PPF1CEB6B7EF3F781A4BAD04F422A3FE99DA2@DM3PPF1CEB6B7EF.namprd11.prod.outlook.com -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Reference: mailman.18.1786554002.8102.tech&#45;talk@aps.anl.gov -->
<!--X-Reference: CANxvdShRYLLopPyCcwWRMa=h_q_B5ZiSY3gDWMdAMtX_TAmTTQ@mail.gmail.com -->
<!--X-Reference: DM3PPF1CEB6B7EFA913BDCCE2735940BD7199DA2@DM3PPF1CEB6B7EF.namprd11.prod.outlook.com -->
<!--X-Reference: DM3PPF1CEB6B7EF64AAD366CC21AFE7466899DA2@DM3PPF1CEB6B7EF.namprd11.prod.outlook.com -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Re: Modbus and SScan acquisition synchronisation and timestamp query</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
Mark Rivers via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
&quot;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;, Kuldeep Joshi &lt;<a href="mailto:kuldeep%20dot%20joshi%20at%20gmail%20dot%20com">kuldeep.joshi at gmail.com</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Fri, 14 Aug 2026 17:44:53 +0000</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<table width="100%"><tr><td style="">


<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;"></span>Hi Kuldeep,</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
When using the sscan record one typically wants to do the following:</div>
<ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:false,&quot;unorderedStyleType&quot;:2}" style="direction: ltr; margin-top: 0px; margin-bottom: 0px;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px; list-style-type: &quot;- &quot;;">
<div role="presentation" style="direction: ltr;">Move the positioners</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px; list-style-type: &quot;- &quot;;">
<div role="presentation" style="direction: ltr;">Wait for the positioner to be done and read their positions</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px; list-style-type: &quot;- &quot;;">
<div role="presentation" style="direction: ltr;">Trigger the detectors</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px; list-style-type: &quot;- &quot;;">
<div role="presentation" style="direction: ltr;">Wait for the detectors to be done and read their values</div>
</li></ul>
<div style="direction: ltr; margin-top: 0px; margin-bottom: 0px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; margin-top: 0px; margin-bottom: 0px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
This is tricky in the case of a driver like the typical Modbus driver configuration, because there really is no detector trigger.&nbsp; The driver is polling the Modbus device at a constant rate and doing callbacks to the ai records with SCAN=I/O Intr.&nbsp; With Kay's
 scheme there is a race condition.&nbsp; Because of compute and network delays even though the ai records processed after the positioners were done, the voltages may have really been sampled before the positioners were done.&nbsp;</div>
<div style="direction: ltr; margin-top: 0px; margin-bottom: 0px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; margin-top: 0px; margin-bottom: 0px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
I can think of 2 solutions:</div>
<ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:false,&quot;unorderedStyleType&quot;:2}" style="direction: ltr; margin-top: 0px; margin-bottom: 0px;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px; list-style-type: &quot;- &quot;;">
<div role="presentation" style="direction: ltr; margin-top: 0px; margin-bottom: 0px;">
Use the sscan record positioner delay (PDLY) to wait for at least the poll time of the Modbus driver.&nbsp; Verify that the records are really processing at this rate by looking at the timestamps.&nbsp; For example, if the poll time of the Modbus driver is 100 ms, then
 set PDLY to 0.11 seconds.&nbsp; Then you can be sure that the readings were obtained after the positioners were done.</div>
<div role="presentation" style="direction: ltr; margin-top: 0px; margin-bottom: 0px;">
<br>
</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px; list-style-type: &quot;- &quot;;">
<div role="presentation" style="direction: ltr; margin-top: 0px; margin-bottom: 0px;">
Don't use the typical Modbus driver with periodic polling.&nbsp; Rather use the &quot;absolute addressing&quot; mode.&nbsp; In this mode when you process the ai record it will actually do the Modbus I/O cycle.&nbsp; You then have a real detector trigger PV, which is a bo record that
 triggers the processing of your 4 ai records.&nbsp; You can then be sure these readings were done after the positioners were complete.&nbsp; Note that you can have 2 Modbus drivers reading the same analog input registers.&nbsp; One uses the conventional polling with I/O
 Intr records, and the other uses absolute addressing with Passive records.</div>
</li></ul>
<div style="direction: ltr; margin-top: 0px; margin-bottom: 0px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; margin-top: 0px; margin-bottom: 0px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Mark</div>
<div style="direction: ltr; margin-top: 0px; margin-bottom: 0px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
&nbsp;</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<hr style="direction: ltr; display: inline-block; width: 98%;">
<div id="x_x_divRplyFwdMsg">
<div style="direction: ltr; font-family: Calibri, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<b>From:</b> Tech-talk &lt;tech-talk-bounces at aps.anl.gov&gt; on behalf of Kuldeep Joshi via Tech-talk &lt;tech-talk at aps.anl.gov&gt;<br>
<b>Sent:</b> Friday, August 14, 2026 12:14 AM<br>
<b>To:</b> tech-talk at aps.anl.gov &lt;tech-talk at aps.anl.gov&gt;<br>
<b>Subject:</b> Modbus and SScan acquisition synchronisation and timestamp query</div>
<div style="direction: ltr;">&nbsp;</div>
</div>
<div style="direction: ltr;">Hello Kay,</div>
<div style="direction: ltr;">Thank you for your response, Even I was banking on the last record to process.</div>
<div style="direction: ltr;">However the EPICS documentation, does not assure the sequence of processing.</div>
<div style="direction: ltr;"><br>
</div>
<div style="direction: ltr;">I also wanted to know how to get Modbus read/write time stamp.</div>
<div style="direction: ltr;"><br>
</div>
<div style="direction: ltr;">for sequencing, I was wondering if PHAS field will help. Another workaround I could think was the having another bi record flag as Done and check that all flags are asserted.</div>
<div style="direction: ltr;">But I have to reset it every time.</div>
<div style="direction: ltr;"><br>
</div>
<div style="direction: ltr;">Another nifty soln can be thought as given in the pseudo code below. However, I am not sure of scaling and computation overhead. any suggestion on this will be welcome.</div>
<div style="direction: ltr;"><br>
</div>
<div style="direction: ltr;">record(ai, modin1) {<br>
&nbsp; &nbsp; field(DTYP, &quot;asynFloat64&quot;)<br>
&nbsp; &nbsp; field(INP, &quot;@asyn($(PORT) $(OFFSET) 10)FLOAT32_LE&quot;)<br>
&nbsp; &nbsp; field(FLNK,&quot;modin1:done)&quot;)<br>
}<br>
<br>
record(calcout, &quot;modin1:done&quot;) {<br>
&nbsp; field(CALC, &quot;!A&quot;) &nbsp; &nbsp; &nbsp; &nbsp; #Toggle<br>
&nbsp; field(OUT, &quot;modin1:done.A&quot;)<br>
&nbsp; field(FLNK,&quot;check:done)&quot;)<br>
}<br>
<br>
record(calcout, &quot;check:done&quot;) {<br>
&nbsp; field(INPA,&quot;modin1:done&quot;)<br>
&nbsp; field(INPB,&quot;modin2:done&quot;<br>
&nbsp; field(CALC, &quot;A&amp;&amp;B = A||B&quot;) &nbsp; &nbsp; &nbsp; &nbsp; #XNOR OPERATION<br>
&nbsp; field(OOPT, &quot;On Change&quot;)<br>
&nbsp; field(OCAL,'0')<br>
&nbsp; field(DOPT,&quot;Use OCAL&quot;)<br>
&nbsp; field(OUT, &quot;modbus:busy&quot;)<br>
}<br>
<br>
record(busy, &quot;modbus:busy&quot;){&nbsp; &nbsp; &nbsp; &nbsp; #sscan detector trigger can set this to 1 which can be cleared by the check:done<br>
}</div>
<div style="direction: ltr;"><br>
</div>
<div style="direction: ltr;">Thank you in advance,</div>
<div style="direction: ltr;"><br>
</div>
<div style="direction: ltr;">Kuldeep&nbsp;</div>
<blockquote style="margin: 0px 0px 0px 0.8ex; padding-left: 1ex; border-left: 1px solid rgb(204, 204, 204);">
<div style="direction: ltr;">Date: Wed, 12 Aug 2026 12:44:23 +0000<br>
From: &quot;Kasemir, Kay&quot; &lt;<a rel="nofollow" href="mailto:kasemirk at ornl.gov" id="OWAfbcc2ca5-2387-9b14-25a1-e808807f8f0c" class="x_x_OWAAutoLink">kasemirk at ornl.gov</a>&gt;<br>
To: &quot;<a rel="nofollow" href="mailto:tech-talk at aps.anl.gov" id="OWAfeb21613-f84f-ec19-13fc-9015ccc180df" class="x_x_OWAAutoLink">tech-talk at aps.anl.gov</a>&quot; &lt;<a rel="nofollow" href="mailto:tech-talk at aps.anl.gov" id="OWAa7c46e22-56e5-a6aa-abb9-0d8354a682dd" class="x_x_OWAAutoLink">tech-talk at aps.anl.gov</a>&gt;<br>
Subject: Re: [EXTERNAL] Modbus and SScan acquisition synchronisation<br>
&nbsp; &nbsp; &nbsp; &nbsp; and timestamp query<br>
Message-ID:<br>
&nbsp; &nbsp; &nbsp; &nbsp; &lt;<a rel="nofollow" href="mailto:DM8PR09MB683912CC9885405D56DFF2C6B4DC2 at DM8PR09MB6839.namprd09.prod.outlook.com" id="OWA0497c7f2-a0cf-9574-4198-b0c4c2079fe1" class="x_x_OWAAutoLink">DM8PR09MB683912CC9885405D56DFF2C6B4DC2 at DM8PR09MB6839.namprd09.prod.outlook.com</a>&gt;<br>
<br>
Content-Type: text/plain; charset=&quot;windows-1252&quot;<br>
<br>
Hi:<br>
<br>
Good question, I?ve been wondering about this as well!<br>
<br>
When I had N records that all read from the same device via SCAN=I/O Intr, I?ve set the ?TPRO? flag and that way saw in which order they are processed. Then I added an FLNK from the one record processed last to the record or chain of records that should process
 next to use the information just read from the device.<br>
That ?works? as long as your device support always reads items from the device and then issues the I/O Intr updates of the associated records in the same order. This was the case for the specific device that I used, but isn?t generally given.<br>
<br>
???<br>
<br>
Hello,<br>
I am having a device communicating over Modbus/TCP with four analog input channel<br>
I am using these individual channels with ai records and SCAN in I/O Intr mode.<br>
These four channels are used as detector PV's in SScan record.<br>
<br>
I wanted to trigger the Detector acquisition only after all the four ai PV are processed (i.e. after I/o Intr processing of ai record).<br>
Is there any way to do this and can I get the time stamp of the modbus read/write operation.<br>
<br>
I am using EPICS 7 with modbus 3.3 asyn 4.42 streamdevice 2.8.22<br>
<br>
Thank you in advance.<br>
<br>
Regards,<br>
Kuldeep<br>
<br>
</div>
</blockquote>


</td></tr></table>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00901.php</link>
      <author>Mark Rivers via Tech-talk</author>
      <pubDate>Fri, 14 Aug 2026 21:05:27 GMT</pubDate>
      <guid isPermaLink="false">DM3PPF1CEB6B7EFAF4291AE25ADB61F15F199DA2@DM3PPF1CEB6B7EF.namprd11.prod.outlook.com</guid>
      <title>Re: Oxford Cryostream 1000 IOC questions</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Re: Oxford Cryostream 1000 IOC questions -->
<!--X-From-R13: [nex Dviref ivn Frpu&#45;gnyx <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Fri, 14 Aug 2026 21:05:27 +0000 -->
<!--X-Message-Id: DM3PPF1CEB6B7EFAF4291AE25ADB61F15F199DA2@DM3PPF1CEB6B7EF.namprd11.prod.outlook.com -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Reference: BN8PR04MB64677CE4D47CCAF72AE9B64DD7DB2@BN8PR04MB6467.namprd04.prod.outlook.com -->
<!--X-Reference: DM3PPF1CEB6B7EF9B7C6B171D8606BCD46599DB2@DM3PPF1CEB6B7EF.namprd11.prod.outlook.com -->
<!--X-Reference: BN8PR04MB6467B8CAC3FFAA73FC826643D7DB2@BN8PR04MB6467.namprd04.prod.outlook.com -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Re: Oxford Cryostream 1000 IOC questions</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
Mark Rivers via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
&quot;James P. Withrow&quot; &lt;<a href="mailto:jwithrow%20at%20cornell%20dot%20edu">jwithrow at cornell.edu</a>&gt;, tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Fri, 14 Aug 2026 21:05:27 +0000</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<table width="100%"><tr><td style="">


<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Hi James,</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:false,&quot;unorderedStyleType&quot;:4}" style="margin-top: 0px; margin-bottom: 0px;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0); list-style-type: &quot;&#10146; &quot;;">
<pre class="elementToProof" role="presentation"><div class="elementToProof" style="direction: ltr; white-space: pre; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif;">2026/08/13 18:20:47.498515 _main_ OXCRYO:CS1000:TURBOCMD lockRequest: port OC_CMD not connected</div></pre>
</li></ul>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
That looks to me like the Oxford rejected the connection attempt for the second socket.</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Here are a couple of ways to diagnose:</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<ol start="1" data-editing-info="{&quot;applyListStyleFromLevel&quot;:false,&quot;orderedStyleType&quot;:3}" style="margin-top: 0px; margin-bottom: 0px;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px; list-style-type: &quot;1) &quot;;">
<div class="elementToProof" role="presentation">Just before iocInit add this command:</div>
</li></ol>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
asynReport 1</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
That will show the status of all asyn port drivers, including whether they are connected.</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<ol start="2" data-editing-info="{&quot;applyListStyleFromLevel&quot;:false,&quot;orderedStyleType&quot;:3}" style="margin-top: 0px; margin-bottom: 0px;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px; list-style-type: &quot;2) &quot;;">
<div class="elementToProof" role="presentation">After the IOC is running type the following command from another Linux shell:</div>
</li></ol>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<pre class="elementToProof"><div class="elementToProof" style="direction: ltr; white-space: pre; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">telnet 164.54.212.121 10304</div></pre>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Does it let you connect, or does it reject the connection attempt?&nbsp; If it rejects then it would seem the Oxford is only allowing one socket client at a time on that port.&nbsp; That is not consistent with the original database and startup script design.&nbsp; Perhaps
 there is a configuration setting on the Oxford to allow more than one socket connection?</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Mark</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt;">
<br>
</div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<hr style="display: inline-block; width: 98%;">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<b>From:</b> James P. Withrow &lt;jwithrow at cornell.edu&gt;<br>
<b>Sent:</b> Thursday, August 13, 2026 6:34 PM<br>
<b>To:</b> Mark Rivers &lt;rivers at cars.uchicago.edu&gt;; tech-talk &lt;tech-talk at aps.anl.gov&gt;<br>
<b>Subject:</b> Re: Oxford Cryostream 1000 IOC questions </div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hello Mark -</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Below is the relevant excerpt from the IOC when both the status and command sockets are set to the same IP and port as in the repository.</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<pre><div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"># CS1000 uses TCP for Status Packets or Commands
# Status Packets
drvAsynIPPortConfigure(&quot;L0&quot;, &quot;164.54.212.121:10304 TCP&quot;, 0, 0, 0)
# Commands
drvAsynIPPortConfigure(&quot;OC_CMD&quot;, &quot;164.54.212.121:10304 TCP&quot;, 0, 0, 0)
# Status Packet and Commands on a Single Port
dbLoadRecords(&quot;db/MDO.db&quot;, &quot;P=OXCRYO:,Q=CS1000,PORT=L0,R=MDO:,L=0,A=0,PORTCMD=OC_CMD&quot;)
#var mySubDebug 1
#var streamError 1
#var streamDebug 1
#If are interested in saving logs, it can produce a few GBs of logs, use with caution
#streamSetLogfile(&quot;logfile.txt&quot;)
cd &quot;/opt/epics/iocs/cryostream-1000-EPICS-IOC/OXCS1000/iocBoot/ioccryo1&quot;
iocInit
Starting iocInit
############################################################################
## EPICS R7.0.9
## Rev. 2026-01-14T12:49-0600
## Rev. Date build date/time: 
############################################################################
<b>2026/08/13 18:20:47.498515 _main_ OXCRYO:CS1000:TURBOCMD lockRequest: port OC_CMD not connected</b>
</div></pre>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
-Jim</div>
<div id="x_Signature">
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Jim Withrow, Research Support Specialist - jwithrow at cornell.edu</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
NE-CAT, Cornell University - <a rel="nofollow" href="https://urldefense.us/v3/__https://necat.chem.cornell.edu__;!!G_uCfscf7eWS!b-5gezzYqHcfaCDKWGfrgEn3KCb48-RGxtC2pgstcYInB3GT4Y8NF3RH4arQx980EvQA0s1hX1yiPj397JR42tywAbY$">https://necat.chem.cornell.edu</a></div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Advanced Photon Source, Sector 24</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
9700 S. Cass Avenue, Building 436 E001</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Lemont, IL 60439</div>
</div>
<hr style="direction: ltr; display: inline-block; width: 98%;">
<div id="x_divRplyFwdMsg">
<div style="direction: ltr; font-family: Calibri, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<b>From:</b> Mark Rivers &lt;rivers at cars.uchicago.edu&gt;<br>
<b>Sent:</b> Thursday, August 13, 2026 5:07 PM<br>
<b>To:</b> tech-talk &lt;tech-talk at aps.anl.gov&gt;; James P. Withrow &lt;jwithrow at cornell.edu&gt;<br>
<b>Subject:</b> Re: Oxford Cryostream 1000 IOC questions</div>
<div style="direction: ltr;">&nbsp;</div>
</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Hi Jim,</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
I think the database was probably intentionally designed to open 2 separate sockets to the device, so that the long status reply and short commands were independent.</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Can you send the error message you got when using 2 separate asyn ports?</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Mark</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<hr style="direction: ltr; display: inline-block; width: 98%;">
<div id="x_x_divRplyFwdMsg">
<div style="direction: ltr; font-family: Calibri, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<b>From:</b> Tech-talk &lt;tech-talk-bounces at aps.anl.gov&gt; on behalf of James P. Withrow via Tech-talk &lt;tech-talk at aps.anl.gov&gt;<br>
<b>Sent:</b> Thursday, August 13, 2026 4:02 PM<br>
<b>To:</b> tech-talk &lt;tech-talk at aps.anl.gov&gt;<br>
<b>Subject:</b> Oxford Cryostream 1000 IOC questions</div>
<div style="direction: ltr;">&nbsp;</div>
</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Good afternoon, all -&nbsp;</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I have an Oxford Cryostream 1000 and I am attempting to use the IOC located at&nbsp;</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<a rel="nofollow" href="https://urldefense.us/v3/__https://github.com/bcsblbl/cryostream-1000-EPICS-IOC__;!!G_uCfscf7eWS!eQE76DYWeSxU8TKizFHTRrBr5nFR8PaYs_JUcCoSd7CwM7FMa79ZY-dTmIDogP_5mkcQ1bKtf0ec_H5OJSJEpuITMw$" id="OWA869ce783-0341-566e-1c51-3a9a66015c64" class="OWAAutoLink" originalsrc="https://urldefense.us/v3/__https://github.com/bcsblbl/cryostream-1000-EPICS-IOC__;!!G_uCfscf7eWS!eQE76DYWeSxU8TKizFHTRrBr5nFR8PaYs_JUcCoSd7CwM7FMa79ZY-dTmIDogP_5mkcQ1bKtf0ec_H5OJSJEpuITMw$" data-auth="NotApplicable">https://github.com/bcsblbl/cryostream-1000-EPICS-IOC</a></div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I have it working well; I am able to both control and monitor the cryostream. However, my IOC console fills up with the following messages at 1-second intervals:</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
2026/08/13 15:55:18.027546 L0 OXCRYO:CS1000:STATUS: device L0 0 disconnected</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
2026/08/13 15:55:19.179502 L0 OXCRYO:CS1000:STATUS: device L0 0 disconnected</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
2026/08/13 15:55:20.331536 L0 OXCRYO:CS1000:STATUS: device L0 0 disconnected</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
2026/08/13 15:55:21.483524 L0 OXCRYO:CS1000:STATUS: device L0 0 disconnected</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
2026/08/13 15:55:22.635480 L0 OXCRYO:CS1000:STATUS: device L0 0 disconnected</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Have I configured something incorrectly? Is this something to be concerned with? I did change the following line in st.cmd:</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
dbLoadRecords(&quot;db/MDO.db&quot;, &quot;P=OXCRYO:,Q=CS1000,PORT=L0,R=MDO:,L=0,A=0,PORTCMD=L0&quot;)</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I changed PORTCMD from &quot;OC_CMD&quot; to &quot;LO&quot; as both the drvAsynIPPortConfigure lines referenced the same IP and port, and the IOC complained about not being able to get a lock for the second port.</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Thank you,&nbsp;</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
-Jim Withrow</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div id="x_x_x_Signature">
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Jim Withrow, Research Support Specialist - jwithrow at cornell.edu</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
NE-CAT, Cornell University - <a rel="nofollow" href="https://urldefense.us/v3/__https://necat.chem.cornell.edu__;!!G_uCfscf7eWS!eQE76DYWeSxU8TKizFHTRrBr5nFR8PaYs_JUcCoSd7CwM7FMa79ZY-dTmIDogP_5mkcQ1bKtf0ec_H5OJSJCOXGXug$" id="OWA6cb42c38-bd48-ed62-d1ab-94568fb4d670" class="OWAAutoLink" originalsrc="https://urldefense.us/v3/__https://necat.chem.cornell.edu__;!!G_uCfscf7eWS!eQE76DYWeSxU8TKizFHTRrBr5nFR8PaYs_JUcCoSd7CwM7FMa79ZY-dTmIDogP_5mkcQ1bKtf0ec_H5OJSJCOXGXug$" data-auth="NotApplicable">
https://necat.chem.cornell.edu</a></div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Advanced Photon Source, Sector 24</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
9700 S. Cass Avenue, Building 436 E001</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Lemont, IL 60439</div>
</div>


</td></tr></table>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00902.php</link>
      <author>Ralph Lange via Tech-talk</author>
      <pubDate>Sun, 16 Aug 2026 15:32:19 GMT</pubDate>
      <guid isPermaLink="false">CAGJXJ2EDXvrosSYFL4gXLX-vpE9QuJ6Ed9J0hnGLnwVoRcwSgQ@mail.gmail.com</guid>
      <title>Re: [EXTERNAL] Modbus and SScan acquisition synchronisation and timestamp query</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Re: [EXTERNAL] Modbus and SScan acquisition synchronisation and timestamp query -->
<!--X-From-R13: Dnycu Znatr ivn Frpu&#45;gnyx <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Sun, 16 Aug 2026 17:32:19 +0200 -->
<!--X-Message-Id: CAGJXJ2EDXvrosSYFL4gXLX&#45;vpE9QuJ6Ed9J0hnGLnwVoRcwSgQ@mail.gmail.com -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Reference: CANxvdSik_xL51_LP92iMpfOwQZmAH&#45;L76+miE4p76p4qrNXttA@mail.gmail.com -->
<!--X-Reference: DM8PR09MB683912CC9885405D56DFF2C6B4DC2@DM8PR09MB6839.namprd09.prod.outlook.com -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Re: [EXTERNAL] Modbus and SScan acquisition synchronisation and timestamp query</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
Ralph Lange via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
EPICS Tech Talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Sun, 16 Aug 2026 17:32:19 +0200</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<div dir="ltr"><div dir="ltr"><span style="background-color:transparent">On Wed, 12 Aug 2026 at 14:44, Kasemir, Kay via Tech-talk &lt;<a rel="nofollow" href="mailto:tech-talk at aps.anl.gov">tech-talk at aps.anl.gov</a>&gt; wrote:</span></div><div class="gmail_quote gmail_quote_container"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">



<div>
<div style="direction:ltr;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)"><br></div>
<div style="direction:ltr;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
When I had N&#xA0;records that all read from the same device via SCAN=I/O Intr, I&#x2019;ve set the &#x201C;TPRO&#x201D; flag and that way saw in which order they are processed. Then I added an FLNK from the one record processed last to the record or chain of records that should process
 next to use the information just read from the device.</div>
<div style="direction:ltr;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
That &#x201C;works&#x201D; as long as your device support always reads items from the device and then issues the I/O Intr updates of the associated records
<b>in the same order</b>. This was the case for the specific device that I used, but isn&#x2019;t generally given.</div></div></blockquote><div><br></div><div>Careful:</div><div>If you activate the feature that allows multiple parallel callback threads (to increase throughput on multi-processor systems), the strict order of processing of &quot;I/O Intr&quot; records - with respect to the order in which processing has been requested - is not guaranteed.</div><div>Actually, it has never been promised - it just happened as a side effect of only a single thread processing all records from the priority-specific callback queue.</div><div><br></div><div>Cheers,<br>~Ralph</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div id="m_-823142727972894703mail-editor-reference-message-container">
</div>
</div>

</blockquote></div></div>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00903.php</link>
      <author>LiangChih Chiang via Tech-talk</author>
      <pubDate>Mon, 17 Aug 2026 05:53:21 GMT</pubDate>
      <guid isPermaLink="false">CAMFigZacE6O_EJp6cW-x2njJ8RyXD9kKAQ=sk=6CCnB+gF3nEQ@mail.gmail.com</guid>
      <title>How to calculate checksum (three ASCII values) when using streamdevice</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: How to calculate checksum (three ASCII values) when using streamdevice -->
<!--X-From-R13: ZvnatQuvu Quvnat ivn Frpu&#45;gnyx <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Mon, 17 Aug 2026 13:53:21 +0800 -->
<!--X-Message-Id: CAMFigZacE6O_EJp6cW&#45;x2njJ8RyXD9kKAQ=sk=6CCnB+gF3nEQ@mail.gmail.com -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>How to calculate checksum (three ASCII values) when using streamdevice</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
LiangChih Chiang via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a></td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Mon, 17 Aug 2026 13:53:21 +0800</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<div dir="ltr"><div>Hi, EPICS mates,</div><div><br></div><div>I&#39;m using streamdevice to communicate with the following device:</div><div>Vacuum gauge controller: Pfeiffer OmniControl 200&#xA0;</div><div>gauge model: Pfieffer PKR361</div><div><br></div><div>I don&#39;t know how to handle the checksums of commands/responses.</div><div><br></div><div>The command/response format is of all ASCII values.</div><div></div><div>The checksum is of three ASCII values.</div><div>The calculation method is:&#xA0;sum of all ASCII values, then modulo 256</div><div><br></div><div><br></div><div>For example: to get the vacuum pressure value:</div><div><br></div><div>Command:&#xA0;1220074002=?110</div><div>122: address of the component gauge.</div><div>00: means this is a query command</div><div>740: means parameter pressure</div><div>02: means the length of the following data is 2</div><div>=?: means to query something</div><div>110: checksum</div><div><br></div><div>Response:&#xA0;1221074006539212045</div><div>122: same as in command</div><div>10: means this is a response of query command</div><div>740: same as in command</div><div>06: means the length of the following data is 6</div><div>539212: -&gt;&#xA0;5.392x10^(20-12) hPa = 5.392x10^-8 hPa</div><div>045: checksum</div><div><br></div><div><br></div></div>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00904.php</link>
      <author>Zimoch, Dirk via Tech-talk</author>
      <pubDate>Mon, 17 Aug 2026 08:01:16 GMT</pubDate>
      <guid isPermaLink="false">2e7d0c715ed995203c2e9da09b329064d9044201.camel@psi.ch</guid>
      <title>Re: How to calculate checksum (three ASCII values) when using streamdevice</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Re: How to calculate checksum (three ASCII values) when using streamdevice -->
<!--X-From-R13: "Lvzbpu, Rvex ivn Frpu&#45;gnyx" <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Mon, 17 Aug 2026 08:01:16 +0000 -->
<!--X-Message-Id: 2e7d0c715ed995203c2e9da09b329064d9044201.camel@psi.ch -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: CAMFigZacE6O_EJp6cW&#45;x2njJ8RyXD9kKAQ=sk=6CCnB+gF3nEQ@mail.gmail.com -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Re: How to calculate checksum (three ASCII values) when using streamdevice</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
&quot;Zimoch, Dirk via Tech-talk&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
&quot;<a href="mailto:yehnan174%20at%20gmail%20dot%20com">yehnan174 at gmail.com</a>&quot; &lt;<a href="mailto:yehnan174%20at%20gmail%20dot%20com">yehnan174 at gmail.com</a>&gt;, &quot;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Mon, 17 Aug 2026 08:01:16 +0000</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<pre>On Mon, 2026-08-17 at 13:53 +0800, LiangChih Chiang via Tech-talk wrote:
&gt; The calculation method is: sum of all ASCII values, then modulo 256

%&lt;sum&gt;

</pre>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00905.php</link>
      <author>Zimoch, Dirk via Tech-talk</author>
      <pubDate>Mon, 17 Aug 2026 08:18:02 GMT</pubDate>
      <guid isPermaLink="false">28d4f4ef6d3d58bb2ec15d78d161b186827090a0.camel@psi.ch</guid>
      <title>Re: How to calculate checksum (three ASCII values) when using streamdevice</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Re: How to calculate checksum (three ASCII values) when using streamdevice -->
<!--X-From-R13: "Lvzbpu, Rvex ivn Frpu&#45;gnyx" <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Mon, 17 Aug 2026 08:18:02 +0000 -->
<!--X-Message-Id: 28d4f4ef6d3d58bb2ec15d78d161b186827090a0.camel@psi.ch -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: CAMFigZacE6O_EJp6cW&#45;x2njJ8RyXD9kKAQ=sk=6CCnB+gF3nEQ@mail.gmail.com -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Re: How to calculate checksum (three ASCII values) when using streamdevice</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
&quot;Zimoch, Dirk via Tech-talk&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
&quot;<a href="mailto:yehnan174%20at%20gmail%20dot%20com">yehnan174 at gmail.com</a>&quot; &lt;<a href="mailto:yehnan174%20at%20gmail%20dot%20com">yehnan174 at gmail.com</a>&gt;, &quot;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Mon, 17 Aug 2026 08:18:02 +0000</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<pre>Hi LiangChih

The %&lt;sum&gt; checksum algorithm adds all character ASCII values and uses only the
lowest byte (i.e. modulo 256). %&lt;sum8&gt; is an alternative name that makes it more
clear that is calculates an 8 bit value. (There is also %&lt;sum16&gt; and %&lt;sum32&gt;.)

By default checksums are written in binary. But with the modifier + you can
change that to decimal: %+&lt;sum&gt;.
(With %0&lt;sum&gt; it would be hexadecimal.)

I have tried to reproduce the checksum in your examples, but I do not get the
same sums. So maybe something else is needed.

I will try to find the OmniControl documentation...

Dirk


On Mon, 2026-08-17 at 13:53 +0800, LiangChih Chiang via Tech-talk wrote:
&gt; Hi, EPICS mates,
&gt; 
&gt; I'm using streamdevice to communicate with the following device:
&gt; Vacuum gauge controller: Pfeiffer OmniControl 200 
&gt; gauge model: Pfieffer PKR361
&gt; 
&gt; I don't know how to handle the checksums of commands/responses.
&gt; 
&gt; The command/response format is of all ASCII values.
&gt; The checksum is of three ASCII values.
&gt; The calculation method is: sum of all ASCII values, then modulo 256
&gt; 
&gt; 
&gt; For example: to get the vacuum pressure value:
&gt; 
&gt; Command: 1220074002=?110
&gt; 122: address of the component gauge.
&gt; 00: means this is a query command
&gt; 740: means parameter pressure
&gt; 02: means the length of the following data is 2
&gt; =?: means to query something
&gt; 110: checksum
&gt; 
&gt; Response: 1221074006539212045
&gt; 122: same as in command
&gt; 10: means this is a response of query command
&gt; 740: same as in command
&gt; 06: means the length of the following data is 6
&gt; 539212: -&gt; 5.392x10^(20-12) hPa = 5.392x10^-8 hPa
&gt; 045: checksum
&gt; 
&gt; 
</pre>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00906.php</link>
      <author>Zimoch, Dirk via Tech-talk</author>
      <pubDate>Mon, 17 Aug 2026 08:26:49 GMT</pubDate>
      <guid isPermaLink="false">ed72aa4b5538d7143aecc9b2c1d6f6ffef6d0b66.camel@psi.ch</guid>
      <title>Re: How to calculate checksum (three ASCII values) when using streamdevice</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Re: How to calculate checksum (three ASCII values) when using streamdevice -->
<!--X-From-R13: "Lvzbpu, Rvex ivn Frpu&#45;gnyx" <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Mon, 17 Aug 2026 08:26:49 +0000 -->
<!--X-Message-Id: ed72aa4b5538d7143aecc9b2c1d6f6ffef6d0b66.camel@psi.ch -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: CAMFigZacE6O_EJp6cW&#45;x2njJ8RyXD9kKAQ=sk=6CCnB+gF3nEQ@mail.gmail.com -->
<!--X-Reference: 28d4f4ef6d3d58bb2ec15d78d161b186827090a0.camel@psi.ch -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Re: How to calculate checksum (three ASCII values) when using streamdevice</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
&quot;Zimoch, Dirk via Tech-talk&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
&quot;<a href="mailto:yehnan174%20at%20gmail%20dot%20com">yehnan174 at gmail.com</a>&quot; &lt;<a href="mailto:yehnan174%20at%20gmail%20dot%20com">yehnan174 at gmail.com</a>&gt;, &quot;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Mon, 17 Aug 2026 08:26:49 +0000</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<pre>On Mon, 2026-08-17 at 08:18 +0000, Zimoch, Dirk via Tech-talk wrote:
&gt; Hi LiangChih
&gt; 
&gt; The %&lt;sum&gt; checksum algorithm adds all character ASCII values and uses only the
&gt; lowest byte (i.e. modulo 256). %&lt;sum8&gt; is an alternative name that makes it more
&gt; clear that is calculates an 8 bit value. (There is also %&lt;sum16&gt; and %&lt;sum32&gt;.)
&gt; 
&gt; By default checksums are written in binary. But with the modifier + you can
&gt; change that to decimal: %+&lt;sum&gt;.
&gt; (With %0&lt;sum&gt; it would be hexadecimal.)
&gt; 
&gt; I have tried to reproduce the checksum in your examples, but I do not get the
&gt; same sums. So maybe something else is needed.
&gt; 
&gt; I will try to find the OmniControl documentation...

I had a typo in my tests. :-)
With %+&lt;sum8&gt; you should get exactly what you need.


&gt; 
&gt; Dirk
&gt; 
&gt; 
&gt; On Mon, 2026-08-17 at 13:53 +0800, LiangChih Chiang via Tech-talk wrote:
&gt; &gt; Hi, EPICS mates,
&gt; &gt; 
&gt; &gt; I'm using streamdevice to communicate with the following device:
&gt; &gt; Vacuum gauge controller: Pfeiffer OmniControl 200 
&gt; &gt; gauge model: Pfieffer PKR361
&gt; &gt; 
&gt; &gt; I don't know how to handle the checksums of commands/responses.
&gt; &gt; 
&gt; &gt; The command/response format is of all ASCII values.
&gt; &gt; The checksum is of three ASCII values.
&gt; &gt; The calculation method is: sum of all ASCII values, then modulo 256
&gt; &gt; 
&gt; &gt; 
&gt; &gt; For example: to get the vacuum pressure value:
&gt; &gt; 
&gt; &gt; Command: 1220074002=?110
&gt; &gt; 122: address of the component gauge.
&gt; &gt; 00: means this is a query command
&gt; &gt; 740: means parameter pressure
&gt; &gt; 02: means the length of the following data is 2
&gt; &gt; =?: means to query something
&gt; &gt; 110: checksum
&gt; &gt; 
&gt; &gt; Response: 1221074006539212045
&gt; &gt; 122: same as in command
&gt; &gt; 10: means this is a response of query command
&gt; &gt; 740: same as in command
&gt; &gt; 06: means the length of the following data is 6
&gt; &gt; 539212: -&gt; 5.392x10^(20-12) hPa = 5.392x10^-8 hPa
&gt; &gt; 045: checksum
&gt; &gt; 
&gt; &gt; 
</pre>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00907.php</link>
      <author>Zimoch, Dirk via Tech-talk</author>
      <pubDate>Mon, 17 Aug 2026 08:36:14 GMT</pubDate>
      <guid isPermaLink="false">a83418995007ce3f5468a90f7190a32e58575df2.camel@psi.ch</guid>
      <title>Re: How to calculate checksum (three ASCII values) when using streamdevice</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Re: How to calculate checksum (three ASCII values) when using streamdevice -->
<!--X-From-R13: "Lvzbpu, Rvex ivn Frpu&#45;gnyx" <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Mon, 17 Aug 2026 08:36:14 +0000 -->
<!--X-Message-Id: a83418995007ce3f5468a90f7190a32e58575df2.camel@psi.ch -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: CAMFigZacE6O_EJp6cW&#45;x2njJ8RyXD9kKAQ=sk=6CCnB+gF3nEQ@mail.gmail.com -->
<!--X-Reference: 28d4f4ef6d3d58bb2ec15d78d161b186827090a0.camel@psi.ch -->
<!--X-Reference: ed72aa4b5538d7143aecc9b2c1d6f6ffef6d0b66.camel@psi.ch -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Re: How to calculate checksum (three ASCII values) when using streamdevice</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
&quot;Zimoch, Dirk via Tech-talk&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
&quot;<a href="mailto:yehnan174%20at%20gmail%20dot%20com">yehnan174 at gmail.com</a>&quot; &lt;<a href="mailto:yehnan174%20at%20gmail%20dot%20com">yehnan174 at gmail.com</a>&gt;, &quot;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Mon, 17 Aug 2026 08:36:14 +0000</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<pre>On Mon, 2026-08-17 at 08:26 +0000, Zimoch, Dirk via Tech-talk wrote:
&gt; &gt; &gt; 539212: -&gt; 5.392x10^(20-12) hPa = 5.392x10^-8 hPa

If you wonder how to parse that, try the following:

%#/(.)(...)(..)/\1.\2E-\3/%f

This is a regular expression substitution that groups the input into 1/3/2
characters and inserts . and E-
 539212 -&gt; 5.392E-12

Then then let the ai record scale the value with 1e20:
field(ASLO, &quot;1e20&quot;)


</pre>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00908.php</link>
      <author>Zimoch, Dirk via Tech-talk</author>
      <pubDate>Mon, 17 Aug 2026 08:41:10 GMT</pubDate>
      <guid isPermaLink="false">699e347241ef81945c44f0d161429ab9604c7500.camel@psi.ch</guid>
      <title>Re: How to calculate checksum (three ASCII values) when using streamdevice</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Re: How to calculate checksum (three ASCII values) when using streamdevice -->
<!--X-From-R13: "Lvzbpu, Rvex ivn Frpu&#45;gnyx" <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Mon, 17 Aug 2026 08:41:10 +0000 -->
<!--X-Message-Id: 699e347241ef81945c44f0d161429ab9604c7500.camel@psi.ch -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: CAMFigZacE6O_EJp6cW&#45;x2njJ8RyXD9kKAQ=sk=6CCnB+gF3nEQ@mail.gmail.com -->
<!--X-Reference: 28d4f4ef6d3d58bb2ec15d78d161b186827090a0.camel@psi.ch -->
<!--X-Reference: ed72aa4b5538d7143aecc9b2c1d6f6ffef6d0b66.camel@psi.ch -->
<!--X-Reference: a83418995007ce3f5468a90f7190a32e58575df2.camel@psi.ch -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Re: How to calculate checksum (three ASCII values) when using streamdevice</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
&quot;Zimoch, Dirk via Tech-talk&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
&quot;<a href="mailto:yehnan174%20at%20gmail%20dot%20com">yehnan174 at gmail.com</a>&quot; &lt;<a href="mailto:yehnan174%20at%20gmail%20dot%20com">yehnan174 at gmail.com</a>&gt;, &quot;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Mon, 17 Aug 2026 08:41:10 +0000</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<pre>On Mon, 2026-08-17 at 08:36 +0000, Zimoch, Dirk via Tech-talk wrote:
&gt; &gt; &gt; &gt; 539212: -&gt; 5.392x10^(20-12) hPa = 5.392x10^-8 hPa

Wait, this looks like a typo: (20-12) is not -8.
You need (12-20) to get that.

&gt; On Mon, 2026-08-17 at 08:26 +0000, Zimoch, Dirk via Tech-talk wrote:
&gt; 
&gt; If you wonder how to parse that, try the following:
&gt; 
&gt; %#/(.)(...)(..)/\1.\2E-\3/%f

%#/(.)(...)(..)/\1.\2E\3/%f

&gt; 
&gt; This is a regular expression substitution that groups the input into 1/3/2
&gt; characters and inserts . and E-
&gt;  539212 -&gt; 5.392E-12

539212 -&gt; 5.392E12

&gt; 
&gt; Then then let the ai record scale the value with 1e20:
&gt; field(ASLO, &quot;1e20&quot;)
&gt; 

Scale with 1e-20:
field(ASLO, &quot;1e-20&quot;)

</pre>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00909.php</link>
      <author>LiangChih Chiang via Tech-talk</author>
      <pubDate>Mon, 17 Aug 2026 09:13:23 GMT</pubDate>
      <guid isPermaLink="false">CAMFigZaOgh=Ou9PrsxAdto8oxSaHuVALZ-V12L7MvpnvyejDoQ@mail.gmail.com</guid>
      <title>Re: How to calculate checksum (three ASCII values) when using streamdevice</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Re: How to calculate checksum (three ASCII values) when using streamdevice -->
<!--X-From-R13: ZvnatQuvu Quvnat ivn Frpu&#45;gnyx <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Mon, 17 Aug 2026 17:13:23 +0800 -->
<!--X-Message-Id: CAMFigZaOgh=Ou9PrsxAdto8oxSaHuVALZ&#45;V12L7MvpnvyejDoQ@mail.gmail.com -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Reference: CAMFigZacE6O_EJp6cW&#45;x2njJ8RyXD9kKAQ=sk=6CCnB+gF3nEQ@mail.gmail.com -->
<!--X-Reference: 28d4f4ef6d3d58bb2ec15d78d161b186827090a0.camel@psi.ch -->
<!--X-Reference: ed72aa4b5538d7143aecc9b2c1d6f6ffef6d0b66.camel@psi.ch -->
<!--X-Reference: a83418995007ce3f5468a90f7190a32e58575df2.camel@psi.ch -->
<!--X-Reference: 699e347241ef81945c44f0d161429ab9604c7500.camel@psi.ch -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Re: How to calculate checksum (three ASCII values) when using streamdevice</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
LiangChih Chiang via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
&quot;Zimoch, Dirk&quot; &lt;<a href="mailto:dirk%20dot%20zimoch%20at%20psi%20dot%20ch">dirk.zimoch at psi.ch</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Cc</em>:</td>
<td align="left">
&quot;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Mon, 17 Aug 2026 17:13:23 +0800</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<div dir="ltr"><div>Hi, Thanks Zimoch,</div><div><br></div><div>&gt;By default checksums are written in binary. But with the modifier + you can<br>&gt;change that to decimal: %+&lt;sum&gt;.<br>&gt;(With %0&lt;sum&gt; it would be hexadecimal.)<br><br></div><div>Thanks. I works.</div><div><br></div><div><br></div><div>checksum calculation example:<br>Command: 1220074002=?110<br>ASCII: 49 50 50 48 48 55 52 48 48 50 61 63<br>sum and modulo 256 = 110<br><br>Response: 1221074006539212045<br>ASCII: 49 50 50 49 48 55 52 48 48 54 53 51 57 50 49 50<br>sum and modulo 256 = 045</div><div><br></div><div><br></div><div><br></div><div><br></div><div>&gt;Wait, this looks like a typo: (20-12) is not -8.<br>&gt;You need (12-20) to get that.</div><div>Yes. It&#39;s a typo. My mistake.</div><div><br></div><div><br></div><div>&gt;&gt;539212: -&gt; 5.392x10^(20-12) hPa = 5.392x10^-8 hPa<br>&gt;If you wonder how to parse that, try the following:</div><div>Your parsing method is better than mine. Thanks</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Mon, Aug 17, 2026 at 4:41&#x202F;PM Zimoch, Dirk &lt;<a rel="nofollow" href="mailto:dirk.zimoch at psi.ch">dirk.zimoch at psi.ch</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Mon, 2026-08-17 at 08:36 +0000, Zimoch, Dirk via Tech-talk wrote:<br>
&gt; &gt; &gt; &gt; 539212: -&gt; 5.392x10^(20-12) hPa = 5.392x10^-8 hPa<br>
<br>
Wait, this looks like a typo: (20-12) is not -8.<br>
You need (12-20) to get that.<br>
<br>
&gt; On Mon, 2026-08-17 at 08:26 +0000, Zimoch, Dirk via Tech-talk wrote:<br>
&gt; <br>
&gt; If you wonder how to parse that, try the following:<br>
&gt; <br>
&gt; %#/(.)(...)(..)/\1.\2E-\3/%f<br>
<br>
%#/(.)(...)(..)/\1.\2E\3/%f<br>
<br>
&gt; <br>
&gt; This is a regular _expression_ substitution that groups the input into 1/3/2<br>
&gt; characters and inserts . and E-<br>
&gt;&#xA0; 539212 -&gt; 5.392E-12<br>
<br>
539212 -&gt; 5.392E12<br>
<br>
&gt; <br>
&gt; Then then let the ai record scale the value with 1e20:<br>
&gt; field(ASLO, &quot;1e20&quot;)<br>
&gt; <br>
<br>
Scale with 1e-20:<br>
field(ASLO, &quot;1e-20&quot;)<br>
<br>
</blockquote></div>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00910.php</link>
      <author>James P. Withrow via Tech-talk</author>
      <pubDate>Mon, 17 Aug 2026 14:06:02 GMT</pubDate>
      <guid isPermaLink="false">BN8PR04MB64672B7B62617E098695F0EDD7A72@BN8PR04MB6467.namprd04.prod.outlook.com</guid>
      <title>Re: Oxford Cryostream 1000 IOC questions</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Re: Oxford Cryostream 1000 IOC questions -->
<!--X-From-R13: "Xnzrf B. Ivguebj ivn Frpu&#45;gnyx" <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Mon, 17 Aug 2026 14:06:02 +0000 -->
<!--X-Message-Id: BN8PR04MB64672B7B62617E098695F0EDD7A72@BN8PR04MB6467.namprd04.prod.outlook.com -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Reference: BN8PR04MB64677CE4D47CCAF72AE9B64DD7DB2@BN8PR04MB6467.namprd04.prod.outlook.com -->
<!--X-Reference: DM3PPF1CEB6B7EF9B7C6B171D8606BCD46599DB2@DM3PPF1CEB6B7EF.namprd11.prod.outlook.com -->
<!--X-Reference: BN8PR04MB6467B8CAC3FFAA73FC826643D7DB2@BN8PR04MB6467.namprd04.prod.outlook.com -->
<!--X-Reference: DM3PPF1CEB6B7EFAF4291AE25ADB61F15F199DA2@DM3PPF1CEB6B7EF.namprd11.prod.outlook.com -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Re: Oxford Cryostream 1000 IOC questions</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
&quot;James P. Withrow via Tech-talk&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
Mark Rivers &lt;<a href="mailto:rivers%20at%20cars%20dot%20uchicago%20dot%20edu">rivers at cars.uchicago.edu</a>&gt;, tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Mon, 17 Aug 2026 14:06:02 +0000</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<table width="100%"><tr><td style="">


<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hello Mark -</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
'asynReport1' produces the following output:</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
asynReport 1</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
L0 multiDevice:No canBlock:Yes autoConnect:Yes</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
&nbsp; &nbsp; enabled:Yes connected:Yes numberConnects 1</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
&nbsp; &nbsp; nDevices 0 nQueued 0 blocked:No</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
&nbsp; &nbsp; asynManagerLock:No synchronousLock:No</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
&nbsp; &nbsp; exceptionActive:No exceptionUsers 1 exceptionNotifys 0</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
&nbsp; &nbsp; traceMask:0x1 traceIOMask:0x0 traceInfoMask:0x1</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
&nbsp; &nbsp; Port 164.54.212.121:10304 TCP: Connected</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
OC_CMD multiDevice:No canBlock:Yes autoConnect:Yes</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
&nbsp; &nbsp; enabled:Yes connected:No numberConnects 0</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
&nbsp; &nbsp; nDevices 0 nQueued 0 blocked:No</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
&nbsp; &nbsp; asynManagerLock:No synchronousLock:Yes</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
&nbsp; &nbsp; exceptionActive:No exceptionUsers 1 exceptionNotifys 0</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
&nbsp; &nbsp; traceMask:0x1 traceIOMask:0x0 traceInfoMask:0x1</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
&nbsp; &nbsp; Port 164.54.212.121:10304 TCP: Disconnected</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
However I can successfully control the Cryostream, so I'm assuming that the command port is able to be opened when required. I am also able to telnet to the port; it sends what appears to be one packet and then disconnects, so it appears that the unit does
 allow multiple connections.&nbsp;</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Looking at the output of netstat on a Windows machine running the Oxford software, I see many connections in 'TIME_WAIT' in addition to the currently active one, which leads me to believe that the unit closes the connection after each status query.</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
-Jim</div>
<div id="Signature" class="elementToProof">
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Jim Withrow, Research Support Specialist - jwithrow at cornell.edu</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
NE-CAT, Cornell University - <a rel="nofollow" href="https://urldefense.us/v3/__https://necat.chem.cornell.edu__;!!G_uCfscf7eWS!YIJea726PbnlNVjo85v7k-yjiO2sqgLg3LX0Wd20QnkDdi_oPtrQNimhEOo2ZyvN5WvC4W6Gkf30BTABya7ALqoKkg$">https://necat.chem.cornell.edu</a></div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Advanced Photon Source, Sector 24</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
9700 S. Cass Avenue, Building 436 E001</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Lemont, IL 60439</div>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Mark Rivers &lt;rivers at cars.uchicago.edu&gt;<br>
<b>Sent:</b> Friday, August 14, 2026 4:05 PM<br>
<b>To:</b> James P. Withrow &lt;jwithrow at cornell.edu&gt;; tech-talk &lt;tech-talk at aps.anl.gov&gt;<br>
<b>Subject:</b> Re: Oxford Cryostream 1000 IOC questions</font>
<div>&nbsp;</div>
</div>

<div dir="ltr">
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
Hi James,</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:false,&quot;unorderedStyleType&quot;:4}" style="margin-top:0px; margin-bottom:0px">
<li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0); list-style-type:&quot;&#x27A2; &quot;">
<pre class="x_elementToProof" role="presentation"><div class="x_elementToProof" style="direction:ltr; white-space:pre; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif">2026/08/13 18:20:47.498515 _main_ OXCRYO:CS1000:TURBOCMD lockRequest: port OC_CMD not connected</div></pre>
</li></ul>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
That looks to me like the Oxford rejected the connection attempt for the second socket.</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
Here are a couple of ways to diagnose:</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<ol start="1" data-editing-info="{&quot;applyListStyleFromLevel&quot;:false,&quot;orderedStyleType&quot;:3}" style="margin-top:0px; margin-bottom:0px">
<li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0); margin-top:0px; margin-bottom:0px; list-style-type:&quot;1) &quot;">
<div class="x_elementToProof" role="presentation">Just before iocInit add this command:</div>
</li></ol>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
asynReport 1</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
That will show the status of all asyn port drivers, including whether they are connected.</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<ol start="2" data-editing-info="{&quot;applyListStyleFromLevel&quot;:false,&quot;orderedStyleType&quot;:3}" style="margin-top:0px; margin-bottom:0px">
<li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0); margin-top:0px; margin-bottom:0px; list-style-type:&quot;2) &quot;">
<div class="x_elementToProof" role="presentation">After the IOC is running type the following command from another Linux shell:</div>
</li></ol>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<pre class="x_elementToProof"><div class="x_elementToProof" style="direction:ltr; white-space:pre; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">telnet 164.54.212.121 10304</div></pre>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
Does it let you connect, or does it reject the connection attempt?&nbsp; If it rejects then it would seem the Oxford is only allowing one socket client at a time on that port.&nbsp; That is not consistent with the original database and startup script design.&nbsp; Perhaps
 there is a configuration setting on the Oxford to allow more than one socket connection?</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
Mark</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt">
<br>
</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<hr style="display:inline-block; width:98%">
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<b>From:</b> James P. Withrow &lt;jwithrow at cornell.edu&gt;<br>
<b>Sent:</b> Thursday, August 13, 2026 6:34 PM<br>
<b>To:</b> Mark Rivers &lt;rivers at cars.uchicago.edu&gt;; tech-talk &lt;tech-talk at aps.anl.gov&gt;<br>
<b>Subject:</b> Re: Oxford Cryostream 1000 IOC questions </div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Hello Mark -</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Below is the relevant excerpt from the IOC when both the status and command sockets are set to the same IP and port as in the repository.</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<pre><div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)"># CS1000 uses TCP for Status Packets or Commands
# Status Packets
drvAsynIPPortConfigure(&quot;L0&quot;, &quot;164.54.212.121:10304 TCP&quot;, 0, 0, 0)
# Commands
drvAsynIPPortConfigure(&quot;OC_CMD&quot;, &quot;164.54.212.121:10304 TCP&quot;, 0, 0, 0)
# Status Packet and Commands on a Single Port
dbLoadRecords(&quot;db/MDO.db&quot;, &quot;P=OXCRYO:,Q=CS1000,PORT=L0,R=MDO:,L=0,A=0,PORTCMD=OC_CMD&quot;)
#var mySubDebug 1
#var streamError 1
#var streamDebug 1
#If are interested in saving logs, it can produce a few GBs of logs, use with caution
#streamSetLogfile(&quot;logfile.txt&quot;)
cd &quot;/opt/epics/iocs/cryostream-1000-EPICS-IOC/OXCS1000/iocBoot/ioccryo1&quot;
iocInit
Starting iocInit
############################################################################
## EPICS R7.0.9
## Rev. 2026-01-14T12:49-0600
## Rev. Date build date/time: 
############################################################################
<b>2026/08/13 18:20:47.498515 _main_ OXCRYO:CS1000:TURBOCMD lockRequest: port OC_CMD not connected</b>
</div></pre>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
-Jim</div>
<div id="x_x_Signature">
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Jim Withrow, Research Support Specialist - jwithrow at cornell.edu</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
NE-CAT, Cornell University - <a rel="nofollow" href="https://urldefense.us/v3/__https://necat.chem.cornell.edu__;!!G_uCfscf7eWS!YIJea726PbnlNVjo85v7k-yjiO2sqgLg3LX0Wd20QnkDdi_oPtrQNimhEOo2ZyvN5WvC4W6Gkf30BTABya7ALqoKkg$">https://necat.chem.cornell.edu</a></div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Advanced Photon Source, Sector 24</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
9700 S. Cass Avenue, Building 436 E001</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Lemont, IL 60439</div>
</div>
<hr style="direction:ltr; display:inline-block; width:98%">
<div id="x_x_divRplyFwdMsg">
<div style="direction:ltr; font-family:Calibri,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<b>From:</b> Mark Rivers &lt;rivers at cars.uchicago.edu&gt;<br>
<b>Sent:</b> Thursday, August 13, 2026 5:07 PM<br>
<b>To:</b> tech-talk &lt;tech-talk at aps.anl.gov&gt;; James P. Withrow &lt;jwithrow at cornell.edu&gt;<br>
<b>Subject:</b> Re: Oxford Cryostream 1000 IOC questions</div>
<div style="direction:ltr">&nbsp;</div>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
Hi Jim,</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
I think the database was probably intentionally designed to open 2 separate sockets to the device, so that the long status reply and short commands were independent.</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
Can you send the error message you got when using 2 separate asyn ports?</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
Mark</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<hr style="direction:ltr; display:inline-block; width:98%">
<div id="x_x_x_divRplyFwdMsg">
<div style="direction:ltr; font-family:Calibri,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<b>From:</b> Tech-talk &lt;tech-talk-bounces at aps.anl.gov&gt; on behalf of James P. Withrow via Tech-talk &lt;tech-talk at aps.anl.gov&gt;<br>
<b>Sent:</b> Thursday, August 13, 2026 4:02 PM<br>
<b>To:</b> tech-talk &lt;tech-talk at aps.anl.gov&gt;<br>
<b>Subject:</b> Oxford Cryostream 1000 IOC questions</div>
<div style="direction:ltr">&nbsp;</div>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Good afternoon, all -&nbsp;</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
I have an Oxford Cryostream 1000 and I am attempting to use the IOC located at&nbsp;</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<a rel="nofollow" href="https://urldefense.us/v3/__https://github.com/bcsblbl/cryostream-1000-EPICS-IOC__;!!G_uCfscf7eWS!eQE76DYWeSxU8TKizFHTRrBr5nFR8PaYs_JUcCoSd7CwM7FMa79ZY-dTmIDogP_5mkcQ1bKtf0ec_H5OJSJEpuITMw$" originalsrc="https://urldefense.us/v3/__https://github.com/bcsblbl/cryostream-1000-EPICS-IOC__;!!G_uCfscf7eWS!eQE76DYWeSxU8TKizFHTRrBr5nFR8PaYs_JUcCoSd7CwM7FMa79ZY-dTmIDogP_5mkcQ1bKtf0ec_H5OJSJEpuITMw$" id="OWA869ce783-0341-566e-1c51-3a9a66015c64" class="x_OWAAutoLink" originalsrc="https://urldefense.us/v3/__https://github.com/bcsblbl/cryostream-1000-EPICS-IOC__;!!G_uCfscf7eWS!eQE76DYWeSxU8TKizFHTRrBr5nFR8PaYs_JUcCoSd7CwM7FMa79ZY-dTmIDogP_5mkcQ1bKtf0ec_H5OJSJEpuITMw$" data-auth="NotApplicable">https://github.com/bcsblbl/cryostream-1000-EPICS-IOC</a></div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
I have it working well; I am able to both control and monitor the cryostream. However, my IOC console fills up with the following messages at 1-second intervals:</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
2026/08/13 15:55:18.027546 L0 OXCRYO:CS1000:STATUS: device L0 0 disconnected</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
2026/08/13 15:55:19.179502 L0 OXCRYO:CS1000:STATUS: device L0 0 disconnected</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
2026/08/13 15:55:20.331536 L0 OXCRYO:CS1000:STATUS: device L0 0 disconnected</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
2026/08/13 15:55:21.483524 L0 OXCRYO:CS1000:STATUS: device L0 0 disconnected</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
2026/08/13 15:55:22.635480 L0 OXCRYO:CS1000:STATUS: device L0 0 disconnected</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Have I configured something incorrectly? Is this something to be concerned with? I did change the following line in st.cmd:</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
dbLoadRecords(&quot;db/MDO.db&quot;, &quot;P=OXCRYO:,Q=CS1000,PORT=L0,R=MDO:,L=0,A=0,PORTCMD=L0&quot;)</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
I changed PORTCMD from &quot;OC_CMD&quot; to &quot;LO&quot; as both the drvAsynIPPortConfigure lines referenced the same IP and port, and the IOC complained about not being able to get a lock for the second port.</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Thank you,&nbsp;</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
-Jim Withrow</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div id="x_x_x_x_Signature">
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Jim Withrow, Research Support Specialist - jwithrow at cornell.edu</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
NE-CAT, Cornell University - <a rel="nofollow" href="https://urldefense.us/v3/__https://necat.chem.cornell.edu__;!!G_uCfscf7eWS!eQE76DYWeSxU8TKizFHTRrBr5nFR8PaYs_JUcCoSd7CwM7FMa79ZY-dTmIDogP_5mkcQ1bKtf0ec_H5OJSJCOXGXug$" originalsrc="https://urldefense.us/v3/__https://necat.chem.cornell.edu__;!!G_uCfscf7eWS!eQE76DYWeSxU8TKizFHTRrBr5nFR8PaYs_JUcCoSd7CwM7FMa79ZY-dTmIDogP_5mkcQ1bKtf0ec_H5OJSJCOXGXug$" id="OWA6cb42c38-bd48-ed62-d1ab-94568fb4d670" class="x_OWAAutoLink" originalsrc="https://urldefense.us/v3/__https://necat.chem.cornell.edu__;!!G_uCfscf7eWS!eQE76DYWeSxU8TKizFHTRrBr5nFR8PaYs_JUcCoSd7CwM7FMa79ZY-dTmIDogP_5mkcQ1bKtf0ec_H5OJSJCOXGXug$" data-auth="NotApplicable">
https://necat.chem.cornell.edu</a></div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Advanced Photon Source, Sector 24</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
9700 S. Cass Avenue, Building 436 E001</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Lemont, IL 60439</div>
</div>
</div>


</td></tr></table>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00911.php</link>
      <author>Freddie Akeroyd - STFC UKRI via Tech-talk</author>
      <pubDate>Mon, 17 Aug 2026 14:28:44 GMT</pubDate>
      <guid isPermaLink="false">LO0P265MB4832B391F1D78A4BAAB0ABB2D8A72@LO0P265MB4832.GBRP265.PROD.OUTLOOK.COM</guid>
      <title>RE: Oxford Cryostream 1000 IOC questions</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: RE: Oxford Cryostream 1000 IOC questions -->
<!--X-From-R13: Terqqvr Oxreblq &#45; EFTQ GYDW ivn Frpu&#45;gnyx <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Mon, 17 Aug 2026 14:28:44 +0000 -->
<!--X-Message-Id: LO0P265MB4832B391F1D78A4BAAB0ABB2D8A72@LO0P265MB4832.GBRP265.PROD.OUTLOOK.COM -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Reference: BN8PR04MB64677CE4D47CCAF72AE9B64DD7DB2@BN8PR04MB6467.namprd04.prod.outlook.com -->
<!--X-Reference: DM3PPF1CEB6B7EF9B7C6B171D8606BCD46599DB2@DM3PPF1CEB6B7EF.namprd11.prod.outlook.com -->
<!--X-Reference: BN8PR04MB6467B8CAC3FFAA73FC826643D7DB2@BN8PR04MB6467.namprd04.prod.outlook.com -->
<!--X-Reference: DM3PPF1CEB6B7EFAF4291AE25ADB61F15F199DA2@DM3PPF1CEB6B7EF.namprd11.prod.outlook.com -->
<!--X-Reference: BN8PR04MB64672B7B62617E098695F0EDD7A72@BN8PR04MB6467.namprd04.prod.outlook.com -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>RE: Oxford Cryostream 1000 IOC questions</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
Freddie Akeroyd - STFC UKRI via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
&quot;James P. Withrow&quot; &lt;<a href="mailto:jwithrow%20at%20cornell%20dot%20edu">jwithrow at cornell.edu</a>&gt;, Mark Rivers &lt;<a href="mailto:rivers%20at%20cars%20dot%20uchicago%20dot%20edu">rivers at cars.uchicago.edu</a>&gt;, tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Mon, 17 Aug 2026 14:28:44 +0000</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<table width="100%"><tr><td style="a:link { color: blue } a:visited { color: purple } ">


<div class="WordSection1">
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Hi James,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">I am not familiar with the device, but it seems a python program at
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><a rel="nofollow" href="https://urldefense.us/v3/__https://github.com/bcsblbl/Cryostream1000_PythonController__;!!G_uCfscf7eWS!YtbeVRGM-vfUGnYiCyxUOYlZ-K9Et6VfvgK6B-LHAZPiJRmq4dCzwECeeBdrl_oxSqOiu_J9C2cjLl0NihtF5N4ffigSnFIwSyY$">bcsblbl/Cryostream1000_PythonController: Python Controller for the Oxford CryoSystems 1000 Series CryoStream.</a><span style="font-size:10.0pt;font-family:&quot;Times New Roman&quot;,serif"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal">Opens and closes a connection each time, including polling for the status update. I think the device is closing connections as you describe, so a change to how the Db/protocol works to poll and operate in an open/close connection manner
 would remove the error message you are getting. &nbsp;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Regards,<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Freddie<o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"><o:p>&nbsp;</o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif"> Tech-talk &lt;tech-talk-bounces at aps.anl.gov&gt;
<b>On Behalf Of </b>James P. Withrow via Tech-talk<br>
<b>Sent:</b> 17 August 2026 15:06<br>
<b>To:</b> Mark Rivers &lt;rivers at cars.uchicago.edu&gt;; tech-talk &lt;tech-talk at aps.anl.gov&gt;<br>
<b>Subject:</b> Re: Oxford Cryostream 1000 IOC questions<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><span style="color:black">Hello Mark -<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black">'asynReport1' produces the following output:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black">asynReport 1<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">L0 multiDevice:No canBlock:Yes autoConnect:Yes<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">&nbsp; &nbsp; enabled:Yes connected:Yes numberConnects 1<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">&nbsp; &nbsp; nDevices 0 nQueued 0 blocked:No<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">&nbsp; &nbsp; asynManagerLock:No synchronousLock:No<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">&nbsp; &nbsp; exceptionActive:No exceptionUsers 1 exceptionNotifys 0<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">&nbsp; &nbsp; traceMask:0x1 traceIOMask:0x0 traceInfoMask:0x1<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">&nbsp; &nbsp; Port 164.54.212.121:10304 TCP: Connected<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">OC_CMD multiDevice:No canBlock:Yes autoConnect:Yes<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">&nbsp; &nbsp; enabled:Yes connected:No numberConnects 0<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">&nbsp; &nbsp; nDevices 0 nQueued 0 blocked:No<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">&nbsp; &nbsp; asynManagerLock:No synchronousLock:Yes<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">&nbsp; &nbsp; exceptionActive:No exceptionUsers 1 exceptionNotifys 0<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">&nbsp; &nbsp; traceMask:0x1 traceIOMask:0x0 traceInfoMask:0x1<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">&nbsp; &nbsp; Port 164.54.212.121:10304 TCP: Disconnected<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black">However I can successfully control the Cryostream, so I'm assuming that the command port is able to be opened when required. I am also able to telnet to the port; it sends what appears to be one packet and then
 disconnects, so it appears that the unit does allow multiple connections.&nbsp;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black">Looking at the output of netstat on a Windows machine running the Oxford software, I see many connections in 'TIME_WAIT' in addition to the currently active one, which leads me to believe that the unit closes the
 connection after each status query.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black">-Jim<o:p></o:p></span></p>
<div id="Signature">
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black">Jim Withrow, Research Support Specialist -
<a rel="nofollow" href="mailto:jwithrow at cornell.edu">jwithrow at cornell.edu</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">NE-CAT, Cornell University - <a rel="nofollow" href="https://urldefense.us/v3/__https:/necat.chem.cornell.edu__;!!G_uCfscf7eWS!YIJea726PbnlNVjo85v7k-yjiO2sqgLg3LX0Wd20QnkDdi_oPtrQNimhEOo2ZyvN5WvC4W6Gkf30BTABya7ALqoKkg$">
https://necat.chem.cornell.edu</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Advanced Photon Source, Sector 24<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">9700 S. Cass Avenue, Building 436 E001<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Lemont, IL 60439<o:p></o:p></span></p>
</div>
<div class="MsoNormal" align="center" style="text-align:center">
<hr size="2" width="98%" align="center">
</div>
<div id="divRplyFwdMsg">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:black">From:</span></b><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:black"> Mark Rivers &lt;<a rel="nofollow" href="mailto:rivers at cars.uchicago.edu">rivers at cars.uchicago.edu</a>&gt;<br>
<b>Sent:</b> Friday, August 14, 2026 4:05 PM<br>
<b>To:</b> James P. Withrow &lt;<a rel="nofollow" href="mailto:jwithrow at cornell.edu">jwithrow at cornell.edu</a>&gt;; tech-talk &lt;<a rel="nofollow" href="mailto:tech-talk at aps.anl.gov">tech-talk at aps.anl.gov</a>&gt;<br>
<b>Subject:</b> Re: Oxford Cryostream 1000 IOC questions</span> <o:p></o:p></p>
<p class="MsoNormal">&nbsp;<o:p></o:p></p>
</div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black">Hi James,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
<pre style="margin-left:36.0pt;text-indent:-18.0pt;mso-list:l1 level1 lfo1"><![if !supportLists]><span style="font-family:Symbol;color:black"><span style="mso-list:Ignore">&#xB7;<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span style="font-family:&quot;Aptos&quot;,sans-serif;color:black">2026/08/13 18:20:47.498515 _main_ OXCRYO:CS1000:TURBOCMD lockRequest: port OC_CMD not connected<o:p></o:p></span></pre>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black">That looks to me like the Oxford rejected the connection attempt for the second socket.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black">Here are a couple of ways to diagnose:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
<div>
<ol style="margin-top:0cm" start="1" type="1">
<li class="MsoNormal" style="color:black;mso-list:l0 level1 lfo2"><span style="font-size:11.0pt">Just before iocInit add this command:<o:p></o:p></span></li></ol>
</div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black">asynReport 1<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black">That will show the status of all asyn port drivers, including whether they are connected.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
<div>
<ol style="margin-top:0cm" start="2" type="1">
<li class="MsoNormal" style="color:black;mso-list:l2 level1 lfo3"><span style="font-size:11.0pt">After the IOC is running type the following command from another Linux shell:<o:p></o:p></span></li></ol>
</div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
<pre><span style="font-size:11.0pt;font-family:&quot;Aptos&quot;,sans-serif;color:black">telnet 164.54.212.121 10304<o:p></o:p></span></pre>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black">Does it let you connect, or does it reject the connection attempt?&nbsp; If it rejects then it would seem the Oxford is only allowing one socket client at a time on that port.&nbsp; That is not consistent
 with the original database and startup script design.&nbsp; Perhaps there is a configuration setting on the Oxford to allow more than one socket connection?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black">Mark<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
<div class="MsoNormal" align="center" style="text-align:center">
<hr size="2" width="98%" align="center">
</div>
<p class="MsoNormal"><b><span style="font-family:&quot;Calibri&quot;,sans-serif;color:black">From:</span></b><span style="font-family:&quot;Calibri&quot;,sans-serif;color:black"> James P. Withrow &lt;<a rel="nofollow" href="mailto:jwithrow at cornell.edu">jwithrow at cornell.edu</a>&gt;<br>
<b>Sent:</b> Thursday, August 13, 2026 6:34 PM<br>
<b>To:</b> Mark Rivers &lt;<a rel="nofollow" href="mailto:rivers at cars.uchicago.edu">rivers at cars.uchicago.edu</a>&gt;; tech-talk &lt;<a rel="nofollow" href="mailto:tech-talk at aps.anl.gov">tech-talk at aps.anl.gov</a>&gt;<br>
<b>Subject:</b> Re: Oxford Cryostream 1000 IOC questions <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:&quot;Calibri&quot;,sans-serif;color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black">Hello Mark -<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black">Below is the relevant excerpt from the IOC when both the status and command sockets are set to the same IP and port as in the repository.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<pre><span style="font-size:12.0pt;font-family:&quot;Aptos&quot;,sans-serif;color:black"># CS1000 uses TCP for Status Packets or Commands<o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:&quot;Aptos&quot;,sans-serif;color:black"># Status Packets<o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:&quot;Aptos&quot;,sans-serif;color:black">drvAsynIPPortConfigure(&quot;L0&quot;, &quot;164.54.212.121:10304 TCP&quot;, 0, 0, 0)<o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:&quot;Aptos&quot;,sans-serif;color:black"># Commands<o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:&quot;Aptos&quot;,sans-serif;color:black">drvAsynIPPortConfigure(&quot;OC_CMD&quot;, &quot;164.54.212.121:10304 TCP&quot;, 0, 0, 0)<o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:&quot;Aptos&quot;,sans-serif;color:black"># Status Packet and Commands on a Single Port<o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:&quot;Aptos&quot;,sans-serif;color:black">dbLoadRecords(&quot;db/MDO.db&quot;, &quot;P=OXCRYO:,Q=CS1000,PORT=L0,R=MDO:,L=0,A=0,PORTCMD=OC_CMD&quot;)<o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:&quot;Aptos&quot;,sans-serif;color:black">#var mySubDebug 1<o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:&quot;Aptos&quot;,sans-serif;color:black">#var streamError 1<o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:&quot;Aptos&quot;,sans-serif;color:black">#var streamDebug 1<o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:&quot;Aptos&quot;,sans-serif;color:black">#If are interested in saving logs, it can produce a few GBs of logs, use with caution<o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:&quot;Aptos&quot;,sans-serif;color:black">#streamSetLogfile(&quot;logfile.txt&quot;)<o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:&quot;Aptos&quot;,sans-serif;color:black">cd &quot;/opt/epics/iocs/cryostream-1000-EPICS-IOC/OXCS1000/iocBoot/ioccryo1&quot;<o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:&quot;Aptos&quot;,sans-serif;color:black">iocInit<o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:&quot;Aptos&quot;,sans-serif;color:black">Starting iocInit<o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:&quot;Aptos&quot;,sans-serif;color:black">############################################################################<o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:&quot;Aptos&quot;,sans-serif;color:black">## EPICS R7.0.9<o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:&quot;Aptos&quot;,sans-serif;color:black">## Rev. 2026-01-14T12:49-0600<o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:&quot;Aptos&quot;,sans-serif;color:black">## Rev. Date build date/time: <o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:&quot;Aptos&quot;,sans-serif;color:black">############################################################################<o:p></o:p></span></pre>
<pre><b><span style="font-size:12.0pt;font-family:&quot;Aptos&quot;,sans-serif;color:black">2026/08/13 18:20:47.498515 _main_ OXCRYO:CS1000:TURBOCMD lockRequest: port OC_CMD not connected</span></b><span style="font-size:12.0pt;font-family:&quot;Aptos&quot;,sans-serif;color:black"><o:p></o:p></span></pre>
<p class="MsoNormal"><span style="color:black">-Jim<o:p></o:p></span></p>
<div id="x_x_Signature">
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black">Jim Withrow, Research Support Specialist -
<a rel="nofollow" href="mailto:jwithrow at cornell.edu">jwithrow at cornell.edu</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">NE-CAT, Cornell University - <a rel="nofollow" href="https://urldefense.us/v3/__https:/necat.chem.cornell.edu__;!!G_uCfscf7eWS!YIJea726PbnlNVjo85v7k-yjiO2sqgLg3LX0Wd20QnkDdi_oPtrQNimhEOo2ZyvN5WvC4W6Gkf30BTABya7ALqoKkg$">
https://necat.chem.cornell.edu</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Advanced Photon Source, Sector 24<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">9700 S. Cass Avenue, Building 436 E001<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Lemont, IL 60439<o:p></o:p></span></p>
</div>
<div class="MsoNormal" align="center" style="text-align:center">
<hr size="2" width="98%" align="center">
</div>
<div id="x_x_divRplyFwdMsg">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:black">From:</span></b><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:black"> Mark Rivers &lt;<a rel="nofollow" href="mailto:rivers at cars.uchicago.edu">rivers at cars.uchicago.edu</a>&gt;<br>
<b>Sent:</b> Thursday, August 13, 2026 5:07 PM<br>
<b>To:</b> tech-talk &lt;<a rel="nofollow" href="mailto:tech-talk at aps.anl.gov">tech-talk at aps.anl.gov</a>&gt;; James P. Withrow &lt;<a rel="nofollow" href="mailto:jwithrow at cornell.edu">jwithrow at cornell.edu</a>&gt;<br>
<b>Subject:</b> Re: Oxford Cryostream 1000 IOC questions<o:p></o:p></span></p>
<p class="MsoNormal">&nbsp;<o:p></o:p></p>
</div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black">Hi Jim,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black">I think the database was probably intentionally designed to open 2 separate sockets to the device, so that the long status reply and short commands were independent.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black">Can you send the error message you got when using 2 separate asyn ports?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black">Mark<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
<div class="MsoNormal" align="center" style="text-align:center">
<hr size="2" width="98%" align="center">
</div>
<div id="x_x_x_divRplyFwdMsg">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:black">From:</span></b><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:black"> Tech-talk &lt;<a rel="nofollow" href="mailto:tech-talk-bounces at aps.anl.gov">tech-talk-bounces at aps.anl.gov</a>&gt;
 on behalf of James P. Withrow via Tech-talk &lt;<a rel="nofollow" href="mailto:tech-talk at aps.anl.gov">tech-talk at aps.anl.gov</a>&gt;<br>
<b>Sent:</b> Thursday, August 13, 2026 4:02 PM<br>
<b>To:</b> tech-talk &lt;<a rel="nofollow" href="mailto:tech-talk at aps.anl.gov">tech-talk at aps.anl.gov</a>&gt;<br>
<b>Subject:</b> Oxford Cryostream 1000 IOC questions<o:p></o:p></span></p>
<p class="MsoNormal">&nbsp;<o:p></o:p></p>
</div>
<p class="MsoNormal"><span style="color:black">Good afternoon, all -&nbsp;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black">I have an Oxford Cryostream 1000 and I am attempting to use the IOC located at&nbsp;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black"><a rel="nofollow" href="https://urldefense.us/v3/__https:/github.com/bcsblbl/cryostream-1000-EPICS-IOC__;!!G_uCfscf7eWS!eQE76DYWeSxU8TKizFHTRrBr5nFR8PaYs_JUcCoSd7CwM7FMa79ZY-dTmIDogP_5mkcQ1bKtf0ec_H5OJSJEpuITMw$">https://github.com/bcsblbl/cryostream-1000-EPICS-IOC</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black">I have it working well; I am able to both control and monitor the cryostream. However, my IOC console fills up with the following messages at 1-second intervals:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black">2026/08/13 15:55:18.027546 L0 OXCRYO:CS1000:STATUS: device L0 0 disconnected<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">2026/08/13 15:55:19.179502 L0 OXCRYO:CS1000:STATUS: device L0 0 disconnected<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">2026/08/13 15:55:20.331536 L0 OXCRYO:CS1000:STATUS: device L0 0 disconnected<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">2026/08/13 15:55:21.483524 L0 OXCRYO:CS1000:STATUS: device L0 0 disconnected<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">2026/08/13 15:55:22.635480 L0 OXCRYO:CS1000:STATUS: device L0 0 disconnected<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black">Have I configured something incorrectly? Is this something to be concerned with? I did change the following line in st.cmd:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black">dbLoadRecords(&quot;db/MDO.db&quot;, &quot;P=OXCRYO:,Q=CS1000,PORT=L0,R=MDO:,L=0,A=0,PORTCMD=L0&quot;)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black">I changed PORTCMD from &quot;OC_CMD&quot; to &quot;LO&quot; as both the drvAsynIPPortConfigure lines referenced the same IP and port, and the IOC complained about not being able to get a lock for the second port.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black">Thank you,&nbsp;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">-Jim Withrow<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<div id="x_x_x_x_Signature">
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black">Jim Withrow, Research Support Specialist -
<a rel="nofollow" href="mailto:jwithrow at cornell.edu">jwithrow at cornell.edu</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">NE-CAT, Cornell University - <a rel="nofollow" href="https://urldefense.us/v3/__https:/necat.chem.cornell.edu__;!!G_uCfscf7eWS!eQE76DYWeSxU8TKizFHTRrBr5nFR8PaYs_JUcCoSd7CwM7FMa79ZY-dTmIDogP_5mkcQ1bKtf0ec_H5OJSJCOXGXug$">
https://necat.chem.cornell.edu</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Advanced Photon Source, Sector 24<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">9700 S. Cass Avenue, Building 436 E001<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Lemont, IL 60439<o:p></o:p></span></p>
</div>
</div>


</td></tr></table>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00912.php</link>
      <author>James P. Withrow via Tech-talk</author>
      <pubDate>Mon, 17 Aug 2026 14:29:08 GMT</pubDate>
      <guid isPermaLink="false">BN8PR04MB64673CB2C0424B2107229474D7A72@BN8PR04MB6467.namprd04.prod.outlook.com</guid>
      <title>Re: Oxford Cryostream 1000 IOC questions</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Re: Oxford Cryostream 1000 IOC questions -->
<!--X-From-R13: "Xnzrf B. Ivguebj ivn Frpu&#45;gnyx" <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Mon, 17 Aug 2026 14:29:08 +0000 -->
<!--X-Message-Id: BN8PR04MB64673CB2C0424B2107229474D7A72@BN8PR04MB6467.namprd04.prod.outlook.com -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Reference: BN8PR04MB64677CE4D47CCAF72AE9B64DD7DB2@BN8PR04MB6467.namprd04.prod.outlook.com -->
<!--X-Reference: DM3PPF1CEB6B7EF9B7C6B171D8606BCD46599DB2@DM3PPF1CEB6B7EF.namprd11.prod.outlook.com -->
<!--X-Reference: BN8PR04MB6467B8CAC3FFAA73FC826643D7DB2@BN8PR04MB6467.namprd04.prod.outlook.com -->
<!--X-Reference: DM3PPF1CEB6B7EFAF4291AE25ADB61F15F199DA2@DM3PPF1CEB6B7EF.namprd11.prod.outlook.com -->
<!--X-Reference: BN8PR04MB64672B7B62617E098695F0EDD7A72@BN8PR04MB6467.namprd04.prod.outlook.com -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Re: Oxford Cryostream 1000 IOC questions</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
&quot;James P. Withrow via Tech-talk&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
Mark Rivers &lt;<a href="mailto:rivers%20at%20cars%20dot%20uchicago%20dot%20edu">rivers at cars.uchicago.edu</a>&gt;, tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Mon, 17 Aug 2026 14:29:08 +0000</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<table width="100%"><tr><td style="">


<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Mark -&nbsp;</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Solution found! Digging through the asynDriver documentation led me to the 'HTTP' protocol which the documentation states is designed to deal with connections closed after each transaction.&nbsp;</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Changing the 'L0' port's protocol to this allows the IOC to operate normally without the persistent disconnect messages.&nbsp;</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Thanks for the help!</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
-Jim</div>
<div id="Signature" class="elementToProof">
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Jim Withrow, Research Support Specialist - jwithrow at cornell.edu</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
NE-CAT, Cornell University - <a rel="nofollow" href="https://urldefense.us/v3/__https://necat.chem.cornell.edu__;!!G_uCfscf7eWS!ZUE631AZUXVgQsRONDf-Cpm6YFSEcXB4E-Rrnwttphcp7vuBsJsb44ORherwO_wg9dYLya1r8aLATDoKD77xE217Fw$">https://necat.chem.cornell.edu</a></div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Advanced Photon Source, Sector 24</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
9700 S. Cass Avenue, Building 436 E001</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Lemont, IL 60439</div>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Tech-talk &lt;tech-talk-bounces at aps.anl.gov&gt; on behalf of James P. Withrow via Tech-talk &lt;tech-talk at aps.anl.gov&gt;<br>
<b>Sent:</b> Monday, August 17, 2026 9:06 AM<br>
<b>To:</b> Mark Rivers &lt;rivers at cars.uchicago.edu&gt;; tech-talk &lt;tech-talk at aps.anl.gov&gt;<br>
<b>Subject:</b> Re: Oxford Cryostream 1000 IOC questions</font>
<div>&nbsp;</div>
</div>

<div dir="ltr">
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Hello Mark -</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
'asynReport1' produces the following output:</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
asynReport 1</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
L0 multiDevice:No canBlock:Yes autoConnect:Yes</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
&nbsp; &nbsp; enabled:Yes connected:Yes numberConnects 1</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
&nbsp; &nbsp; nDevices 0 nQueued 0 blocked:No</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
&nbsp; &nbsp; asynManagerLock:No synchronousLock:No</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
&nbsp; &nbsp; exceptionActive:No exceptionUsers 1 exceptionNotifys 0</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
&nbsp; &nbsp; traceMask:0x1 traceIOMask:0x0 traceInfoMask:0x1</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
&nbsp; &nbsp; Port 164.54.212.121:10304 TCP: Connected</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
OC_CMD multiDevice:No canBlock:Yes autoConnect:Yes</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
&nbsp; &nbsp; enabled:Yes connected:No numberConnects 0</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
&nbsp; &nbsp; nDevices 0 nQueued 0 blocked:No</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
&nbsp; &nbsp; asynManagerLock:No synchronousLock:Yes</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
&nbsp; &nbsp; exceptionActive:No exceptionUsers 1 exceptionNotifys 0</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
&nbsp; &nbsp; traceMask:0x1 traceIOMask:0x0 traceInfoMask:0x1</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
&nbsp; &nbsp; Port 164.54.212.121:10304 TCP: Disconnected</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
However I can successfully control the Cryostream, so I'm assuming that the command port is able to be opened when required. I am also able to telnet to the port; it sends what appears to be one packet and then disconnects, so it appears that the unit does
 allow multiple connections.&nbsp;</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Looking at the output of netstat on a Windows machine running the Oxford software, I see many connections in 'TIME_WAIT' in addition to the currently active one, which leads me to believe that the unit closes the connection after each status query.</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
-Jim</div>
<div id="x_Signature" class="x_elementToProof">
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Jim Withrow, Research Support Specialist - jwithrow at cornell.edu</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
NE-CAT, Cornell University - <a rel="nofollow" href="https://urldefense.us/v3/__https://necat.chem.cornell.edu__;!!G_uCfscf7eWS!YIJea726PbnlNVjo85v7k-yjiO2sqgLg3LX0Wd20QnkDdi_oPtrQNimhEOo2ZyvN5WvC4W6Gkf30BTABya7ALqoKkg$" originalsrc="https://urldefense.us/v3/__https://necat.chem.cornell.edu__;!!G_uCfscf7eWS!YIJea726PbnlNVjo85v7k-yjiO2sqgLg3LX0Wd20QnkDdi_oPtrQNimhEOo2ZyvN5WvC4W6Gkf30BTABya7ALqoKkg$">
https://necat.chem.cornell.edu</a></div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Advanced Photon Source, Sector 24</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
9700 S. Cass Avenue, Building 436 E001</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Lemont, IL 60439</div>
</div>
<div id="x_appendonsend"></div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Mark Rivers &lt;rivers at cars.uchicago.edu&gt;<br>
<b>Sent:</b> Friday, August 14, 2026 4:05 PM<br>
<b>To:</b> James P. Withrow &lt;jwithrow at cornell.edu&gt;; tech-talk &lt;tech-talk at aps.anl.gov&gt;<br>
<b>Subject:</b> Re: Oxford Cryostream 1000 IOC questions</font>
<div>&nbsp;</div>
</div>

<div dir="ltr">
<div class="x_x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
Hi James,</div>
<div class="x_x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:false,&quot;unorderedStyleType&quot;:4}" style="margin-top:0px; margin-bottom:0px">
<li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0); list-style-type:&quot;&#x27A2; &quot;">
<pre class="x_x_elementToProof" role="presentation"><div class="x_x_elementToProof" style="direction:ltr; white-space:pre; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif">2026/08/13 18:20:47.498515 _main_ OXCRYO:CS1000:TURBOCMD lockRequest: port OC_CMD not connected</div></pre>
</li></ul>
<div class="x_x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
That looks to me like the Oxford rejected the connection attempt for the second socket.</div>
<div class="x_x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
Here are a couple of ways to diagnose:</div>
<div class="x_x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<ol start="1" data-editing-info="{&quot;applyListStyleFromLevel&quot;:false,&quot;orderedStyleType&quot;:3}" style="margin-top:0px; margin-bottom:0px">
<li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0); margin-top:0px; margin-bottom:0px; list-style-type:&quot;1) &quot;">
<div class="x_x_elementToProof" role="presentation">Just before iocInit add this command:</div>
</li></ol>
<div class="x_x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
asynReport 1</div>
<div class="x_x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
That will show the status of all asyn port drivers, including whether they are connected.</div>
<div class="x_x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<ol start="2" data-editing-info="{&quot;applyListStyleFromLevel&quot;:false,&quot;orderedStyleType&quot;:3}" style="margin-top:0px; margin-bottom:0px">
<li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0); margin-top:0px; margin-bottom:0px; list-style-type:&quot;2) &quot;">
<div class="x_x_elementToProof" role="presentation">After the IOC is running type the following command from another Linux shell:</div>
</li></ol>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<pre class="x_x_elementToProof"><div class="x_x_elementToProof" style="direction:ltr; white-space:pre; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">telnet 164.54.212.121 10304</div></pre>
<div class="x_x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
Does it let you connect, or does it reject the connection attempt?&nbsp; If it rejects then it would seem the Oxford is only allowing one socket client at a time on that port.&nbsp; That is not consistent with the original database and startup script design.&nbsp; Perhaps
 there is a configuration setting on the Oxford to allow more than one socket connection?</div>
<div class="x_x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
Mark</div>
<div class="x_x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt">
<br>
</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<hr style="display:inline-block; width:98%">
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<b>From:</b> James P. Withrow &lt;jwithrow at cornell.edu&gt;<br>
<b>Sent:</b> Thursday, August 13, 2026 6:34 PM<br>
<b>To:</b> Mark Rivers &lt;rivers at cars.uchicago.edu&gt;; tech-talk &lt;tech-talk at aps.anl.gov&gt;<br>
<b>Subject:</b> Re: Oxford Cryostream 1000 IOC questions </div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Hello Mark -</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Below is the relevant excerpt from the IOC when both the status and command sockets are set to the same IP and port as in the repository.</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<pre><div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)"># CS1000 uses TCP for Status Packets or Commands
# Status Packets
drvAsynIPPortConfigure(&quot;L0&quot;, &quot;164.54.212.121:10304 TCP&quot;, 0, 0, 0)
# Commands
drvAsynIPPortConfigure(&quot;OC_CMD&quot;, &quot;164.54.212.121:10304 TCP&quot;, 0, 0, 0)
# Status Packet and Commands on a Single Port
dbLoadRecords(&quot;db/MDO.db&quot;, &quot;P=OXCRYO:,Q=CS1000,PORT=L0,R=MDO:,L=0,A=0,PORTCMD=OC_CMD&quot;)
#var mySubDebug 1
#var streamError 1
#var streamDebug 1
#If are interested in saving logs, it can produce a few GBs of logs, use with caution
#streamSetLogfile(&quot;logfile.txt&quot;)
cd &quot;/opt/epics/iocs/cryostream-1000-EPICS-IOC/OXCS1000/iocBoot/ioccryo1&quot;
iocInit
Starting iocInit
############################################################################
## EPICS R7.0.9
## Rev. 2026-01-14T12:49-0600
## Rev. Date build date/time: 
############################################################################
<b>2026/08/13 18:20:47.498515 _main_ OXCRYO:CS1000:TURBOCMD lockRequest: port OC_CMD not connected</b>
</div></pre>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
-Jim</div>
<div id="x_x_x_Signature">
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Jim Withrow, Research Support Specialist - jwithrow at cornell.edu</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
NE-CAT, Cornell University - <a rel="nofollow" href="https://urldefense.us/v3/__https://necat.chem.cornell.edu__;!!G_uCfscf7eWS!YIJea726PbnlNVjo85v7k-yjiO2sqgLg3LX0Wd20QnkDdi_oPtrQNimhEOo2ZyvN5WvC4W6Gkf30BTABya7ALqoKkg$" originalsrc="https://urldefense.us/v3/__https://necat.chem.cornell.edu__;!!G_uCfscf7eWS!YIJea726PbnlNVjo85v7k-yjiO2sqgLg3LX0Wd20QnkDdi_oPtrQNimhEOo2ZyvN5WvC4W6Gkf30BTABya7ALqoKkg$">
https://necat.chem.cornell.edu</a></div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Advanced Photon Source, Sector 24</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
9700 S. Cass Avenue, Building 436 E001</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Lemont, IL 60439</div>
</div>
<hr style="direction:ltr; display:inline-block; width:98%">
<div id="x_x_x_divRplyFwdMsg">
<div style="direction:ltr; font-family:Calibri,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<b>From:</b> Mark Rivers &lt;rivers at cars.uchicago.edu&gt;<br>
<b>Sent:</b> Thursday, August 13, 2026 5:07 PM<br>
<b>To:</b> tech-talk &lt;tech-talk at aps.anl.gov&gt;; James P. Withrow &lt;jwithrow at cornell.edu&gt;<br>
<b>Subject:</b> Re: Oxford Cryostream 1000 IOC questions</div>
<div style="direction:ltr">&nbsp;</div>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
Hi Jim,</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
I think the database was probably intentionally designed to open 2 separate sockets to the device, so that the long status reply and short commands were independent.</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
Can you send the error message you got when using 2 separate asyn ports?</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
Mark</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<hr style="direction:ltr; display:inline-block; width:98%">
<div id="x_x_x_x_divRplyFwdMsg">
<div style="direction:ltr; font-family:Calibri,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<b>From:</b> Tech-talk &lt;tech-talk-bounces at aps.anl.gov&gt; on behalf of James P. Withrow via Tech-talk &lt;tech-talk at aps.anl.gov&gt;<br>
<b>Sent:</b> Thursday, August 13, 2026 4:02 PM<br>
<b>To:</b> tech-talk &lt;tech-talk at aps.anl.gov&gt;<br>
<b>Subject:</b> Oxford Cryostream 1000 IOC questions</div>
<div style="direction:ltr">&nbsp;</div>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Good afternoon, all -&nbsp;</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
I have an Oxford Cryostream 1000 and I am attempting to use the IOC located at&nbsp;</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<a rel="nofollow" href="https://urldefense.us/v3/__https://github.com/bcsblbl/cryostream-1000-EPICS-IOC__;!!G_uCfscf7eWS!eQE76DYWeSxU8TKizFHTRrBr5nFR8PaYs_JUcCoSd7CwM7FMa79ZY-dTmIDogP_5mkcQ1bKtf0ec_H5OJSJEpuITMw$" originalsrc="https://urldefense.us/v3/__https://github.com/bcsblbl/cryostream-1000-EPICS-IOC__;!!G_uCfscf7eWS!eQE76DYWeSxU8TKizFHTRrBr5nFR8PaYs_JUcCoSd7CwM7FMa79ZY-dTmIDogP_5mkcQ1bKtf0ec_H5OJSJEpuITMw$" originalsrc="https://urldefense.us/v3/__https://github.com/bcsblbl/cryostream-1000-EPICS-IOC__;!!G_uCfscf7eWS!eQE76DYWeSxU8TKizFHTRrBr5nFR8PaYs_JUcCoSd7CwM7FMa79ZY-dTmIDogP_5mkcQ1bKtf0ec_H5OJSJEpuITMw$" id="OWA869ce783-0341-566e-1c51-3a9a66015c64" class="x_x_OWAAutoLink" originalsrc="https://urldefense.us/v3/__https://github.com/bcsblbl/cryostream-1000-EPICS-IOC__;!!G_uCfscf7eWS!eQE76DYWeSxU8TKizFHTRrBr5nFR8PaYs_JUcCoSd7CwM7FMa79ZY-dTmIDogP_5mkcQ1bKtf0ec_H5OJSJEpuITMw$" data-auth="NotApplicable">https://github.com/bcsblbl/cryostream-1000-EPICS-IOC</a></div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
I have it working well; I am able to both control and monitor the cryostream. However, my IOC console fills up with the following messages at 1-second intervals:</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
2026/08/13 15:55:18.027546 L0 OXCRYO:CS1000:STATUS: device L0 0 disconnected</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
2026/08/13 15:55:19.179502 L0 OXCRYO:CS1000:STATUS: device L0 0 disconnected</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
2026/08/13 15:55:20.331536 L0 OXCRYO:CS1000:STATUS: device L0 0 disconnected</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
2026/08/13 15:55:21.483524 L0 OXCRYO:CS1000:STATUS: device L0 0 disconnected</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
2026/08/13 15:55:22.635480 L0 OXCRYO:CS1000:STATUS: device L0 0 disconnected</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Have I configured something incorrectly? Is this something to be concerned with? I did change the following line in st.cmd:</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
dbLoadRecords(&quot;db/MDO.db&quot;, &quot;P=OXCRYO:,Q=CS1000,PORT=L0,R=MDO:,L=0,A=0,PORTCMD=L0&quot;)</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
I changed PORTCMD from &quot;OC_CMD&quot; to &quot;LO&quot; as both the drvAsynIPPortConfigure lines referenced the same IP and port, and the IOC complained about not being able to get a lock for the second port.</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Thank you,&nbsp;</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
-Jim Withrow</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div id="x_x_x_x_x_Signature">
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Jim Withrow, Research Support Specialist - jwithrow at cornell.edu</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
NE-CAT, Cornell University - <a rel="nofollow" href="https://urldefense.us/v3/__https://necat.chem.cornell.edu__;!!G_uCfscf7eWS!eQE76DYWeSxU8TKizFHTRrBr5nFR8PaYs_JUcCoSd7CwM7FMa79ZY-dTmIDogP_5mkcQ1bKtf0ec_H5OJSJCOXGXug$" originalsrc="https://urldefense.us/v3/__https://necat.chem.cornell.edu__;!!G_uCfscf7eWS!eQE76DYWeSxU8TKizFHTRrBr5nFR8PaYs_JUcCoSd7CwM7FMa79ZY-dTmIDogP_5mkcQ1bKtf0ec_H5OJSJCOXGXug$" originalsrc="https://urldefense.us/v3/__https://necat.chem.cornell.edu__;!!G_uCfscf7eWS!eQE76DYWeSxU8TKizFHTRrBr5nFR8PaYs_JUcCoSd7CwM7FMa79ZY-dTmIDogP_5mkcQ1bKtf0ec_H5OJSJCOXGXug$" id="OWA6cb42c38-bd48-ed62-d1ab-94568fb4d670" class="x_x_OWAAutoLink" originalsrc="https://urldefense.us/v3/__https://necat.chem.cornell.edu__;!!G_uCfscf7eWS!eQE76DYWeSxU8TKizFHTRrBr5nFR8PaYs_JUcCoSd7CwM7FMa79ZY-dTmIDogP_5mkcQ1bKtf0ec_H5OJSJCOXGXug$" data-auth="NotApplicable">
https://necat.chem.cornell.edu</a></div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Advanced Photon Source, Sector 24</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
9700 S. Cass Avenue, Building 436 E001</div>
<div style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Lemont, IL 60439</div>
</div>
</div>
</div>


</td></tr></table>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00913.php</link>
      <author>Abdalla Ahmad via Tech-talk</author>
      <pubDate>Tue, 18 Aug 2026 07:36:02 GMT</pubDate>
      <guid isPermaLink="false">PA4PR08MB628732BE14CF201532283D7FA1A62@PA4PR08MB6287.eurprd08.prod.outlook.com</guid>
      <title>Effects of setting glibc's MALLOC_ARENA_MAX=1</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Effects of setting glibc's MALLOC_ARENA_MAX=1 -->
<!--X-From-R13: Ooqnyyn Ouznq ivn Frpu&#45;gnyx <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Tue, 18 Aug 2026 07:36:02 +0000 -->
<!--X-Message-Id: PA4PR08MB628732BE14CF201532283D7FA1A62@PA4PR08MB6287.eurprd08.prod.outlook.com -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Effects of setting glibc's MALLOC_ARENA_MAX=1</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
Abdalla Ahmad via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
EPICS Tech Talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Tue, 18 Aug 2026 07:36:02 +0000</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<table width="100%"><tr><td style="">


<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hi</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
While migrating IOCs from CentOS 7 to Rocky Linux 8.10, I noticed that IOCs with Galil driver support have memory usage skyrocketed from 30MB to 350 MB with same dependencies versions on both servers. After research, I found out about that glibc, since 2.11,
 started to have per-thread memory arena instead of single &quot;main arena&quot; for all threads. To control maximum arenas, we have to set MALLOC_ARENA_MAX to the appropriate number.</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I set MALLOC_ARENA_MAX to 1, and memory usage dropped back to around 35MB. My question is, has anyone run into this scenario? More specifically, does setting MALLOC_ARENA_MAX=1 have any side effects? To my understanding, setting it to 1 is almost the same as
 CentOS 7 and the nature of EPICS record and driver processing routines would not cause that much lock contention with concurrent allocation in the same arena, even with heavily threaded drivers like Galil. Any feedback is appreciated.</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Best Regards,</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Abdalla.</div>


</td></tr></table>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00914.php</link>
      <author>Dudley, David via Tech-talk</author>
      <pubDate>Tue, 18 Aug 2026 19:42:08 GMT</pubDate>
      <guid isPermaLink="false">72cace22ceac4020b075ceb6e54d2f31@frib.msu.edu</guid>
      <title>Process a PV on exit</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Process a PV on exit -->
<!--X-From-R13: "Rhqyrl, Rnivq ivn Frpu&#45;gnyx" <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Tue, 18 Aug 2026 19:42:08 +0000 -->
<!--X-Message-Id: 72cace22ceac4020b075ceb6e54d2f31@frib.msu.edu -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Process a PV on exit</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
&quot;Dudley, David via Tech-talk&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
&quot;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Tue, 18 Aug 2026 19:42:08 +0000</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<table width="100%"><tr><td style="a:link { color: #467886 } a:visited { color: #96607D } ">


<div class="WordSection1">
<p class="MsoNormal">OK, masters of the EPICS universe&#8230;.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Got a unique inquiry for you. &nbsp;&nbsp;Probably something rarely used.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Running an IOC on the latest EPICS 7.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Have a situation where I need to process a PV when the IOC exits.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">I have some PVs that control the power to a device that I&#8217;m testing.&nbsp; When I want to replace the device (this is for a testing rig), I&#8217;d like to turn off the power to the device in the process of exiting the IOC (I don&#8217;t want to keep the
 interface powered up while unplugging and plugging equipment).<o:p></o:p></p>
<p class="MsoNormal">I implemented 2 PVs that have the power on command, and the power off command.&nbsp; In the Power On command I set PINI=RUN, however all I could do on the Power Off command was to set PINI=Pause.&nbsp;&nbsp; I can successfully control the power on/off
 &nbsp;with the iocRun and iocPause commands.&nbsp; iocRun occurs when the ioc Starts running, so that has the desired effect of powering up the interface.&nbsp; But iocPause only processes on the iocPause command as far as I can tell.&nbsp; I may have to compromise on that, as
 an exit command is not a pause.&nbsp; I would have though it would possibly cause a pause/exit sequence, but no.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">John Priller told me I would probably need to write some &#8216;C&#8217; code to attach to the at-exit point (which I can do), but thought I&#8217;d ask the mailing list if there is a more standardized method to do this in the current release of EPICS.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Later-<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">David<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>


</td></tr></table>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00915.php</link>
      <author>Michael Davidsaver via Tech-talk</author>
      <pubDate>Tue, 18 Aug 2026 23:32:43 GMT</pubDate>
      <guid isPermaLink="false">bba431cf-88f5-49ab-a3d7-0742b36e3c2a@gmail.com</guid>
      <title>Re: Effects of setting glibc's MALLOC_ARENA_MAX=1</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Re: Effects of setting glibc's MALLOC_ARENA_MAX=1 -->
<!--X-From-R13: [vpunry Rnivqfnire ivn Frpu&#45;gnyx <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Tue, 18 Aug 2026 16:32:43 &#45;0700 -->
<!--X-Message-Id: bba431cf&#45;88f5&#45;49ab&#45;a3d7&#45;0742b36e3c2a@gmail.com -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Reference: PA4PR08MB628732BE14CF201532283D7FA1A62@PA4PR08MB6287.eurprd08.prod.outlook.com -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Re: Effects of setting glibc's MALLOC_ARENA_MAX=1</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
Michael Davidsaver via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
Abdalla Ahmad &lt;<a href="mailto:Abdalla%20dot%20Ahmad%20at%20sesame%20dot%20org%20dot%20jo">Abdalla.Ahmad at sesame.org.jo</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Cc</em>:</td>
<td align="left">
EPICS Tech Talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Tue, 18 Aug 2026 16:32:43 -0700</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<table width="100%"><tr><td style="">

  
  
    <div class="moz-cite-prefix">On 8/18/26 12:36 AM, Abdalla Ahmad via
      Tech-talk wrote:<br>
    </div>
    <blockquote type="cite"
cite="">
      
      
      <div class="elementToProof"
style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
        Hi</div>
      <div class="elementToProof"
style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
        <br>
      </div>
      <div class="elementToProof"
style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
        While migrating IOCs from CentOS 7 to Rocky Linux 8.10, I
        noticed that IOCs with Galil driver support have memory usage
        skyrocketed from 30MB to 350 MB with same dependencies versions
        on both servers.</div>
    </blockquote>
    <p>Which metric of memory usage are you referring to?&#xA0; Total virtual
      memory allocation?&#xA0; Resident memory usage?&#xA0; (VIRT or RES columns
      in 'top')&#xA0; Something else?&#xA0; eg. 'mallinfo2()' to see how much
      memory the allocator has taken from the OS, and how much returned
      by 'malloc()'.</p>
    <p><br>
    </p>
    <p>https ://github.com/mdavidsaver/linStat</p>
    <p><br>
    </p>
    <p>Reports: "$(IOC)MEM_RSS", "$(IOC):MALLOC_POOL",
      "$(IOC):MALLOC_USED".</p>
    <p><br>
    </p>
    <blockquote type="cite"
cite="">
      <div class="elementToProof"
style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">&#xA0;After
        research, I found out about that glibc, since 2.11, started to
        have per-thread memory arena instead of single "main arena" for
        all threads. To control maximum arenas, we have to set
        MALLOC_ARENA_MAX to the appropriate number.</div>
    </blockquote>
    <p>https ://<a rel="nofollow" href="https://urldefense.us/v3/__http://www.man7.org/linux/man-pages/man3/mallopt.3.html__;!!G_uCfscf7eWS!chiMYPtQq42mSjhCeE_pzwdVBVN7VSO61OsYxvkCYvngvLXBg7a2mqATSck5uT2BH2_zO8lbbiwdJ37XXSfwKQEf_g$">www.man7.org/linux/man-pages/man3/mallopt.3.html</a></p>
    <p><br>
    </p>
    <blockquote type="cite"
cite="">
      <div class="elementToProof"
style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">I
        set MALLOC_ARENA_MAX to 1, and memory usage dropped back to
        around 35MB. My question is, has anyone run into this scenario?
        More specifically, does setting MALLOC_ARENA_MAX=1 have any side
        effects?</div>
    </blockquote>
    <p>While I have looked into it a couple of times, but in the end I
      have never used any tuning.&#xA0; Preventing creation of per-thread
      memory pools seems likely to have performance implications.&#xA0; I
      guess you must have some older hardware with limited memory, in
      which case "slow" seems preferable to running out of memory.</p>
    <p><br>
    </p>
    <blockquote type="cite"
cite="">
      <div class="elementToProof"
style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">&#xA0;To
        my understanding, setting it to 1 is almost the same as CentOS 7
        and the nature of EPICS record and driver processing routines
        would not cause that much lock contention with concurrent
        allocation in the same arena, even with heavily threaded drivers
        like Galil. Any feedback is appreciated.</div>
      <div class="elementToProof"
style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
        <br>
      </div>
      <div class="elementToProof"
style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
        Best Regards,</div>
      <div class="elementToProof"
style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
        Abdalla.</div>
    </blockquote>
    <p><br>
    </p>
  
  <lt-container></lt-container>

</td></tr></table>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00916.php</link>
      <author>Abdalla Ahmad via Tech-talk</author>
      <pubDate>Wed, 19 Aug 2026 06:08:37 GMT</pubDate>
      <guid isPermaLink="false">PA4PR08MB6287F75DFC63B004F610682AA1A52@PA4PR08MB6287.eurprd08.prod.outlook.com</guid>
      <title>Re: Effects of setting glibc's MALLOC_ARENA_MAX=1</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Re: Effects of setting glibc's MALLOC_ARENA_MAX=1 -->
<!--X-From-R13: Ooqnyyn Ouznq ivn Frpu&#45;gnyx <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Wed, 19 Aug 2026 06:08:37 +0000 -->
<!--X-Message-Id: PA4PR08MB6287F75DFC63B004F610682AA1A52@PA4PR08MB6287.eurprd08.prod.outlook.com -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Reference: PA4PR08MB628732BE14CF201532283D7FA1A62@PA4PR08MB6287.eurprd08.prod.outlook.com -->
<!--X-Reference: bba431cf&#45;88f5&#45;49ab&#45;a3d7&#45;0742b36e3c2a@gmail.com -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Re: Effects of setting glibc's MALLOC_ARENA_MAX=1</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
Abdalla Ahmad via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
Michael Davidsaver &lt;<a href="mailto:mdavidsaver%20at%20gmail%20dot%20com">mdavidsaver at gmail.com</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Cc</em>:</td>
<td align="left">
EPICS Tech Talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Wed, 19 Aug 2026 06:08:37 +0000</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<table width="100%"><tr><td style="">


<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hi Michael</div>
<div><br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
The values I mentioned were values for RSS. Both RL and CentOS servers are virtual servers, no old hardware in between. I went back to the CentOS server, ran the IOC and executed gdb on the IOC's process:</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: &quot;Courier New&quot;, monospace; font-size: 12pt; color: rgb(0, 0, 0);">
$ gdb -p &lt;PID&gt; -batch -ex 'call (void) malloc_stats()'</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
It showed one used arena. For the RL server, without MALLOC_ARENA_MAX, it showed 32 arenas. Previously, we had no performance issues at all. I am aware that shared memory pools are possible to create performance issues; this still needs testing in production
 environment, nevertheless.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Best Regards,</div>
<div class="elementToProof" style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Abdalla.</div>
<div class="elementToProof" style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<hr style="display: inline-block; width: 98%;">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<b>From:</b> Michael Davidsaver &lt;mdavidsaver at gmail.com&gt;<br>
<b>Sent:</b> Wednesday, August 19, 2026 2:32 AM<br>
<b>To:</b> Abdalla Ahmad &lt;Abdalla.Ahmad at sesame.org.jo&gt;<br>
<b>Cc:</b> EPICS Tech Talk &lt;tech-talk at aps.anl.gov&gt;<br>
<b>Subject:</b> Re: Effects of setting glibc's MALLOC_ARENA_MAX=1 </div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="padding-bottom: 1px;">
<div>On 8/18/26 12:36 AM, Abdalla Ahmad via Tech-talk wrote:</div>
<blockquote>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hi</div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
While migrating IOCs from CentOS 7 to Rocky Linux 8.10, I noticed that IOCs with Galil driver support have memory usage skyrocketed from 30MB to 350 MB with same dependencies versions on both servers.</div>
</blockquote>
<p style="margin-top: 0px; margin-bottom: 0px;">Which metric of memory usage are you referring to?&nbsp; Total virtual memory allocation?&nbsp; Resident memory usage?&nbsp; (VIRT or RES columns in 'top')&nbsp; Something else?&nbsp; eg. 'mallinfo2()' to see how much memory the allocator
 has taken from the OS, and how much returned by 'malloc()'.</p>
<p style="margin-top: 0px; margin-bottom: 0px;"><br>
</p>
<p style="margin-top: 0px; margin-bottom: 0px;">https ://github.com/mdavidsaver/linStat</p>
<p style="margin-top: 0px; margin-bottom: 0px;"><br>
</p>
<p style="margin-top: 0px; margin-bottom: 0px;">Reports: &quot;$(IOC)MEM_RSS&quot;, &quot;$(IOC):MALLOC_POOL&quot;, &quot;$(IOC):MALLOC_USED&quot;.</p>
<p style="margin-top: 0px; margin-bottom: 0px;"><br>
</p>
<blockquote>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
&nbsp;After research, I found out about that glibc, since 2.11, started to have per-thread memory arena instead of single &quot;main arena&quot; for all threads. To control maximum arenas, we have to set MALLOC_ARENA_MAX to the appropriate number.</div>
</blockquote>
<p style="margin-top: 0px; margin-bottom: 0px;">https ://<a rel="nofollow" href="https://urldefense.us/v3/__http://www.man7.org/linux/man-pages/man3/mallopt.3.html__;!!G_uCfscf7eWS!bUBtRoNuGiXa_4HDwGabUfPNHSBncuL5quKUYKcSRqfAUUkplx7Cj2ZqXlpuQn9jjIO_Z9W5msLqhNMsFfpybZYUzWto3XQ$">www.man7.org/linux/man-pages/man3/mallopt.3.html</a></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><br>
</p>
<blockquote>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I set MALLOC_ARENA_MAX to 1, and memory usage dropped back to around 35MB. My question is, has anyone run into this scenario? More specifically, does setting MALLOC_ARENA_MAX=1 have any side effects?</div>
</blockquote>
<p style="margin-top: 0px; margin-bottom: 0px;">While I have looked into it a couple of times, but in the end I have never used any tuning.&nbsp; Preventing creation of per-thread memory pools seems likely to have performance implications.&nbsp; I guess you must have
 some older hardware with limited memory, in which case &quot;slow&quot; seems preferable to running out of memory.</p>
<p style="margin-top: 0px; margin-bottom: 0px;"><br>
</p>
<blockquote>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
&nbsp;To my understanding, setting it to 1 is almost the same as CentOS 7 and the nature of EPICS record and driver processing routines would not cause that much lock contention with concurrent allocation in the same arena, even with heavily threaded drivers like
 Galil. Any feedback is appreciated.</div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Best Regards,</div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Abdalla.</div>
</blockquote>
<p style="margin-top: 0px; margin-bottom: 0px;"><br>
</p>
</div>


</td></tr></table>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

  </channel>
</rss>
<!-- MHonArc v2.6.18 -->
