Difference between revisions of "EPICS Cheat Sheet"

From Beam Line Controls
Jump to navigation Jump to search
Line 25: Line 25:
:<code>'''DISP'''</code> - disable puts (ca = channel access & pva = pv access) from outside the IOC (when non-zero); e.g. disable a motor from the motorx_all screen
:<code>'''DISP'''</code> - disable puts (ca = channel access & pva = pv access) from outside the IOC (when non-zero); e.g. disable a motor from the motorx_all screen
:<code>'''DISV/DISA/SDIS'''</code> - disable record processing internally  
:<code>'''DISV/DISA/SDIS'''</code> - disable record processing internally  
::Record processing is disabled when <code>'''DISA'''</code> equals <code>'''DISV'''</code> (e.g. uses SDIS field to read in a value/mode, which will disable some control if a certain mode is active)
**Record processing is disabled when <code>'''DISA'''</code> equals <code>'''DISV'''</code> (e.g. uses SDIS field to read in a value/mode, which will disable some control if a certain mode is active)
::<code>'''DISA'''</code> is set to the value of the PV in the <code>'''SDIS'''</code> field, if it isn't empty
::<code>'''DISA'''</code> is set to the value of the PV in the <code>'''SDIS'''</code> field, if it isn't empty
:<code>'''TPRO'''</code> - trace processing: when set to 1 prints out all the records that get processed after the record is processed; used only for troubleshooting
:<code>'''TPRO'''</code> - trace processing: when set to 1 prints out all the records that get processed after the record is processed; used only for troubleshooting

Revision as of 19:58, 15 March 2023

Channel Access (CA) command-lines

caget - get the value of one of more PVs
caput - change the value of a PV
camonitor - monitor the value of one or more PVs
cainfo - print info about a PV, including which host is running the IOC

Example:

$ caget kmp3:m1.{DESC,RTYP,DTYP,VAL}
kmp3:m1.DESC           theta motor
kmp3:m1.RTYP           motor
kmp3:m1.DTYP           asynMotor
kmp3:m1.VAL            60


Noteworthy fields

VAL - the default field (used if no field is specified in the vast majority of cases)
SCAN - determines when a record processes
NAME - the record name (helpful if records are aliased)
DESC - record description
RTYP - the record type
DTYP - the device support type (not meaningful for all record types)
DISP - disable puts (ca = channel access & pva = pv access) from outside the IOC (when non-zero); e.g. disable a motor from the motorx_all screen
DISV/DISA/SDIS - disable record processing internally
    • Record processing is disabled when DISA equals DISV (e.g. uses SDIS field to read in a value/mode, which will disable some control if a certain mode is active)
DISA is set to the value of the PV in the SDIS field, if it isn't empty
TPRO - trace processing: when set to 1 prints out all the records that get processed after the record is processed; used only for troubleshooting

Note: some of the fields of a record are actually record attributes (they return the same value for all instances of the record type; see https://epics.anl.gov/)

IOC shell commands

To connect to (disconnect from) the IOC shell, see here:

help [command] - shows available commands or syntax of specified command
dbpr record_name [0-9] - displays fields and values for a given record
dbl - lists all records in an IOC
dbl record_type - lists all records of a specific type in an IOC
dbl record_type "field_list" - lists specified fields (space-separated list) of records of a specific type in an IOC
dbpf pv_name value - change a PV’s value – analogous to caput
dbgf pv_name - read a PV’s value – analogous to caget
epicsEnvShow - prints environment variables
seqShow - shows running sequence programs
seqStop - stops a running sequence program