etherlab/EthercatSlave.py
changeset 2381 1c40e3976cc2
parent 2378 7aa47c09f8f5
child 2396 41adf1dfc7a7
equal deleted inserted replaced
2380:b35bce45bc5a 2381:1c40e3976cc2
    20 from CommonEtherCATFunction import _CommonSlave
    20 from CommonEtherCATFunction import _CommonSlave
    21 # ------------------------------------------
    21 # ------------------------------------------
    22 
    22 
    23 
    23 
    24 TYPECONVERSION = {"BOOL": "X", "SINT": "B", "INT": "W", "DINT": "D", "LINT": "L",
    24 TYPECONVERSION = {"BOOL": "X", "SINT": "B", "INT": "W", "DINT": "D", "LINT": "L",
    25     "USINT": "B", "UINT": "W", "UDINT": "D", "ULINT": "L",
    25                   "USINT": "B", "UINT": "W", "UDINT": "D", "ULINT": "L",
    26     "BYTE": "B", "WORD": "W", "DWORD": "D", "LWORD": "L"}
    26                   "BYTE": "B", "WORD": "W", "DWORD": "D", "LWORD": "L"}
    27 
    27 
    28 DATATYPECONVERSION = {"BOOL": "BIT", "SINT": "S8", "INT": "S16", "DINT": "S32", "LINT": "S64",
    28 DATATYPECONVERSION = {"BOOL": "BIT", "SINT": "S8", "INT": "S16", "DINT": "S32", "LINT": "S64",
    29     "USINT": "U8", "UINT": "U16", "UDINT": "U32", "ULINT": "U64",
    29                       "USINT": "U8", "UINT": "U16", "UDINT": "U32", "ULINT": "U64",
    30     "BYTE": "U8", "WORD": "U16", "DWORD": "U32", "LWORD": "U64"}
    30                       "BYTE": "U8", "WORD": "U16", "DWORD": "U32", "LWORD": "U64"}
    31 
    31 
    32 VARCLASSCONVERSION = {"T": LOCATION_VAR_INPUT, "R": LOCATION_VAR_OUTPUT, "RT": LOCATION_VAR_MEMORY}
    32 VARCLASSCONVERSION = {"T": LOCATION_VAR_INPUT, "R": LOCATION_VAR_OUTPUT, "RT": LOCATION_VAR_MEMORY}
    33 
    33 
    34 
    34 
    35 def ExtractHexDecValue(value):
    35 def ExtractHexDecValue(value):
   105                     'value': None,
   105                     'value': None,
   106                     'children': []
   106                     'children': []
   107                 })
   107                 })
   108 
   108 
   109             slave_type = self.CTNParent.GetSlaveType(self.GetSlavePos())
   109             slave_type = self.CTNParent.GetSlaveType(self.GetSlavePos())
   110             params[0]['children'].insert(0,
   110             params[0]['children'].insert(
   111                    {'use': 'optional',
   111                 0,
       
   112                 {
       
   113                     'use': 'optional',
   112                     'type': self.CTNParent.GetSlaveTypesLibrary(self.NODE_PROFILE),
   114                     'type': self.CTNParent.GetSlaveTypesLibrary(self.NODE_PROFILE),
   113                     'name': 'Type',
   115                     'name': 'Type',
   114                     'value': (slave_type["device_type"], slave_type)})
   116                     'value': (slave_type["device_type"], slave_type)
   115             params[0]['children'].insert(1,
   117                 })
   116                    {'use': 'optional',
   118             params[0]['children'].insert(
       
   119                 1,
       
   120                 {
       
   121                     'use': 'optional',
   117                     'type': 'unsignedLong',
   122                     'type': 'unsignedLong',
   118                     'name': 'Alias',
   123                     'name': 'Alias',
   119                     'value': self.CTNParent.GetSlaveAlias(self.GetSlavePos())})
   124                     'value': self.CTNParent.GetSlaveAlias(self.GetSlavePos())
       
   125                 })
   120             return params
   126             return params
   121 
   127 
   122     def SetParamsAttribute(self, path, value):
   128     def SetParamsAttribute(self, path, value):
   123         self.GetSlaveInfos()
   129         self.GetSlaveInfos()
   124         position = self.BaseParams.getIEC_Channel()
   130         position = self.BaseParams.getIEC_Channel()