plugger.py
changeset 483 bc26c42d2eec
parent 481 28d47c1df46f
child 486 2e0fe44044b3
--- a/plugger.py	Wed Dec 09 00:56:18 2009 +0100
+++ b/plugger.py	Wed Dec 09 01:11:48 2009 +0100
@@ -681,12 +681,8 @@
 from plcopen.structures import IEC_KEYWORDS, TypeHierarchy_list
 
 # Construct debugger natively supported types
-DebugTypes = [t for t in zip(*TypeHierarchy_list)[0] if not t.startswith("ANY")] + \
-    ["STEP","TRANSITION","ACTION"]
+DebugTypes = [t for t in zip(*TypeHierarchy_list)[0] if not t.startswith("ANY")]
 DebugTypesSize =  {"BOOL" :       1,
-                   "STEP" :       1,
-                   "TRANSITION" : 1,
-                   "ACTION" :     1,
                    "SINT" :       1,
                    "USINT" :      1,
                    "BYTE" :       1,
@@ -1712,7 +1708,7 @@
                 #print weakcallable, value, args, kwargs
                 function = getattr(weakcallable, function_name, None)
                 if function is not None:
-                    if status == "Forced":
+                    if status == "Forced" and cargs[1] == fvalue:
                         function(*(cargs + (True,) + args), **kwargs)
                     else:
                         function(*(cargs + args), **kwargs)
@@ -1803,12 +1799,13 @@
         """
         Stop PLC
         """
+        if self._connector is not None and not self._connector.StopPLC():
+            self.logger.write_error(_("Couldn't stop PLC !\n"))
+
         if self.DebugThread is not None:
             self.logger.write(_("Stopping debug\n"))
             self.KillDebugThread()
         
-        if self._connector is not None and not self._connector.StopPLC():
-            self.logger.write_error(_("Couldn't stop PLC !\n"))
         self.UpdateMethodsFromPLCStatus()
 
     def _Connect(self):