IO901/IO902 - Read
IO901/IO902 - Read — Reads the shared
memory
Library
Simulink Real-Time - Speedgoat

Description
Reads blocks of data from Shared Memory. The size and address of the blocks is
determeined by the partition parameter. Use with the shared memory unpack function
to access data members defined in the partition structure.
Before you begin to configure this block, ensure that you have a predefined shared
memory partition structure (refer to the Usage Notes). The Read
block requires this structure in order to define how Simulink signal values are
mapped in the shared memory. It also uses this structure to determine the total size
and address of the shared memory.
Ports
Output
-
Data
Outputs the data read from the IO901/IO902 according to the
partition structure.
Parameters
-
Module ID
The Module ID has two functions:
It defines the logical connection between the Setup block and its I/O
blocks
It also informs the auto-search feature of the PCI Slot parameter. If
only one I/O module of this type is installed, the Module ID must be set
to 1. If n modules are installed, it
must be in the range 1:n. Not all the I/O modules installed in the
target machine need to be used. To see how each I/O module maps to a
Module ID, use this Speedgoat API:
speedgoat.getIoInterfaces("TargetName", "mySpeedgoat")
-
Partition Struct
Enter the name of the predefined shared memory partition structure.
The block uses this structure to specify how Simulink signal values map
into shared memory.
-
Sample Time
Defines the base sample time at which this driver block gets its sample hit. This
parameter can also be set to -1 for inherited
sample time. The units are in seconds.
-
PCI Slot (-1: auto-search)
There are two approaches for mapping this block to a specific I/O module installed
in your target machine. All modules of the same type must be configured using the
same method.
Auto-Search: with the default value -1 the I/O module will be automatically located in the
target machine. If you have multiple modules of the same kind, the
Module ID defines which module is associated with this block. To see how
each I/O module maps to a Module ID, use this Speedgoat API:
speedgoat.getIoInterfaces("TargetName", "mySpeedgoat")
Explicit Addressing: to explicitly define the logical address of the
I/O module in the target machine, you can provide the PCI bus and slot
numbers as a vector: [bus, slot]. To determine these numbers, run the
following command in the MATLAB command window:
speedgoat.getIoInterfaces("TargetName", "mySpeedgoat", "Advanced", true)Note
that the PCI address can change whenever an I/O module is added or
removed – usually, auto-search is the best option.