## Modelica_LinearSystems2.Controller.Types

Constants and types with choices, especially to build menus

### Information

In this package types and constants are defined that are used in the Controller library. The types have additional annotation choices definitions that define the menus to be built up in the graphical user interface when the type is used as parameter in a declaration.

Extends from Modelica.Icons.Library (Icon for library).

### Package Content

Name | Description
--- | ---
AnalogFilter | Enumeration defining the method of filtering
BlockType | Enumeration of block types (continuous, discrete)
BlockTypeWithGlobalDefault | Enumeration of block types (continuous, discrete, sampleBlock.blocktype)
FilterType | Enumeration of analog filter types (high pass or low pass)
FIRspec | Enumeration of FIR specification
Init | Enumeration defining initialization of a block
InitWithGlobalDefault | Enumeration defining initialization of a block
Method |
MethodWithGlobalDefault | Enumeration of discretization methods
PID_representation | Enumeration defining the representation of a PID controller
Window | Enumeration of window type for FIR filter

### Types and constants

      type AnalogFilter = enumeration(
        CriticalDamping "Filter with critical damping",
        Bessel "Bessel filter",
        Butterworth "Butterworth filter",
        Chebyshev "Chebyshev filter")
      "Enumeration defining the method of filtering";

      type BlockType = enumeration(
        Continuous "Continuous block",
        Discrete "Discrete block")
      "Enumeration of block types (continuous, discrete)";

      type BlockTypeWithGlobalDefault = enumeration(
        Continuous "Continuous block",
        Discrete "Discrete block",
        UseSampleClockOption "Use blockType defined in sampleClock component")
      "Enumeration of block types (continuous, discrete, sampleBlock.blocktype)";

      type FilterType = enumeration(
        LowPass "Low pass filter",
        HighPass "High pass filter")
      "Enumeration of analog filter types (high pass or low pass)";

      type FIRspec = enumeration(
        MeanValue "Mean value FIR filter",
        Window "FIR filter defined by window",
        Coefficients "FIR filter defined by coefficient vector")
      "Enumeration of FIR specification";

      type Init = enumeration(
        NoInit
          "No initialization (start values are used as guess values with fixed=false)",

        SteadyState "Steady state initialization (derivatives of states are zero)",

        InitialState "Initialization with initial states",
        InitialOutput
          "Initialization with initial outputs (and steady state of the states if possibles)")
      "Enumeration defining initialization of a block";

      type InitWithGlobalDefault = enumeration(
        NoInit
          "No initialization (start values are used as guess values with fixed=false)",

        SteadyState "Steady state initialization (derivatives of states are zero)",

        InitialState "Initialization with initial states",
        InitialOutput
          "Initialization with initial outputs (and steady state of the states if possibles)",

        UseSampleClockOption "use initialization defined in sampleClock component")
      "Enumeration defining initialization of a block";

      type Method = Modelica_LinearSystems2.Types.Method;

      type MethodWithGlobalDefault = enumeration(
        ExplicitEuler "Discretization with explicit Euler integration",
        ImplicitEuler "Discretization with implicit Euler integration",
        Trapezoidal
          "Discretization with trapezoidal integration (Tustins method, recommended)",

        ImpulseExact "Exact discretization for impulse inputs",
        StepExact
          "Exact discretization for step inputs (zero-order hold equivalent)",
        RampExact
          "Exact discretization for ramp inputs (first-order hold equivalent)",
        UseSampleClockOption "Use method defined in sampleClock component")
      "Enumeration of discretization methods";

      type PID_representation = enumeration(
        gains "Gains representation: G_PID = kp + ki/s + kd*s",
        timeConstants
          "Time constants representation: G_PID = k*(1 + 1/Ti/s + Td*s)")
      "Enumeration defining the representation of a PID controller";

      type Window = enumeration(
        Rectangle "Rectangle",
        Bartlett "Bartlett",
        Hann "Hann",
        Hamming "Hamming",
        Blackman "Blackman",
        Kaiser "Kaiser") "Enumeration of window type for FIR filter";