etherlab/EtherCATManagementEditor.py
changeset 2353 8f1a2846b2f5
parent 2165 02a2b5dee5e3
child 2354 9460872f1440
equal deleted inserted replaced
2352:fec90dc70e16 2353:8f1a2846b2f5
   265         if check_connect_flag:
   265         if check_connect_flag:
   266             returnVal = self.Controler.CommonMethod.GetSlaveStateFromSlave()
   266             returnVal = self.Controler.CommonMethod.GetSlaveStateFromSlave()
   267             line = returnVal.split("\n")
   267             line = returnVal.split("\n")
   268             try :
   268             try :
   269                 self.SetCurrentState(line[self.Controler.GetSlavePos()])
   269                 self.SetCurrentState(line[self.Controler.GetSlavePos()])
   270             except :
   270             except Exception:
   271                 pass  
   271                 pass  
   272             
   272             
   273     def SetCurrentState(self, line):
   273     def SetCurrentState(self, line):
   274         """
   274         """
   275         Show current slave state using the executiob result of "ethercat slaves" command.
   275         Show current slave state using the executiob result of "ethercat slaves" command.
   280             # parse the execution result of  "ethercat slaves" command
   280             # parse the execution result of  "ethercat slaves" command
   281             # Result example : 0  0:0  PREOP  +  EL9800 (V4.30) (PIC24, SPI, ET1100)
   281             # Result example : 0  0:0  PREOP  +  EL9800 (V4.30) (PIC24, SPI, ET1100)
   282             token = line.split("  ")
   282             token = line.split("  ")
   283             if token[2] in state_array:
   283             if token[2] in state_array:
   284                 self.TextCtrlDic["CurrentState"].SetValue(token[2])           
   284                 self.TextCtrlDic["CurrentState"].SetValue(token[2])           
   285         except :
   285         except Exception:
   286             pass     
   286             pass     
   287         
   287         
   288     def StartTimer(self, event):
   288     def StartTimer(self, event):
   289         """
   289         """
   290         Event handler for "Start State Monitoring" button.
   290         Event handler for "Start State Monitoring" button.
   301           - stop slave state monitoring thread
   301           - stop slave state monitoring thread
   302         @param event : wx.EVT_BUTTON object
   302         @param event : wx.EVT_BUTTON object
   303         """
   303         """
   304         try:
   304         try:
   305             self.SlaveStateThread.Stop()
   305             self.SlaveStateThread.Stop()
   306         except:
   306         except Exception:
   307             pass
   307             pass
   308         
   308         
   309 #-------------------------------------------------------------------------------
   309 #-------------------------------------------------------------------------------
   310 #                    For SDO Management Panel
   310 #                    For SDO Management Panel
   311 #-------------------------------------------------------------------------------  
   311 #-------------------------------------------------------------------------------  
   400                     empty, hex_val, dec_val = token_tail
   400                     empty, hex_val, dec_val = token_tail
   401                     
   401                     
   402                 # SDO data is not return "dec value"
   402                 # SDO data is not return "dec value"
   403                 # line example : 
   403                 # line example : 
   404                 # 0x1702:01,rwr-r-,uint32,32 bit," 1st mapping", ---- 
   404                 # 0x1702:01,rwr-r-,uint32,32 bit," 1st mapping", ---- 
   405                 except :
   405                 except Exception:
   406                     empty, hex_val = token_tail
   406                     empty, hex_val = token_tail
   407                 
   407                 
   408                 name_after_check = self.StringTest(name)
   408                 name_after_check = self.StringTest(name)
   409                 
   409                 
   410                 # convert hex type
   410                 # convert hex type
   963                         self.Controler.CommonMethod.Rescan()
   963                         self.Controler.CommonMethod.Rescan()
   964                         # save binary data as inner global data of beremiz 
   964                         # save binary data as inner global data of beremiz 
   965                         # for fast loading when slave plugin node is reopened.
   965                         # for fast loading when slave plugin node is reopened.
   966                         self.Controler.CommonMethod.SiiData = self.SiiBinary
   966                         self.Controler.CommonMethod.SiiData = self.SiiBinary
   967                         self.SetEEPROMData()
   967                         self.SetEEPROMData()
   968                     except:
   968                     except Exception:
   969                         self.Controler.CommonMethod.CreateErrorDialog('The file does not exist!')
   969                         self.Controler.CommonMethod.CreateErrorDialog('The file does not exist!')
   970                         dialog.Destroy()
   970                         dialog.Destroy()
   971     
   971     
   972     def ReadFromEEPROM(self, event):
   972     def ReadFromEEPROM(self, event):
   973         """
   973         """
  1348             try:
  1348             try:
  1349                 binfile = open(filepath, "rb")
  1349                 binfile = open(filepath, "rb")
  1350                 self.SiiBinary = binfile.read()
  1350                 self.SiiBinary = binfile.read()
  1351                 self.HexCode, self.HexRow, self.HexCol = self.Controler.CommonMethod.HexRead(self.SiiBinary)
  1351                 self.HexCode, self.HexRow, self.HexCol = self.Controler.CommonMethod.HexRead(self.SiiBinary)
  1352                 self.UpdateSiiGridTable(self.HexRow, self.HexCol)
  1352                 self.UpdateSiiGridTable(self.HexRow, self.HexCol)
       
  1353 
  1353                 self.SiiGrid.SetValue(self.HexCode)
  1354                 self.SiiGrid.SetValue(self.HexCode)
  1354                 self.SiiGrid.Update()
  1355                 self.SiiGrid.Update()
  1355             except:
  1356             except Exception:
  1356                 self.Controler.CommonMethod.CreateErrorDialog('The file does not exist!')
  1357                 self.Controler.CommonMethod.CreateErrorDialog('The file does not exist!')
  1357             
  1358             
  1358         dialog.Destroy()
  1359         dialog.Destroy()
  1359             
  1360             
  1360     def OnButtonXmlToEEPROMImg(self, event):
  1361     def OnButtonXmlToEEPROMImg(self, event):