Public | Automated Build

Last pushed: 2 years ago
Short Description
This IOC provides PVs to interact with 6 motors and point-detectors, as well as an areaDetector.
Full Description


This image provides an EPICS IOC for interaction. This IOC provides PVs (process variables) to interact with 6 independent motors, an areadetector camera producing 1024x1024 images, and 6 point-detectors. These point-sensors yield scalar values whose amplitude depends on the position of an associated simulated motor, with peak values produced at the motor positions indicated in the table below.

The pv names and descriptions are here:

PV Name Description
sim:mtr1 Motor Record 1
sim:mtr2 Motor Record 2
sim:mtr3 Motor Record 3
sim:mtr4 Motor Record 4
sim:mtr5 Motor Record 5
sim:mtr6 Motor Record 6
------- -------
sim:dev1:curr scalar sensor 1; linked to 'sim:mtr1'; peak value at 1.5
sim:dev2:curr scalar sensor 2; linked to 'sim:mtr2'; peak value at 0.5
sim:dev3:curr scalar sensor 3; linked to 'sim:mtr3'; peak value at -0.5
sim:dev4:curr scalar sensor 4; linked to 'sim:mtr4'; peak value at -1.5
sim:dev5:curr scalar sensor 5; linked to 'sim:mtr5'; peak value at -2.5
sim:dev6:curr scalar sensor 6; linked to 'sim:mtr6'; peak value at -1.0
------- -------
sim:det: areaDetector pv prefix; available plugins include 'image1:', 'cam1:', 'Stats1-5', etc
------- -------
sim:fake:mtr-sp setpoint of motor-like device; writes do not cause motion
sim:fake:mtr-i position readback of motor-like device
sim:fake:mtr:go-cmd if a new setpoint was entered, writing a '1' to this pv causes motion
sim:fake:mtr:stop-cmd writing '1' to this pv will terminate in-progress motion
sim:fake:mtr:moving-sts reports state, "Moving" (0) or "Done" (1)

Docker Image

A Docker image is available:

docker pull dchabot/simioc
docker run -d dchabot/simioc

Host Environment

To be enable host-access to the process variables published by the IOC, a couple of EPICS environment variables are required to be set:

export EPICS_CA_ADDR_LIST=  # use `ifconfig`, or similar, to examine the host-container network configuration

Access to the IOC shell (iocsh) is available via procServ, on port 2048 of the docker image:

docker ps -a  # locate the name or ID of the simioc image
docker exec -it <image ID> bash  # launch a bash shell attached to the running image

root@<image ID> telnet localhost 2048  # enter the IOC shell
Docker Pull Command
Source Repository