EPICS PVAccess server for Keysight/Agilent 33000 series function generators.
The implementation targets the single-channel Keysight/Agilent 33210A and uses PyVISA for instrument communication.
uv syncThe package requires Python 3.11 or newer. The installed server command is:
epicsdev_siggen_keysight_33000By default, the server connects to
TCPIP::192.168.50.80::INSTR and publishes PVs with the prefix
keysight33000:0:.
epicsdev_siggen_keysight_33000Set a different VISA resource, device name, or index with:
epicsdev_siggen_keysight_33000 \
--resource 'TCPIP::192.168.50.80::INSTR' \
--index 0 \
keysight33000Other options include --autosave, --recall, --putlogPV, and --verbose.
Use --help for the complete list.
Global PVs:
visaResource,genIDN,dateTime, andpollCountinstrCmdSfor sending a custom SCPI commandinstrCmdRfor the command response
Channel 1 PVs:
c01Output,c01Load,c01Polarity, andc01WaveTypec01Frequency,c01Amplitude,c01Offset, andc01SquareDutyc01RampSymmetry
The server also provides the standard server, status, sleep,
cycleTime, HEARTBEAT, and VERSION PVs from epicsdev.
Generate the Phoebus display from the repository root with:
python opi/generate_opi.pyThis creates opi/keysight33000.bob. A different PV prefix or screen title can
be supplied as positional prefix and --title arguments:
python opi/generate_opi.py --title 'Keysight 33000' 'pva://keysight33000:0:'