LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Are there any example vi's for implementing a circular buffer between a plc, opc server, and labview dsc??

I am storing a block of data inside plc registers and reading this group into labview as a continuous set of datapoints. I am counting the number of scans in the plc and sometimes the number of points collected inside labview doesn't match.
0 Kudos
Message 1 of 6
(4,836 Views)
To explain a a little bit about tag updating:

The LabVIEW DSC tag engine is not just updated on any change of the value within the plc. There are, in fact, several "deadbands" that must be crossed before those tags are updated:

1) The OPC Server has a deadband - where the plc register value has to change a certain % before it is recorded.
2) In the LabVIEW DSC moduel, there is an I/O Group Deadband that determines when the tag engine is actually updated.

Both of these deadbands must be satisfied before a new "value" is recorded in the LabVIEW DSC tag engine.

Therefore, I would check your OPC Server's deadband (configurable in the OPC Server configuration utility) and also the I/O Group deadband for those tags (configurable in the tag configuration
editor).

If this doesn't resolve the issue, please let me know. Thanks.
Message 2 of 6
(4,836 Views)
I have not found a settting inside kepware for how to set the deadband to a percentage. Just an option to ignore it. I have the I/O group update rate at .010 and the deadband at 0%. The update engine deadband is set at 0% for all tags and the log data deadband is set at 0% with log resolution 1.0
0 Kudos
Message 3 of 6
(4,836 Views)
Is your plc scanning faster than 0.010? You may be missing data points due to the limitation of how fast you can read from the opcserver.
0 Kudos
Message 4 of 6
(4,836 Views)
the data is available for .6 seconds before it is overwritten. I would think we could update 400 tags into labview in this amount of time. what is the best way to detect change in state of a boolean bit. I tried the boolean crossing ptbypt.vi but it seems to work only the first time.
0 Kudos
Message 5 of 6
(4,836 Views)
Disregard the request for boolean transition detection. I changed the code in my loop and it works much better now.
0 Kudos
Message 6 of 6
(4,836 Views)