How to make PI register all values?

rleon

Member
Join Date
Aug 2008
Location
Baires
Posts
129
Hi:

I am trying with FactoryTalk Historian, but I have the following issue. When a analog tag changes to zero and stays in zero for example 1 hour, and then takes values over zero (for example a motor current running/stopping), PI doesn't register the zero values during the stopped motor time. Instead of that, in the pen curve, traces a diagonal line from the first moment in zero to the new value different from zero. This is very annyoing because I can't see the real curve, like I can see for example with classics bulletproof Dbase datalogs.

This issue happens with TrendX and with VantagePoint Trend

Is there a way to make PI (Historian) to archive values like SQL Server way, without discarding points? I need that when the motor stops for 1 hour, see a zero trend line in that time period during the motor is stopped.


My config for analog values in PI Point Builder is:
Scan: On
Archiving: On
Step: Off
Shutdown: On
Compression: Off
Exception Deviation: 1 Eng Unit. Max time: 10 minutes


Thanks
 
Set the step value "On" if all you want is the trend line to have a square-wave like appearance.
 
Compression: Off

That's not a preferred approach , adding uncompressed points to a PI database archive that is; PI is, by definition (Proportional-Integral), a time series of a value different than zero. You will fill-up your storage with useless zeros in no time.

Also, an Exception Deviation of 1 is pretty coarse; I'd suggest 0.05.

Compress your points (compressing=1)with similar ratios (compdev=0.05, compdevpercent=0.05) then set compmin to 0 and compmax to 28800.

The FTVantagePoint Trend object deployed over a defined time period and set according to your 'needs' should retrieve the proper time series with a constant zero slope.
 
PI is, by definition (Proportional-Integral), a time series of a value different than zero. You will fill-up your storage with useless zeros in no time
.

But what can I do when I need to represent the real current (Amps) curve when my motor is stopped?

Thanks

PD: I will try with your suggested values.
 
But what can I do when I need to represent the real current (Amps) curve when my motor is stopped?

'Zoom' your VantagePoint Trend time 'window' (X Axis) to the motor stop time (30s prior to Stop command and 30s after it) and you will 'see' the trace going from whatever current value to zero and then staying to zero; make sure your trend's Y Axis length is just slightly higher than the expected current amplitude.

The shorter the X Axis (time 'window') the more accurate the trend will look like.
 
I couldn't find this fields in the point builder.

That's fine if compdev is set to 0.05...You could go with either the amplitude or the percentage where the lower values will be 'compressed'...It's data type depending...
 
So if I'm reading this correctly, it sounds like this isn't a configuration within PI but within the TrendX.

If you right click on your TrendX and go to the "Pens" tab (I believe), on each pen there is a setting for Analog / Digital. If it is analog, FactoryTalk will automatically smooth (prettify) the line, so it really isn't a true trend. If you change it to digital, it will show the true value of the PI point. (I have ALL of my pens set up to Digital by default, so my operators can see whats ACTUALLY happening, not some auto-smoothed version).

Furthermore, as a troubleshooting tool - go to the Current Values within PI SMT. When the motor is stopped, if your current values are 0, you know its logging the correct value just fine.
 
So if I'm reading this correctly, it sounds like this isn't a configuration within PI but within the TrendX.

If you right click on your TrendX and go to the "Pens" tab (I believe), on each pen there is a setting for Analog / Digital. If it is analog, FactoryTalk will automatically smooth (prettify) the line, so it really isn't a true trend.

.

The issue is that if I have trending logging to dbase or SQL Server, I don't need to set the analog values to digital setting.
For example a Set Point of a PIDE changes from 50 to 100 like a step, the trendx with SQL Server plot it like a step without the need to configure the pen in digital mode.
With data from PI, I need to use digital mode.
 
What it sound like you need to do is to retrieve the value using Excel's Datalink. Datalink will automatically interpolate the "empty" space in the time for you.

In other word, you need a client that understand how a process database store its data. It's not just a PI problem, all process database works the same way, discarding data when it's not changing. The only other option you have is to set a max-compression time which adds volumes of data in your hist server.

ETA. I should read more carefully. your compression was turned off, so it's only filtering on deviation. I'm curious, what's the raw value/timestamp looks like? I mean, the trend is just doing what it supposed to do unless you do a polynomial curve fit, right? I'm probably confused about something here.
 
Last edited:
If you do not have many points you want to record despite the value not changing the state for a while i think it is not a harm to switch off compression on those points.
 
In other word, you need a client that understand how a process database store its data. It's not just a PI problem, all process database works the same way, discarding data when it's not changing. The only other option you have is to set a max-compression time which adds volumes of data in your hist server.

ETA. I should read more carefully. your compression was turned off, so it's only filtering on deviation. I'm curious, what's the raw value/timestamp looks like? I mean, the trend is just doing what it supposed to do unless you do a polynomial curve fit, right? I'm probably confused about something here.

Harry:

This are the samples to explain what I need.

The first image represents the current motor from a stopped state to a running state (in the X axis 16:50:33). The Trend shows the time whiles the motor is stopped (current=0). That is exactly how I can see using SQL Server in my datalogs.
Sample1%20Trend%20SQL.png

---------------------------------------------------------------------------------

The second image shows the same curve using PI. Instead of showing zero line, it interpolates the curve from the "first" zero to the instant when current is not zero, not recording zero values during the motor stopped. According to this curve, at time 16:26:33, the current motor is 40, but in "real life" the motor current is 0 because it was stopped.
Sample1%20Trend%20PI.png




I need that Historian (PI) records values like SQL Server. Don't need compression and don't care about disk space. I have 2 TB.


Thanks to all for your answers
 
If changing the Step parameter to "ON" does not achieve the desired result, it must be concluded the trending package is not interacting with the archive in a way to take this display advice from the archive. I can say with certainty that PI-Processbook will use this display hint. (Step ON/OFF does not change what is stored in the archive, only its appearance by clients.)

To achieve the desired result, you can effectively turn off exception processing by setting exception deviation to zero. Then, either leave compression turned off, or turn it on with compression deviation at zero. With compression on and zero comp deviation, you will avoid repeated zero values when the motor is turned off (assuming the interface is updating with exactly zero value on every sample with the motor off).

When using PI-Datalink in Excel, you can see every value stored in the archive with the Get Compressed Data function (which, to me, is a counter-intuitive name), or if you use Get Sampled Data, PI will create data to fill in the blanks using interpolation based on the specified interval.

In a way, the Step parameter is telling the trend client whether to use Compressed or Sampled data access to the archive. If the trend client does not support the Step request, you may have no choice but to make your stored data look like a square wave with zero execdev and minimal compdev, or compression off.
 

Similar Topics

I have a .RSS file that has had a lot of the logic modified but I want to import all of the set points and recipes as they currently are in the...
Replies
4
Views
1,472
HI, I am having a little problem in getting data correctly from a energy meter. I have used MSG instruction to get data of various registers and...
Replies
1
Views
1,613
Hello ppl, I'm using Ge Fanuc series 90 micro PLC which has an internal clock. What I need to do is start up a motor a particular time everyday...
Replies
2
Views
1,850
I am attempting to reject a bottle If the label fails. The rejection works fine at normal line speed but at low speed the rejector fires (air...
Replies
35
Views
1,124
Hi everyone, I am working on a project that needs to expose the SV (Set Value) of a temperature controller to a SCADA system. SCADA <-...
Replies
4
Views
153
Back
Top Bottom