|
|
Experimental Physics and
| ||||||||||||||
|
|
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, On 6/30/21 10:50 PM, Raymond Juras via
Tech-talk wrote:
-- 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";
# }
}
| ||||||||||||||
| ANJ, 19 Mar 2026 |
·
Home
·
News
·
About
·
Talk
·
Base
·
Modules
·
Extensions
·
· Distributions · Download · Documents · Links · Licensing · |