etherlab/EtherCATManagementEditor.py
changeset 2423 2c7b7ae24d57
parent 2417 316ee9fff395
child 2437 105c20fdeb19
equal deleted inserted replaced
2422:45aa510d7a2a 2423:2c7b7ae24d57
   245                 status, _log_count = self.Controler.GetCTRoot()._connector.GetPLCstatus()
   245                 status, _log_count = self.Controler.GetCTRoot()._connector.GetPLCstatus()
   246                 if status == PlcStatus.Started:
   246                 if status == PlcStatus.Started:
   247                     self.Controler.CommonMethod.RequestSlaveState("OP")
   247                     self.Controler.CommonMethod.RequestSlaveState("OP")
   248                     self.TextCtrlDic["TargetState"].SetValue("OP")
   248                     self.TextCtrlDic["TargetState"].SetValue("OP")
   249                 else:
   249                 else:
   250                     self.Controler.CommonMethod.CreateErrorDialog("PLC is Not Started")
   250                     self.Controler.CommonMethod.CreateErrorDialog(_("PLC is Not Started"))
   251 
   251 
   252     def GetCurrentState(self, event):
   252     def GetCurrentState(self, event):
   253         """
   253         """
   254         Timer event handler for periodic slave state monitoring (Default period: 1 sec = 1000 msec).
   254         Timer event handler for periodic slave state monitoring (Default period: 1 sec = 1000 msec).
   255         @param event : wx.TIMER object
   255         @param event : wx.TIMER object
   356         """
   356         """
   357         Parse SDO data set that obtain "SDOInfoUpdate" Method
   357         Parse SDO data set that obtain "SDOInfoUpdate" Method
   358         @return True or False
   358         @return True or False
   359         """
   359         """
   360 
   360 
   361         slaveSDO_progress = wx.ProgressDialog("Slave SDO Monitoring", "Now Uploading...",
   361         slaveSDO_progress = wx.ProgressDialog(_("Slave SDO Monitoring"), _("Now Uploading..."),
   362                                               maximum=len(self.SDOs.splitlines()),
   362                                               maximum=len(self.SDOs.splitlines()),
   363                                               parent=self,
   363                                               parent=self,
   364                                               style=wx.PD_CAN_ABORT | wx.PD_APP_MODAL | wx.PD_ELAPSED_TIME |
   364                                               style=wx.PD_CAN_ABORT | wx.PD_APP_MODAL | wx.PD_ELAPSED_TIME |
   365                                               wx.PD_ESTIMATED_TIME | wx.PD_REMAINING_TIME |
   365                                               wx.PD_ESTIMATED_TIME | wx.PD_REMAINING_TIME |
   366                                               wx.PD_AUTO_HIDE | wx.PD_SMOOTH)
   366                                               wx.PD_AUTO_HIDE | wx.PD_SMOOTH)
   643                             self.SDOs[event.GetRow()]['subIdx'],
   643                             self.SDOs[event.GetRow()]['subIdx'],
   644                             dlg.GetValue())
   644                             dlg.GetValue())
   645 
   645 
   646                         self.SetCellValue(event.GetRow(), event.GetCol(), hex(int(dlg.GetValue(), 0)))
   646                         self.SetCellValue(event.GetRow(), event.GetCol(), hex(int(dlg.GetValue(), 0)))
   647                     else:
   647                     else:
   648                         self.Controler.CommonMethod.CreateErrorDialog('You cannot SDO download this state')
   648                         self.Controler.CommonMethod.CreateErrorDialog(_('You cannot SDO download this state'))
   649                 # Error occured process of "int(variable)"
   649                 # Error occured process of "int(variable)"
   650                 # User input is not hex, dec value
   650                 # User input is not hex, dec value
   651                 except ValueError:
   651                 except ValueError:
   652                     self.Controler.CommonMethod.CreateErrorDialog('You can input only hex, dec value')
   652                     self.Controler.CommonMethod.CreateErrorDialog(_('You can input only hex, dec value'))
   653 
   653 
   654 
   654 
   655 # -------------------------------------------------------------------------------
   655 # -------------------------------------------------------------------------------
   656 #                 For PDO Monitoring Panel
   656 #                 For PDO Monitoring Panel
   657 # PDO Class UI  : Panel -> Choicebook (RxPDO, TxPDO) ->
   657 # PDO Class UI  : Panel -> Choicebook (RxPDO, TxPDO) ->
   923                         # save binary data as inner global data of beremiz
   923                         # save binary data as inner global data of beremiz
   924                         # for fast loading when slave plugin node is reopened.
   924                         # for fast loading when slave plugin node is reopened.
   925                         self.Controler.CommonMethod.SiiData = self.SiiBinary
   925                         self.Controler.CommonMethod.SiiData = self.SiiBinary
   926                         self.SetEEPROMData()
   926                         self.SetEEPROMData()
   927                     except Exception:
   927                     except Exception:
   928                         self.Controler.CommonMethod.CreateErrorDialog('The file does not exist!')
   928                         self.Controler.CommonMethod.CreateErrorDialog(_('The file does not exist!'))
   929                         dialog.Destroy()
   929                         dialog.Destroy()
   930 
   930 
   931     def ReadFromEEPROM(self, event):
   931     def ReadFromEEPROM(self, event):
   932         """
   932         """
   933         Refresh displayed data based on slave EEPROM and save binary file through dialog
   933         Refresh displayed data based on slave EEPROM and save binary file through dialog
  1315                 self.HexCode, self.HexRow, self.HexCol = self.Controler.CommonMethod.HexRead(self.SiiBinary)
  1315                 self.HexCode, self.HexRow, self.HexCol = self.Controler.CommonMethod.HexRead(self.SiiBinary)
  1316                 self.UpdateSiiGridTable(self.HexRow, self.HexCol)
  1316                 self.UpdateSiiGridTable(self.HexRow, self.HexCol)
  1317                 self.SiiGrid.SetValue(self.HexCode)
  1317                 self.SiiGrid.SetValue(self.HexCode)
  1318                 self.SiiGrid.Update()
  1318                 self.SiiGrid.Update()
  1319             except Exception:
  1319             except Exception:
  1320                 self.Controler.CommonMethod.CreateErrorDialog('The file does not exist!')
  1320                 self.Controler.CommonMethod.CreateErrorDialog(_('The file does not exist!'))
  1321 
  1321 
  1322         dialog.Destroy()
  1322         dialog.Destroy()
  1323 
  1323 
  1324     def OnButtonXmlToEEPROMImg(self, event):
  1324     def OnButtonXmlToEEPROMImg(self, event):
  1325         """
  1325         """
  1959         Display the window where the user modifies the value of the cell.
  1959         Display the window where the user modifies the value of the cell.
  1960         @param event: wx.grid object (double click)
  1960         @param event: wx.grid object (double click)
  1961             """
  1961             """
  1962         # user can enter a value in case that user double-clicked 'Dec' or 'Hex' value.
  1962         # user can enter a value in case that user double-clicked 'Dec' or 'Hex' value.
  1963         if event.GetCol() == 1 or event.GetCol() == 2:
  1963         if event.GetCol() == 1 or event.GetCol() == 2:
  1964             dlg = wx.TextEntryDialog(self, "Enter hex(0xnnnn) or dec(n) value",
  1964             dlg = wx.TextEntryDialog(self, _("Enter hex(0xnnnn) or dec(n) value"),
  1965                                      "Register Modify Dialog", style=wx.OK | wx.CANCEL)
  1965                                      _("Register Modify Dialog"), style=wx.OK | wx.CANCEL)
  1966 
  1966 
  1967             # Setting value in initial dialog value
  1967             # Setting value in initial dialog value
  1968             start_value = self.GetCellValue(event.GetRow(), event.GetCol())
  1968             start_value = self.GetCellValue(event.GetRow(), event.GetCol())
  1969             dlg.SetValue(start_value)
  1969             dlg.SetValue(start_value)
  1970 
  1970 
  1994                                 char_data = char_data + "."
  1994                                 char_data = char_data + "."
  1995 
  1995 
  1996                         self.SetCellValue(event.GetRow(), 3, char_data)
  1996                         self.SetCellValue(event.GetRow(), 3, char_data)
  1997 
  1997 
  1998                     else:
  1998                     else:
  1999                         self.Controler.CommonMethod.CreateErrorDialog('You can\'t modify it. This register is read-only or it\'s not connected.')
  1999                         self.Controler.CommonMethod.CreateErrorDialog(_('You can\'t modify it. This register is read-only or it\'s not connected.'))
  2000 
  2000 
  2001                 except ValueError:
  2001                 except ValueError:
  2002                     self.Controler.CommonMethod.CreateErrorDialog('You entered wrong value. You can enter dec or hex value only.')
  2002                     self.Controler.CommonMethod.CreateErrorDialog(_('You entered wrong value. You can enter dec or hex value only.'))
  2003 
  2003 
  2004 
  2004 
  2005 # -------------------------------------------------------------------------------
  2005 # -------------------------------------------------------------------------------
  2006 #                    For Register Access Notebook Panel (Sub Table)
  2006 #                    For Register Access Notebook Panel (Sub Table)
  2007 # -------------------------------------------------------------------------------
  2007 # -------------------------------------------------------------------------------
  2155                         for index in self.TextCtrl[key]:
  2155                         for index in self.TextCtrl[key]:
  2156                             self.TextCtrl[key][index].SetValue(self.MasterState[key][int(index)])
  2156                             self.TextCtrl[key][index].SetValue(self.MasterState[key][int(index)])
  2157                     else:
  2157                     else:
  2158                         self.TextCtrl[key].SetValue(self.MasterState[key][0])
  2158                         self.TextCtrl[key].SetValue(self.MasterState[key][0])
  2159         else:
  2159         else:
  2160             self.Controler.CommonMethod.CreateErrorDialog('PLC not connected!')
  2160             self.Controler.CommonMethod.CreateErrorDialog(_('PLC not connected!'))