graphics/DebugDataConsumer.py
changeset 1214 2ef048b5383c
parent 1193 59c196884fec
child 1220 16c283246241
equal deleted inserted replaced
1213:599e43ec921b 1214:2ef048b5383c
   139     "DT": generate_datetime,
   139     "DT": generate_datetime,
   140     "TOD": generate_timeofday,
   140     "TOD": generate_timeofday,
   141     "STRING": lambda v: "'%s'" % v,
   141     "STRING": lambda v: "'%s'" % v,
   142     "WSTRING": lambda v: '"%s"' % v,
   142     "WSTRING": lambda v: '"%s"' % v,
   143     "REAL": lambda v: "%.6g" % v,
   143     "REAL": lambda v: "%.6g" % v,
   144     "LREAL": lambda v: "%.6g" % v,
   144     "LREAL": lambda v: "%.6g" % v}
   145     "BOOL": lambda v: v}
       
   146 
   145 
   147 #-------------------------------------------------------------------------------
   146 #-------------------------------------------------------------------------------
   148 #                            Debug Data Consumer Class
   147 #                            Debug Data Consumer Class
   149 #-------------------------------------------------------------------------------
   148 #-------------------------------------------------------------------------------
   150 
   149 
   196         Set value IEC data type
   195         Set value IEC data type
   197         @param data_type: Value IEC data type
   196         @param data_type: Value IEC data type
   198         """
   197         """
   199         self.DataType = data_type
   198         self.DataType = data_type
   200     
   199     
   201     def NewValue(self, tick, value, forced=False):
   200     def NewValue(self, tick, value, forced=False, raw_bool=True):
   202         """
   201         """
   203         Function called by debug thread when a new debug value is available
   202         Function called by debug thread when a new debug value is available
   204         @param tick: PLC tick when value was captured
   203         @param tick: PLC tick when value was captured
   205         @param value: Value captured
   204         @param value: Value captured
   206         @param forced: Forced flag, True if value is forced (default: False)
   205         @param forced: Forced flag, True if value is forced (default: False)
       
   206         @param raw_bool: Bool values must be treated rawly (default: True)
   207         """
   207         """
   208         # Translate value to IEC literal
   208         # Translate value to IEC literal
   209         value = TYPE_TRANSLATOR.get(self.DataType, str)(value)
   209         if self.DataType != "BOOL" or not raw_bool:
       
   210             value = TYPE_TRANSLATOR.get(self.DataType, str)(value)
   210         
   211         
   211         # Store value and forced flag when value update is inhibited
   212         # Store value and forced flag when value update is inhibited
   212         if self.Inhibited:
   213         if self.Inhibited:
   213             self.LastValue = value
   214             self.LastValue = value
   214             self.LastForced = forced
   215             self.LastForced = forced