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  <20212022  2023  2024  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  <20212022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: EPICS interface for Edwards nXDS scroll pump
From: Florian Feldbauer via Tech-talk <tech-talk at aps.anl.gov>
To: Raymond Juras <jurasmx at gmail.com>, tech-talk at aps.anl.gov
Date: Wed, 30 Jun 2021 23:27:39 +0200

Hey Ray,

we are using an nXDS scroll pump from edwards and controll it via StreamDevice + Asyn via the RS485 interface.

I've attached protocol and database files.

HTH,

Cheers,
Florian

On 6/30/21 10:50 PM, Raymond Juras via Tech-talk wrote:

Hello,

Has anyone developed an EPICS interface to the Edwards nXDS scroll pump?

Thank you,

Ray Juras

Oak Ridge National Laboratory

email: jurasrc1 at ornl.gov


-- 
Ruhr-Universität Bochum
AG der Experimentalphysik I
Dr. Florian Feldbauer
NB 2/131 / Fach 125
Universitätsstr. 150
D-44801 Bochum

Office: NB 2/134
Phone:  (+49)234 / 32-23563
Fax:    (+49)234 / 32-14170
https://paluma.ruhr-uni-bochum.de
#############################################
# ###                                   ### #
# ### EPICS Database for                ### #
# ### Edwards nXDS 15i                  ### #
# ###                                   ### #
# ### author: R.Kieser                  ### #
# ###                                   ### #
# ### Ref 1.0; 2014-01-06               ### #
# ###                                   ### #
# ### macros: subsys  PANDA subsystem   ### #
# ###         PORT    Asyn Interface    ### #
#############################################

record (ai, "PANDA:$(subsys):VACUUM:FOREPUMP:Tmom") {
  field (DTYP, "stream")
  field (INP,  "@Edwards_nXDS15i.proto getTemperature $(PORT)")
# field (SCAN, "10 second")
  field (FLNK, "PANDA:$(subsys):VACUUM:FOREPUMP:Mfrequency")
}

record (ai, "PANDA:$(subsys):VACUUM:FOREPUMP:MotorFreqMom") {
  field (DTYP, "stream")
  field (INP,  "@Edwards_nXDS15i.proto getMfrequency(PANDA:$(subsys):VACUUM:FOREPUMP) $(PORT)")
  field (SCAN, "10 second")
  field (FLNK, "PANDA:$(subsys):VACUUM:FOREPUMP:getRunTime")
}

record (mbbiDirect, "PANDA:$(subsys):VACUUM:FOREPUMP:Statusregister1") {
}
record (mbbiDirect, "PANDA:$(subsys):VACUUM:FOREPUMP:Statusregister2") {
}
record (mbbiDirect, "PANDA:$(subsys):VACUUM:FOREPUMP:Warnings") {
}
record (mbbiDirect, "PANDA:$(subsys):VACUUM:FOREPUMP:faultregister") {
}

record (ai, "PANDA:$(subsys):VACUUM:FOREPUMP:getError") {
  field (DTYP, "stream")
  field (INP,  "@Edwards_nXDS15i.proto getError $(PORT)")
  field (PINI, "YES")
}

record (ai, "PANDA:$(subsys):VACUUM:FOREPUMP:getRunTime") {
  field (DTYP, "stream")
  field (INP,  "@Edwards_nXDS15i.proto getRunTime $(PORT)")
# field (SCAN, "300 second")
}

#--------------------------------------------------------------------------------

record (bo , "PANDA:$(subsys):VACUUM:FOREPUMP:Pump") {
  field (DTYP, "stream")
  field (OUT,  "@Edwards_nXDS15i.proto Pump $(PORT)")
  field (ZNAM, "OFF" )
  field (ONAM, "ON" )
}

#################################################
# ###                                       ### #
# ### StreamDevice Protocol for             ### #
# ### Edwards nXDS 15i                      ### #
# ###                                       ### #
# ### author: R.Kieser                      ### #
# ###                                       ### #
# ### Ref 1.0; 2013-12-19                   ### #
#################################################

###################
# ### Globals ### #
###################
Terminator    = CR;
LockTimeout   = 5000;
ReplyTimeout  = 500;
ReadTimeout   = 500;
WriteTimeout  = 300;
ExtraInput    = Ignore;

#####################
# ### Protocols ### #
#####################

getTemperature {
  # get measured pump temperature
  # Example of command:
  # field (INP, "@Edwards_nxDS15i.proto getTemperature $(PORT)") 

  out "?V808";
  in  "=V808 %u";

} 

getMfrequency {
  # get motor frequncy and status words
  # Example of command:
  # field (INP, "@Edwards_nxDS15i.proto getMfrequency(PANDA:$(subsys):VACUUM) $(PORT)") 

  out "?V802";
  in  "=V802 %u;%(\$1:Statusregister1)x;%(\$1:Statusregister2)x;%(\$1:Warnings)x;%(\$1:faulregister)x";
}

getError {
  # get fault history at last trip
  # Example of command:
  # field (INP, "@Edwards_nxDS15i.proto getError(PANDA:$(subsys):VACUUM) $(PORT)") 

  out "?V816";
  in  "=V816 %x;%x;%x;%x";
}

getRunTime {
  # get Total run hours - time pump has run
  # Example of command:
  # field (INP, "@Edwards_nxDS15i.proto getRunTime $(PORT)") 

  out "?V810";
  in  "=V810 %u";
}

#--------------------------------------------------------------------------------

Pump {
  # switch forepump on/off
  # Example of command:
  # field (OUT, "@Edwards_nxDS15i.proto Pump $(PORT)") 

  out "!C802 %u";
  in  "*C802 %*u";

#  @init {
#    out "in_mode_05";
#    in  DC3,"%i";
#  }

}


References:
EPICS interface for Edwards nXDS scroll pump Raymond Juras via Tech-talk

Navigate by Date:
Prev: EPICS interface for Edwards nXDS scroll pump Raymond Juras via Tech-talk
Next: Using CALC value to set NELM in subArray Wang, Andrew 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  <20212022  2023  2024 
Navigate by Thread:
Prev: EPICS interface for Edwards nXDS scroll pump Raymond Juras via Tech-talk
Next: Using CALC value to set NELM in subArray Wang, Andrew 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  <20212022  2023  2024 
ANJ, 30 Jun 2021 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·