Hauptinhalt

Saturation

R2026b

Begrenzen des Eingabesignals auf obere und untere 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.

Eingabesatupsatlo

Das Eingangssignal ist größer als der Wert von Upper limit.

1 (wahr)

0 (falsch)

Der Wert von Upper limit ist größer oder gleich dem Eingangssignal, das wiederum größer oder gleich dem Wert von Lower limit ist.

0 (falsch)

0 (falsch)

Der Wert von Lower limit ist größer als das Eingangssignal.

0 (falsch)

1 (wahr)

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.

Obere Sättigungsgrenze, zurückgegeben als 1 (true), wenn das Eingangssignal die obere Grenze erreicht und begrenzt wird. Andernfalls wird sie als 0 (false) zurückgegeben.

Abhängigkeiten

Um diesen Parameter zu aktivieren, wählen Sie den Parameter „Output saturation status“ aus.

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

Ausgangssignal, zurückgegeben als 1 (true), wenn das Eingangssignal die untere Grenze erreicht und begrenzt wird. Andernfalls wird es als 0 (false) zurückgegeben.

Abhängigkeiten

Um diesen Parameter zu aktivieren, wählen Sie den Parameter „Output saturation status“ aus.

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'

Wählen Sie diese Option, um die Sättigungsstatus-Ausgangsports entsprechend den folgenden Ergebnissen zu aktivieren:

Eingabesatupsatlo

Das Eingangssignal ist größer als der Wert von Upper limit.

1 (wahr)

0 (falsch)

Der Wert von Upper limit ist größer oder gleich dem Eingangssignal, das wiederum größer oder gleich dem Wert von Lower limit ist.

0 (falsch)

0 (falsch)

Der Wert von Lower limit ist größer als das Eingangssignal.

0 (falsch)

1 (wahr)

Programmatische Verwendung

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

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

alle erweitern