plugger.py
changeset 462 274e83a5534e
parent 461 bcbc472c0ba8
child 463 961bddcfc913
equal deleted inserted replaced
461:bcbc472c0ba8 462:274e83a5534e
  1545         else:
  1545         else:
  1546             status = "Disconnected"
  1546             status = "Disconnected"
  1547         if(self.previous_plcstate != status):
  1547         if(self.previous_plcstate != status):
  1548             for args in {
  1548             for args in {
  1549                      "Started" :     [("_Run", False),
  1549                      "Started" :     [("_Run", False),
  1550                                       ("_Debug", False),
       
  1551                                       ("_Stop", True)],
  1550                                       ("_Stop", True)],
  1552                      "Stopped" :     [("_Run", True),
  1551                      "Stopped" :     [("_Run", True),
  1553                                       ("_Debug", True),
       
  1554                                       ("_Stop", False)],
  1552                                       ("_Stop", False)],
  1555                      "Empty" :       [("_Run", False),
  1553                      "Empty" :       [("_Run", False),
  1556                                       ("_Debug", False),
       
  1557                                       ("_Stop", False)],
  1554                                       ("_Stop", False)],
  1558                      "Broken" :      [],
  1555                      "Broken" :      [],
  1559                      "Disconnected" :[("_Run", False),
  1556                      "Disconnected" :[("_Run", False),
  1560                                       ("_Debug", False),
       
  1561                                       ("_Stop", False),
  1557                                       ("_Stop", False),
  1562                                       ("_Transfer", False),
  1558                                       ("_Transfer", False),
  1563                                       ("_Connect", True),
  1559                                       ("_Connect", True),
  1564                                       ("_Disconnect", False)],
  1560                                       ("_Disconnect", False)],
  1565                    }.get(status,[]):
  1561                    }.get(status,[]):
  1576             {"Broken": self.logger.write_error,
  1572             {"Broken": self.logger.write_error,
  1577              None: lambda x: None}.get(
  1573              None: lambda x: None}.get(
  1578                 self.previous_plcstate, self.logger.write)(_("PLC is %s\n")%status)
  1574                 self.previous_plcstate, self.logger.write)(_("PLC is %s\n")%status)
  1579             self.AppFrame.RefreshAll()
  1575             self.AppFrame.RefreshAll()
  1580         
  1576         
  1581     def _Run(self):
       
  1582         """
       
  1583         Start PLC
       
  1584         """
       
  1585         self._connector.StartPLC()
       
  1586         self.UpdateMethodsFromPLCStatus()
       
  1587 
       
  1588     def RegisterDebugVarToConnector(self):
  1577     def RegisterDebugVarToConnector(self):
  1589         self.DebugTimer=None
  1578         self.DebugTimer=None
  1590         Idxs = []
  1579         Idxs = []
  1591         self.TracedIECPath = []
  1580         self.TracedIECPath = []
  1592         if self._connector is not None:
  1581         if self._connector is not None:
  1727         self.DebugThread.join(timeout=1)
  1716         self.DebugThread.join(timeout=1)
  1728         if self.DebugThread.isAlive():
  1717         if self.DebugThread.isAlive():
  1729             self.logger.write_warning(_("Debug Thread couldn't be killed"))
  1718             self.logger.write_warning(_("Debug Thread couldn't be killed"))
  1730         self.DebugThread = None
  1719         self.DebugThread = None
  1731 
  1720 
  1732     def _Debug(self):
  1721     def _Run(self):
  1733         """
  1722         """
  1734         Start PLC (Debug Mode)
  1723         Start PLC (Debug Mode)
  1735         """
  1724         """
  1736         if self.GetIECProgramsAndVariables():
  1725         if self.GetIECProgramsAndVariables():
  1737             self._connector.StartPLC(debug=True)
  1726             self._connector.StartPLC()
  1738             self.logger.write(_("Starting PLC (debug mode)\n"))
  1727             self.logger.write(_("Starting PLC (debug mode)\n"))
  1739             if self.AppFrame:
  1728             if self.AppFrame:
  1740                 self.AppFrame.ResetGraphicViewers()
  1729                 self.AppFrame.ResetGraphicViewers()
  1741             self.DebugThread = Thread(target=self.DebugThreadProc)
  1730             self.DebugThread = Thread(target=self.DebugThreadProc)
  1742             self.DebugThread.start()
  1731             self.DebugThread.start()
  1912         {"bitmap" : opjimg("Run"),
  1901         {"bitmap" : opjimg("Run"),
  1913          "name" : _("Run"),
  1902          "name" : _("Run"),
  1914          "shown" : False,
  1903          "shown" : False,
  1915          "tooltip" : _("Start PLC"),
  1904          "tooltip" : _("Start PLC"),
  1916          "method" : "_Run"},
  1905          "method" : "_Run"},
  1917         {"bitmap" : opjimg("Debug"),
       
  1918          "name" : _("Debug"),
       
  1919          "shown" : False,
       
  1920          "tooltip" : _("Start PLC (debug mode)"),
       
  1921          "method" : "_Debug"},
       
  1922 #        {"bitmap" : opjimg("Debug"),
       
  1923 #         "name" : "Do_Test_Debug",
       
  1924 #         "tooltip" : "Test debug mode)",
       
  1925 #         "method" : "_Do_Test_Debug"},
       
  1926         {"bitmap" : opjimg("Stop"),
  1906         {"bitmap" : opjimg("Stop"),
  1927          "name" : _("Stop"),
  1907          "name" : _("Stop"),
  1928          "shown" : False,
  1908          "shown" : False,
  1929          "tooltip" : _("Stop Running PLC"),
  1909          "tooltip" : _("Stop Running PLC"),
  1930          "method" : "_Stop"},
  1910          "method" : "_Stop"},