doc/programming/stdlib/index.rst
author Edouard Tisserant <edouard.tisserant@gmail.com>
Tue, 20 Aug 2024 01:51:08 +0200
changeset 3978 22ba103801ee
parent 3929 1a0bed0b4f1c
permissions -rw-r--r--
Merge remote-tracking branch 'origin/python3' into python3
3929
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     1
Standard library
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     2
================
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     3
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     4
..
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     5
    Documentation originally part of Smarteh's user Manual, and donated to Beremiz project.
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     6
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     7
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     8
.. list-table::
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     9
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    10
    * - .. figure:: library_panel.png
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    11
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    12
            Library browser
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    13
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    14
      - Library contains various groups of standard
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    15
        and user defined functions. They support the
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    16
        usage in different programmable controller
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    17
        programming languages inside POUs.
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    18
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    19
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    20
    * - .. figure:: block_properties.png
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    21
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    22
            Block Properties
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    23
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    24
      - Block Properties pop-up window can be
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    25
        opened by double-click on function block.
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    26
        Some of the blocks can have more inputs than
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    27
        default. This is selectable in the Inputs field
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    28
        (e.g. ADD block). Also an Execution Order of
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    29
        the blocks can be programmer-defined. All
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    30
        blocks have an additional Execution Control
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    31
        check-box. If it is checked than two new pins
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    32
        are added (EN – input and ENO – output) to
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    33
        control dynamically their execution.
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    34
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    35
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    36
Standard function blocks
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    37
------------------------
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    38
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    39
.. highlight:: text
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    40
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    41
.. list-table::
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    42
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    43
    * - .. figure:: std_block-012.png
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    44
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    45
            SR bistable
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    46
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    47
      - The SR bistable is a latch where the Set dominates.::
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    48
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    49
            ( BOOL:S1, BOOL:R ) => ( BOOL:Q1 )
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    50
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    51
        This function represents a standard set-dominant set/reset flip
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    52
        flop. The Q1 output become TRUE when the input S1 is TRUE and
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    53
        the R input is FALSE. In the same way, the Q1 output become
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    54
        FALSE when the input S1 is FALSE and the R input is TRUE. After
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    55
        one of these transitions, when both the S1 and R signals return to
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    56
        FALSE, the Q1 output keeps the previous state until a new
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    57
        condition occurs. If you apply a TRUE condition for both the
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    58
        signals, the Q1 output is forced to TRUE (set-dominant).
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    59
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    60
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    61
    * - .. figure:: std_block-010.png
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    62
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    63
            RS bistable
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    64
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    65
      - The RS bistable is a latch where the Reset dominates.::
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    66
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    67
            ( BOOL:S, BOOL:R1 ) => ( BOOL:Q1 )
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    68
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    69
        This function represents a standard reset-dominant set/reset flip
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    70
        flop. The Q1 output become TRUE when the input S is TRUE and
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    71
        the R1 input is FALSE. In the same way, the Q1 output become
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    72
        FALSE when the input S is FALSE and the R1 input is TRUE. After
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    73
        one of these transitions, when both the S and R1 signals return to
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    74
        FALSE, the Q1 output keeps the previous state until a new
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    75
        condition occurs. If you apply a TRUE condition for both the
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    76
        signals, the Q1 output is forced to FALSE (reset-dominant).
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    77
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    78
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    79
    * - .. figure:: std_block-019.png
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    80
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    81
            SEMA Semaphore
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    82
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    83
      - The semaphore provides a mechanism to allow software elements
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    84
        mutually exclusive access to certain resources.::
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    85
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    86
            ( BOOL:CLAIM, BOOL:RELEASE ) => ( BOOL:BUSY )
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    87
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    88
        This function block implements a semaphore function. Normally
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    89
        this function is used to synchronize events. The BUSY output is
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    90
        activated by a TRUE condition on the CLAIM input and it is de-
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    91
        activated by a TRUE condition on the RELEASE input.
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    92
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    93
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    94
    * - .. figure:: std_block-021.png
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    95
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    96
            R_TRIG Rising edge detector
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    97
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    98
      - The output produces a single pulse when a rising edge is detected.::
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    99
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   100
            ( BOOL:CLK ) => ( BOOL:Q )
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   101
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   102
        This function is a rising-edge detector. The Q output becomes
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   103
        TRUE when a 0 to 1 (or FALSE to TRUE or OFF to ON) condition is
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   104
        detected on the CLK input and it sustains this state for a complete
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   105
        scan cycle.
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   106
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   107
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   108
    * - .. figure:: std_block-023.png
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   109
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   110
            F TRIG
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   111
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   112
      - Falling edge detector
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   113
        The output Q produces a single pulse when a falling edge is
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   114
        detected.::
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   115
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   116
            ( BOOL:CLK ) => ( BOOL:Q )
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   117
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   118
        This function is a falling-edge detector. The Q output becomes
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   119
        TRUE when a 1 to 0 (or TRUE to FALSE or ON to OFF) condition is
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   120
        detected on the CLK input and it sustains this state for a complete
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   121
        scan cycle.
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   122
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   123
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   124
    * - .. figure:: std_block-030.png
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   125
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   126
            CTU
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   127
            CTU_DINT,
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   128
            CTU_LINT,
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   129
            CTU_UDINT, CTU_ULINT
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   130
            Up-counter
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   131
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   132
      - The up-counter can be used to signal when a count has reached a
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   133
        maximum value.::
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   134
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   135
            CTU:       ( BOOL:CU, BOOL:R, INT:PV ) => ( BOOL:Q, INT:CV )
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   136
            CTU_DINT:  ( BOOL:CU, BOOL:R, DINT:PV ) => ( BOOL:Q, DINT:CV )
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   137
            CTU_LINT:
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   138
            ( BOOL:CU, BOOL:R, LINT:PV ) => ( BOOL:Q, LINT:CV )
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   139
            CTU_UDINT: ( BOOL:CU, BOOL:R, UDINT:PV ) => ( BOOL:Q, UDINT:CV )
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   140
            CTU_ULINT: ( BOOL:CU, BOOL:R, ULINT:PV ) => ( BOOL:Q, ULINT:CV )
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   141
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   142
        The CTU function represents an up-counter. A rising-edge on CU
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   143
        input will increment the counter by one. When the programmed
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   144
        value, applied to the input PV, is reached, the Q output becomes
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   145
        TRUE. Applying a TRUE signal on R input will reset the counter to
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   146
        zero (Asynchronous reset). The CV output reports the current
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   147
        counting value.
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   148
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   149
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   150
    * - .. figure:: std_block-028.png
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   151
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   152
            CTD
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   153
            CTD_DINT, CTD_LINT,
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   154
            CTD_UDINT, CTD_ULINT
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   155
            Down-counter
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   156
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   157
      - The down-counter can be used to signal when a count has reached
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   158
        zero, on counting down from a pre-set value.::
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   159
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   160
            CTD:       ( BOOL:CD, BOOL:LD, INT:PV ) => ( BOOL:Q, INT:CV )
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   161
            CTD_DINT:  ( BOOL:CD, BOOL:LD, DINT:PV ) => ( BOOL:Q, DINT:CV )
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   162
            CTD_LINT:  ( BOOL:CD, BOOL:LD, LINT:PV ) => ( BOOL:Q, LINT:CV )
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   163
            CTD_UDINT: ( BOOL:CD, BOOL:LD, UDINT:PV ) => ( BOOL:Q, UDINT:CV )
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   164
            CTD_ULINT: ( BOOL:CD, BOOL:LD, ULINT:PV ) => ( BOOL:Q, ULINT:CV )
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   165
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   166
        The CTD function represents a down-counter. A rising-edge on CD
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   167
        input will decrement the counter by one. The Q output becomes
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   168
        TRUE when the current counting value is equal or less than zero.
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   169
        Applying a TRUE signal on LD (LOAD) input will load the counter
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   170
        with the value present at input PV (Asynchronous load). The CV
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   171
        output reports the current counting value.
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   172
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   173
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   174
    * - .. figure:: std_block-035.png
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   175
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   176
            CTUD
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   177
            CTUD_DINT,
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   178
            CTUD_LINT,
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   179
            CTUD_UDINT,
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   180
            CTUD_ULINT
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   181
            Up-down counter
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   182
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   183
      - The up-down counter has two inputs CU and CD. It can be used to
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   184
        both count up on one input and down on the other.::
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   185
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   186
            CTUD:       ( BOOL:CU, BOOL:CD, BOOL:R, BOOL:LD, INT:PV ) => ( BOOL:QU, BOOL:QD, INT:CV )
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   187
            CTUD_DINT:  ( BOOL:CU, BOOL:CD, BOOL:R, BOOL:LD, DINT:PV ) => ( BOOL:QU, BOOL:QD, DINT:CV )
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   188
            CTUD_LINT:  ( BOOL:CU, BOOL:CD, BOOL:R, BOOL:LD, LINT:PV ) => ( BOOL:QU, BOOL:QD, LINT:CV )
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   189
            CTUD_UDINT: ( BOOL:CU, BOOL:CD, BOOL:R, BOOL:LD, UDINT:PV ) => ( BOOL:QU, BOOL:QD, UDINT:CV )
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   190
            CTUD_ULINT: ( BOOL:CU, BOOL:CD, BOOL:R, BOOL:LD, ULINT:PV ) => ( BOOL:QU, BOOL:QD, ULINT:CV )
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   191
        
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   192
        This function represents an up-down programmable counter. A
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   193
        rising-edge on the CU (COUNT-UP) input increments the counter
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   194
        by one while a rising-edge on the CD (COUNT-DOWN) decreases
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   195
        the current value. Applying a TRUE signal on R input will reset the
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   196
        counter to zero. A TRUE condition on the LD signal will load the
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   197
        counter with the value applied to the input PV (PROGRAMMED
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   198
        VALUE). QU output becomes active when the current counting
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   199
        value is greater or equal to the programmed value. The QD output
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   200
        becomes active when the current value is less or equal to zero.
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   201
        The CV output reports the current counter value.
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   202
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   203
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   204
    * - .. figure:: std_block-037.png
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   205
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   206
            TP
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   207
            Pulse timer
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   208
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   209
      - The pulse timer can be used to generate output pulses of a given
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   210
        time duration.::
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   211
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   212
            ( BOOL:IN, TIME:PT ) => ( BOOL:Q, TIME:ET )
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   213
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   214
        This kind of timer has the same behaviour of a single-shot timer or
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   215
        a monostable timer.
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   216
        When a rising-edge transition is detected on the IN input, the Q
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   217
        output becomes TRUE immediately. This condition continues until
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   218
        the programmed time PT, applied to the relative pin, is elapsed.
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   219
        After that the PT is elapsed, the Q output keeps the ON state if
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   220
        the input IN is still asserted else the Q output returns to the OFF
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   221
        state. This timer is not re-triggerable. This means that after that
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   222
        the timer has started it can't be stopped until the complete
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   223
        session ends. The ET output reports the current elapsed time.
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   224
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   225
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   226
    * - .. figure:: std_block-042.png
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   227
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   228
            TON
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   229
            On-delay timer
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   230
                    
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   231
      - The on-delay timer can be used to delay setting an output true,
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   232
        for fixed period after an input becomes true.::
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   233
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   234
            ( BOOL:IN, TIME:PT ) => ( BOOL:Q, TIME:ET )
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   235
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   236
        Asserting the input signal IN of this function starts the timer.
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   237
        When the programmed time, applied to the input PT, is elapsed
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   238
        and the input IN is still asserted, the Q output becomes TRUE. This
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   239
        condition will continue until the input IN is released. If the IN
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   240
        input is released before time elapsing, the timer will be cleared.
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   241
        The ET output reports the current elapsed time.
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   242
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   243
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   244
    * - .. figure:: std_block-044.png
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   245
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   246
            TOF
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   247
            Off-delay timer
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   248
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   249
      - The off-delay timer can be used to delay setting an output false,
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   250
        for fixed period after input goes false.::
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   251
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   252
        ( BOOL:IN, TIME:PT ) => ( BOOL:Q, TIME:ET )
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   253
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   254
        Asserting the input signal IN of this function immediately activates
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   255
        the Q output. At this point, releasing the input IN will start the
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   256
        time elapsing. When the programmed time, applied to the input
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   257
        PT, is elapsed and the input IN is still released, the Q output
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   258
        becomes FALSE. This condition will be kept until the input IN is
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   259
        released. If the IN input is asserted again before time elapses, the
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   260
        timer will be cleared and the Q output remains TRUE. The ET
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   261
        output reports the current elapsed time.
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   262
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   263
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   264
Additional function blocks
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   265
--------------------------
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   266
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   267
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   268
.. list-table::
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   269
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   270
    * - .. figure:: std_block-055.png
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   271
    
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   272
            RTC
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   273
            Real Time Clock
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   274
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   275
      - The RTC function block sets the output CDT to the input value PDT at the next
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   276
        evaluation of the function block following a transition from 0 to 1 of the IN input. The CDT output
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   277
        of the RTC function block is undefined when the value of IN is 0.
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   278
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   279
        .. line-block:: 
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   280
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   281
            PDT = Preset date and time, loaded on rising edge of IN
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   282
            CDT = Current date and time, valid when IN=1
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   283
            Q = copy of EN
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   284
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   285
        .. code-block:: 
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   286
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   287
            (BOOL:IN, PDT:DT) => (BOOL:Q, CDT:DT)
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   288
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   289
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   290
    * - .. figure:: std_block-049.png
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   291
    
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   292
            INTEGRAL
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   293
            Integral
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   294
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   295
      - The integral function block integrates the value of input XIN over
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   296
        time.::
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   297
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   298
            ( BOOL:RUN, BOOL:R1, REAL:XIN, REAL:X0, TIME:CYCLE ) => ( BOOL:Q, REAL:XOUT )
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   299
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   300
        When input RUN is True and override R1 is False, XOUT will
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   301
        change for XIN value depends on CYCLE time value sampling
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   302
        period. When RUN is False and override R1 is True, XOUT will hold
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   303
        the last output value. If R1 is True, XOUT will be set to the X0
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   304
        value.::
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   305
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   306
            XOUT = XOUT + (XIN * CYCLE)
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   307
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   308
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   309
    * - .. figure:: std_block-051.png
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   310
    
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   311
            DERIVATIVE
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   312
            Derivative
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   313
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   314
      - The derivative function block produces an output XOUT
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   315
        proportional to the rate of change of the input XIN.::
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   316
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   317
            ( BOOL:RUN, REAL:XIN, TIME:CYCLE ) => ( REAL:XOUT )
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   318
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   319
        When RUN is True, XOUT will change proportional to the rate of
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   320
        changing of the value XIN depends on CYCLE time value sampling
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   321
        period.::
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   322
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   323
            XOUT = ((3 * (XIN - XIN(to-3))) + XIN(to-1) – XIN(to-2) ) / (10 * CYCLE)
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   324
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   325
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   326
    * - .. figure:: std_block-060.png
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   327
    
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   328
            PID
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   329
            Proportional, Integral, Derivative
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   330
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   331
      - The PID (Proportional, Integral, Derivative) function block
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   332
        provides the classical three term controller for closed loop
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   333
        control. It does not contain any output limitation parameters
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   334
        (dead-band, minimum, maximum, …) or other parameters
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   335
        normally used for real process control (see also PID_A).::
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   336
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   337
            ( BOOL:AUTO, REAL:PV, REAL:SP, REAL:X0, REAL:KP, REAL:TR, REAL:TD, TIME:CYCLE ) => ( REAL:XOUT )
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   338
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   339
        When AUTO is False, PID function block XOUT will follow X0 value.
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   340
        When AUTO is True, XOUT will be calculated from error value (PV
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   341
        process variable – SP set point), KP proportional constant, TR
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   342
        reset time, TD derivative constant and CYCLE time value sampling
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   343
        period.::
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   344
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   345
            XOUT = KP * ((PV-SP) + (I_OUT/TR) + (D_OUT * TD))
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   346
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   347
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   348
    * - .. figure:: std_block-062.png
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   349
    
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   350
            RAMP
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   351
            Ramp
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   352
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   353
      - The RAMP function block is modelled on example given in the
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   354
        standard but with the addition of a 'Holdback' feature.::
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   355
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   356
            ( BOOL:RUN, REAL:X0, REAL:X1, TIME:TR, TIME:CYCLE, BOOL:HOLDBACK, REAL:ERROR, REAL:PV ) => ( BOOL:RAMP, REAL:XOUT )
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   357
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   358
        When RUN and HOLDBACK are False, XOUT will follow X0 value.
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   359
        When RUN is True and HOLDBACK value is False, XOUT will change
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   360
        for ``OUT(to-1) + (X1 – XOUT(to-1))`` every CYCLE time value sampling
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   361
        period.
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   362
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   363
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   364
    * - .. figure:: std_block-064.png
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   365
    
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   366
            HYSTERESIS
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   367
            Hysteresis
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   368
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   369
      - The hysteresis function block provides a hysteresis boolean output
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   370
        driven by the difference of two floating point (REAL) inputs XIN1
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   371
        and XIN2.::
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   372
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   373
            ( REAL:XIN1, REAL:XIN2, REAL:EPS ) => ( BOOL:Q )
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   374
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   375
        When XIN1 value will be grater than XIN2 + EPS value, Q becomes
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   376
        True. When XIN1 value will be less than XIN2 - EPS value, Q
1a0bed0b4f1c Doc: start converting Standard Library documentation from old MC8 manual.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
   377
        becomes False.