Modelica.Blocks.Discrete

Library of discrete input/output blocks with fixed sample period

Information

This package contains discrete control blocks with fixed sample period. Every component of this package is structured in the following way:

  1. A component has continuous real input and output signals.
  2. The input signals are sampled by the given sample period defined via parameter samplePeriod. The first sample instant is defined by parameter startTime.
  3. The output signals are computed from the sampled input signals.

A sampled data system may consist of components of package Discrete and of every other purely algebraic input/output block, such as the components of packages Modelica.Blocks.Math, Modelica.Blocks.Nonlinear or Modelica.Blocks.Sources.

Extends from Modelica.Icons.Package (Icon for standard packages).

Package Content

Name Description
Modelica.Blocks.Discrete.Sampler Sampler Ideal sampling of continuous signals
Modelica.Blocks.Discrete.ZeroOrderHold ZeroOrderHold Zero order hold of a sampled-data system
Modelica.Blocks.Discrete.FirstOrderHold FirstOrderHold First order hold of a sampled-data system
Modelica.Blocks.Discrete.UnitDelay UnitDelay Unit Delay Block
Modelica.Blocks.Discrete.TransferFunction TransferFunction Discrete Transfer Function block
Modelica.Blocks.Discrete.StateSpace StateSpace Discrete State Space block
Modelica.Blocks.Discrete.TriggeredSampler TriggeredSampler Triggered sampling of continuous signals
Modelica.Blocks.Discrete.TriggeredMax TriggeredMax Compute maximum, absolute value of continuous signal at trigger instants

Modelica.Blocks.Discrete.Sampler Modelica.Blocks.Discrete.Sampler

Ideal sampling of continuous signals

Information

Samples the continues input signal with a sampling rate defined via parameter samplePeriod.

Extends from Interfaces.DiscreteSISO (Single Input Single Output discrete control block).

Parameters

NameDescription
samplePeriodSample period of component [s]
startTimeFirst sample time instant [s]

Connectors

NameDescription
uConnector of Real input signal
yConnector of Real output signal

Modelica.Blocks.Discrete.ZeroOrderHold Modelica.Blocks.Discrete.ZeroOrderHold

Zero order hold of a sampled-data system

Information

The output is identical to the sampled input signal at sample time instants and holds the output at the value of the last sample instant during the sample points.

Extends from Interfaces.DiscreteSISO (Single Input Single Output discrete control block).

Parameters

NameDescription
samplePeriodSample period of component [s]
startTimeFirst sample time instant [s]

Connectors

NameDescription
uConnector of Real input signal
yConnector of Real output signal

Modelica.Blocks.Discrete.FirstOrderHold Modelica.Blocks.Discrete.FirstOrderHold

First order hold of a sampled-data system

Information

The output signal is the extrapolation through the values of the last two sampled input signals.

Extends from Modelica.Blocks.Interfaces.DiscreteSISO (Single Input Single Output discrete control block).

Parameters

NameDescription
samplePeriodSample period of component [s]
startTimeFirst sample time instant [s]

Connectors

NameDescription
uConnector of Real input signal
yConnector of Real output signal

Modelica.Blocks.Discrete.UnitDelay Modelica.Blocks.Discrete.UnitDelay

Unit Delay Block

Information

This block describes a unit delay:

     1
y = --- * u
     z

that is, the output signal y is the input signal u of the previous sample instant. Before the second sample instant, the output y is identical to parameter yStart.

Extends from Interfaces.DiscreteSISO (Single Input Single Output discrete control block).

Parameters

NameDescription
y_startInitial value of output signal
samplePeriodSample period of component [s]
startTimeFirst sample time instant [s]

Connectors

NameDescription
uConnector of Real input signal
yConnector of Real output signal

Modelica.Blocks.Discrete.TransferFunction Modelica.Blocks.Discrete.TransferFunction

Discrete Transfer Function block

Information

The discrete transfer function block defines the transfer function between the input signal u and the output signal y. The numerator has the order nb-1, the denominator has the order na-1.

       b(1)*z^(nb-1) + b(2)*z^(nb-2) + ... + b(nb)
y(z) = -------------------------------------------- * u(z)
       a(1)*z^(na-1) + a(2)*z^(na-2) + ... + a(na)

State variables x are defined according to controller canonical form. Initial values of the states can be set as start values of x.

Example:

Blocks.Discrete.TransferFunction g(b = {2,4}, a = {1,3});

results in the following transfer function:

     2*z + 4
y = --------- * u
      z + 3

Extends from Interfaces.DiscreteSISO (Single Input Single Output discrete control block).

Parameters

NameDescription
b[:]Numerator coefficients of transfer function.
a[:]Denominator coefficients of transfer function.
samplePeriodSample period of component [s]
startTimeFirst sample time instant [s]

Connectors

NameDescription
uConnector of Real input signal
yConnector of Real output signal

Modelica.Blocks.Discrete.StateSpace Modelica.Blocks.Discrete.StateSpace

Discrete State Space block

Information

The discrete state space block defines the relation between the input u and the output y in state space form:

x = A * pre(x) + B * u
y = C * pre(x) + D * u

where pre(x) is the value of the discrete state x at the previous sample time instant. The input is a vector of length nu, the output is a vector of length ny and nx is the number of states. Accordingly

A has the dimension: A(nx,nx),
B has the dimension: B(nx,nu),
C has the dimension: C(ny,nx),
D has the dimension: D(ny,nu)

Example:

parameter: A = [0.12, 2;3, 1.5]
parameter: B = [2, 7;3, 1]
parameter: C = [0.1, 2]
parameter: D = zeros(ny,nu)

results in the following equations:
  [x[1]]   [0.12  2.00] [pre(x[1])]   [2.0  7.0] [u[1]]
  [    ] = [          ]*[         ] + [        ]*[    ]
  [x[2]]   [3.00  1.50] [pre(x[2])]   [0.1  2.0] [u[2]]
                             [pre(x[1])]            [u[1]]
       y[1]   = [0.1  2.0] * [         ] + [0  0] * [    ]
                             [pre(x[2])]            [u[2]]

Extends from Interfaces.DiscreteMIMO (Multiple Input Multiple Output discrete control block).

Parameters

NameDescription
A[:, size(A, 1)]Matrix A of state space model
B[size(A, 1), :]Matrix B of state space model
C[:, size(A, 1)]Matrix C of state space model
D[size(C, 1), size(B, 2)]Matrix D of state space model
samplePeriodSample period of component [s]
startTimeFirst sample time instant [s]
ninNumber of inputs
noutNumber of outputs

Connectors

NameDescription
u[nin]Connector of Real input signals
y[nout]Connector of Real output signals

Modelica.Blocks.Discrete.TriggeredSampler Modelica.Blocks.Discrete.TriggeredSampler

Triggered sampling of continuous signals

Information

Samples the continuous input signal whenever the trigger input signal is rising (i.e., trigger changes from false to true) and provides the sampled input signal as output. Before the first sampling, the output signal is equal to the initial value defined via parameter y0.

Extends from Modelica.Blocks.Icons.DiscreteBlock (Graphical layout of discrete block component icon).

Parameters

NameDescription
y_startInitial value of output signal

Connectors

NameDescription
uConnector with a Real input signal
yConnector with a Real output signal
triggerTrigger input

Modelica.Blocks.Discrete.TriggeredMax Modelica.Blocks.Discrete.TriggeredMax

Compute maximum, absolute value of continuous signal at trigger instants

Information

Samples the continuous input signal whenever the trigger input signal is rising (i.e., trigger changes from false to true). The maximum, absolute value of the input signal at the sampling point is provided as output signal.

Extends from Modelica.Blocks.Icons.DiscreteBlock (Graphical layout of discrete block component icon).

Connectors

NameDescription
uConnector with a Real input signal
yConnector with a Real output signal
trigger 
Automatically generated Thu Oct 1 16:07:33 2020.