EPICS Host tools and client software are known in the community as Extensions. The following list gives access to individual pages for most of the standard extensions.
Some of this software can be downloaded from the individual web-pages linked below, and the collection of tools from APS are also available bundled together. See the Extensions Download page for details. A selection of the extensions are available on the GitHub EPICS Extensions site.
If your extension does not appear in this list, or there’s something wrong with an entry on this page, please use this link to report the issue. Please give an URL for your web-site if applicable.
User Interface Tools
Graphical User Interface tools are an integral part of any EPICS installation. Being client tools, there is a variety of implementations using different programming languages and toolkits. Below is a list of the most commonly known ones.
- caQtDM: A Display Manager in the spirit of MEDM (C++, Qt)
- CS-Studio: Control System Studio (Java)
- CS-Studio Phoebus may also be of interest.
- pyDM: Python-based Display Manager: (Python, Qt)
- EDM: Extensible Display Manager (C++, Motif)
- MEDM: Motif Editor and Display Manager (C, Motif)
- StripTool: Strip-chart plotting tool (C/C++, Motif)
- Probe: Motif Channel Monitoring program
- React Automation Studio (Javascript, React)
Central Services
Central Services are essential for sitewide integration and provide functions that are important for operation and maintenance of a facility. The most typical central services are data archiving and alarm handling but there are many more.
- ALH: Alarm Handler (C, Motif)
- CS-Studio includes an alarm handler toolkit called BEAST (Java)
- Archiver Appliance: High performance, scalable process data archiver (Java, Tomcat)
- CS-Studio also includes an archiving system, BEAUTY (Java)
- ChannelFinder: Directory Server and Client Library (Java, Python, Glassfish)
- MASAR: MAchine Snapshot, Archive and Restore (Python)
- CASR: Host-based Save/Restore (C)
- BURT: Backup and Restore Tool (C, C++)
- CA Watcher: Channel Access monitor and alarm handler (Java)
- Channel Watcher (C++)
- Gateway: Process Variable Gateway (C++, for Channel Access)
- pva2pva: Process Variable Gateway (C++, for pvAccess)
- Nameserver: Channel Access Nameserver (C++)
Language bindings and interfaces to other tools
- C/C++
- EPICS Base has implementations of Channel Access and pvAccess included in the releases.
- EPICS Qt: The EPICS Qt framework (GitHub)
- Java
- LabView
- Matlab/Octave/Scilab
- Perl
- CAP5: Channel Access for Perl5 (part of Base since R3.14.10)
- PEZCA: A Perl binding to EZCA (HZB)
- Python
- pvaPy: Python interface to pvAccess. Code and Documentation (ANL)
- P4P: Alternative Python interface to pvAccess.
- CaChannel: Python interface to Channel Access (Client) (python.org)
- caffi: Channel Access Foreign Function Interface (python.org)
- Cothread: A CA interface to Python (Diamond)
- PyEpics: Python interface to Channel Access (Client) (UChicago)
- Other
- NetChannelAccess: CA libraries and Gateway in native C# (PSI)
- IDL: CA client libraries and scripts for IDL via EZCA
- IGOR2EPICS: CA client library for WaveMetrics IGOR Pro (SF)
- Node-EPICS: Channel Access for node.js (Github)
- PHP_EPICS: CA interface for PHP-based web applications (SLS)
- SDDS: The Self-Describing Data Sets analysis package
IOC Database and Module Management Tools
- dbVerbose: Verbose database filter
- MSI: Macro Substitution and Include tool
- pyexpander: Python Macro Processing tool (SF)
- pymsi: Python replcement for MSI (BESSY)
- SUMO: SUpport MOdule Manager (SF)
- E3 (ESS EPICS Environment Build System): Developed for, but not limited to ESS use.
- tdct: Visual hierarchical Database Configuration Tool, with configurable symbols (TRIUMF)
- VDCT: Visual Database Configuration Tool
CA Server Interfaces and Applications
- CAS: Channel Access Server Library
- CaSnooper: Channel Access Broadcast Monitoring Tool
- caxy: CA tunneling over ssh (SLAC)
- JCAS: Pure Java Channel Access Server Library (SF)
- CAPod: Channel Access projects for Apple iOS devices (SF)
- PCASPy :Python Bindings for the Channel Access Server (Google)
- CAEX: Channel Access Examples
- CAPod: Channel Access projects for Apple iOS devices (SF)
- Kryten: Tool to run commands on PV changes (Github)
IOC Extension modules
- CaPutLog: Facility for logging CA puts to an IOC (BESSY)
- Sequencer: State Notation Compiler and Sequencer (BESSY)
- RecSync: Server and IOC client for IOC information (Github)
Other Tools and Libraries
- CAObserver: Monitors CA Broadcast messages (Github)
- cashark: Wireshark disector plugin for CA in lua (Github)
- WiresharkCA: CA plug-in for Wireshark (KEK)
- CMLOG: Common Message Logging System (JLAB)
- EdlBuild: Create EDM screens in Perl scripts (TRIUMF)
- gnuregex: The GNU regex library built with EPICS Makefiles
- ParseCASW: CA Beacon anomaly diagnostic tool
- procServ: Process Server with Telnet Console (Github)
- PViewer: Python 1D and 2D data viewer
(High Level) Application Packages
- OpenXAL: Accelerator physics application framework (Java)
- Matlab Middle Layer: Accelerator Physics Toolbox (Matlab; supports EPICS plus other control systems)
- React Automation Studio is a platform to enable control of large scientific equipment through EPICS.