Package 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 Contents

NameDescription
FirstOrderHoldFirst order hold of a sampled-data system
SamplerIdeal sampling of continuous signals
StateSpaceDiscrete State Space block
TransferFunctionDiscrete Transfer Function block
TriggeredMaxCompute maximum, absolute value of continuous signal at trigger instants
TriggeredSamplerTriggered sampling of continuous signals
UnitDelayUnit Delay Block
ZeroOrderHoldZero order hold of a sampled-data system

Block 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 Modelica.​Blocks.​Interfaces.​DiscreteSISO (Single Input Single Output discrete control block).

Parameters

TypeNameDefaultDescription
TimesamplePeriod Sample period of component
TimestartTime0First sample time instant

Connectors

TypeNameDescription
input RealInputuConnector of Real input signal
output RealOutputyConnector of Real output signal

Block 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 Modelica.​Blocks.​Interfaces.​DiscreteSISO (Single Input Single Output discrete control block).

Parameters

TypeNameDefaultDescription
TimesamplePeriod Sample period of component
TimestartTime0First sample time instant

Connectors

TypeNameDescription
input RealInputuConnector of Real input signal
output RealOutputyConnector of Real output signal

Block 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

TypeNameDefaultDescription
TimesamplePeriod Sample period of component
TimestartTime0First sample time instant

Connectors

TypeNameDescription
input RealInputuConnector of Real input signal
output RealOutputyConnector of Real output signal

Block 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 Modelica.​Blocks.​Interfaces.​DiscreteSISO (Single Input Single Output discrete control block).

Parameters

TypeNameDefaultDescription
Realy_start0Initial value of output signal
TimesamplePeriod Sample period of component
TimestartTime0First sample time instant

Connectors

TypeNameDescription
input RealInputuConnector of Real input signal
output RealOutputyConnector of Real output signal

Block 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 Modelica.​Blocks.​Interfaces.​DiscreteSISO (Single Input Single Output discrete control block).

Parameters

TypeNameDefaultDescription
Realb[:]{1}Numerator coefficients of transfer function.
Reala[:]{1}Denominator coefficients of transfer function.
TimesamplePeriod Sample period of component
TimestartTime0First sample time instant

Connectors

TypeNameDescription
input RealInputuConnector of Real input signal
output RealOutputyConnector of Real output signal

Block 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 Modelica.​Blocks.​Interfaces.​DiscreteMIMO (Multiple Input Multiple Output discrete control block).

Parameters

TypeNameDefaultDescription
RealA[:,size(A, 1)][1,0; 0,1]Matrix A of state space model
RealB[size(A, 1),:][1; 1]Matrix B of state space model
RealC[:,size(A, 1)][1,1]Matrix C of state space model
RealD[size(C, 1),size(B, 2)]zeros(size(C, 1), size(B, 2))Matrix D of state space model
TimesamplePeriod Sample period of component
TimestartTime0First sample time instant
final Integerninsize(B, 2)Number of inputs
final Integernoutsize(C, 1)Number of outputs

Connectors

TypeNameDescription
input RealInputu[nin]Connector of Real input signals
output RealOutputy[nout]Connector of Real output signals

Block 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

TypeNameDefaultDescription
Realy_start0initial value of output signal

Connectors

TypeNameDescription
input RealInputuConnector with a Real input signal
output RealOutputyConnector with a Real output signal
input BooleanInputtrigger 

Block 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

TypeNameDescription
input RealInputuConnector with a Real input signal
output RealOutputyConnector with a Real output signal
input BooleanInputtrigger