Beremiz_service.py
changeset 2416 1ca207782dde
parent 2349 645eb1bce0a5
child 2418 5587c490a070
equal deleted inserted replaced
2415:f7d8891fe708 2416:1ca207782dde
    36 import Pyro
    36 import Pyro
    37 import Pyro.core as pyro
    37 import Pyro.core as pyro
    38 
    38 
    39 from runtime import PLCObject, ServicePublisher, MainWorker
    39 from runtime import PLCObject, ServicePublisher, MainWorker
    40 from runtime.xenomai import TryPreloadXenomai
    40 from runtime.xenomai import TryPreloadXenomai
       
    41 from runtime import PlcStatus
    41 import util.paths as paths
    42 import util.paths as paths
    42 
    43 
    43 
    44 
    44 def version():
    45 def version():
    45     from version import app_version
    46     from version import app_version
   309                 return icon
   310                 return icon
   310 
   311 
   311             def OnTaskBarStartPLC(self, evt):
   312             def OnTaskBarStartPLC(self, evt):
   312                 if self.pyroserver.plcobj is not None:
   313                 if self.pyroserver.plcobj is not None:
   313                     plcstatus = self.pyroserver.plcobj.GetPLCstatus()[0]
   314                     plcstatus = self.pyroserver.plcobj.GetPLCstatus()[0]
   314                     if plcstatus is "Stopped":
   315                     if plcstatus is PlcStatus.Stopped:
   315                         self.pyroserver.plcobj.StartPLC()
   316                         self.pyroserver.plcobj.StartPLC()
   316                     else:
   317                     else:
   317                         print(_("PLC is empty or already started."))
   318                         print(_("PLC is empty or already started."))
   318 
   319 
   319             def OnTaskBarStopPLC(self, evt):
   320             def OnTaskBarStopPLC(self, evt):
   320                 if self.pyroserver.plcobj is not None:
   321                 if self.pyroserver.plcobj is not None:
   321                     if self.pyroserver.plcobj.GetPLCstatus()[0] == "Started":
   322                     if self.pyroserver.plcobj.GetPLCstatus()[0] == PlcStatus.Started:
   322                         Thread(target=self.pyroserver.plcobj.StopPLC).start()
   323                         Thread(target=self.pyroserver.plcobj.StopPLC).start()
   323                     else:
   324                     else:
   324                         print(_("PLC is not started."))
   325                         print(_("PLC is not started."))
   325 
   326 
   326             def OnTaskBarChangeInterface(self, evt):
   327             def OnTaskBarChangeInterface(self, evt):
   381                     Thread(target=self.pyroserver.Quit).start()
   382                     Thread(target=self.pyroserver.Quit).start()
   382                 self.RemoveIcon()
   383                 self.RemoveIcon()
   383                 wx.CallAfter(wx.GetApp().ExitMainLoop)
   384                 wx.CallAfter(wx.GetApp().ExitMainLoop)
   384 
   385 
   385             def UpdateIcon(self, plcstatus):
   386             def UpdateIcon(self, plcstatus):
   386                 if plcstatus is "Started":
   387                 if plcstatus is PlcStatus.Started:
   387                     currenticon = self.MakeIcon(starticon)
   388                     currenticon = self.MakeIcon(starticon)
   388                 elif plcstatus is "Stopped":
   389                 elif plcstatus is PlcStatus.Stopped:
   389                     currenticon = self.MakeIcon(stopicon)
   390                     currenticon = self.MakeIcon(stopicon)
   390                 else:
   391                 else:
   391                     currenticon = self.MakeIcon(defaulticon)
   392                     currenticon = self.MakeIcon(defaulticon)
   392                 self.SetIcon(currenticon, "Beremiz Service")
   393                 self.SetIcon(currenticon, "Beremiz Service")
   393 
   394 
   479             self.servicepublisher = None
   480             self.servicepublisher = None
   480         self.daemon.shutdown(True)
   481         self.daemon.shutdown(True)
   481 
   482 
   482     def AutoLoad(self):
   483     def AutoLoad(self):
   483         self.plcobj.AutoLoad()
   484         self.plcobj.AutoLoad()
   484         if self.plcobj.GetPLCstatus()[0] == "Stopped":
   485         if self.plcobj.GetPLCstatus()[0] == PlcStatus.Stopped:
   485             if autostart:
   486             if autostart:
   486                 self.plcobj.StartPLC()
   487                 self.plcobj.StartPLC()
   487         self.plcobj.StatusChange()
   488         self.plcobj.StatusChange()
   488 
   489 
   489 
   490