Showing results for 
Search instead for 
Did you mean: 

Data Table object doesn't propagate signal quality

When I insert the expresion that directly reference the I/O point in driver object I could get the red X over display in case of comm failure. When that I/O point is conected to Data Table object and then inserted into control panel as a cell from that table I couldn't display the quality of that I/O point - red X never appears.
Simply, the quality information doesn't propagate together with value in case when I use Data Table to multiplex many I/O points to single control panel. Also, I couldn't use qbad or qgood functions with this data.
Why Data Table doesn't propagate quality with data?
What is the purpose of quality if we could not use it in expresions or displays?
Alan Vrana
SCADA Projekt d.o.o.
ZAGREB, Croatia
0 Kudos
Message 1 of 7
This is expected behavior.

#1: Datatable.A1=Driver.1
#2: Qbad(Driver.1)
#3: Qbad(Datatable.A1)

If Driver.1 is offline then #2 will be true. #3 will be false since the datable is not "offline".

The way I represent bad multiplexed data:
I use two datatables with their cursors connected. The first datatable multiplexes the data, the second is filled with qbad expressions analyzing the same points as the first data, muliplexed in the exact same way ,cell for cell, as the first datatable. In my panel I layer the graphics. I use the red x for the true qbad expressions.

Hope this helps,
Tommy Scharmann

P.S. There are many other ways to do this....
Message 2 of 7
This is the one of solutions for shure. I am wondering why the quality handling is not consistant through all of Lookout objects?
This method impose a lot of work for developers.
Just imagine that some critical actions in your application depend on quality processing. You need to process data and quality separately for each one connection. If you have more of I/O points like that and use more Lookout clients in your application it is a huge work to implement quality processing correctly and the posibility of error is high. Also, you have to implement the display of quality (red X) for each of that signals to.
I am not shure that whole idea of quality is to double the work for developers. It would be more convinient that quality information is propagated to
gether with data through all of Lookout objects and clients. This is automaticly provided just in case that you use use driver I/O points directly in expresions. Other objects don't use and propagate quality information at all. Furthermore, the end user could have more information about process that he controls:
- comm filure
- sensor filure
- network status
Maybe someone from NI could tell us more about this? Why the most of the objects don't use quality?
When this would be provided?

Alan Vrana
Alan Vrana
SCADA Projekt d.o.o.
ZAGREB, Croatia
0 Kudos
Message 3 of 7
When I work on a massive interface (I have some with thousands of I/O) and must do repetative work I will not use the GUI developer interface. I will edit the scipt file directly using an editor like Notetab: http://www.notetab.com

You can use find and replace or define your own macros, this way, repetative applications go very fast and you become a very efficient developer.

As far as comm failures:
Lookout does provide alarms when a driver cannot communicate with its assigned device. I use this in all of my applications.

As far as sensor failures:
In my applications this is handeled by the PLC's and communicated to Lookout. For 4-20 mA sensors this equates to a 16 bit binary integer of 6400-32000. If the value ever exceeds 32000 or
falls below 6400 a bit is set in the PLC and an alarm is triggered in Lookout.

As far as network status:
There is a system datamember named NetworkStatus. I employ this coupled with quality expressions to report the status of my industrial ethernet network on each client.

Tommy Scharmann
0 Kudos
Message 4 of 7

and...if signal quality is good but the device or sensor is bad (value=0), the datatable doesn't propagate the value null in the cell. Why? Ive got Lookout 5.1 and dont use DDE.

0 Kudos
Message 5 of 7
If the quality is good, I think there should be a value, such as 0, but not null. What kind of value is written to the register when the sensor is bad depends on the PLC itself. Lookout just reads the value.
If the quality is bad, there is no value.
Ryan Shi
National Instruments
0 Kudos
Message 6 of 7
Ok, "if quality is bad, there is no value". But if quality is good and the value from PLC is "15.6" and then "0", the datatable doesn't propagate the value "0" in the cell and show the last data "15.6", or not?
0 Kudos
Message 7 of 7