150 likes | 253 Views
EPICS Application Development At The Canadian Light Source. Glen Wright. Tools Commonly Used. EPICS Base R3.14.6 EDM – Extensible Display Manager SNL – State Notation Language Compiler MKS – System Integrity Matlab – high-level scripting and user interfaces. Other Tools/Features Installed.
E N D
EPICS Application DevelopmentAt TheCanadian Light Source Glen Wright
Tools Commonly Used • EPICS Base R3.14.6 • EDM – Extensible Display Manager • SNL – State Notation Language Compiler • MKS – System Integrity • Matlab – high-level scripting and user interfaces
Other Tools/Features Installed • VDCT • MEDM/DM2K • Epics Gateway • Channel Archiver • ROOT • QT • SYNAPPS (collection of beamline software)
EPICS Directory Layout • $EPICS_BASE contains standard executables, include files, and libraries • $EPICS_EXTENSIONS contains optional executables, include files, and libraries • $EPICS_MODULES contains SNL compiler and SYNAPPS • $EPICS_LOCAL contains local executables, include files, and libraries
EPICS Applications Install Layout • /iocApps (srv-unix:/export/iocApps) contains applications that run on Linux systems • /export/tftpboot (css1021-102:/export/tftpboot) contains applications that run on EROCs • Directory structure similar to Application Development structure • /export/tftpboot has a development mirror; /iocApps doesn’t but should.
Application Directory Layout • The script ‘makeBaseApp.pl’ generates a standard directory tree structure • Multiple applications can share some of the directory structure • Used to define the “.dbd”, “.db”, “st.cmd” and executable files for an application • Should also have necessary installation scripts in place
Application TypesUnique Device • Only one instance of the software will run in support of a single device (e.g. timing system) • All source is developed within the application directory itself • Therefore, the Record Names, DB files, and startup files can be customized for a single instance • SNL can use explicit record names
Application TypesMany Instances of a Device • The software will run on a number of different systems (e.g. VME motor controllers) • The software support should be developed as a library • Db files should be generated from common templates
Applications Available • Most common Beamline devices are in place:cls and VME 58 motor controls, ion pump controllers, Kiethley picoAmmeters, Stanford Research 570’s, PLC variables, …
Higher-level Applications • PV database • Data Acquisition (Scanning and recording) • RF OPI and Timing OPI
Further Details • Read about Makefile setup for source and database files when building a device application (EPICS Application Developer’s Guide) • Read about specific record types and capabilities (EPICS Record Reference Manual) • Read about Channel Access calls (Channel Access Reference Manual)