Main Content

La traduzione di questa pagina non è aggiornata. Fai clic qui per vedere l'ultima versione in inglese.

Selector

Selezionare gli elementi di input da un vettore, una matrice o un segnale multidimensionale

  • Selector block

Librerie:
Simulink / Signal Routing
HDL Coder / Signal Routing

Descrizione

Il blocco Selector estrae elementi selezionati di un vettore, una matrice o un segnale multidimensionale di input in base a indici specificati. I segnali estratti possono essere raggruppati in modo diverso rispetto ai segnali di input.

In base al valore immesso per il parametro Number of input dimensions, viene visualizzata una tabella di impostazioni di indicizzazione. Ciascuna riga della tabella corrisponde ad una delle dimensioni di input in Number of input dimensions. Per ciascuna dimensione, si definiscono gli elementi del segnale con cui lavorare. Specificare un segnale vettoriale come segnale monodimensionale e un segnale matriciale come segnale bidimensionale. Quando si configura il blocco Selector per le operazioni sui segnali multidimensionali, l'icona del blocco cambia.

Ad esempio, si assuma un segnale in 6 D con una modalità di indice a base unica. La tabella della finestra di dialogo del blocco Selector cambia per includere una riga per ciascuna dimensione. Se si definiscono le dimensioni come mostrato nella tabella successiva, l'output è Y = U(1:end,2:6,[1 3 5],Idx4:Idx4+7,Idx5,Idx6(1):Idx6(2)), dove Idx4, Idx5 e Idx6 sono le porte di indice delle dimensioni 4, 5 e 6.

RigaOpzione di indiceIndiceGrandezza dell'output
1Select all  
2Starting index (dialog)25
3Index vector (dialog)[1 3 5] 
4Starting index (port) 8
5Index vector (port)  
6Starting and ending indices (port)  

È possibile utilizzare un array di bus come segnale di input per un blocco Selector. Per ulteriori dettagli sulla definizione e l'utilizzo di un array di bus, vedere Group Nonvirtual Buses in Arrays of Buses.

Limitazioni

  • Il parametro Index non è sincronizzabile durante la simulazione. Se Index Option per una dimensione è impostato su Index vector (dialog) o Starting index (dialog) e si specifica un valore simbolico, compreso un oggetto Simulink.Parameter, per il corrispondente Index nella finestra di dialogo del blocco, il valore istantaneo all'inizio della simulazione sarà utilizzato per tutta la simulazione e il parametro apparirà come valore in linea nel codice generato. Vedere Tune and Experiment with Block Parameter Values. È possibile regolare l'indice di selezione in modo dinamico utilizzando le porte di indice.

Porte

Input

espandi tutto

Segnale di input e sorgente di elementi per il segnale di output.

Tipi di dati: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus | image

Porta esterna che specifica un indice per la selezione dell'elemento di output corrispondente.

È possibile specificare un numero intero di larghezza personalizzata (ad esempio, un numero intero a 15 bit o un numero intero a 23 bit) come valore del segnale di indice. Quando si configura la larghezza del numero intero, è necessario specificare Mode come Fixed point con Word length inferiore o uguale a 128, Slope uguale a 1 e Bias uguale a 0. Per ulteriori informazioni sulla specificazione di un tipo di dati in virgola fissa, vedere Specify Data Types Using Data Type Assistant.

Dipendenze

Per abilitare una porta di indice esterna, nella riga corrispondente della tabella Index Option, impostare Index Option su Index vector (port), Starting index (port) o Starting and ending indices (port).

Tipi di dati: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Output

espandi tutto

Segnale di output generato da elementi selezionati o riordinati del segnale di input.

Tipi di dati: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus | image

Parametri

espandi tutto

Specifica il numero di dimensioni del segnale di input.

Utilizzo programmatico

Parametro dei blocchi: NumberOfDimensions
Tipo: vettore di caratteri
Valori: integer
Impostazione predefinita: '1'

Specifica la modalità di indicizzazione. Se si seleziona One-based, un indice di 1 specifica il primo elemento del vettore di input. Se si seleziona Zero-based, un indice di 0 specifica il primo elemento del vettore di input.

Utilizzo programmatico

Parametro dei blocchi: IndexMode
Tipo: vettore di caratteri
Valori: 'One-based' | 'Zero-based'
Impostazione predefinita: 'One-based'

Definisce, per dimensione, come devono essere indicizzati gli elementi del segnale. Dall'elenco, selezionare:

  • Select all

    Non è necessaria nessuna ulteriore configurazione. Tutti gli elementi sono selezionati.

  • Index vector (dialog)

    Abilita la colonna Index. Inserire il vettore di indici degli elementi.

  • Index vector (port)

    Non è necessaria nessuna ulteriore configurazione.

  • Starting index (dialog)

    Abilita le colonne Index e Output Size. Inserire l'indice iniziale dell'intervallo di elementi da selezionare nella colonna Index e il numero di elementi da selezionare nella colonna Output Size.

  • Starting index (port)

    Abilita la colonna Output Size. Inserire il numero di elementi da selezionare nella colonna Output Size.

  • Starting and ending indices (port)

    Non è necessaria nessuna ulteriore configurazione.

    Utilizzando questa opzione si ottiene un segnale di output di grandezza variabile. Quando si esegue l'aggiornamento, la dimensione di output viene impostata come quella del segnale di input. Durante l'esecuzione, la dimensione di output è aggiornata in base al segnale che alimenta l'indice.

    Quando si registrano i dati dei segnali di output, i segnali non selezionati vengono riempiti con valori NaN.

Le colonne Index e Output Size appaiono in base alle necessità.

Utilizzo programmatico

Parametro dei blocchi: IndexOptionArray
Tipo: vettore di caratteri
Valori: 'Select all' | 'Index vector (dialog)' | 'Index option (port)' | 'Starting index (dialog)' | 'Starting index (port)' | Starting and ending indices (port)
Impostazione predefinita: 'Index vector (dialog)'

Se Index Option è Index vector (dialog), inserire l'indice di ciascun elemento desiderato.

Se Index Option è Starting index (dialog), inserire l'indice iniziale dell'intervallo di elementi da selezionare.

Utilizzo programmatico

Parametro dei blocchi: IndexParamArray
Tipo: vettore di caratteri
Valori: array di celle
Impostazione predefinita: '{ }'

Specifica la larghezza del segnale di output del blocco.

Utilizzo programmatico

Parametro dei blocchi: OutputSizeArray
Tipo: vettore di caratteri
Valori: array di celle
Impostazione predefinita: '{ }'

Specificare la larghezza del segnale di input del blocco per i segnali monodimensionali. Inserire -1 per ereditare dal blocco di comando.

Utilizzo programmatico

Parametro dei blocchi: InputPortWidth
Tipo: vettore di caratteri
Valori: integer
Impostazione predefinita: '3'

Specificare l'intervallo di tempo tra i campionamenti. Per ereditare il tempo di campionamento, impostare questo parametro su -1. Per ulteriori informazioni, vedere Specifica del tempo di campionamento.

Dipendenze

Questo parametro è visibile solo se è stato impostato su un valore diverso da -1. Per saperne di più, vedere Blocks for Which Sample Time Is Not Recommended.

Utilizzo programmatico

Parametro dei blocchi: SampleTime
Tipo: scalare di stringhe o vettore di caratteri
Impostazione predefinita: "-1"

Selezionare questa casella affinché Simulink® verifichi durante la simulazione in modalità di accelerazione e di accelerazione rapida se un qualsiasi valore dell'indice non rientra nell'intervallo degli indici validi per la dimensione pertinente del segnale di input. Se un indice non rientra nell'intervallo, Simulink interrompe la simulazione e visualizza un messaggio di errore.

Nota

Se non si seleziona questa casella, i valori degli indici fuori intervallo potrebbero causare un comportamento non definito durante la simulazione in modalità di accelerazione o di accelerazione rapida.

In modalità normale, Simulink esegue questa verifica indipendentemente dalla selezione di questa casella.

Utilizzo programmatico

Parametro: RuntimeRangeChecks
Tipo: vettore di caratteri
Valori: 'Off' | 'On'
Impostazione predefinita: 'Off'

Caratteristiche del blocco

Tipi di dati:

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

Passaggio diretto

no

Segnali multidimensionali

Segnali di dimensioni variabili

Rilevamento zero-crossing

no

Funzionalità estese

Generazione di codice C/C++
Genera codice C e C++ con Simulink® Coder™.

Generazione di codice PLC
Genera codice di testo strutturato con Simulink® PLC Coder™.

Conversione a virgola fissa
Progetta e simula sistemi a virgola fissa con Fixed-Point Designer™.

Cronologia versioni

Introduzione prima di R2006a

espandi tutto