LPCManager.py
changeset 43 003a9ae0cf66
parent 40 000de4f24ab2
child 50 ed1f9752f929
equal deleted inserted replaced
42:30eae94f35f7 43:003a9ae0cf66
   753     
   753     
   754     def SetProjectName(self, name):
   754     def SetProjectName(self, name):
   755         return self.Project.setname(name)
   755         return self.Project.setname(name)
   756 
   756 
   757     def SetOnlineMode(self, mode, path=None):
   757     def SetOnlineMode(self, mode, path=None):
   758         if self.OnlineMode != mode.upper():
   758         mode = mode.upper()
   759             self.OnlineMode = mode.upper()
   759         if self.OnlineMode != mode:
   760             
   760             if mode not in ["OFF", ""]:
   761             if self.OnlineMode != "OFF":
   761                 self.OnlineMode = mode
   762                 self.ConnectorPath = path
   762                 self.ConnectorPath = path
   763                 uri = "LPC://%s/%s" % (self.OnlineMode,path)
   763                 uri = "LPC://%s/%s" % (self.OnlineMode,path)
   764                 try:
   764                 try:
   765                     self.LPCConnector = connectors.ConnectorFactory(uri, self)
   765                     self.LPCConnector = connectors.ConnectorFactory(uri, self)
   766                 except Exception, msg:
   766                 except Exception, msg:
   771                 if self.LPCConnector is None:
   771                 if self.LPCConnector is None:
   772                     # Oups.
   772                     # Oups.
   773                     self.logger.write_error(_("Connection failed to %s!\n")%uri)
   773                     self.logger.write_error(_("Connection failed to %s!\n")%uri)
   774                 
   774                 
   775             else:
   775             else:
       
   776                 self.OnlineMode = "OFF"
   776                 self.LPCConnector = None
   777                 self.LPCConnector = None
   777                 self.ConnectorPath = None
   778                 self.ConnectorPath = None
   778             
   779             
   779             self.ApplyOnlineMode()
   780             self.ApplyOnlineMode()
   780 
   781 
   914         else:
   915         else:
   915             wx.CallAfter(self.RefreshConfNodesBlockLists)
   916             wx.CallAfter(self.RefreshConfNodesBlockLists)
   916 
   917 
   917         return None
   918         return None
   918 
   919 
   919     ############# Real PLC object access #############
       
   920     def UpdateMethodsFromPLCStatus(self):
   920     def UpdateMethodsFromPLCStatus(self):
   921         # Get PLC state : Running or Stopped
       
   922         # TODO : use explicit status instead of boolean
       
   923         simulating = self.CurrentMode == SIMULATION_MODE
   921         simulating = self.CurrentMode == SIMULATION_MODE
   924         if self.OnlineMode == "OFF":
   922         if self.OnlineMode == "OFF":
   925             if simulating:
   923             if simulating:
   926                 status, log_count = self._connector.GetPLCstatus()
   924                 status, log_count = self._connector.GetPLCstatus()
   927                 self.UpdatePLCLog(log_count)
   925                 self.UpdatePLCLog(log_count)