plcopen/definitions.py
author Edouard Tisserant
Wed, 28 May 2014 18:33:41 +0200
changeset 1411 805d13d216c0
parent 1390 0f4d32a033e0
child 1412 50192dd2f5ff
permissions -rw-r--r--
Fixed POU paste exception
1390
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
     1
from os.path import join, split, realpath
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
     2
sd = split(realpath(__file__))[0]
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
     3
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
     4
# Override gettext _ in this module
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
     5
# since we just want string to be added to dictionnary
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
     6
# but translation should happen here
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
     7
_ = lambda x:x
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
     8
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
     9
LANGUAGES = ["IL","ST","FBD","LD","SFC"]
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    10
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    11
LOCATIONDATATYPES = {"X" : ["BOOL"],
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    12
                     "B" : ["SINT", "USINT", "BYTE", "STRING"],
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    13
                     "W" : ["INT", "UINT", "WORD", "WSTRING"],
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    14
                     "D" : ["DINT", "UDINT", "REAL", "DWORD"],
1411
805d13d216c0 Fixed POU paste exception
Edouard Tisserant
parents: 1390
diff changeset
    15
                     "L" : ["LINT", "ULINT", "LREAL", "LWORD"]}
1390
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    16
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    17
#-------------------------------------------------------------------------------
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    18
#                        Function Block Types definitions
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    19
#-------------------------------------------------------------------------------
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    20
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    21
StdTC6Libs = [(_("Standard function blocks"),  join(sd, "Standard_Function_Blocks.xml")),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    22
              (_("Additional function blocks"),join(sd, "Additional_Function_Blocks.xml"))]
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    23
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    24
StdFuncsCSV = join(sd,"iec_std.csv")
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    25
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    26
# FIXME : since std fb now loaded from TC6 file, is that still necessary ?
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    27
StdBlockComments = {
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    28
    "SR": _("SR bistable\nThe SR bistable is a latch where the Set dominates."),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    29
    "RS": _("RS bistable\nThe RS bistable is a latch where the Reset dominates."),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    30
    "SEMA": _("Semaphore\nThe semaphore provides a mechanism to allow software elements mutually exclusive access to certain ressources."),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    31
    "R_TRIG": _("Rising edge detector\nThe output produces a single pulse when a rising edge is detected."),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    32
    "F_TRIG": _("Falling edge detector\nThe output produces a single pulse when a falling edge is detected."),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    33
    "CTU": _("Up-counter\nThe up-counter can be used to signal when a count has reached a maximum value."),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    34
    "CTD": _("Down-counter\nThe down-counter can be used to signal when a count has reached zero, on counting down from a preset value."),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    35
    "CTUD": _("Up-down counter\nThe up-down counter has two inputs CU and CD. It can be used to both count up on one input and down on the other."),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    36
    "TP": _("Pulse timer\nThe pulse timer can be used to generate output pulses of a given time duration."),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    37
    "TON": _("On-delay timer\nThe on-delay timer can be used to delay setting an output true, for fixed period after an input becomes true."),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    38
    "TOF": _("Off-delay timer\nThe off-delay timer can be used to delay setting an output false, for fixed period after input goes false."),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    39
    "RTC": _("Real time clock\nThe real time clock has many uses including time stamping, setting dates and times of day in batch reports, in alarm messages and so on."),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    40
    "INTEGRAL": _("Integral\nThe integral function block integrates the value of input XIN over time."),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    41
    "DERIVATIVE": _("Derivative\nThe derivative function block produces an output XOUT proportional to the rate of change of the input XIN."),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    42
    "PID": _("PID\nThe PID (proportional, Integral, Derivative) function block provides the classical three term controller for closed loop control."),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    43
    "RAMP": _("Ramp\nThe RAMP function block is modelled on example given in the standard."),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    44
    "HYSTERESIS": _("Hysteresis\nThe hysteresis function block provides a hysteresis boolean output driven by the difference of two floating point (REAL) inputs XIN1 and XIN2."),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    45
}
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    46
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    47
for block_type in ["CTU", "CTD", "CTUD"]:
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    48
    for return_type in ["DINT", "LINT", "UDINT", "ULINT"]:
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    49
        StdBlockComments["%s_%s" % (block_type, return_type)] = StdBlockComments[block_type]
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    50
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    51
def GetBlockInfos(pou):
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    52
    infos = pou.getblockInfos()
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    53
    # FIXME : as well
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    54
    infos["comment"] = StdBlockComments[infos["name"]]
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    55
    infos["inputs"] = [
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    56
        (var_name, var_type, "rising")
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    57
        if var_name in ["CU", "CD"]
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    58
        else (var_name, var_type, var_modifier)
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    59
        for var_name, var_type, var_modifier in infos["inputs"]]
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    60
    return infos
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    61
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    62
#-------------------------------------------------------------------------------
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    63
#                           Data Types definitions
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    64
#-------------------------------------------------------------------------------
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    65
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    66
"""
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    67
Ordored list of common data types defined in the IEC 61131-3
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    68
Each type is associated to his direct parent type. It defines then a hierarchy
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    69
between type that permits to make a comparison of two types
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    70
"""
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    71
TypeHierarchy_list = [
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    72
    ("ANY", None),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    73
    ("ANY_DERIVED", "ANY"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    74
    ("ANY_ELEMENTARY", "ANY"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    75
    ("ANY_MAGNITUDE", "ANY_ELEMENTARY"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    76
    ("ANY_BIT", "ANY_ELEMENTARY"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    77
    ("ANY_NBIT", "ANY_BIT"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    78
    ("ANY_STRING", "ANY_ELEMENTARY"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    79
    ("ANY_DATE", "ANY_ELEMENTARY"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    80
    ("ANY_NUM", "ANY_MAGNITUDE"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    81
    ("ANY_REAL", "ANY_NUM"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    82
    ("ANY_INT", "ANY_NUM"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    83
    ("ANY_SINT", "ANY_INT"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    84
    ("ANY_UINT", "ANY_INT"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    85
    ("BOOL", "ANY_BIT"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    86
    ("SINT", "ANY_SINT"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    87
    ("INT", "ANY_SINT"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    88
    ("DINT", "ANY_SINT"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    89
    ("LINT", "ANY_SINT"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    90
    ("USINT", "ANY_UINT"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    91
    ("UINT", "ANY_UINT"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    92
    ("UDINT", "ANY_UINT"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    93
    ("ULINT", "ANY_UINT"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    94
    ("REAL", "ANY_REAL"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    95
    ("LREAL", "ANY_REAL"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    96
    ("TIME", "ANY_MAGNITUDE"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    97
    ("DATE", "ANY_DATE"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    98
    ("TOD", "ANY_DATE"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
    99
    ("DT", "ANY_DATE"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   100
    ("STRING", "ANY_STRING"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   101
    ("BYTE", "ANY_NBIT"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   102
    ("WORD", "ANY_NBIT"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   103
    ("DWORD", "ANY_NBIT"),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   104
    ("LWORD", "ANY_NBIT")
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   105
    #("WSTRING", "ANY_STRING") # TODO
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   106
]
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   107
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   108
DataTypeRange_list = [
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   109
    ("SINT", (-2**7, 2**7 - 1)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   110
    ("INT", (-2**15, 2**15 - 1)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   111
    ("DINT", (-2**31, 2**31 - 1)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   112
    ("LINT", (-2**31, 2**31 - 1)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   113
    ("USINT", (0, 2**8 - 1)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   114
    ("UINT", (0, 2**16 - 1)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   115
    ("UDINT", (0, 2**31 - 1)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   116
    ("ULINT", (0, 2**31 - 1))
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   117
]
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   118
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   119
ANY_TO_ANY_FILTERS = {
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   120
    "ANY_TO_ANY":[
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   121
        # simple type conv are let as C cast
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   122
        (("ANY_INT","ANY_BIT"),("ANY_NUM","ANY_BIT")),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   123
        (("ANY_REAL",),("ANY_REAL",)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   124
        # REAL_TO_INT
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   125
        (("ANY_REAL",),("ANY_SINT",)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   126
        (("ANY_REAL",),("ANY_UINT",)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   127
        (("ANY_REAL",),("ANY_BIT",)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   128
        # TO_TIME
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   129
        (("ANY_INT","ANY_BIT"),("ANY_DATE","TIME")),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   130
        (("ANY_REAL",),("ANY_DATE","TIME")),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   131
        (("ANY_STRING",), ("ANY_DATE","TIME")),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   132
        # FROM_TIME
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   133
        (("ANY_DATE","TIME"), ("ANY_REAL",)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   134
        (("ANY_DATE","TIME"), ("ANY_INT","ANY_NBIT")),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   135
        (("TIME",), ("ANY_STRING",)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   136
        (("DATE",), ("ANY_STRING",)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   137
        (("TOD",), ("ANY_STRING",)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   138
        (("DT",), ("ANY_STRING",)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   139
        # TO_STRING
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   140
        (("BOOL",), ("ANY_STRING",)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   141
        (("ANY_BIT",), ("ANY_STRING",)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   142
        (("ANY_REAL",), ("ANY_STRING",)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   143
        (("ANY_SINT",), ("ANY_STRING",)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   144
        (("ANY_UINT",), ("ANY_STRING",)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   145
        # FROM_STRING
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   146
        (("ANY_STRING",), ("BOOL",)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   147
        (("ANY_STRING",), ("ANY_BIT",)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   148
        (("ANY_STRING",), ("ANY_SINT",)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   149
        (("ANY_STRING",), ("ANY_UINT",)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   150
        (("ANY_STRING",), ("ANY_REAL",))],
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   151
    "BCD_TO_ANY":[
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   152
        (("BYTE",),("USINT",)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   153
        (("WORD",),("UINT",)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   154
        (("DWORD",),("UDINT",)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   155
        (("LWORD",),("ULINT",))],
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   156
    "ANY_TO_BCD":[
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   157
        (("USINT",),("BYTE",)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   158
        (("UINT",),("WORD",)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   159
        (("UDINT",),("DWORD",)),
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   160
        (("ULINT",),("LWORD",))]
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   161
}
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   162
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   163
# remove gettext override
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents:
diff changeset
   164
del _