EPICS: IOC Status and Control (devIocStats) at SLAC


This page is the home of the EPICS IOC status and control device support (devIocStats, aka iocStats) at SLAC. For the SPEAR and LCLS projects at SLAC, devIocStats is part of a larger module called iocAdmin (IOC administration) which also provides SLAC-unique databases, displays, and other configuration files. These files are included as part of the distribution and can be used as reference.

devIocStats provides support for records that show the health and status of an IOC, plus a few IOC control records. For EPICS base 3.14.11 and above, it also includes general time records that use the general time device support provided with EPICS base (refer to the chapter on epicsGeneralTime in the EPICS application developer's guide for more detail). README_devIocStats contains a comprehensive list of supported variables - the more popular ones include:

Please email any comments and bug reports to Stephanie Allison who is responsible for coordinating development and releases.

History and Acknowledgement

The devIocStats module originated as vxStats from APS and was enhanced to include many more variables by SNS. At this point, only the VxWorks operating system was supported. SNS also created a separate, but very similar, module called "linuxStats" for linux soft IOCs. The SNS vxStats software was then enhanced at SLAC by Till Straumann and Ernest Williams to support both the RTEMS and VxWorks operating systems and reorganized by Stephanie Allison to split the OS-independent parts from the OS-dependent parts and to merge in linuxStats to support both linux and solaris. Ralph Lange then cleaned up the logic and file structure and added more functionality for posix IOCs and support for Linux and Solaris. And yet others in the EPICS collaboration have provided support for Windows and Mac.

Other sites have also taken either the APS or SNS software and made their own enhancements, particularly SLS to add many more variables in a module called IOCMON and CHESS which made changes for linux and RTEMS. The changes by SLS have NOT yet been merged into this module and need to be evaluated for RTEMS. The RTEMS implementation by both SLAC and CHESS have been merged into this module and are the best of both.

Installation and Building

EPICS base must be built first. The macro substitution and include (MSI) tool must also be built first. After base and msi are built and the tar file has been installed:

cd configure
vi RELEASE  Define the path for EPICS_BASE, comment out all other lines
cd ..
If you wish to build the testIocStatsApp test application that comes with this module, define the path for the sequencer in the configure/RELEASE file, uncomment testIocStatsApp in the top level Makefile, and make again. iocBoot/ioctestRTEMS and iocBoot/ioctestSoft have example startup files for running the testIocStats IOC.

Where to Find it

You can clone the software from GitHub: epics-modules/iocStats. RELEASE_NOTES are provided for each tag. The latest version of software has been tested with EPICS base R3.14.11 on RTEMS 4.9.4 and 4.10.1, VxWorks 5.4.2, Linux RHEL4 (32 bit), Linux RHEL5 (64 bit), and Solaris 10. Testing on VxWorks 6 and Windows have been done by others. Some functions work for Mac OS.

Snapshots of Example EDM Displays


Contact: Stephanie Allison
Last Modified: April 24, 2015