IOC Deployment and Troubleshooting
This repo contains instructions for Session 2 of the Practical Beamline Controls Training.
Warnings
This training was designed to be completed using an APS-maintained Red Hat Enterprise Linux (RHEL) computer.
- The instructions and solution branch assume that synApps was deployed on a path beginning with /APSshare, which is incorrect for non-APS computers.
- There will be additional errors when the IOC runs due to missing synApps modules. The instructions do not address these errors.
- It is assumed that the non-APS computer already has the necessary prerequisites for building EPICS base.
Outline
- Setup
- Deploy a new IOC
- Add simulated motors to the IOC
- Deploy the motorVMC (Virtual Motor Controller) module
- Add virtual motors to the IOC
- asyn troubleshooting
Quickstart
The external quickstart script is much less useful on non-APS machines.
To use the script, do the following:
$ curl -O https://git.aps.anl.gov/practical_beamline_controls_training/session_2/instructions/-/raw/external/scripts/quickstart.sh
$ chmod a+x quickstart.sh
$ ./quickstart.sh
Then copy and paste the output from the script into the terminal and proceed to step 1.2.
FAQ
cd
commands that aren't explicitly documented in the instructions?
Will I need to execute any No. You should only change directories when instructed to. If you find yourself tempted to execute a cd
command that isn't documented, resist that urge; it will cause later commands to fail.
Why isn't mkioc used to create the training IOC?
mkioc renames files and directories (references to xxx are replaced with the desired IOC name). This makes it impossible to have a solution branch in the git repo that works for everyone.
How does the training IOC differ from one created with mkioc?
There will be fewer build errors when building an IOC created by mkioc.
The training IOC required some customization to allow the IOC's prefix to be overridden: