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  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: Hardware simulator
From: Emmanuel Mayssat <[email protected]>
To: Pavel Maslov <[email protected]>, "Steiner, Mathias" <[email protected]>, EPICS Tech Talk <[email protected]>
Date: Thu, 29 Aug 2013 11:24:21 -0700
Although there is a need, I question the usefulness.
The reason: how can you ascertain that the simulator behaves the same the real hardware does?
For a 'complex' device (or not so complex), I may trust a simulator if it comes from the same  manufacturer (never seen!),
but not if it is from a co-worker who has just read the manual and is done coding it in 2 hours.

In practice, for an expensive piece of equipment you may require a downtime
for cheap hardware simply by 2 units, thereafter the second one becomes a replacement unit.

Now if you are talking about very very expensive piece of equipment where downtimes are also expensive (i.e. main detectors at the LHC),
well, I don't have one! But in that case, it is possible it is someone's sole job is to create a simulator and make it as reliable as possible.

That brings an interesting question:
What are all those 'simulation' records (SIMM, SIOL) used for?

--
Emmanuel




Date: Thu, 29 Aug 2013 15:10:52 +0200
Subject: Re: Hardware simulator
From: [email protected]
To: [email protected]; [email protected]

Hi Mathias,

Thanks for your reply! For simple (serial-based) devices such as power supplies, function generators, etc you can write a "software simulator" (written in Java, Python). One could also use a soft IOC like the one you are using. But my concern is more about complex devices and the whole subsystems (e.g., Ion Source), which you want to simulate as close to real operation as possible. I am wondering if anybody is practicing such "hardware simulation" and if not, whether or not it would be useful in the existing physics facilities.

-- 
Regards,
Pavel Maslov, MS


On Thu, Aug 29, 2013 at 2:40 PM, Steiner, Mathias <[email protected]> wrote:
Pavel,

This may be different than what you're looking for but..
I've found it helpful to have simulated power supplies with which to play before the real things are installed.

I've attached them below on the off-chance that they could be useful to someone.
Four records per PS provide "command set", "readback of set point", "readback of actual current", plus a helper calcout for ramping and noise.

Cheers -Mathias



# simulated power supply records for quadrupole magnets
record(ao, "$(sys)_$(sub):$(psnam)_$(inst):I_CSET")
{
  field(DESC, "magnet power supply")
  field(EGU,  "A")
  field(PREC, "1")
  field(VAL,  "0.0")
}
record(calc, "$(sys)_$(sub):$(psnam)_$(inst):I_RSET")
{
  field(DESC, "simulated p/s set pt")
  field(EGU,  "A")
  field(PREC, "1")
  field(INPA, "$(sys)_$(sub):$(psnam)_$(inst):I_CSET PP NMS")
  field(CALC,  "A")
}
record(ai, "$(sys)_$(sub):$(psnam)_$(inst):I_RD")
{
  field(DESC, "magnet power supply")
  field(EGU,  "A")
  field(PREC, "1")
  field(VAL,   "0.0")
}
record(calcout, "$(sys)_$(sub):$(psnam)_$(inst):I_LAG")
{
  field(DESC, "co mimics ramping ps")
  field(EGU,  "A")
  field(PREC, "4")
  field(INPA, "$(sys)_$(sub):$(psnam)_$(inst):I_CSET PP NMS")
  field(INPB, "$(sys)_$(sub):$(psnam)_$(inst):I_RD PP NMS")
  field(C,    "5") # this determines how fast the p/s ramps..
  field(CALC,  "ABS(A-B)>C?B+(A-B)/ABS(A-B)*C:A+RNDM-.5")
#               1234567890123456789B123456789C123456789D  beware the 40char(?) limit
  field(DOPT, "Use CALC")
  field(OUT,   "$(sys)_$(sub):$(psnam)_$(inst):I_RD PP NMS")
  field(SCAN, "1 second")
  field(PINI, "1")
  field(FLNK, "$(sys)_$(sub):$(psnam)_$(inst):I_RSET.PROC")
}






Replies:
RE: Hardware simulator Dalesio, Leo
References:
RE: Hardware simulator Steiner, Mathias
Re: Hardware simulator Pavel Maslov

Navigate by Date:
Prev: Benchmarking the performance of an embedded IOC Emmanuel Mayssat
Next: Re: motor record: soft motor & DMOV Konrad, Martin
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Hardware simulator Farnsworth, Richard I.
Next: RE: Hardware simulator Dalesio, Leo
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 20 Apr 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·