ProjectController.py
changeset 992 72ee7f3e3cf3
parent 985 cd8dadcef426
child 1000 d19af9341d28
equal deleted inserted replaced
991:afc4963d8f0c 992:72ee7f3e3cf3
  1115             self.previous_plcstate = status
  1115             self.previous_plcstate = status
  1116             if self.AppFrame is not None:
  1116             if self.AppFrame is not None:
  1117                 self.AppFrame.RefreshStatusToolBar()
  1117                 self.AppFrame.RefreshStatusToolBar()
  1118     
  1118     
  1119     def PullPLCStatusProc(self, event):
  1119     def PullPLCStatusProc(self, event):
  1120         if self._connector is None:
       
  1121             self.StatusTimer.Stop()
       
  1122         self.UpdateMethodsFromPLCStatus()
  1120         self.UpdateMethodsFromPLCStatus()
  1123         
  1121         
  1124     def RegisterDebugVarToConnector(self):
  1122     def RegisterDebugVarToConnector(self):
  1125         self.DebugTimer=None
  1123         self.DebugTimer=None
  1126         Idxs = []
  1124         Idxs = []
  1351 
  1349 
  1352     def _SetConnector(self, connector):
  1350     def _SetConnector(self, connector):
  1353         self._connector = connector
  1351         self._connector = connector
  1354         if self.AppFrame is not None:
  1352         if self.AppFrame is not None:
  1355             self.AppFrame.LogViewer.SetLogSource(connector)
  1353             self.AppFrame.LogViewer.SetLogSource(connector)
  1356             
  1354         if connector is not None:
       
  1355             # Start the status Timer
       
  1356             self.StatusTimer.Start(milliseconds=500, oneShot=False)
       
  1357         else:
       
  1358             # Stop the status Timer
       
  1359             self.StatusTimer.Stop()
       
  1360 
  1357     def _Connect(self):
  1361     def _Connect(self):
  1358         # don't accept re-connetion if already connected
  1362         # don't accept re-connetion if already connected
  1359         if self._connector is not None:
  1363         if self._connector is not None:
  1360             self.logger.write_error(_("Already connected. Please disconnect\n"))
  1364             self.logger.write_error(_("Already connected. Please disconnect\n"))
  1361             return
  1365             return
  1421             else:
  1425             else:
  1422                 status = ""
  1426                 status = ""
  1423 
  1427 
  1424             #self.logger.write(_("PLC is %s\n")%status)
  1428             #self.logger.write(_("PLC is %s\n")%status)
  1425             
  1429             
  1426             # Start the status Timer
       
  1427             self.StatusTimer.Start(milliseconds=500, oneShot=False)
       
  1428             
       
  1429             if self.previous_plcstate in ["Started","Stopped"]:
  1430             if self.previous_plcstate in ["Started","Stopped"]:
  1430                 if self.DebugAvailable() and self.GetIECProgramsAndVariables():
  1431                 if self.DebugAvailable() and self.GetIECProgramsAndVariables():
  1431                     self.logger.write(_("Debugger ready\n"))
  1432                     self.logger.write(_("Debugger ready\n"))
  1432                     self._connect_debug()
  1433                     self._connect_debug()
  1433                 else:
  1434                 else:
  1457             self.EnableMethod("_Transfer", False)
  1458             self.EnableMethod("_Transfer", False)
  1458 
  1459 
  1459 
  1460 
  1460     def _Disconnect(self):
  1461     def _Disconnect(self):
  1461         self._SetConnector(None)
  1462         self._SetConnector(None)
  1462         self.StatusTimer.Stop()
       
  1463         wx.CallAfter(self.UpdateMethodsFromPLCStatus)
  1463         wx.CallAfter(self.UpdateMethodsFromPLCStatus)
  1464         
  1464         
  1465     def _Transfer(self):
  1465     def _Transfer(self):
  1466         # Get the last build PLC's 
  1466         # Get the last build PLC's 
  1467         MD5 = self.GetLastBuildMD5()
  1467         MD5 = self.GetLastBuildMD5()