--- a/LPCBeremiz.py Wed Dec 09 09:44:17 2009 +0100
+++ b/LPCBeremiz.py Wed Dec 09 09:46:13 2009 +0100
@@ -359,12 +359,31 @@
"tooltip" : _("Build project into build folder"),
+ {"bitmap" : opjimg("Run"), + "tooltip" : _("Start PLC"), + {"bitmap" : opjimg("Stop"), + "tooltip" : _("Stop Running PLC"), + {"bitmap" : opjimg("Transfer"), + "name" : _("Transfer"), + "tooltip" : _("Transfer PLC"), + "method" : "_Transfer"}, def __init__(self, frame, logger):
PluginsRoot.__init__(self, frame, logger)
self.PlugChildsTypes += [("LPCBus", LPCBus, "LPC bus")]
def GetProjectName(self):
return self.Project.getname()
@@ -378,6 +397,11 @@
def SetProjectName(self, name):
return self.Project.setname(name)
+ def SetOnlineMode(self, mode, path=None): + self.UpdateMethodsFromPLCStatus() # Update a PLCOpenEditor Pou variable name
def UpdateProjectVariableName(self, old_name, new_name):
self.Project.updateElementName(old_name, new_name)
@@ -430,6 +454,42 @@
self.SaveXMLFile(self.ProjectPath)
+ ############# Real PLC object access ############# + def UpdateMethodsFromPLCStatus(self): + # Get PLC state : Running or Stopped + # TODO : use explicit status instead of boolean + if self.OnlineMode == 0: + status = "Disconnected" + elif self.OnlineMode == 1: + elif self._connector is not None: + status = self._connector.GetPLCstatus() + status = "Disconnected" + if(self.previous_plcstate != status): + "Started" : [("_build", False), + "Stopped" : [("_build", False), + "Connected" : [("_build", False), + "Disconnected" :[("_build", True), + self.previous_plcstate = status #-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
@@ -785,6 +845,10 @@
self.PluginRoot.SetProjectName(name)
+ def SetOnlineMode(self, mode, path=None): + self.PluginRoot.SetOnlineMode(mode, path) def AddBus(self, iec_channel, name, icon=None):
for child in self.PluginRoot.IterChilds():
if child.BaseParams.getName() == name:
@@ -1007,6 +1071,7 @@
"SetProjectName": ([str], 0),
+ "SetOnlineMode": ([int, str], 1), "AddBus": ([int, str, str], 1),
"RenameBus": ([int, str], 0),
"ChangeBusIECChannel": ([int, int], 0),