Difference between revisions of "EPICS Cheat Sheet"

From Beam Line Controls
Jump to navigation Jump to search
Line 17: Line 17:
== Noteworthy fields==
== Noteworthy fields==


:'''VAL''' - the default field (used if no field is specified in the vast majority of cases)
:<code>'''VAL'''</code> - the default field (used if no field is specified in the vast majority of cases)
:''SCAN''' - determines when a record processes
:<code>''SCAN'''</code> - determines when a record processes
:'''NAME''' - the record name (helpful if records are aliased)
:<code>'''NAME'''</code> - the record name (helpful if records are aliased)
:'''DESC''' - record description
:<code>'''DESC'''</code> - record description
:'''RTYP''' - the record type
:<code>'''RTYP'''</code> - the record type
:'''DTYP''' - the device support type (not meaningful for all record types)
:<code>'''DTYP'''</code> - 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
:<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
:'''DISV/DISA/SDIS''' - disable record processing internally  
:<code>'''DISV/DISA/SDIS'''</code> - 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)
::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)
::'''DISA''' is set to the value of the PV in the '''SDIS''' 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
:'''TPRO''' - 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


<u>Note</u>: 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/base/R3-16/2-docs/AppDevGuide/DatabaseDefinition.html#x7-2630006.6 https://epics.anl.gov/])
<u>Note</u>: 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/base/R3-16/2-docs/AppDevGuide/DatabaseDefinition.html#x7-2630006.6 https://epics.anl.gov/])


== IOC shell commands ==
== IOC shell commands ==

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