Main Content

Signal Editor

Display, create, edit, and switch interchangeable scenarios

  • Signal Editor block

Libraries:
Simulink / Sources

Description

The Signal Editor block displays, creates, and edits interchangeable scenarios, which contain signals. Signals can be:

  • MATLAB® timeseries objects. timeseries objects cannot have empty Data properties.

  • timetable objects. timetable objects cannot represent multiple variables.

  • Structure of MATLAB timeseries or timetable objects.

  • Two-dimensional matrices.

The block creates one port for each signal.

To create and edit scenarios and the signals contained in the scenarios, click Open Signal Editor (). You can also use the Signal Editor block to switch scenarios in and out of models.

The Signal Editor block supports MAT files that contain signals as one or more scalar Simulink.SimulationData.Dataset objects.

Create and Edit Scenarios and Signals

To create and edit scenarios and the signals contained in them, open the Signal Editor tool by clicking . The Signal Editor tool enables you to easily manipulate signals in these ways:

  • Create and edit multiple signals in multiple data sets. By default, the Signal Editor creates timeseries format data.

  • Use signal notations to create more complicated signals using MATLAB expressions. You can use the Author and Insert dialog box or manually enter simple MATLAB expressions in the tabular area.

  • Use existing scenarios to get existing data sets for which you can edit and create signals.

  • Create and edit multidimensional signals.

For more information on the Signal Editor tool, see Create and Edit Signal Data.

Programmatic Interactions

To programmatically get the total number of scenarios and signals in the Signal Editor block, use the get_param function with the NumberOfScenarios and NumberOfSignals parameters, respectively. These read-only parameters contain the values as character vectors. To convert these values to doubles, use the str2double function.

To programmatically enable the Signal Editor block to label output signal lines, set PreserveSignalName to 'on' (default) with the set_param function.

set_param(gcb,'PreserveSignalName','on')

For more information on programmatic interactions, see Parameters and Replace Programmatic Use of signalbuilder.

Import and Export

The Signal Editor supports custom file types, such as Microsoft® Excel®, by letting you:

Migrating from Signal Builder Blocks

You can port Signal Builder block configurations to the Signal Editor block using the signalBuilderToSignalEditor function. For more information, see Replace Signal Builder Block with Signal Editor Block and Migrate from Signal Builder Block to Signal Editor Block.

Fast Restart

The Signal Editor block supports fast restart. With fast restart enabled, you can still:

  • Change the active scenario.

  • Change the active signal.

    While you can change the active signal, you cannot edit the signal properties in the block.

  • Open the Signal Editor and edit data.

Examples

Limitations

The Signal Editor block does not support:

  • Function-calls

  • Ground signals

The Signal Editor block supports dynamic strings. It does not support strings with maximum length. In addition, strings in the Signal Editor block cannot output:

  • Non-scalar MATLAB strings.

  • String data that contains missing values.

  • String data that contains non-ASCII characters.

Ports

Output Arguments

expand all

One or more signals, returned as a scalar, vector, matrix, array, a bus, or an array of buses (since R2021a). The block creates one port per signal.

The port label depends on the associated variable in the data set MAT file.

In rapid accelerator mode, the Signal Editor block does not support int64 and uint64 data types when the Interpolate data parameter is selected. For more information, see Array of buses support.

Data Types: single | double | half | int | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | string | Boolean | fixed point | enumerated | bus

Parameters

expand all

To open the Signal Editor, click Open Signal Editor (). The Signal Editor opens with all the active scenario signals plotted.

To see the signal data changes from the Signal Editor tool, click the Save button in the Signal Editor tool toolstrip.

Programmatic Use

To open the Signal Editor, use the signalEditor function. For more information. see Signal Editor.

Data set file, specified as character vector, containing one or more scalar Simulink.SimulationData.Dataset objects. Do not use a filename from one locale in a different locale. When using the block on multiple platforms, consider specifying just the MAT filename and having the MAT file be on the MATLAB path.

To create a MAT file, click . This button opens the Signal Editor, which lets you create and edit scenario MAT files.

Programmatic Use

Block Parameter: Filename
Type: character vector
Values: character vector
Default: 'untitled.mat'

Active scenario, specified as a character vector. You can switch the active scenario as necessary.

If you create this block by using the signalBuilderToSignalEditor function or the Check model for Signal Builder blocks Upgrade Advisor check to convert a Signal Builder block to a Signal Editor block, the active scenario name is the data set variable name in the MAT file. However, if you pause on this parameter, the original Signal Builder group name is displayed.

Dependencies

To enable this parameter, ensure that the specified MAT file exists.

Programmatic Use

Block Parameter: ActiveScenario
Type: character vector | numeric
Values: character vector | index value
Default: 'Scenario'

Signal to configure, specified as a signal name. This signal is considered the active signal.

Dependencies

To enable this parameter, ensure that the specified MAT file exists.

This parameter has no effect when the Apply signal properties to all signals parameter is selected.

Programmatic Use

Block Parameter: ActiveSignal
Type: character vector | numeric
Values: character vector | index vector
Default: 'Signal 1'

Do not use the set_param function to set ActiveSignal in combination with another name-value argument of the Signal Editor block.

Option to apply the specified signal properties.

  • on — Apply the specified signal properties to the active signal in all scenarios.

  • off — Apply signal properties only in the current active scenario.

Dependencies

To enable this parameter, ensure that the specified MAT file exists.

If the Apply signal properties to all signals parameter is also selected, the block applies the signal properties to all signals in all scenarios.

Programmatic Use

Block Parameter: ApplySigPropsToAllScenarios
Type: character vector
Values: 'off' | 'on'
Default: 'on'

Option to apply the specified signal properties.

  • on — Apply the specified signal properties to all the signals in the active scenario. There is no concept of an active signal.

  • off — Do not apply signal property to all signals.

Dependencies

To enable this parameter, ensure that the specified MAT file exists.

If the Apply signal properties to all scenarios parameter is also selected, the block applies the signal properties to all signals in all scenarios.

Programmatic Use

Block Parameter: ApplySigPropsToAllSignals
Type: character vector
Values: 'off' | 'on'
Default: 'off'

To configure a signal as a bus, select this parameter.

Select this parameter only if the active signal is a MATLAB structure whose fields are the same as an existing bus object, or create a new matching bus object. If you select this parameter for an active signal that is not a MATLAB structure, simulation returns an error.

Dependencies

To enable this parameter, ensure that the specified MAT file exists.

Programmatic Use

Block Parameter: IsBus
Type: character vector
Values: 'off' | 'on'
Default: 'off'

Select or enter the bus object name. To edit the bus object or create a bus object using the Data Type Assistant, click >>. The active signal must be a MATLAB structure whose fields are the same as this bus object.

Dependencies

To enable this parameter, select Output a bus signal.

Programmatic Use

Block Parameter: OutputBusObjectStr
Type: character vector
Values: bus object name
Default: 'Bus: BusObject'

Specify the bus object name. If you do not have a bus object, create one by clicking Edit, which opens the Type Editor. For more information, see Create Simulink Bus Objects.

Physical unit of the signal, specified as an allowed unit. To specify a unit, begin typing in the text box. As you type, the parameter displays potential matching units. For more information, see Unit Specification in Simulink Models. For a list of supported units, see Allowed Unit Systems.

To constrain the unit system, click the link to the right of the parameter:

  • If a Unit System Configuration block exists in the component, its dialog box opens. Use that dialog box to specify allowed and disallowed unit systems for the component.

  • If a Unit System Configuration block does not exist in the component, the model Configuration Parameters dialog box displays. Use that dialog box to specify allowed and disallowed unit systems for the model.

Dependencies

To enable this parameter, ensure that the specified MAT file exists.

Programmatic Use

Block Parameter: Unit
Type: character vector
Values: 'inherit' | supported physical unit
Default: 'inherit'

Time interval between samples, specified in seconds.

Dependencies

To enable this parameter, ensure that the specified MAT file exists.

Programmatic Use

Block Parameter: SampleTime
Type: character vector
Values: -1 | sample time in seconds
Default: '0'

Linearly interpolate data at time hits for which no corresponding workspace data exist.

  • on — Linearly interpolate at time hits for which no corresponding workspace data exist.

  • off — The current output equals the output at the most recent time for which data exists.

The Signal Editor block interpolates by using the two corresponding workspace samples.

  • For double data, the Signal Editor block linearly interpolates the value by using the two corresponding samples.

  • For Boolean data, the Signal Editor block uses false for the first half of the time between two time values and true for the second half.

  • For a built-in data type other than double or Boolean, the Signal Editor block:

    • Upcasts the data to double

    • Performs linear interpolation (as described for double data)

    • Downcasts the interpolated value to the original data type

When you load enumerated, fixed-point, variable-size signal, or string data, clear the Interpolate data parameter.

The block uses the value of the last known data point as the value of time hits that occur after the last known data point.

To determine the block output after the last time hit for which data is available, combine the settings of these parameters:

  • Interpolate data

  • Form output after final data value by

For details, see Form output after final data value by.

In rapid accelerator mode, the Signal Editor block does not support int64 and uint64 data types when the Interpolate data parameter is selected.

Dependencies

To enable this parameter, ensure that the specified MAT file exists.

Programmatic Use

Block Parameter: Interpolate
Type: character vector
Values: 'off' | 'on'
Default: 'off'

If you select Enable zero-crossing detection, the Signal Editor block detects a zero crossing when the input array contains multiple entries for the same time value. For example, suppose that the block loads this input data.

time:     0 1 2 2 3
signal:   2 3 4 5 6

At time 2, a zero crossing occurs because of the discontinuity in the input data. For more information, see Zero-Crossing Detection.

When you load input data for a bus, the Signal Editor block detects zero crossings for all leaf bus elements.

This block supports zero-crossing detection only in simulations that use a variable-step solver. When you use a fixed-step solver for simulation, the software does not detect or locate zero crossings for this block.

Dependencies

To enable this parameter, ensure that the specified MAT file exists.

Programmatic Use

Block Parameter: ZeroCross
Type: character vector
Values: 'off' | 'on'
Default: 'off'

To determine the block output after the last time hit for which workspace data is available, combine the settings of these parameters:

  • Interpolate data

  • Form output after final data value by

This table lists the block output, based on the values of the two options.

Setting for Form Output After Final Data Value BySetting for Interpolate DataBlock Output After Final Data

Extrapolation

On

Extrapolated from final data value

Off

Error

Setting to zero

On

Zero

Off

Zero

Holding final value

On

Final value from workspace

Off

Final value from workspace

For example, the block uses the last two known data points to extrapolate data points that occur after the last known point if you:

  • Select Interpolate data.

  • Set Form output after final data value by to Extrapolation.

Dependencies

To enable this parameter, ensure that the specified MAT file exists.

Programmatic Use

Block Parameter: OutputAfterFinalValue
Type: character vector
Values: 'Setting to zero' | 'Extrapolation' | 'Holding final value'
Default: 'Setting to zero'

Block Characteristics

Data Types

Boolean | bus | double | enumerated | fixed point | half | integer | single | string

Direct Feedthrough

no

Multidimensional Signals

yes

Variable-Size Signals

no

Zero-Crossing Detection

yes

Extended Capabilities

PLC Code Generation
Generate Structured Text code using Simulink® PLC Coder™.

Fixed-Point Conversion
Design and simulate fixed-point systems using Fixed-Point Designer™.

Version History

Introduced in R2017b

expand all