IO144 - Setup
IO144 - Setup —
Configure the IO144 input/output blocks
Library
Simulink Real-Time - Speedgoat

Description
Your model can contain only one Setup block
for each I/O module in your target machine.
All the supported I/O types for this module can be configured in the Setup block
dialog box. This block will therefore have an impact on all the other driver blocks
(Analog output, Digital input and Digital output).
Ports
This driver block has no input or output ports.
Parameters
The three tabs of the setup parameter dialog box contain the IO144 I/O module
configuration settings.
Main Tab
-
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.
-
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")
-
Enable Data Correction
Enable or disable the data correction. When enabled, the factory
calibrated onboard correction values are used to correct every
digital-to-analog conversion.
-
Simultaneous Analog Outputs
Enable or disable the simultaneous channel update. When enabled, all
the analog outputs are updated simultaneously. This increases the task
execution time, as the module waits for all the data to be transferred
from every active channel before initiating the analog output update.
When disabled, each channel is updated immediately after the data
transfer.
Analog Output Tab
-
Active Channels
Select the active input/output channels in a vector. A defined number of channels
can be selected using square brackets, for example [1 2 3]. A sequence of channels
can be selected using a colon, for example, 1:4.
-
Initial Values
Define the initial signal level present on the outputs after the application has
been downloaded. The values can be set individually by entering a vector: the value
at a certain position in the Initial Values vector is applied to the channel as
defined in the Active Channels vector. A scalar value applies to all the channels;
for example, for individual values, type "[1 1.5 0 2.5]", and to set all channels to
zero, type "0".
-
Reset to Initial Values
Define whether the initial values are also applied once the application has
stopped. The behavior can be set individually for each channel using a vector. A
scalar value applies to all the channels; for example, for individual values, type
"[1 0 0 1]", and to set all channels to zero, type "0". "1" means use the Initial
Value and "0" means keep the latest value.
-
Output Range
Select the voltage or the current range for every output channel:
0–5 V, 0–10 V, 0–12 V, ±5 V, ±10 V, ±12 V
or 4–20 mA, 0–20 mA, 0–24 mA.
Digital I/O Tab
-
Active Output Channels
Select the active output channels in a vector. A defined number of channels can be
selected using square brackets, for example, [1 2 3]. A sequence of channels can be
selected using a colon, for example, 1:4.
-
Initial Values
Define the initial signal level present on the outputs after the application has
been downloaded. The values can be set individually by entering a vector: the value
at a certain position in the Initial Values vector
is applied to the channel as defined in the enabled channels. A scalar value applies
to all the channels; for example, for individual values, type "[1 0 0 1]", and to
set all channels to zero, type "0".
-
Reset to Initial Values
Define whether the initial values are also applied once the application has
stopped. The behavior can be set individually for each channel using a vector. A
scalar value applies to all the channels; for example, for individual values, type
"[1 0 0 1]", and to set all channels to zero, type "0". "1" means use the Initial
Value and "0" means keep the latest value.
-
Active Input Channels
Select the active input channels in a vector. Check the active output channels to
avoid conflicts.
-
Pull Resistors - Front Connector
Select the reference voltage of the pull resistor for the front I/O: Floating, Weak pull-up
5 V, Pull-up 3.3 V or
Pull-down. Note: if Floating is selected, the pull resistors will not be connected to a
reference level, but they will still nonetheless be connected to each other. If
Weak pull-up 5 V is selected, the external
load current cannot exceed 250 µA in order to achieve a valid CMOS high
level.
Digital I/O Output Circuit: