Writes latest value to, and reads latest value from, Linux shared memory on the same NI Linux RT target as the engine in which the module resides.
Configuration of the Shared Memory Module
Steps before Configuration
Add the DCAF Shared Memory Module to the system configuration (right-click "<EngineName>" >> Add >> Other >> Shared Memory)
Create Tags that you wish to use to form the Mappings between Linux shared memory and DCAF (example: Scan Engine >> Import from Project >> Generate Tags).
Left-click on the Shared Memory module. In the "Channel Configuration" tab, select desired "Available Tags," then move them to/from the shared memory mapping.
note: tag direction (read/write) will determine which shared memory mapping is possible (example: From Shared Memory).
Save the configuration. If shared memory will be used to communicate tag data with a C/C++ application, a C header file can be generated to facilitate future configuration changes. It is recommended to download the Linux Shared Memory and DCAF Example (available on LabVIEW Tools Network) as a starting point for C and LabVIEW IPC.
Source Code Design
The DCAF Shared Memory module maps Linux shared memory to the DCAF tag data engine. It relies on DCAF for memory allocation and data dictionary indexing in LabVIEW, and relies on the NI Linux RT IPC, NI Linux RT Utilities, and NI Linux Errno LabVIEW Libraries for Linux shared memory, timing, and Linux error translation duties. These libraries are available as open source collaborations on the NI Systems Engineering GitHub at: