Skip to main content

Customer Login

This content is for Speedgoat customer only. Log in to see content.

Forgot your password?

Don't have a Speedgoat account? Create an account.


IO112 - Setup

IO112 - Setup — Configure the IO112 input/output blocks


Simulink Real-Time - Speedgoat


Your model can contain only one Setup block for each I/O module in your target machine.

The Setup block dialog box allows all the supported I/O types of this module to be configured, and therefore impacts on the analog input driver block.


This driver block has no input or output ports.


Parameter Group

This control selects a configuration section, the parameters of which are then shown in the dialog box below the Parameter Group field. Possible groups are:

  • Module setup

  • Analog input setup

Parameter Group: Module setup
Module ID

A unique module ID must be used for each type of I/O module Setup block in your model.

The module ID has two functions:

  • It defines the logical connection to link the I/O module driver blocks with each other

  • It also has an impact on the PCI slot auto-search feature: if only one I/O module is installed, the module ID must be set to 1. If multiple modules are installed, it must be in the range 1:n. Not all the I/O modules installed in the target machine need be used


Check this box if the I/O module should calibrate itself the next time this model (target application) is downloaded and initialized. The autocalibration function compensates for component aging and minimizes the effects of temperature on accuracy. We recommend keeping this enabled. The calibration normally takes approximately 2 seconds, so we recommend increasing the host-target communication time-out in the model configuration parameters to allow for this. The status of the calibration is displayed on the target screen. The calibration is not re-executed during normal start/stop operation once the target application has been downloaded. All input channels are calibrated to a single internal voltage reference. Offset and gain error corrections for each channel are determined during the autocalibration process and are applied to each channel in real time during data acquisition.

Inter-Module Synchronization

Select either Initiator (default) or Target. If your real-time target machine contains a single IO112 I/O module, then Initiator must be selected.

If Initiator is selected, A/D conversions are initiated by this I/O module and the I/O module outputs a pulse train to optionally trigger other IO112 I/O modules which have Inter-Module Synchronization set to Target. The pulse train is sent on I/O connector pin B38 (ground is on pin B37).

If Target is selected, the I/O module itself does not start its A/D conversions, but rather triggers them using a pulse train from another IO112 I/O module which has Inter-Module Synchronization set to Initiator. The pulse train is received on pin B38 (ground is on pin B37). With this setting there must be at least one other IO112 I/O module present with the Inter-Module Synchronization field set to Initiator, and the modules' B38 and B37 pins must be physically wired together (pin B38 to pin B38, and pin B37 to pin B37). To use this feature with more than two IO112 I/O modules, all the B38 pins must be wired together and all the B37 pins must be wired together. One IO112 I/O module must be set to Initiator and all the others to Target.

Use of driver blocks: When using the Inter-Module Synchronization feature, the initiator must use the Start conversion block, and the target the Read channels block. Otherwise, with a single I/O module use the Analog input block to read the channels.

Invert Clock and Sync I/O

If this box is checked, the behavior of the clock and sync I/O pins (B38 and B40) of the IO112 I/O module will be inverted.

PCI Slot (-1: autosearch)

There are two approaches for mapping the blocks to a specific I/O module installed in the target machine. All modules of the same kind must be configured using the same method.

  • Auto-Search: the default value -1 allows the real-time target machine to auto-search for the I/O module. The priority is defined by the module ID (first vector element for a multinode). The module with the lowest PCI bus/slot number is assigned to module ID 1 (or [1 x]) and the next module found is assigned to module ID 2 (or [2 x]), and so on

  • Explicit Addressing: the location of the module inside the target machine can be explicitly defined by using the [BusNumber, SlotNumber] format. To determine the bus number and the PCI slot number, run the following command in the MATLAB command window:

Parameter Group: Analog input setup

Either 18-bit or 16-bit. By default, the IO112 I/O module is delivered with 18-bit A/D converters. To make use of the full 18-bit resolution select 18-bit. If 16-bit is selected, then only the 16 most significant bits will be transferred to the input FIFO of the IO112 I/O module. In this case, two 16-bit values (channels) are packed into a 32-bit word when the Analog input or Read channels block (see below) retrieves the converted values from the IO112 I/O module. This reduces the driver latency to a certain extent. If 18-bit is selected no data packing applies. If you have the 16-bit variant of the IO112 I/O module, then always select 16-bit.

Number of Channels

The number of channels to read. This parameter is a scalar value and must be a multiple of 2. The maximum value is 32, or 16 for the 16-channel variant. This field is restricted to multiples of 2 because the IO112 I/O module returns two channels with each read of the analog input data FIFO. If you want to acquire 13 channels for example, enter the value "14" in the Number of Channels field and ignore the last channel (14) in your model. The first channel returned by either the Analog input or the Read channels driver block is always channel 1 (or 0 according to the IO112 reference manual) and the last channel is always the n'th channel based on the Number of Channels setting. In Simulink Real-Time driver blocks, channel numbering starts at one (1) even if the module's reference manual (I/O pin numbering) starts numbering channels at zero (0).


The input range for all A/D channels. This driver does not allow different ranges for individual channels.