ProjectController.py
changeset 1089 5cd1f8df71aa
parent 1080 5ec20f56b1d2
child 1105 f0e5b475a074
equal deleted inserted replaced
1088:43739c16a002 1089:5cd1f8df71aa
  1183             self.IECdebug_lock.release()
  1183             self.IECdebug_lock.release()
  1184 
  1184 
  1185     def ReArmDebugRegisterTimer(self):
  1185     def ReArmDebugRegisterTimer(self):
  1186         if self.DebugTimer is not None:
  1186         if self.DebugTimer is not None:
  1187             self.DebugTimer.cancel()
  1187             self.DebugTimer.cancel()
  1188 
  1188         
  1189         # Timer to prevent rapid-fire when registering many variables
  1189         # Prevent to call RegisterDebugVarToConnector when PLC is not started
  1190         # use wx.CallAfter use keep using same thread. TODO : use wx.Timer instead
  1190         # If an output location var is forced it's leads to segmentation fault in runtime
  1191         self.DebugTimer=Timer(0.5,wx.CallAfter,args = [self.RegisterDebugVarToConnector])
  1191         # Links between PLC located variables and real variables are not ready
  1192         # Rearm anti-rapid-fire timer
  1192         if self.previous_plcstate == "Started":
  1193         self.DebugTimer.start()
  1193             # Timer to prevent rapid-fire when registering many variables
       
  1194             # use wx.CallAfter use keep using same thread. TODO : use wx.Timer instead
       
  1195             self.DebugTimer=Timer(0.5,wx.CallAfter,args = [self.RegisterDebugVarToConnector])
       
  1196             # Rearm anti-rapid-fire timer
       
  1197             self.DebugTimer.start()
  1194 
  1198 
  1195     def GetDebugIECVariableType(self, IECPath):
  1199     def GetDebugIECVariableType(self, IECPath):
  1196         Idx, IEC_Type = self._IECPathToIdx.get(IECPath,(None,None))
  1200         Idx, IEC_Type = self._IECPathToIdx.get(IECPath,(None,None))
  1197         return IEC_Type
  1201         return IEC_Type
  1198         
  1202         
  1233 
  1237 
  1234         self.ReArmDebugRegisterTimer()
  1238         self.ReArmDebugRegisterTimer()
  1235 
  1239 
  1236     def UnsubscribeAllDebugIECVariable(self):
  1240     def UnsubscribeAllDebugIECVariable(self):
  1237         self.IECdebug_lock.acquire()
  1241         self.IECdebug_lock.acquire()
  1238         IECdebug_data = {}
  1242         self.IECdebug_datas = {}
  1239         self.IECdebug_lock.release()
  1243         self.IECdebug_lock.release()
  1240 
  1244 
  1241         self.ReArmDebugRegisterTimer()
  1245         self.ReArmDebugRegisterTimer()
  1242 
  1246 
  1243     def ForceDebugIECVariable(self, IECPath, fvalue):
  1247     def ForceDebugIECVariable(self, IECPath, fvalue):