EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  2025  <2026 Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  2025  <2026
<== Date ==> <== Thread ==>

Subject: Re: Simulate an existing IOC with a python IOC
From: "Sukhanov, Andrei via Tech-talk" <tech-talk at aps.anl.gov>
To: Graeme Winter <gw363 at cornell.edu>, Michael Davidsaver <mdavidsaver at gmail.com>
Cc: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Mon, 20 Apr 2026 14:44:04 +0000
Here is a roadmap for doing this using AI together with the epicsdev helper for p4p:
• First, create a PV definition dictionary pvDef (using the pvinfo app or the p4p.client API).
This dictionary should include each PV’s description, initial value, and an extra section containing fields such as units, limitLow, limitHigh, and setter.
• Then prompt an AI assistant (for example, Copilot Pro Codex) with something like:
“Create a PVAccess server called <my_instrument> using the epicsdev module that serves the PVs defined in pvDef, and use the instrument's programming manual at <this httpp link> as a reference.”
• Within an hour, the AI should produce working code.
Review, test, and refine the result as needed.
Andrey Sukhanov,
Collider-Accelerator Department, Brookhaven National Laboratory.
"If you want to find the secrets of the universe, think in terms of
energy, frequency, and vibration" --Nikola Tesla


From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Michael Davidsaver via Tech-talk <tech-talk at aps.anl.gov>
Sent: Monday, April 20, 2026 3:43 AM
To: Graeme Winter <gw363 at cornell.edu>
Cc: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: Re: Simulate an existing IOC with a python IOC
 
On 4/19/26 6: 42 PM, Graeme Winter via Tech-talk wrote: Thinking about developing a test harness for clients Has anyone made a tool which can interrogate a running IOC and create a python soft IOC with the same API? It doesn’t need to work just
ZjQcmQRYFpfptBannerStart
This Message Is From an External Sender
This message came from outside your organization.
 
ZjQcmQRYFpfptBannerEnd
On 4/19/26 6:42 PM, Graeme Winter via Tech-talk wrote:
Thinking about developing a test harness for clients

Has anyone made a tool which can interrogate a running IOC and create a python soft IOC with the same API? It doesn’t need to work just be the stubs

Struck me as worth asking before I delved into the rabbit hole…

https://github.com/mdavidsaver/ioc-clone

Takes a record list, and produces a .db file which can be passed to softIoc.  Originally to facilitate offline development of OPI screens.



References:
Simulate an existing IOC with a python IOC Graeme Winter via Tech-talk
Re: Simulate an existing IOC with a python IOC Michael Davidsaver via Tech-talk

Navigate by Date:
Prev: anybody has experience with Dexela or similar large area CMOS detector 林鹤 via Tech-talk
Next: Availability of MEDM screen for PowerBrick? James P. Withrow via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  2025  <2026
Navigate by Thread:
Prev: Re: Simulate an existing IOC with a python IOC Michael Davidsaver via Tech-talk
Next: Re: Simulate an existing IOC with a python IOC Graeme Winter via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  2025  <2026
ANJ, 21 Apr 2026 · Home · News · About · Talk · Base · Modules · Extensions ·
· Distributions · Download · Documents · Links · Licensing ·