Documentation search search close
CONTENTS

    Open this example in MATLAB

v10.0.1.x for R2026a
View other versions

IO130 - Analog Loopback

This example demonstrates a simple communication between the two Analog inputs and outputs present on the IO130 I/O module, without using DMA (Direct Memory Access), as well as the communication between two DIO pins.
The IO130 is a fast, simultaneous-sampling, 16-bit analog input and output module, complete with dedicated Simulink® driver blocks.

Setup

Prerequisites

You will require the following to run this example:
  • Speedgoat real-time target machine with one IO130 I/O module installed
  • Connector cable from the I/O module to the terminal boards
  • 50-pin terminal board with jumper wires

Test Setup

On the terminal board of the analog I/O module, connect the positive (+) pins of Analog Inputs 1 and 2 to the pins of Analog Outputs 1 and 2, and connect the negative (-) pins of Analog Inputs 1 and 2 to the ground pins.
IO130_AnalogLoopback_pinWiring.png

Initialize and Open the Simulink model

% Open Simulink model
modelName = 'sgMdl_IO130_Loopback';
open_system(modelName);

Model Description

The Simulink model features the IO130 Setup, IO130 Analog Input and IO130 Analog Output blocks. Analog Inputs and Outputs 1 and 2 are enabled in the Setup block.

Build, Download, and Run the Example

To run the example, either run the following code section or click the Run on Target button in the REAL-TIME tab in the Simulink model.
% Build the Simulink model
slbuild(modelName); % this will create the real-time application file (.mldatx)
 
% Create and connect to the Speedgoat real-time target machine
tg = slrealtime;
tg.connect;
 
% Download and install the real-time application on the target machine
tg.load(modelName);
 
% Connect the Simulink model with external mode to the real-time application on the target machine
set_param(modelName,'SimulationMode', 'external') % put model into External Mode
set_param(modelName,'SimulationCommand','connect') % connect with External Mode
 
% Start the real-time application
tg.setStopTime(10);
tg.start;
 
% The real-time application on the target machine will automatically stop after 10 seconds

Check the Results

By clicking on the scope after the model has terminated, you should be able to see the input signal of both channels.
If you wish to sample a signal with a sample rate higher than the fundamental sample time of the Simulink model, consider using DMA. Refer to the other examples for the IO130 I/O module on how to configure DMA.

Additional References