IO752 - Setup v2
IO752 - Setup v2 — Configure the IO752 IO
module
Library
Simulink Real-Time - Speedgoat

Description
Your model can contain only one Setup block
for each I/O module in your target machine.
Ports
This driver block has no input or output ports.
Parameters
Configuration-Tab
- Module ID
The Module ID has two functions:
It logically connects 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 family is installed, the Module ID must be set to
1. To see how each I/O module maps to a
Module ID, use this Speedgoat API:
speedgoat.getIoInterfaces("TargetName", "mySpeedgoat")
This Setup block belongs to two families of I/O modules that use the same hardware
for multiple protocols. Across both families, the Module ID must be unique.
IO64X/IO75X (single-node modules): IO641,
IO642, IO643, IO644, IO750, IO751, IO752, IO753, IO754, IO755, IO756,
IO758
IO64X-32/IO75X-32 (multi-node modules):
IO642-32, IO752-32, IO754-32, IO756-32
If the PCI Slot parameter is set to -1
(auto-search), the Module ID must be in the range 1:n, where 'n' cannot be larger
than the number of modules of this type installed in the target machine. Not all
installed I/O modules need to be used.
To use this Setup block with a multi-node I/O module (IO75X-32 family), the Module
ID must be defined as a two-element vector. The second vector element is the
sub-module ID. It describes the specific node (1:32) within the I/O module. The 32
nodes are internally connected to form two linear networks (daisy-chain), where the
first and the last node of both chains are externally accessible. If one node is not
configured (has no Setup block), the chain terminates at this point. The sub-module
IDs must therefore start at node 1, 16, 17 or 32 and not have any gaps.
![[Note]](images/note.png) | Note |
|---|
When using I/O modules of both families simultaneously (single-node and
multi-node I/O modules), always use explicit addressing in the PCI Slot parameter. Ignore the Module IDs returned by
the getIoInterfaces function and instead assign unique Module IDs accross all
modules used. |
-
Target Machine Drive Letter
The drive letter of your target machine where the firmware and configuration files
will be stored. The default drive is "C:\".
![[Note]](images/note.png) | Note |
|---|
This parameter serves no purpose in MATLAB R2020b and later. |
-
Configuration Mode
Select Configuration file to use the
configuration files generated with SYCON.net. Use Warmstart to configure the I/O module by the block mask parameters
completely.
-
PCI Slot (-1: auto-search)
There are two approaches for mapping the block to a specific I/O
module installed in your target machine. All modules of the same
family (see Module ID above) 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 family, the Module ID (first
vector element for a multi-node module) 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.
Warmstart-Tab
- Bus Start
Automatic: The device starts the communication immediately
after the initialization of the real-time application on the
target. The communication is maintained even if the
real-time application stops.
Application controlled: The device starts the
communication after the real-time application has executed.
The device stops the communication on the Profinet when the
real-time application stops.
- Name of Station
Profinet uses a name-based station addressing method. The name must be
unique in the network and must match the name of the related device node
in the Profinet controller configuration.
![[Note]](images/note.png) | Note |
|---|
The length of the name is limited to 127 characters. The name must not contain uppercase letters. The only special characters allowed are hyphens and
periods. The name must begin with a letter. |
- Vendor ID
The ID can be found in the ProfileBody/deviceIdentity section of the
device-related GSDML file. The Vendor ID must match the Vendor ID of the
related device node in the Profinet controller configuration.
![[Note]](images/note.png) | Note |
|---|
The Vendor ID must be a decimal number. You can use hex2dec() to
convert a hexadecimal number to a decimal number. |
- Device ID
The ID can be found in the ProfileBody/deviceIdentity section of the
related device description file (GSDML). The device ID must match the
device ID of the related device node in the Profinet controller
configuration.
![[Note]](images/note.png) | Note |
|---|
The device ID must be a decimal number. You can use hex2dec() to
convert a hexadecimal number to a decimal number. |
- Object UUID
This parameter must match the ObjectUUID_LocalIndex value in the
related device description file (GSDML).
- Profinet Slot/Module Configuration
A Profinet device consists of logical APIs, slots and subslots. The
pluggable modules and sub-modules of the device are listed in the
related device description file (GSDML). The communication between
controller and device is based on a configured subset of these modules.
The module configuration of a device must match the module configuration
of the related device node in the Profinet controller
configuration.
The slot/module configuration edit field expects a n-by-7 matrix. Each
submodule is represented by one row and must contain the following
items:
[API, slot, subslot, module, submodule, input length, output length]
- Profinet Record/Parameter Configuration
![[Caution]](images/caution.png) | Caution |
|---|
This parameter is obsolete. Instead, use the IO752 Record block to
define records. |
As described in the previous block parameter, a sub-module contains
data which can be cyclically read and written by the PROFINET
controller. A sub-module can also contain acyclic data. A subset of
these so-called RECORDs is listed in the related GSDML file. Navigate to
a SubmoduleItem and you will find a RecordDataList containing
ParameterRecordDataItems. For the correct configuration of the device,
you require the Index and Length attributes. The Data attribute contains
the default value of the record. This subset of records, which is part
of the GSDML file, is written once by the controller when the connection
is being established. While the communication is running, the controller
can read/write additional records which do not need to be part of the
GSDML. Note that you can only define records whose sub-modules are part
of the Slot/Module Configuration. Slots
and subslots defined in the Record/Parameter
Configuration must be part of the Slot/Module Configuration as well.
The Record/Parameter Configuration
edit field expects a n-by-5 cell array. Each record is represented by
one row and must contain the following items:
{slot, subslot, index, access mode, default value; ... slot, subslot, index, access mode, default value}
RECORD Properties
The Slot of the module to
which the record belongs. Valid values are between 0 and
0x7FFF.
The Sub-Slot into which the
record-related sub-module is plugged. Valid values are between 0
and 32767
The Index of the record.
Corresponds to the XML attribute Index of the related
ParameterRecordDataItem in the GSDML file. Valid values are
between 0 and 32767
The Access Mode determines
how to access the record data from the real-time application
side
Select 0 to
define the record without reading and writing during
runtime
Select 1 to read
the value of a record which has been written by the
PROFINET controller. Use the Record Read block for
this purpose
Select 2 to write
the value of a record which the PROFINET controller
can then read. Use the Record Write block for this
purpose
Select 3 to read
and write the record.
The Default Value of the
record. Corresponds to the XML attribute Data of the related
ParameterRecordDataItem in the GSDML file. The default value is
an array of uint8. When defining the default value you
implicitly define the length of the record.