diff -r f7d8891fe708 -r 1ca207782dde ProjectController.py --- a/ProjectController.py Mon Oct 01 15:53:34 2018 +0300 +++ b/ProjectController.py Tue Oct 02 16:53:14 2018 +0300 @@ -61,6 +61,7 @@ from plcopen.types_enums import ComputeConfigurationResourceName, ITEM_CONFNODE import targets from runtime.typemapping import DebugTypesSize, UnpackDebugBuffer +from runtime import PlcStatus from ConfigTreeNode import ConfigTreeNode, XSDSchemaErrorMessage base_folder = paths.AbsParentDir(__file__) @@ -1422,20 +1423,20 @@ } MethodsFromStatus = { - "Started": {"_Stop": True, - "_Transfer": True, - "_Connect": False, - "_Disconnect": True}, - "Stopped": {"_Run": True, - "_Transfer": True, - "_Connect": False, - "_Disconnect": True}, - "Empty": {"_Transfer": True, - "_Connect": False, - "_Disconnect": True}, - "Broken": {"_Connect": False, - "_Disconnect": True}, - "Disconnected": {}, + PlcStatus.Started: {"_Stop": True, + "_Transfer": True, + "_Connect": False, + "_Disconnect": True}, + PlcStatus.Stopped: {"_Run": True, + "_Transfer": True, + "_Connect": False, + "_Disconnect": True}, + PlcStatus.Empty: {"_Transfer": True, + "_Connect": False, + "_Disconnect": True}, + PlcStatus.Broken: {"_Connect": False, + "_Disconnect": True}, + PlcStatus.Disconnected: {}, } def UpdateMethodsFromPLCStatus(self): @@ -1448,7 +1449,7 @@ self.UpdatePLCLog(log_count) if status is None: self._SetConnector(None, False) - status = "Disconnected" + status = PlcStatus.Disconnected if self.previous_plcstate != status: allmethods = self.DefaultMethods.copy() allmethods.update( @@ -1459,31 +1460,21 @@ if self.AppFrame is not None: updated = True self.AppFrame.RefreshStatusToolBar() - if status == "Disconnected": + if status == PlcStatus.Disconnected: self.AppFrame.ConnectionStatusBar.SetStatusText( - self.GetTextStatus(status), 1) + _(status), 1) self.AppFrame.ConnectionStatusBar.SetStatusText('', 2) else: self.AppFrame.ConnectionStatusBar.SetStatusText( _("Connected to URI: %s") % self.BeremizRoot.getURI_location().strip(), 1) self.AppFrame.ConnectionStatusBar.SetStatusText( - self.GetTextStatus(status), 2) + _(status), 2) return updated - def GetTextStatus(self, status): - msgs = { - "Started": _("Started"), - "Stopped": _("Stopped"), - "Empty": _("Empty"), - "Broken": _("Broken"), - "Disconnected": _("Disconnected") - } - return msgs.get(status, status) - def ShowPLCProgress(self, status="", progress=0): self.AppFrame.ProgressStatusBar.Show() self.AppFrame.ConnectionStatusBar.SetStatusText( - self.GetTextStatus(status), 1) + _(status), 1) self.AppFrame.ProgressStatusBar.SetValue(progress) def HidePLCProgress(self): @@ -1501,7 +1492,7 @@ plc_status, Traces = self._connector.GetTraceVariables() # print [dict.keys() for IECPath, (dict, log, status, fvalue) in # self.IECdebug_datas.items()] - if plc_status == "Started": + if plc_status == PlcStatus.Started: if len(Traces) > 0: for debug_tick, debug_buff in Traces: debug_vars = UnpackDebugBuffer( @@ -1570,7 +1561,7 @@ self.SnapshotAndResetDebugValuesBuffers() def IsPLCStarted(self): - return self.previous_plcstate == "Started" + return self.previous_plcstate == PlcStatus.Started def ReArmDebugRegisterTimer(self): if self.DebugTimer is not None: @@ -1809,7 +1800,7 @@ # Init with actual PLC status and print it self.UpdateMethodsFromPLCStatus() - if self.previous_plcstate in ["Started", "Stopped"]: + if self.previous_plcstate in [PlcStatus.Started, PlcStatus.Stopped]: if self.DebugAvailable() and self.GetIECProgramsAndVariables(): self.logger.write(_("Debugger ready\n")) self._connect_debug()