EPICS PVAccess server for CAEN FAST-PS power supplies, implemented with epicsdev.
- TCP remote control interface to FAST-PS (default port
10001) - PV set modeled after the IOC records in docs/fastps.db
- Setpoint control with optional ramping:
Voltage,Current,RampEnable
- Output and diagnostic readback:
OutputVoltage,OutputCurrent,GroundCurrent,DCLinkVoltage,HeatsinkTemp
- Status and state control:
StatusMSB,StatusLSB,StatusReset,Enable,RegulationMode,Upmode
- Ramp-rate control:
RampRateV,RampRateI
- Device identity and inferred limits:
Model,Version,Limits
- Generic command passthrough:
instrCmdS,instrCmdR
- Python 3.10+
epicsdevand its runtime dependencies (includingp4p)- Network access to the CAEN FAST-PS device
pip install epicsdev_ps_caen_fastpspython -m epicsdev_ps_caen_fastps
Useful arguments:
--hostFAST-PS IP/hostname (default:130.199.104.57)--portTCP port (default:10001)--timeoutsocket timeout in seconds (default:2.0)-d, --devicePV prefix device root (default:caen_fastps)-i, --indexPV prefix index (default:0)-vincrease verbosity (-vvfor more)-a, --autosaveenable autosave with optional directory-c, --recalldisable restoring autosaved values on startup
Example:
python -m epicsdev_ps_caen_fastps --host 130.199.104.57 -d caen_fastps:
Default PV prefix:
caen_fastps0:
Generate .bob OPI file:
python generate_opi.py -t FAST-PS pva://caen_fastps:0:
Options:
-t, --titlescreen titleprefixPV prefix macro/value (default:$(DEV):)
Output:
- The server uses common
epicsdevcontrol PVs such asserver,sleep,status, andHEARTBEAT. Enableis synchronized from bit 0 ofStatusLSBduring polling.- For unsupported/custom diagnostics, use
instrCmdSand read the reply frominstrCmdR.