runtime/PLCObject.py
changeset 330 fdf81615ed04
parent 329 22e65b8e20f4
child 331 191a568a2a17
equal deleted inserted replaced
329:22e65b8e20f4 330:fdf81615ed04
   207                                 self.python_threads_vars['Class_'+name] = obj
   207                                 self.python_threads_vars['Class_'+name] = obj
   208                                 self.hmi_frame.Bind(wx.EVT_CLOSE, OnCloseFrame)
   208                                 self.hmi_frame.Bind(wx.EVT_CLOSE, OnCloseFrame)
   209                                 self.hmi_frame.Show()
   209                                 self.hmi_frame.Show()
   210                             
   210                             
   211                             def OnCloseFrame(evt):
   211                             def OnCloseFrame(evt):
   212                                 self.hmi_frame.Destroy()
       
   213                                 self.hmi_frame = None
       
   214                                 wx.MessageBox("Please stop PLC to close")
   212                                 wx.MessageBox("Please stop PLC to close")
   215                                 #wx.CallAfter(self.StopPLC)
       
   216                                 create_frame()
       
   217                                 #evt.Skip()
       
   218                             create_frame()
   213                             create_frame()
   219                             break
   214                             break
   220             except:
   215             except:
   221                 PLCprint(traceback.format_exc())
   216                 PLCprint(traceback.format_exc())
   222         runtime_begin = self.python_threads_vars.get("_runtime_begin",None)
   217         runtime_begin = self.python_threads_vars.get("_runtime_begin",None)
   240             cmd = self._PythonIterator(res)
   235             cmd = self._PythonIterator(res)
   241             #print " -> ", cmd
   236             #print " -> ", cmd
   242             if cmd is None:
   237             if cmd is None:
   243                 break
   238                 break
   244             try :
   239             try :
       
   240                 PLCprint(cmd)
   245                 res = str(self.evaluator(eval,cmd,self.python_threads_vars))
   241                 res = str(self.evaluator(eval,cmd,self.python_threads_vars))
   246             except Exception,e:
   242             except Exception,e:
   247                 res = "#EXCEPTION : "+str(e)
   243                 res = "#EXCEPTION : "+str(e)
   248                 PLCprint(res)
   244                 PLCprint(res)
   249         self.evaluator(self.FinishRuntimePy)
   245         self.evaluator(self.FinishRuntimePy)