Integrating with Simulink

Introduction

As a beta feature, Vortex Studio now offers a new method of communication with Matworks' Simulink.
In addition to the UDP Send and Receive extensions in Vortex, you can now add the Simulink Block module to your Vortex application's setup file and use the Simulink Block extension in your Scenes, Mechanisms and Assemblies.

This feature is currently in Beta. To enable it, define the environment variable ENABLE_SIMULINK_FEATURE before launching your Vortex application.

Requirements

To use this feature, in addition to Vortex Studio, you need at a minimum an installation of Matworks' MATLAB and Simulink.
No additional MATLAB or Simulink toolboxes are required. Vortex provides its own S-Function block that takes care of the communication between the two systems.
Optionally, you may also use the Simulink Compiler to create standalone Simulink applications that communicate with Vortex without a local MATLAB & Simulink installation.

It is recommended to follow these simple guidelines when selecting which version of MATLAB to use with Vortex.

MATLAB Software Requirements
Minimum Supported VersionR2021b
Tested VersionsR2021b, R2022a

Supported Content Files

The Simulink Bock extension can only be added to the follow Vortex content files:

  • Scene
  • Mechanism
  • Assembly

Supported Data Types

The following field types are supported inputs and outputs of the Simulink Block extension in your Vortex content.

  • Integer (32-bit)
  • Unsigned Integer (32-bit)
  • Short (16-bit)
  • Unsigned Short (16-bit)
  • Double (64-bit)
  • Vector3
  • VxColor
  • VxTransform

For composite types of arbitrary sizes, we recommend using a Dynamics Script to decompose/recompose the type to/from its components of a supported type. For example, a 3x3 matrix can be decomposed into 9 doubles before being sent to Simulink.

Limitations

  • Only one Simulink extension in Vortex and one Vortex S-Function block in Simulink are currently supported.

Guides