A SHARED MEMORY INTERFACE BETWEEN LABVIEW AND EPICS

David E. Thompson, Willem Blokland · 2003

The diagnostics systems of the Spallation Neutron Source project are based on rack-mounted PCs with offthe-shelf and custom PCI hardware and LabVIEW. About twenty out of the total of three hundred systems are already installed and have been integrated into the EPICSbased control system. LabVIEW communicates with the EPICS IOC using a simple shared memory interface implemented in a dynamic linked library (DLL) based on previous work by Los Alamos National Laboratory. The DLL supports events and buffered communication of scalar data types such as integers, floats, and booleans, as well as single dimension arrays and strings. The LabVIEW programmer needs only minimal EPICS knowledge to use the interface. At a rep rate of 6 Hz, the writing and transmitting of 4 arrays of 1025 double precision variables plus twenty individual doubles give a 3% CPU load on a 2 GHz PC. This is fast enough for the planned applications. At higher rep rates, the interface comes close to utilize the full bandwidth of a 100 Mbit/sec ethernet connection. In this paper we describe the implementation and performance of the shared memory interface on both the EPICS and LabVIEW side.

Read the paper · More papers on PaperTik