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, 30 Jun 2021 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |