Hauptinhalt

Saturation

Begrenzen des Eingabesignals auf die oberen und unteren Sättigungswerte

  • Saturation block

Bibliotheken:
Simulink / Commonly Used Blocks
Simulink / Discontinuities
HDL Coder / Discontinuities

Beschreibung

Der Sättigungsblock erzeugt ein Ausgabesignal, das dem Wert des Eingabesignals entspricht, das an die oberen und unteren Sättigungswerte gebunden ist. Die Ober- und Untergrenzen werden durch die Parameter Upper limit und Lower limit festgelegt.

EingabeAusgabe
Untere Grenze ≤ Eingabewert ≤ Obere GrenzeEingabewert
Eingabewert < Unterer GrenzwertUntere Grenze
Eingabewert > Oberer GrenzwertObere Grenze

Beispiele

alle erweitern

Dieses Beispiel zeigt, wie die Quantizer- und Sättigungsblöcke im Modell ex_sldemo_boiler verwendet werden. Das ADC-Subsystem digitalisiert die analoge Spannung der Eingabe durch:

  • Multiplikation der analogen Spannung mit 256/5 mit dem Verstärkungsblock

  • Rundung des Wertes auf die nächste Ganzzahl mit dem Quantisierungsblock

  • Begrenzung der Ausgabe auf maximal 255 (der größte vorzeichenlose 8-Bit-Ganzzahlwert) mit dem Sättigungsblock

Erweiterte Beispiele

Ports

Eingabe

alle erweitern

Das Eingabesignal für den Sättigungsalgorithmus.

Datentypen: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Ausgabe

alle erweitern

Ausgabesignal, das dem Wert des Eingabesignals, der oberen Sättigungsgrenze oder der unteren Sättigungsgrenze entspricht.

Datentypen: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Parameter

alle erweitern

Haupt

Angabe der Obergrenze für das Eingabesignal. Wenn das Eingabesignal größer als diese Grenze ist, wird das Ausgabesignal auf diesen Sättigungswert gesetzt. Der Parameter Upper limit wird mithilfe von Rundung auf den nächsten Wert und Sättigung in den Ausgabedatentyp umgewandelt. Upper limit muss größer als der Parameter Output minimum und kleiner als der Parameter Output maximum sein.

Programmatische Verwendung

Blockparameter: UpperLimit
Typ: Zeichenvektor
Wert: reeller Skalar oder Vektor
Standardwert: '0.5'

Angabe der unteren Grenze des Eingabesignals. Wenn das Eingabesignal kleiner als dieser Grenzwert ist, wird das Ausgabesignal auf diesen Sättigungswert gesetzt. Der Parameter Lower limit wird mithilfe von Rundung auf den nächsten Wert und Sättigung in den Ausgabedatentyp umgewandelt. Lower limit muss größer als der Parameter Output minimum und kleiner als der Parameter Output maximum sein.

Programmatische Verwendung

Blockparameter: LowerLimit
Typ: Zeichenvektor
Wert: reeller Skalar oder Vektor
Standardwert: '-0.5'

Wählen Sie diesen Parameter aus, damit die Befehle die Verstärkung als 1 behandeln. Die Linearisierungsbefehle in der Simulink®-Software behandeln diesen Block als eine Verstärkung im Zustandsbereich. Löschen Sie diesen Parameter, damit die Befehle die Verstärkung als 0 behandeln.

Programmatische Verwendung

Blockparameter: LinearizeAsGain
Typ: Zeichenvektor
Werte: 'off' | 'on'
Standardwert: 'on'

Wählen Sie dies aus, um die Detektion von Nulldurchgängen zu aktivieren. Weitere Informationen finden Sie unter Zero-Crossing Detection.

Programmatische Verwendung

Blockparameter: ZeroCross
Typ: Zeichenvektor | String
Werte: 'off' | 'on'
Standardwert: 'on'

Geben Sie hier das Zeitintervall zwischen Abtastvorgängen an. Um die Abtastzeit zu vererben, setzen Sie diesen Parameter auf -1. Weitere Informationen finden Sie unter Festlegen der Abtastzeit.

Abhängigkeiten

Dieser Parameter ist nur sichtbar, wenn Sie einen anderen Wert als -1 festgelegt haben. Mehr dazu erfahren Sie unter Blocks for Which Sample Time Is Not Recommended.

Programmatische Verwendung

Um den Wert des Blockparameters programmatisch festzulegen, verwenden Sie die Funktion set_param.

Parameter: SampleTime
Werte: "-1" (Standardeinstellung) | scalar or vector in quotes

Signalattribute

Der Data Type Assistant hilft Ihnen bei der Einstellung von Datenattributen. Um den Data Type Assistant zu verwenden, klicken Sie auf the Show data type assistant button. Weitere Informationen finden Sie unter Specify Data Types Using Data Type Assistant.

Unterer Wert des Ausgabebereichs, den die Software überprüft.

Die Software verwendet das Minimum, um Folgendes auszuführen:

Tipps

Output minimum sättigt oder beschneidet das tatsächliche Ausgabesignal nicht. Verwenden Sie stattdessen den Saturation-Block.

Programmatische Verwendung

Um den Wert des Blockparameters programmatisch festzulegen, verwenden Sie die Funktion set_param.

Parameter: OutMin
Werte: '[]' (Standardeinstellung) | scalar in quotes

Oberer Wert des Ausgabebereichs, den die Software überprüft.

Die Software verwendet den Maximalwert, um Folgendes auszuführen:

Tipps

Output maximum sättigt oder beschneidet das tatsächliche Ausgabesignal nicht. Verwenden Sie stattdessen den Saturation-Block.

Programmatische Verwendung

Um den Wert des Blockparameters programmatisch festzulegen, verwenden Sie die Funktion set_param.

Parameter: OutMax
Werte: '[]' (Standardeinstellung) | scalar in quotes

Wählen Sie den Datentyp für die Ausgabe aus. Der Typ kann übernommen, direkt angegeben oder als Datentypobjekt wie ein Simulink.NumericType-Objekt ausgedrückt werden. Weitere Informationen finden Sie unter Control Data Types of Signals.

Programmatische Verwendung

Blockparameter: OutDataTypeStr
Typ: Zeichenvektor
Werte: 'Inherit: Same as input' | 'Inherit: Inherit via back propagation' | 'double' | 'single' | 'int8' | 'uint8' | int16 | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | fixdt(1,16,0) | fixdt(1,16,2^0,0) | fixdt(1,16,2^0,0) | '<data type expression>'
Standardwert: 'Inherit: Same as input'

Wählen Sie diesen Parameter aus, um zu verhindern, dass die Festkomma-Tools den Datentyp Output überschreiben, den Sie im Block angeben. Weitere Informationen finden Sie unter Use Lock Output Data Type Setting (Fixed-Point Designer).

Programmatische Verwendung

Um den Wert des Blockparameters programmatisch festzulegen, verwenden Sie die Funktion set_param.

Parameter: LockScale
Werte: 'off' (Standardeinstellung) | 'on'

Wählen Sie einen dieser Rundungsmodi.

Ceiling

Rundet sowohl positive als auch negative Zahlen in Richtung positiver Unendlichkeit. Entspricht der MATLAB®-Funktion ceil.

Convergent

Rundet die Zahl auf den nächsten darstellbaren Wert. Bei Gleichstand wird auf die nächste gerade Zahl gerundet. Entspricht der Fixed-Point Designer™-Funktion convergent.

Floor

Rundet sowohl positive als auch negative Zahlen in Richtung negative Unendlichkeit. Entspricht der MATLAB-Funktion floor.

Nearest

Rundet die Zahl auf den nächsten darstellbaren Wert. Bei Gleichstand wird auf positive Unendlichkeit gerundet. Entspricht der Fixed-Point Designer -Funktion nearest.

Round

Rundet die Zahl auf den nächsten darstellbaren Wert. Bei Gleichstand werden positive Zahlen auf positive Unendlichkeit und negative Zahlen auf negative Unendlichkeit gerundet. Entspricht der Fixed-Point Designer-Funktion round.

Simplest

Wählt automatisch zwischen Rundung zur Basis und Rundung zu Null, um einen möglichst effizienten Rundungscode zu generieren.

Zero

Rundet Zahlen gegen Null. Entspricht der MATLAB-Funktion fix.

Programmatische Verwendung

Blockparameter: RndMeth
Typ: Zeichenvektor
Werte: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'
Standardwert: 'Floor'

Siehe auch

Weitere Informationen finden Sie unter Rounding Modes (Fixed-Point Designer).

Blockeigenschaften

Datentypen

double | fixed point | integer | single

Direct Feedthrough

ja

Mehrdimensionale Signale

nein

Signale mit variabler Größe

nein

Erkennung von Nulldurchgängen

ja

Erweiterte Fähigkeiten

alle erweitern

C/C++ Codegenerierung
Generieren von C und C++ Code mit Simulink® Coder™.

PLC-Codegenerierung
Generieren strukturierten Textcodes mit Simulink® PLC Coder™.

Festkommakonvertierung
Entwerfen und Simulieren von Festkommasystemen mit Fixed-Point Designer™.

Versionsverlauf

Eingeführt vor R2006a