An open API service indexing awesome lists of open source software.

https://github.com/klauer/anc300

attocube ANC300 piezo controller (EPICS device support)
https://github.com/klauer/anc300

Last synced: 3 months ago
JSON representation

attocube ANC300 piezo controller (EPICS device support)

Awesome Lists containing this project

README

        

ANC300 EPICS Driver
===================

StreamDevice-based EPICS support for the attocube ANC300 piezo controller.

Requirements
------------

Though it may work on other versions, the driver was tested on these:

1. EPICS base 3.14.12.3 http://www.aps.anl.gov/epics/
2. asyn 4-21 http://www.aps.anl.gov/epics/modules/soft/asyn/
3. StreamDevice 2.6 http://epics.web.psi.ch/software/streamdevice/

A newer StreamDevice may be required than the NSLS-II Debian package has (as of early 2013).
If included in $(TOP)/StreamDevice, it will be built automatically.
The newer StreamDevice also requires a newer asyn (>= 4-18).

Optional
--------

1. EDM http://ics-web.sns.ornl.gov/edm/log/getLatest.php
Screens are provided in $TOP/opi for EDM.
2. Autosave http://www.aps.anl.gov/bcda/synApps/autosave/autosave.html

Installation
------------

1. Install EPICS
1. If using a Debian-based system (e.g., Ubuntu), use the packages here http://epics.nsls2.bnl.gov/debian/
2. If no packages are available for your distribution, build from source
2. Edit configure/RELEASE
1. Point the directories listed in there to the appropriate places
2. If using the Debian packages, everything can be pointed to /usr/lib/epics
3. Edit iocBoot/iocanc300/st.cmd
1. Change the shebang on the top of the script if your architecture is different than linux-x86:
#!../../bin/linux-x86/anc300
(check if the environment variable EPICS_HOST_ARCH is set, or perhaps `uname -a`, or ask someone if
you don't know)
2. The following line sets the prefix to all of your ANC300 PVs:
epicsEnvSet("DEV", "E1:ANC300")
Set the second quoted string appropriately.
3. The following line sets the IP address of the serial device server communicating with the ANC300:
drvAsynIPPortConfigure("$(PORT)", "10.0.2.5:7230")
The IP address should be changed, but the port should remain the same.
4. The ANC300 has a configurable number of axes (up to 6), add these lines for each axis, replacing the 1 with the axis number (1-6):
epicsEnvSet "AXIS", 1
< anc300_axis.cmd
4. Go to the top directory and `make`
5. If all goes well:
```
cd iocBoot/iocanc300
chmod +x st.cmd
./st.cmd`
```
6. Run EDM:
```
export EDMDATAFILES=$TOP/opi:$EDMDATAFILES
(general configuration)
edm -x -m "DEV=E1:ANC300" anc300_axes

(axis 1)
edm -x -m "DEV=E1:ANC300,A=1" anc300_axis
```