objdictgen/config/DS-401.prf
changeset 182 988f2b302aa6
parent 69 c5495b101f57
child 775 c8df14b3a388
equal deleted inserted replaced
181:44d812a41d49 182:988f2b302aa6
     3 """
     3 """
     4 MappingDictionary for DS-401
     4 MappingDictionary for DS-401
     5 """
     5 """
     6 
     6 
     7 Mapping = {
     7 Mapping = {
       
     8 
     8     0x6000 : {"name" : "Read Inputs 8 Bit", "struct" : rec, "need" : False, "values" :
     9     0x6000 : {"name" : "Read Inputs 8 Bit", "struct" : rec, "need" : False, "values" :
     9                 [{"name" : "Number of Input 8 bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
    10                 [{"name" : "Number of Input 8 bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
    10                  {"name" : "Read Inputs 0x%X to 0x%X[(sub*8-7,sub*8)]", "type" : 0x05, "access" : 'ro', "pdo" : True, "nbmax" : 0xFE}]},
    11                  {"name" : "Read Inputs 0x%X to 0x%X[(sub*8-7,sub*8)]", "type" : 0x05, "access" : 'ro', "pdo" : True, "nbmax" : 0xFE}]},
    11     0x6002 : {"name" : "Polarity Input 8 Bit", "struct" : rec, "need" : False, "values" :
    12     0x6002 : {"name" : "Polarity Input 8 Bit", "struct" : rec, "need" : False, "values" :
    12                 [{"name" : "Number of Input 8 bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
    13                 [{"name" : "Number of Input 8 bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
    13                  {"name" : "Polarity Input 0x%X to 0x%X[(sub*8-7,sub*8)]", "type" : 0x05, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    14                  {"name" : "Polarity Input 0x%X to 0x%X[(sub*8-7,sub*8)]", "type" : 0x05, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    14     0x6003 : {"name" : "Filter Constant Input 8 Bit", "struct" : rec, "need" : False, "values" :
    15     0x6003 : {"name" : "Filter Constant Input 8 Bit", "struct" : rec, "need" : False, "values" :
    15                 [{"name" : "Number of Input 8 bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
    16                 [{"name" : "Number of Input 8 bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
    16                  {"name" : "Filter Constant Input 0x%X to 0x%X[(sub*8-7,sub*8)]", "type" : 0x05, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    17                  {"name" : "Filter Constant Input 0x%X to 0x%X[(sub*8-7,sub*8)]", "type" : 0x05, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    17 
    18 
    18     0x6005 : {"name" : "Global Interrupt Enable Digital", "struct" : var, "need" : False, "values" :
    19     0x6005 : {"name" : "Global Interrupt Enable Digital", "struct" : var, "need" : False, "values" :
    19                 [{"name" : "Global Interrupt Enable Digital", "type" : 0x01, "access" : 'rw', "pdo" : False}]},
    20                 [{"name" : "Global Interrupt Enable Digital", "type" : 0x01, "access" : 'rw', "pdo" : False}]},
    20 
    21 
    21     0x6006 : {"name" : "Interrupt Mask Any Change 8 Bit", "struct" : rec, "need" : False, "values" :
    22     0x6006 : {"name" : "Interrupt Mask Any Change 8 Bit", "struct" : rec, "need" : False, "values" :
    22                 [{"name" : "Number of Input 8 bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
    23                 [{"name" : "Number of Input 8 bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
    23                  {"name" : "Interrupt Any Change 0x%X to 0x%X[(sub*8-7,sub*8)]", "type" : 0x05, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    24                  {"name" : "Interrupt Any Change 0x%X to 0x%X[(sub*8-7,sub*8)]", "type" : 0x05, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    24     0x6007 : {"name" : "Interrupt Mask Low to High 8 Bit", "struct" : rec, "need" : False, "values" :
    25     0x6007 : {"name" : "Interrupt Mask Low to High 8 Bit", "struct" : rec, "need" : False, "values" :
    25                 [{"name" : "Number of Input 8 bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
    26                 [{"name" : "Number of Input 8 bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
    26                  {"name" : "Interrupt Low to High 0x%X to 0x%X[(sub*8-7,sub*8)]", "type" : 0x05, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    27                  {"name" : "Interrupt Low to High 0x%X to 0x%X[(sub*8-7,sub*8)]", "type" : 0x05, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    27     0x6008 : {"name" : "Interrupt Mask High to Low 8 Bit", "struct" : rec, "need" : False, "values" :
    28     0x6008 : {"name" : "Interrupt Mask High to Low 8 Bit", "struct" : rec, "need" : False, "values" :
    28                 [{"name" : "Number of Input 8 bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
    29                 [{"name" : "Number of Input 8 bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
    29                  {"name" : "Interrupt High to Low 0x%X to 0x%X[(sub*8-7,sub*8)]", "type" : 0x05, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    30                  {"name" : "Interrupt High to Low 0x%X to 0x%X[(sub*8-7,sub*8)]", "type" : 0x05, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    30 
    31 
    31 
    32 
    32     0x6020 : {"name" : "Read Input Bit 0x%X to 0x%X[(idx*128-127,idx*128)]", "struct" : plurirec, "incr" : 0x01, "need" : False, "nbmax" : 0x8, "values" :
    33     0x6020 : {"name" : "Read Input Bit 0x%X to 0x%X[(idx*128-127,idx*128)]", "struct" : plurirec, "incr" : 0x01, "need" : False, "nbmax" : 0x8, "values" :
    33                 [{"name" : "Number of Input 1 bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
    34                 [{"name" : "Number of Input 1 bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
    34                  {"name" : "Read Single Input 0x%X[((idx-1)*128+sub)]", "type" : 0x01, "access" : 'rw', "pdo" : True, "nbmax" : 0x80}]},
    35                  {"name" : "Read Single Input 0x%X[((idx-1)*128+sub)]", "type" : 0x01, "access" : 'rw', "pdo" : True, "nbmax" : 0x80}]},
    35     0x6030 : {"name" : "Polarity Input Bit 0x%X to 0x%X[(idx*128-127,idx*128)]", "struct" : plurirec, "incr" : 0x01, "need" : False, "nbmax" : 0x8, "values" :
    36     0x6030 : {"name" : "Polarity Input Bit 0x%X to 0x%X[(idx*128-127,idx*128)]", "struct" : plurirec, "incr" : 0x01, "need" : False, "nbmax" : 0x8, "values" :
    36                 [{"name" : "Number of Input 1 bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
    37                 [{"name" : "Number of Input 1 bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
    37                  {"name" : "Polarity Input bit 0x%X[((idx-1)*128+sub)]", "type" : 0x01, "access" : 'rw', "pdo" : True, "nbmax" : 0x80}]},
    38                  {"name" : "Polarity Input bit 0x%X[((idx-1)*128+sub)]", "type" : 0x01, "access" : 'rw', "pdo" : True, "nbmax" : 0x80}]},
    38     0x6038 : {"name" : "Filter Constant Input Bit 0x%X to 0x%X[(idx*128-127,idx*128)]", "struct" : plurirec, "incr" : 0x01, "need" : False, "nbmax" : 0x8, "values" :
    39     0x6038 : {"name" : "Filter Constant Input Bit 0x%X to 0x%X[(idx*128-127,idx*128)]", "struct" : plurirec, "incr" : 0x01, "need" : False, "nbmax" : 0x8, "values" :
    39                 [{"name" : "Number of Input 1 bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
    40                 [{"name" : "Number of Input 1 bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
    40                  {"name" : "Filter Constant Input bit 0x%X[((idx-1)*128+sub)]", "type" : 0x01, "access" : 'rw', "pdo" : True, "nbmax" : 0x80}]},
    41                  {"name" : "Filter Constant Input bit 0x%X[((idx-1)*128+sub)]", "type" : 0x01, "access" : 'rw', "pdo" : True, "nbmax" : 0x80}]},
    41     0x6050 : {"name" : "Interrupt Mask Input Any Change Bit 0x%X to 0x%X[(idx*128-127,idx*128)]", "struct" : plurirec, "incr" : 0x01, "need" : False, "nbmax" : 0x8, "values" :
    42     0x6050 : {"name" : "Interrupt Mask Input Any Change Bit 0x%X to 0x%X[(idx*128-127,idx*128)]", "struct" : plurirec, "incr" : 0x01, "need" : False, "nbmax" : 0x8, "values" :
    42                 [{"name" : "Number of Input 1 bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
    43                 [{"name" : "Number of Input 1 bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
    43                  {"name" : "Interrupt Mask Any Change Input bit 0x%X[((idx-1)*128+sub)]", "type" : 0x01, "access" : 'rw', "pdo" : True, "nbmax" : 0x80}]},
    44                  {"name" : "Interrupt Mask Any Change Input bit 0x%X[((idx-1)*128+sub)]", "type" : 0x01, "access" : 'rw', "pdo" : True, "nbmax" : 0x80}]},
    44     0x6060 : {"name" : "Interrupt Mask Input Low to High Bit 0x%X to 0x%X[(idx*128-127,idx*128)]", "struct" : plurirec, "incr" : 0x01, "need" : False, "nbmax" : 0x8, "values" :
    45     0x6060 : {"name" : "Interrupt Mask Input Low to High Bit 0x%X to 0x%X[(idx*128-127,idx*128)]", "struct" : plurirec, "incr" : 0x01, "need" : False, "nbmax" : 0x8, "values" :
    45                 [{"name" : "Number of Input 1 bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
    46                 [{"name" : "Number of Input 1 bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
    46                  {"name" : "Interrupt Mask Any Change Input bit 0x%X[((idx-1)*128+sub)]", "type" : 0x01, "access" : 'rw', "pdo" : True, "nbmax" : 0x80}]},
    47                  {"name" : "Interrupt Mask Any Change Input bit 0x%X[((idx-1)*128+sub)]", "type" : 0x01, "access" : 'rw', "pdo" : True, "nbmax" : 0x80}]},
    47     0x6070 : {"name" : "Interrupt Mask Input High  to Low Bit 0x%X to 0x%X[(idx*128-127,idx*128)]", "struct" : plurirec, "incr" : 0x01, "need" : False, "nbmax" : 0x8, "values" :
    48     0x6070 : {"name" : "Interrupt Mask Input High  to Low Bit 0x%X to 0x%X[(idx*128-127,idx*128)]", "struct" : plurirec, "incr" : 0x01, "need" : False, "nbmax" : 0x8, "values" :
    48                 [{"name" : "Number of Input 1 bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
    49                 [{"name" : "Number of Input 1 bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
    49                  {"name" : "Interrupt Mask Any Change Input bit 0x%X[((idx-1)*128+sub)]", "type" : 0x01, "access" : 'rw', "pdo" : True, "nbmax" : 0x80}]},
    50                  {"name" : "Interrupt Mask Any Change Input bit 0x%X[((idx-1)*128+sub)]", "type" : 0x01, "access" : 'rw', "pdo" : True, "nbmax" : 0x80}]},
    50 
    51 
    51 
    52 
    52     0x6100 : {"name" : "Read Inputs 16 Bit", "struct" : rec,  "need" : False, "values" :
    53     0x6100 : {"name" : "Read Inputs 16 Bit", "struct" : rec,  "need" : False, "values" :
    53                 [{"name" : "Number of Input 16 bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
    54                 [{"name" : "Number of Input 16 bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
    54                  {"name" : "Read Inputs 0x%X to 0x%X[(sub*16-15,sub*16)]", "type" : 0x06, "access" : 'ro', "pdo" : True, "nbmax" : 0xFE}]},
    55                  {"name" : "Read Inputs 0x%X to 0x%X[(sub*16-15,sub*16)]", "type" : 0x06, "access" : 'ro', "pdo" : True, "nbmax" : 0xFE}]},
    55     0x6102 : {"name" : "Polarity Input 16 Bit", "struct" : rec, "need" : False, "values" :
    56     0x6102 : {"name" : "Polarity Input 16 Bit", "struct" : rec, "need" : False, "values" :
    56                 [{"name" : "Number of Input 16 bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
    57                 [{"name" : "Number of Input 16 bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
    57                  {"name" : "Polarity Input 0x%X to 0x%X[(sub*16-15,sub*16)]", "type" : 0x06, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    58                  {"name" : "Polarity Input 0x%X to 0x%X[(sub*16-15,sub*16)]", "type" : 0x06, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    58     0x6103 : {"name" : "Filter Constant Input 16 Bit", "struct" : rec, "need" : False, "values" :
    59     0x6103 : {"name" : "Filter Constant Input 16 Bit", "struct" : rec, "need" : False, "values" :
    59                 [{"name" : "Number of Input 16 bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
    60                 [{"name" : "Number of Input 16 bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
    60                  {"name" : "Filter Constant Input 0x%X to 0x%X[(sub*16-15,sub*16)]", "type" : 0x06, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    61                  {"name" : "Filter Constant Input 0x%X to 0x%X[(sub*16-15,sub*16)]", "type" : 0x06, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    61     0x6106 : {"name" : "Interrupt Mask Any Change 16 Bit", "struct" : rec, "need" : False, "values" :
    62     0x6106 : {"name" : "Interrupt Mask Any Change 16 Bit", "struct" : rec, "need" : False, "values" :
    62                 [{"name" : "Number of Input 16 bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
    63                 [{"name" : "Number of Input 16 bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
    63                  {"name" : "Interrupt Any Change 0x%X to 0x%X[(sub*16-15,sub*16)]", "type" : 0x06, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    64                  {"name" : "Interrupt Any Change 0x%X to 0x%X[(sub*16-15,sub*16)]", "type" : 0x06, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    64     0x6107 : {"name" : "Interrupt Mask Low to High 16 Bit", "struct" : rec, "need" : False, "values" :
    65     0x6107 : {"name" : "Interrupt Mask Low to High 16 Bit", "struct" : rec, "need" : False, "values" :
    65                 [{"name" : "Number of Input 16 bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
    66                 [{"name" : "Number of Input 16 bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
    66                  {"name" : "Interrupt Low to High 0x%X to 0x%X[(sub*16-15,sub*16)]", "type" : 0x06, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    67                  {"name" : "Interrupt Low to High 0x%X to 0x%X[(sub*16-15,sub*16)]", "type" : 0x06, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    67     0x6106 : {"name" : "Interrupt Mask High to Low 16 Bit", "struct" : rec, "need" : False, "values" :
    68     0x6106 : {"name" : "Interrupt Mask High to Low 16 Bit", "struct" : rec, "need" : False, "values" :
    68                 [{"name" : "Number of Input 16 bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
    69                 [{"name" : "Number of Input 16 bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
    69                  {"name" : "Interrupt High to Low 0x%X to 0x%X[(sub*16-15,sub*16)]", "type" : 0x06, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    70                  {"name" : "Interrupt High to Low 0x%X to 0x%X[(sub*16-15,sub*16)]", "type" : 0x06, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    70 
    71 
    71 
    72 
    72     0x6120 : {"name" : "Read Input 4 Byte", "struct" : rec, "need" : False, "values" :
    73     0x6120 : {"name" : "Read Input 4 Byte", "struct" : rec, "need" : False, "values" :
    73                 [{"name" : "Number of Input 32 bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
    74                 [{"name" : "Number of Input 32 bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
    74                  {"name" : "Read Input 0x%X to 0x%X[(sub*32-31,sub*32)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0x80}]},
    75                  {"name" : "Read Input 0x%X to 0x%X[(sub*32-31,sub*32)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0x80}]},
    75     0x6122 : {"name" : "Polarity Input 32 Bit", "struct" : rec, "need" : False, "values" :
    76     0x6122 : {"name" : "Polarity Input 32 Bit", "struct" : rec, "need" : False, "values" :
    76                 [{"name" : "Number of Input 32 bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
    77                 [{"name" : "Number of Input 32 bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
    77                  {"name" : "Polarity Input 0x%X to 0x%X[(sub*32-31,sub*32)]", "type" : 0x07, "access" : 'rw', "pdo" : False, "nbmax" : 0xFE}]},
    78                  {"name" : "Polarity Input 0x%X to 0x%X[(sub*32-31,sub*32)]", "type" : 0x07, "access" : 'rw', "pdo" : False, "nbmax" : 0xFE}]},
    78     0x6123 : {"name" : "Filter Constant Input 32 Bit", "struct" : rec, "need" : False, "values" :
    79     0x6123 : {"name" : "Filter Constant Input 32 Bit", "struct" : rec, "need" : False, "values" :
    79                 [{"name" : "Number of Input 32 bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
    80                 [{"name" : "Number of Input 32 bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
    80                  {"name" : "Polarity Input  0x%X to 0x%X[(sub*32-31,sub*32)]", "type" : 0x07, "access" : 'rw', "pdo" : False, "nbmax" : 0xFE}]},
    81                  {"name" : "Polarity Input  0x%X to 0x%X[(sub*32-31,sub*32)]", "type" : 0x07, "access" : 'rw', "pdo" : False, "nbmax" : 0xFE}]},
    81     0x6126 : {"name" : "Interrupt Mask Input Any Change 32 Bit", "struct" : rec, "need" : False, "values" :
    82     0x6126 : {"name" : "Interrupt Mask Input Any Change 32 Bit", "struct" : rec, "need" : False, "values" :
    82                 [{"name" : "Number of Input 32 bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
    83                 [{"name" : "Number of Input 32 bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
    83                  {"name" : "Interrupt Any Change Input 0x%X to 0x%X[(sub*32-31,sub*32)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    84                  {"name" : "Interrupt Any Change Input 0x%X to 0x%X[(sub*32-31,sub*32)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    84     0x6127 : {"name" : "Interrupt Mask Input Low to High 32 Bit", "struct" : rec, "need" : False, "values" :
    85     0x6127 : {"name" : "Interrupt Mask Input Low to High 32 Bit", "struct" : rec, "need" : False, "values" :
    85                 [{"name" : "Number of Input 32 bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
    86                 [{"name" : "Number of Input 32 bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
    86                  {"name" : "Interrupt Low to High Input  0x%X to 0x%X[(sub*32-31,sub*32)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    87                  {"name" : "Interrupt Low to High Input  0x%X to 0x%X[(sub*32-31,sub*32)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    87     0x6128 : {"name" : "Interrupt Mask Input High to Low 32 Bit", "struct" : rec, "need" : False, "values" :
    88     0x6128 : {"name" : "Interrupt Mask Input High to Low 32 Bit", "struct" : rec, "need" : False, "values" :
    88                 [{"name" : "Number of Input 32 bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
    89                 [{"name" : "Number of Input 32 bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
    89                  {"name" : "Interrupt High to Low Input 0x%X to 0x%X[(sub*32-31,sub*32)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    90                  {"name" : "Interrupt High to Low Input 0x%X to 0x%X[(sub*32-31,sub*32)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    90 
    91 
    91 
    92 
    92     0x6200 : {"name" : "Write Outputs 8 Bit", "struct" : rec, "need" : False, "values" :
    93     0x6200 : {"name" : "Write Outputs 8 Bit", "struct" : rec, "need" : False, "values" :
    93                 [{"name" : "Number of Output 8 Bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
    94                 [{"name" : "Number of Output 8 Bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
    94                  {"name" : "Write Outputs 0x%X to 0x%X[(sub*8-7,sub*8)]", "type" : 0x05, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    95                  {"name" : "Write Outputs 0x%X to 0x%X[(sub*8-7,sub*8)]", "type" : 0x05, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    95     0x6202 : {"name" : "Change Polarity Outputs 8 Bit", "struct" : rec, "need" : False, "values" :
    96     0x6202 : {"name" : "Change Polarity Outputs 8 Bit", "struct" : rec, "need" : False, "values" :
    96                 [{"name" : "Number of Output 8 Bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
    97                 [{"name" : "Number of Output 8 Bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
    97                  {"name" : "Change Polarity Outputs 0x%X to 0x%X[(sub*8-7,sub*8)]", "type" : 0x05, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    98                  {"name" : "Change Polarity Outputs 0x%X to 0x%X[(sub*8-7,sub*8)]", "type" : 0x05, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
    98     0x6206 : {"name" : "Error Mode Outputs 8 Bit", "struct" : rec, "need" : False, "values" :
    99     0x6206 : {"name" : "Error Mode Outputs 8 Bit", "struct" : rec, "need" : False, "values" :
    99                 [{"name" : "Number of Output 8 Bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
   100                 [{"name" : "Number of Output 8 Bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
   100                  {"name" : "Error Mode Outputs 0x%X to 0x%X[(sub*8-7,sub*8)]", "type" : 0x05, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   101                  {"name" : "Error Mode Outputs 0x%X to 0x%X[(sub*8-7,sub*8)]", "type" : 0x05, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   101     0x6207 : {"name" : "Error Value Outputs 8 Bit", "struct" : rec, "need" : False, "values" :
   102     0x6207 : {"name" : "Error Value Outputs 8 Bit", "struct" : rec, "need" : False, "values" :
   102                 [{"name" : "Number of Output 8 Bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
   103                 [{"name" : "Number of Output 8 Bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
   103                  {"name" : "Error Value Outputs 0x%X to 0x%X[(sub*8-7,sub*8)]", "type" : 0x05, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   104                  {"name" : "Error Value Outputs 0x%X to 0x%X[(sub*8-7,sub*8)]", "type" : 0x05, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   104     0x6208 : {"name" : "Filter Mask Outputs 8 Bit", "struct" : rec, "need" : False, "values" :
   105     0x6208 : {"name" : "Filter Mask Outputs 8 Bit", "struct" : rec, "need" : False, "values" :
   105                 [{"name" : "Number of Output 8 Bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
   106                 [{"name" : "Number of Output 8 Bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
   106                 {"name" : "Filter Mask Outputs 0x%X to 0x%X[(sub*8-7,sub*8)]", "type" : 0x05, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   107                 {"name" : "Filter Mask Outputs 0x%X to 0x%X[(sub*8-7,sub*8)]", "type" : 0x05, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   107 
   108 
   108 
   109 
   109     0x6220 : {"name" : "Write Outputs Bit %d to %d[(idx*128-127,idx*128)]", "struct" : plurirec, "incr" : 0x01,  "need" : False, "nbmax" : 0x08, "values" :
   110     0x6220 : {"name" : "Write Outputs Bit %d to %d[(idx*128-127,idx*128)]", "struct" : plurirec, "incr" : 0x01,  "need" : False, "nbmax" : 0x08, "values" :
   110                 [{"name" : "Number of Output 1 Bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
   111                 [{"name" : "Number of Output 1 Bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
   111                  {"name" : "Write Outputs 0x%X[((idx-1)*128+sub)]", "type" : 0x01, "access" : 'rw', "pdo" : True, "nbmax" : 0x80}]},
   112                  {"name" : "Write Outputs 0x%X[((idx-1)*128+sub)]", "type" : 0x01, "access" : 'rw', "pdo" : True, "nbmax" : 0x80}]},
   112     0x6240 : {"name" : "Change Polarity Outputs Bit %d to %d[(idx*128-127,idx*128)]", "struct" : plurirec, "incr" : 0x01,  "need" : False, "nbmax" : 0x08, "values" :
   113     0x6240 : {"name" : "Change Polarity Outputs Bit %d to %d[(idx*128-127,idx*128)]", "struct" : plurirec, "incr" : 0x01,  "need" : False, "nbmax" : 0x08, "values" :
   113                 [{"name" : "Number of Output 1 Bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
   114                 [{"name" : "Number of Output 1 Bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
   114                  {"name" : "Write Outputs 0x%X[((idx-1)*128+sub)]", "type" : 0x01, "access" : 'rw', "pdo" : True, "nbmax" : 0x80}]},
   115                  {"name" : "Write Outputs 0x%X[((idx-1)*128+sub)]", "type" : 0x01, "access" : 'rw', "pdo" : True, "nbmax" : 0x80}]},
   115     0x6250 : {"name" : "Error Mode Outputs Lines %d to %d[(idx*128-127,idx*128)]", "struct" : plurirec, "incr" : 0x01,  "need" : False, "nbmax" : 0x08, "values" :
   116     0x6250 : {"name" : "Error Mode Outputs Lines %d to %d[(idx*128-127,idx*128)]", "struct" : plurirec, "incr" : 0x01,  "need" : False, "nbmax" : 0x08, "values" :
   116                 [{"name" : "Number of Output 1 Bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
   117                 [{"name" : "Number of Output 1 Bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
   117                  {"name" : "Error Mode Outputs 0x%X[((idx-1)*128+sub)]", "type" : 0x01, "access" : 'rw', "pdo" : True, "nbmax" : 0x80}]},
   118                  {"name" : "Error Mode Outputs 0x%X[((idx-1)*128+sub)]", "type" : 0x01, "access" : 'rw', "pdo" : True, "nbmax" : 0x80}]},
   118     0x6260 : {"name" : "Error Value Outputs Lines %d to %d[(idx*128-127,idx*128)]", "struct" : plurirec, "incr" : 0x01,  "need" : False, "nbmax" : 0x08, "values" :
   119     0x6260 : {"name" : "Error Value Outputs Lines %d to %d[(idx*128-127,idx*128)]", "struct" : plurirec, "incr" : 0x01,  "need" : False, "nbmax" : 0x08, "values" :
   119                 [{"name" : "Number of Output 1 Bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
   120                 [{"name" : "Number of Output 1 Bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
   120                  {"name" : "Error Value Outputs 0x%X[((idx-1)*128+sub)]", "type" : 0x01, "access" : 'rw', "pdo" : True, "nbmax" : 0x80}]},
   121                  {"name" : "Error Value Outputs 0x%X[((idx-1)*128+sub)]", "type" : 0x01, "access" : 'rw', "pdo" : True, "nbmax" : 0x80}]},
   121     0x6270 : {"name" : "Filter Constant Outputs Lines %d to %d[(idx*128-127,idx*128)]", "struct" : plurirec, "incr" : 0x01,  "need" : False, "nbmax" : 0x08, "values" :
   122     0x6270 : {"name" : "Filter Constant Outputs Lines %d to %d[(idx*128-127,idx*128)]", "struct" : plurirec, "incr" : 0x01,  "need" : False, "nbmax" : 0x08, "values" :
   122                 [{"name" : "Number of Output 1 Bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
   123                 [{"name" : "Number of Output 1 Bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
   123                  {"name" : "Filter Constant Outputs 0x%X[((idx-1)*128+sub)]", "type" : 0x01, "access" : 'rw', "pdo" : True, "nbmax" : 0x80}]},
   124                  {"name" : "Filter Constant Outputs 0x%X[((idx-1)*128+sub)]", "type" : 0x01, "access" : 'rw', "pdo" : True, "nbmax" : 0x80}]},
   124 
   125 
   125 
   126 
   126     0x6300 : {"name" : "Write Outputs 16 Bit", "struct" : rec, "need" : False, "values" :
   127     0x6300 : {"name" : "Write Outputs 16 Bit", "struct" : rec, "need" : False, "values" :
   127                 [{"name" : "Number of Output 16 Bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
   128                 [{"name" : "Number of Output 16 Bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
   128                  {"name" : "Write Outputs 0x%X to 0x%X[(sub*16-15,sub*16)]", "type" : 0x06, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   129                  {"name" : "Write Outputs 0x%X to 0x%X[(sub*16-15,sub*16)]", "type" : 0x06, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   129     0x6302 : {"name" : "Change Polarity Outputs 16 Bit", "struct" : rec, "need" : False, "values" :
   130     0x6302 : {"name" : "Change Polarity Outputs 16 Bit", "struct" : rec, "need" : False, "values" :
   130                 [{"name" : "Number of Output 16 Bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
   131                 [{"name" : "Number of Output 16 Bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
   131                  {"name" : "Change Polarity Outputs 0x%X to 0x%X[(sub*16-15,sub*16)]", "type" : 0x06, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   132                  {"name" : "Change Polarity Outputs 0x%X to 0x%X[(sub*16-15,sub*16)]", "type" : 0x06, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   132     0x6306 : {"name" : "Error Mode Outputs 16 Bit", "struct" : rec, "need" : False, "values" :
   133     0x6306 : {"name" : "Error Mode Outputs 16 Bit", "struct" : rec, "need" : False, "values" :
   133                 [{"name" : "Number of Output 16 Bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
   134                 [{"name" : "Number of Output 16 Bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
   134                  {"name" : "Error Mode Outputs 0x%X to 0x%X[(sub*16-15,sub*16)]", "type" : 0x06, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   135                  {"name" : "Error Mode Outputs 0x%X to 0x%X[(sub*16-15,sub*16)]", "type" : 0x06, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   135     0x6307 : {"name" : "Error Value Outputs 16 Bit", "struct" : rec, "need" : False, "values" :
   136     0x6307 : {"name" : "Error Value Outputs 16 Bit", "struct" : rec, "need" : False, "values" :
   136                 [{"name" : "Number of Output 16 Bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
   137                 [{"name" : "Number of Output 16 Bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
   137                  {"name" : "Error Value Outputs 0x%X to 0x%X[(sub*16-15,sub*16)]", "type" : 0x06, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   138                  {"name" : "Error Value Outputs 0x%X to 0x%X[(sub*16-15,sub*16)]", "type" : 0x06, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   138     0x6308 : {"name" : "Filter Mask Outputs 16 Bit", "struct" : rec, "need" : False, "values" :
   139     0x6308 : {"name" : "Filter Mask Outputs 16 Bit", "struct" : rec, "need" : False, "values" :
   139                 [{"name" : "Number of Output 16 Bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
   140                 [{"name" : "Number of Output 16 Bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
   140                  {"name" : "Filter Mask Outputs 0x%X to 0x%X[(sub*16-15,sub*16)]", "type" : 0x06, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   141                  {"name" : "Filter Mask Outputs 0x%X to 0x%X[(sub*16-15,sub*16)]", "type" : 0x06, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   141 
   142 
   142     0x6320 : {"name" : "Write Output 32 Bit", "struct" : rec, "need" : False, "values" :
   143     0x6320 : {"name" : "Write Output 32 Bit", "struct" : rec, "need" : False, "values" :
   143                 [{"name" : "Number of Output 32 Bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
   144                 [{"name" : "Number of Output 32 Bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
   144                  {"name" : "Write Outputs 0x%X to 0x%X[(sub*32-31,sub*32)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   145                  {"name" : "Write Outputs 0x%X to 0x%X[(sub*32-31,sub*32)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   145     0x6322 : {"name" : "Change Polarity Outputs 32 Bit", "struct" : rec, "need" : False, "values" :
   146     0x6322 : {"name" : "Change Polarity Outputs 32 Bit", "struct" : rec, "need" : False, "values" :
   146                 [{"name" : "Number of Output 32 Bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
   147                 [{"name" : "Number of Output 32 Bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
   147                  {"name" : "Polarity Outputs 0x%X to 0x%X[(sub*32-31,sub*32)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   148                  {"name" : "Polarity Outputs 0x%X to 0x%X[(sub*32-31,sub*32)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   148     0x6326 : {"name" : "Error Mode Outputs 32 Bit", "struct" : rec, "need" : False, "values" :
   149     0x6326 : {"name" : "Error Mode Outputs 32 Bit", "struct" : rec, "need" : False, "values" :
   149                 [{"name" : "Number of Output 32 Bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
   150                 [{"name" : "Number of Output 32 Bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
   150                  {"name" : "Error Mode Outputs 0x%X to 0x%X[(sub*32-31,sub*32)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   151                  {"name" : "Error Mode Outputs 0x%X to 0x%X[(sub*32-31,sub*32)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   151     0x6327 : {"name" : "Error Value Outputs 32 Bit", "struct" : rec, "need" : False, "values" :
   152     0x6327 : {"name" : "Error Value Outputs 32 Bit", "struct" : rec, "need" : False, "values" :
   152                 [{"name" : "Number of Output 32 Bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
   153                 [{"name" : "Number of Output 32 Bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
   153                  {"name" : "Error Value Outputs 0x%X to 0x%X[(sub*32-31,sub*32)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   154                  {"name" : "Error Value Outputs 0x%X to 0x%X[(sub*32-31,sub*32)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   154     0x6328 : {"name" : "Filter Mask Outputs 32 Bit", "struct" : rec, "need" : False, "values" :
   155     0x6328 : {"name" : "Filter Mask Outputs 32 Bit", "struct" : rec, "need" : False, "values" :
   155                 [{"name" : "Number of Output 32 Bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
   156                 [{"name" : "Number of Output 32 Bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
   156                  {"name" : "Filter Mask Outputs 0x%X to 0x%X[(sub*32-31,sub*32)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   157                  {"name" : "Filter Mask Outputs 0x%X to 0x%X[(sub*32-31,sub*32)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   157 
   158 
   158 
   159 
   159     0x6400 : {"name" : "Read Analogue Input 8 Bit", "struct" : rec, "need" : False, "values" :
   160     0x6400 : {"name" : "Read Analogue Input 8 Bit", "struct" : rec, "need" : False, "values" :
   160                 [{"name" : "Number of Analogue Input 8 Bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
   161                 [{"name" : "Number of Analogue Input 8 Bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
   161                 {"name" : "Analogue Input %d[(sub)]", "type" : 0x05, "access" : 'ro', "pdo" : True, "nbmax" : 0xFE}]},
   162                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x02, "access" : 'ro', "pdo" : True, "nbmax" : 0xFE}]},
   162     0x6401 : {"name" : "Read Analogue Input 16 Bit", "struct" : rec, "need" : False, "values" :
   163     0x6401 : {"name" : "Read Analogue Input 16 Bit", "struct" : rec, "need" : False, "values" :
   163                 [{"name" : "Number of Analogue Input 16 Bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
   164                 [{"name" : "Number of Analogue Input 16 Bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
   164                 {"name" : "Analogue Input %d[(sub)]", "type" : 0x06, "access" : 'ro', "pdo" : True, "nbmax" : 0xFE}]},
   165                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x03, "access" : 'ro', "pdo" : True, "nbmax" : 0xFE}]},
   165     0x6402 : {"name" : "Read Analogue Input 32 Bit", "struct" : rec, "need" : False, "values" :
   166     0x6402 : {"name" : "Read Analogue Input 32 Bit", "struct" : rec, "need" : False, "values" :
   166                 [{"name" : "Number of Analogue Input 32 Bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
   167                 [{"name" : "Number of Analogue Input 32 Bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
   167                 {"name" : "Analogue Input %d[(sub)]", "type" : 0x07, "access" : 'ro', "pdo" : True, "nbmax" : 0xFE}]},
   168                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x04, "access" : 'ro', "pdo" : True, "nbmax" : 0xFE}]},
   168     0x6403 : {"name" : "Read Analogue Input Float", "struct" : rec, "need" : False, "values" :
   169     0x6403 : {"name" : "Read Analogue Input Float", "struct" : rec, "need" : False, "values" :
   169                 [{"name" : "Number of Analogue Input Float", "type" : 0x02, "access" : 'ro', "pdo" : False},
   170                 [{"name" : "Number of Analogue Input Float", "type" : 0x05, "access" : 'ro', "pdo" : False},
   170                 {"name" : "Analogue Input %d[(sub)]", "type" : 0x08, "access" : 'ro', "pdo" : True, "nbmax" : 0xFE}]},
   171                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x08, "access" : 'ro', "pdo" : True, "nbmax" : 0xFE}]},
   171     0x6404 : {"name" : "Read Manufacturer specific Analogue Input", "struct" : rec, "need" : False, "values" :
   172     0x6404 : {"name" : "Read Manufacturer specific Analogue Input", "struct" : rec, "need" : False, "values" :
   172                 [{"name" : "Number of Analogue Input", "type" : 0x02, "access" : 'ro', "pdo" : False},
   173                 [{"name" : "Number of Analogue Input", "type" : 0x05, "access" : 'ro', "pdo" : False},
   173                 {"name" : "Analogue Input %d[(sub)]", "type" : 0x11, "access" : 'ro', "pdo" : True, "nbmax" : 0xFE}]},
   174                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x11, "access" : 'ro', "pdo" : True, "nbmax" : 0xFE}]},
   174 
   175 
   175 
   176 
   176     0x6410 : {"name" : "Write Analogue Output 8 Bit", "struct" : rec, "need" : False, "values" :
   177     0x6410 : {"name" : "Write Analogue Output 8 Bit", "struct" : rec, "need" : False, "values" :
   177                 [{"name" : "Number of Analogue Input 8 Bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
   178                 [{"name" : "Number of Analogue Input 8 Bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
   178                 {"name" : "Analogue Input %d[(sub)]", "type" : 0x05, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   179                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x02, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   179     0x6411 : {"name" : "Write Analogue Output 16 Bit", "struct" : rec, "need" : False, "values" :
   180     0x6411 : {"name" : "Write Analogue Output 16 Bit", "struct" : rec, "need" : False, "values" :
   180                 [{"name" : "Number of Analogue Input 16 Bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
   181                 [{"name" : "Number of Analogue Input 16 Bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
   181                 {"name" : "Analogue Output %d[(sub)]", "type" : 0x06, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   182                  {"name" : "Analogue Output %d[(sub)]", "type" : 0x03, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   182     0x6412 : {"name" : "Write Analogue Output 32 Bit", "struct" : rec, "need" : False, "values" :
   183     0x6412 : {"name" : "Write Analogue Output 32 Bit", "struct" : rec, "need" : False, "values" :
   183                 [{"name" : "Number of Analogue Outputs 32 Bit", "type" : 0x02, "access" : 'ro', "pdo" : False},
   184                 [{"name" : "Number of Analogue Outputs 32 Bit", "type" : 0x05, "access" : 'ro', "pdo" : False},
   184                 {"name" : "Analogue Output %d[(sub)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   185                  {"name" : "Analogue Output %d[(sub)]", "type" : 0x04, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   185     0x6413 : {"name" : "Write Analogue Output Float", "struct" : rec, "need" : False, "values" :
   186     0x6413 : {"name" : "Write Analogue Output Float", "struct" : rec, "need" : False, "values" :
   186                 [{"name" : "Number of Analogue Outputs Float", "type" : 0x02, "access" : 'ro', "pdo" : False},
   187                 [{"name" : "Number of Analogue Outputs Float", "type" : 0x05, "access" : 'ro', "pdo" : False},
   187                 {"name" : "Analogue Output %d[(sub)]", "type" : 0x08, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   188                  {"name" : "Analogue Output %d[(sub)]", "type" : 0x08, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   188     0x6414 : {"name" : "Write Manufacturer specific Analogue Output", "struct" : rec, "need" : False, "values" :
   189     0x6414 : {"name" : "Write Manufacturer specific Analogue Output", "struct" : rec, "need" : False, "values" :
   189                 [{"name" : "Number of Analogue Outputs", "type" : 0x02, "access" : 'ro', "pdo" : False},
   190                 [{"name" : "Number of Analogue Outputs", "type" : 0x05, "access" : 'ro', "pdo" : False},
   190                 {"name" : "Analogue Output %d[(sub)]", "type" : 0x11, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   191                  {"name" : "Analogue Output %d[(sub)]", "type" : 0x11, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   191 
   192 
   192 
   193 
   193     0x6421 : {"name" : "Interrupt Trigger Selection", "struct" : rec, "need" : False, "values" :
   194     0x6421 : {"name" : "Interrupt Trigger Selection", "struct" : rec, "need" : False, "values" :
   194                 [{"name" : "Number of Analogue Inputs", "type" : 0x02, "access" : 'ro', "pdo" : False},
   195                 [{"name" : "Number of Analogue Inputs", "type" : 0x05, "access" : 'ro', "pdo" : False},
   195                  {"name" : "Analog Inputs 0x%X[(sub)]", "type" : 0x05, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   196                  {"name" : "Analog Inputs 0x%X[(sub)]", "type" : 0x05, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   196     0x6422 : {"name" : "Analogue Input Interrupt Source", "struct" : rec, "need" : False, "values" :
   197     0x6422 : {"name" : "Analogue Input Interrupt Source", "struct" : rec, "need" : False, "values" :
   197                 [{"name" : "Number of Interrupt Source Bank", "type" : 0x02, "access" : 'ro', "pdo" : False},
   198                 [{"name" : "Number of Interrupt Source Bank", "type" : 0x05, "access" : 'ro', "pdo" : False},
   198                  {"name" : "Interrupt Source Bank 0x%X[(sub)]", "type" : 0x07, "access" : 'ro', "pdo" : True, "nbmax" : 0xFE}]},
   199                  {"name" : "Interrupt Source Bank 0x%X[(sub)]", "type" : 0x07, "access" : 'ro', "pdo" : True, "nbmax" : 0xFE}]},
   199 
   200 
   200     0x6423 : {"name" : "Analogue Input Global Interrupt Enable", "struct" : var, "need" : False, "values" :
   201     0x6423 : {"name" : "Analogue Input Global Interrupt Enable", "struct" : var, "need" : False, "values" :
   201                  [{"name" : "Analogue Input Global Interrupt Enable", "type" : 0x01, "access" : 'rw', "pdo" : True}]},
   202                  [{"name" : "Analogue Input Global Interrupt Enable", "type" : 0x01, "access" : 'rw', "pdo" : True}]},
   202 
   203 
   203     0x6424 : {"name" : "Analogue Input Interrupt Upper Limit Interger", "struct" : rec, "need" : False, "values" :
   204     0x6424 : {"name" : "Analogue Input Interrupt Upper Limit Interger", "struct" : rec, "need" : False, "values" :
   204                 [{"name" : "Number of Analogue Inputs", "type" : 0x02, "access" : 'ro', "pdo" : False},
   205                 [{"name" : "Number of Analogue Inputs", "type" : 0x05, "access" : 'ro', "pdo" : False},
   205                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   206                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x04, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   206     0x6425 : {"name" : "Analogue Input Interrupt Lower Limit Interger", "struct" : rec, "need" : False, "values" :
   207     0x6425 : {"name" : "Analogue Input Interrupt Lower Limit Interger", "struct" : rec, "need" : False, "values" :
   207                 [{"name" : "Number of Analogue Inputs", "type" : 0x02, "access" : 'ro', "pdo" : False},
   208                 [{"name" : "Number of Analogue Inputs", "type" : 0x05, "access" : 'ro', "pdo" : False},
   208                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   209                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x04, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   209     0x6426 : {"name" : "Analogue Input Interrupt Delta Unsigned", "struct" : rec, "need" : False, "values" :
   210     0x6426 : {"name" : "Analogue Input Interrupt Delta Unsigned", "struct" : rec, "need" : False, "values" :
   210                 [{"name" : "Number of Analogue Inputs", "type" : 0x02, "access" : 'ro', "pdo" : False},
   211                 [{"name" : "Number of Analogue Inputs", "type" : 0x05, "access" : 'ro', "pdo" : False},
   211                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   212                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   212     0x6427 : {"name" : "Analogue Input Interrupt Negative Delta Unsigned", "struct" : rec, "need" : False, "values" :
   213     0x6427 : {"name" : "Analogue Input Interrupt Negative Delta Unsigned", "struct" : rec, "need" : False, "values" :
   213                 [{"name" : "Number of Analogue Inputs", "type" : 0x02, "access" : 'ro', "pdo" : False},
   214                 [{"name" : "Number of Analogue Inputs", "type" : 0x05, "access" : 'ro', "pdo" : False},
   214                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   215                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   215     0x6428 : {"name" : "Analogue Input Interrupt Positive Delta Unsigned", "struct" : rec, "need" : False, "values" :
   216     0x6428 : {"name" : "Analogue Input Interrupt Positive Delta Unsigned", "struct" : rec, "need" : False, "values" :
   216                 [{"name" : "Number of Analogue Inputs", "type" : 0x02, "access" : 'ro', "pdo" : False},
   217                 [{"name" : "Number of Analogue Inputs", "type" : 0x05, "access" : 'ro', "pdo" : False},
   217                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   218                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   218     0x6429 : {"name" : "Analogue Input Interrupt Upper Limit Float", "struct" : rec, "need" : False, "values" :
   219     0x6429 : {"name" : "Analogue Input Interrupt Upper Limit Float", "struct" : rec, "need" : False, "values" :
   219                 [{"name" : "Number of Analogue Inputs", "type" : 0x02, "access" : 'ro', "pdo" : False},
   220                 [{"name" : "Number of Analogue Inputs", "type" : 0x05, "access" : 'ro', "pdo" : False},
   220                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x08, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   221                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x08, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   221     0x642A : {"name" : "Analogue Input Interrupt Lower Limit Float", "struct" : rec, "need" : False, "values" :
   222     0x642A : {"name" : "Analogue Input Interrupt Lower Limit Float", "struct" : rec, "need" : False, "values" :
   222                 [{"name" : "Number of Analogue Inputs", "type" : 0x02, "access" : 'ro', "pdo" : False},
   223                 [{"name" : "Number of Analogue Inputs", "type" : 0x05, "access" : 'ro', "pdo" : False},
   223                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x08, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   224                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x08, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   224     0x642B : {"name" : "Analogue Input Interrupt Delta Float", "struct" : rec, "need" : False, "values" :
   225     0x642B : {"name" : "Analogue Input Interrupt Delta Float", "struct" : rec, "need" : False, "values" :
   225                 [{"name" : "Number of Analogue Inputs", "type" : 0x02, "access" : 'ro', "pdo" : False},
   226                 [{"name" : "Number of Analogue Inputs", "type" : 0x05, "access" : 'ro', "pdo" : False},
   226                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x08, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   227                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x08, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   227     0x642C : {"name" : "Analogue Input Interrupt Negative Delta Float", "struct" : rec, "need" : False, "values" :
   228     0x642C : {"name" : "Analogue Input Interrupt Negative Delta Float", "struct" : rec, "need" : False, "values" :
   228                 [{"name" : "Number of Analogue Inputs", "type" : 0x02, "access" : 'ro', "pdo" : False},
   229                 [{"name" : "Number of Analogue Inputs", "type" : 0x05, "access" : 'ro', "pdo" : False},
   229                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x08, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   230                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x08, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   230     0x642D : {"name" : "Analogue Input Interrupt Positive Delta Float", "struct" : rec, "need" : False, "values" :
   231     0x642D : {"name" : "Analogue Input Interrupt Positive Delta Float", "struct" : rec, "need" : False, "values" :
   231                 [{"name" : "Number of Analogue Inputs", "type" : 0x02, "access" : 'ro', "pdo" : False},
   232                 [{"name" : "Number of Analogue Inputs", "type" : 0x05, "access" : 'ro', "pdo" : False},
   232                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x08, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   233                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x08, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   233     0x642E : {"name" : "Analogue Input Offset Float", "struct" : rec, "need" : False, "values" :
   234     0x642E : {"name" : "Analogue Input Offset Float", "struct" : rec, "need" : False, "values" :
   234                 [{"name" : "Number of Analogue Inputs", "type" : 0x02, "access" : 'ro', "pdo" : False},
   235                 [{"name" : "Number of Analogue Inputs", "type" : 0x05, "access" : 'ro', "pdo" : False},
   235                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x08, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   236                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x08, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   236     0x642F : {"name" : "Analogue Input Scaling Float", "struct" : rec, "need" : False, "values" :
   237     0x642F : {"name" : "Analogue Input Scaling Float", "struct" : rec, "need" : False, "values" :
   237                 [{"name" : "Number of Analogue Inputs", "type" : 0x02, "access" : 'ro', "pdo" : False},
   238                 [{"name" : "Number of Analogue Inputs", "type" : 0x05, "access" : 'ro', "pdo" : False},
   238                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x08, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   239                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x08, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   239     0x6430 : {"name" : "Analogue Input SI unit", "struct" : rec, "need" : False, "values" :
   240     0x6430 : {"name" : "Analogue Input SI unit", "struct" : rec, "need" : False, "values" :
   240                 [{"name" : "Number of Analogue Inputs", "type" : 0x02, "access" : 'ro', "pdo" : False},
   241                 [{"name" : "Number of Analogue Inputs", "type" : 0x05, "access" : 'ro', "pdo" : False},
   241                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   242                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   242     0x6431 : {"name" : "Analogue Input Offset Integer", "struct" : rec, "need" : False, "values" :
   243     0x6431 : {"name" : "Analogue Input Offset Integer", "struct" : rec, "need" : False, "values" :
   243                 [{"name" : "Number of Analogue Inputs", "type" : 0x02, "access" : 'ro', "pdo" : False},
   244                 [{"name" : "Number of Analogue Inputs", "type" : 0x05, "access" : 'ro', "pdo" : False},
   244                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   245                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x04, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   245     0x6432 : {"name" : "Analogue Input Scaling Integer", "struct" : rec, "need" : False, "values" :
   246     0x6432 : {"name" : "Analogue Input Scaling Integer", "struct" : rec, "need" : False, "values" :
   246                 [{"name" : "Number of Analogue Inputs", "type" : 0x02, "access" : 'ro', "pdo" : False},
   247                 [{"name" : "Number of Analogue Inputs", "type" : 0x05, "access" : 'ro', "pdo" : False},
   247                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   248                  {"name" : "Analogue Input %d[(sub)]", "type" : 0x04, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   248 
   249 
   249 
   250 
   250     0x6441 : {"name" : "Analogue Output Offset Float", "struct" : rec, "need" : False, "values" :
   251     0x6441 : {"name" : "Analogue Output Offset Float", "struct" : rec, "need" : False, "values" :
   251                 [{"name" : "Number of Analogue Outputs", "type" : 0x02, "access" : 'ro', "pdo" : False},
   252                 [{"name" : "Number of Analogue Outputs", "type" : 0x05, "access" : 'ro', "pdo" : False},
   252                  {"name" : "Analogue Output %d[(sub)]", "type" : 0x08, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   253                  {"name" : "Analogue Output %d[(sub)]", "type" : 0x08, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   253     0x6442 : {"name" : "Analogue Output Scaling Float", "struct" : rec, "need" : False, "values" :
   254     0x6442 : {"name" : "Analogue Output Scaling Float", "struct" : rec, "need" : False, "values" :
   254                 [{"name" : "Number of Analogue Outputs", "type" : 0x02, "access" : 'ro', "pdo" : False},
   255                 [{"name" : "Number of Analogue Outputs", "type" : 0x05, "access" : 'ro', "pdo" : False},
   255                  {"name" : "Analogue Output %d[(sub)]", "type" : 0x08, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   256                  {"name" : "Analogue Output %d[(sub)]", "type" : 0x08, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   256     0x6443 : {"name" : "Analogue Output Error Mode", "struct" : rec, "need" : False, "values" :
   257     0x6443 : {"name" : "Analogue Output Error Mode", "struct" : rec, "need" : False, "values" :
   257                 [{"name" : "Number of Analogue Outputs", "type" : 0x02, "access" : 'ro', "pdo" : False},
   258                 [{"name" : "Number of Analogue Outputs", "type" : 0x05, "access" : 'ro', "pdo" : False},
   258                  {"name" : "Error Mode Analogue Output %d[(sub)]", "type" : 0x05, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   259                  {"name" : "Error Mode Analogue Output %d[(sub)]", "type" : 0x05, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   259     0x6444 : {"name" : "Analogue Output Error Value Integer", "struct" : rec, "need" : False, "values" :
   260     0x6444 : {"name" : "Analogue Output Error Value Integer", "struct" : rec, "need" : False, "values" :
   260                 [{"name" : "Number of Analogue Outputs", "type" : 0x02, "access" : 'ro', "pdo" : False},
   261                 [{"name" : "Number of Analogue Outputs", "type" : 0x05, "access" : 'ro', "pdo" : False},
   261                  {"name" : "Analogue Output %d[(sub)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   262                  {"name" : "Analogue Output %d[(sub)]", "type" : 0x04, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   262     0x6445 : {"name" : "Analogue Output Error Value Float", "struct" : rec, "need" : False, "values" :
   263     0x6445 : {"name" : "Analogue Output Error Value Float", "struct" : rec, "need" : False, "values" :
   263                 [{"name" : "Number of Analogue Outputs", "type" : 0x02, "access" : 'ro', "pdo" : False},
   264                 [{"name" : "Number of Analogue Outputs", "type" : 0x05, "access" : 'ro', "pdo" : False},
   264                  {"name" : "Analogue Output %d[(sub)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   265                  {"name" : "Analogue Output %d[(sub)]", "type" : 0x08, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   265     0x6446 : {"name" : "Analogue Output Offset Integer", "struct" : rec, "need" : False, "values" :
   266     0x6446 : {"name" : "Analogue Output Offset Integer", "struct" : rec, "need" : False, "values" :
   266                 [{"name" : "Number of Analogue Outputs", "type" : 0x02, "access" : 'ro', "pdo" : False},
   267                 [{"name" : "Number of Analogue Outputs", "type" : 0x05, "access" : 'ro', "pdo" : False},
   267                  {"name" : "Analogue Output %d[(sub)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   268                  {"name" : "Analogue Output %d[(sub)]", "type" : 0x04, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   268     0x6447 : {"name" : "Analogue Output Scaling Integer", "struct" : rec, "need" : False, "values" :
   269     0x6447 : {"name" : "Analogue Output Scaling Integer", "struct" : rec, "need" : False, "values" :
   269                 [{"name" : "Number of Analogue Outputs", "type" : 0x02, "access" : 'ro', "pdo" : False},
   270                 [{"name" : "Number of Analogue Outputs", "type" : 0x05, "access" : 'ro', "pdo" : False},
   270                  {"name" : "Analogue Output %d[(sub)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   271                  {"name" : "Analogue Output %d[(sub)]", "type" : 0x04, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]},
   271     0x6450 : {"name" : "Analogue Output SI Unit", "struct" : rec, "need" : False, "values" :
   272     0x6450 : {"name" : "Analogue Output SI Unit", "struct" : rec, "need" : False, "values" :
   272                 [{"name" : "Number of Analogue Outputs", "type" : 0x02, "access" : 'ro', "pdo" : False},
   273                 [{"name" : "Number of Analogue Outputs", "type" : 0x05, "access" : 'ro', "pdo" : False},
   273                  {"name" : "Analogue Output %d[(sub)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]}
   274                  {"name" : "Analogue Output %d[(sub)]", "type" : 0x07, "access" : 'rw', "pdo" : True, "nbmax" : 0xFE}]}
   274 }
   275 }
   275 
   276 
   276 AddMenuEntries = [("Read Input Bit",[0x6020, 0x6030, 0x6038, 0x6050, 0x6060, 0x6070]), ("Write Output Bit",[0x6220, 0x6240, 0x6250, 0x6260, 0x6270])]
   277 AddMenuEntries = [("Read Input Bit",[0x6020, 0x6030, 0x6038, 0x6050, 0x6060, 0x6070]), ("Write Output Bit",[0x6220, 0x6240, 0x6250, 0x6260, 0x6270])]