cancel
Showing results for 
Search instead for 
Did you mean: 

Tag query - Rowcount Property

Former Member
0 Kudos

Hi,

We are using SAP MII 12.1.5 ( build 83).

We have been connecting to a PI historian to get data and performing some calculations.

Since the client gives more important on the accuracy of data, we are using the history event mode.

( With history event , we could not get the results as expected)

While querying a particular tag, the value is not as expected.

After doing all the testing, We found out the For the particular period PI has some where around 18000 rows. and we are only getting 9999 rows since we have specified this in the tag query row count.

In the transaction I tried to increase the rowcount to 20000. It is not working.

The maximum count is 10000. After that the query gives unknown error Java LH exception.

Is there a limitation on the rowcount property?

If we fix the row count for a certain limit and the query returns more than those number of rows, how to get all data?

I am sure handling these huge number of rows is not a very good thing to do. But the algorithm to calculate the end result requires each and every data as registered in PI.

Any input is appreciated.

Thanks in Advance,

Kishore kumar P S

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Mike,

You are right. Actually we are doing the current approach what you have mentioned. we are getting the values per hour and dividing it by 3600 to get the value of per second. That is fine.

Actually from help, I thought that if the value is provided in the totalizer value as 1/3600 the result would be per second directly. ( As I have seen the data type of totalizer is Float )

I hope now, it looks a little clear.

To Jeremy: I tried to with values from 1 to 10 in the totalizer, still the tag query ( TOT_TAGNAME) gives the same result.

Totalizer value did not affect the end result.

any inputs?

Regards,

Kishore kumar P S

jcgood25
Active Contributor
0 Kudos

If you run these two URLs you should see the double TOT_L1Speed column:

/XMII/Illuminator?Server=Simulator&Mode=Statistics&Method=MIN,MAX,TWA,TOT&TagName.1=L1Speed

/XMII/Illuminator?Server=Simulator&Mode=Statistics&Method=MIN,MAX,TWA,TOT&TagName.1=L1Speed&TotalizerFactor=2

If you substitute the name of your Data Server for Simulator and a relevant TagName you should also see that the TOT value is doubled (should be repeatable from a real historian, whereas Simulator will create unrepeatable values). The TotalizerFactor is simply multiplied by the TOT value.

Former Member
0 Kudos

Hi Jeremy,

Sorry for the delayed reply.

I tried the same but the result is same with the historian I am working.

I think the totalizer factor also depends upon the Historian and connector.

So I feel the totalizer factor is not taking effect due to this.

Regards,

Kishore kumar P S

jcgood25
Active Contributor
0 Kudos

How are you connecting to OSISoft PI - UDS, PCo, OPC-HDA? TotalizerFactor should absolutely work, and it should not matter what historian you are connecting to.

Former Member
0 Kudos

Hi Jeremy,

We are using UDC and the totalizer is not working.

I am right now going ahead with the getting the values and then change it accordingly in the transaction.

By this I mark this question is answered. If I get any more updates I will update the thread in future.

Regards,

Kishore

jcgood25
Active Contributor
0 Kudos

I understand that you are using UDC - that is the java tag query side in MII, but you still didn't answer the question from my last post. What is the native UDS source of your tag data for PI, the PI UDS or OPC-HDA? If a simple Statistics query for a single tag with TotalizerFactor of 2 doesn't double the normal value received when querying the same time range then there is a good possibility that a bug exists. Using the PI UDS I see the totalizer factor working just fine with integers and decimal values.

If you are already incorporating some business logic anyhow then your workaround is sufficient for the time being, but opting for this and not logging a relevant support ticket if an issue exists is irresponsible. For the benefits of the s/w and community, please follow through with the bug determination and support ticket process.

Former Member
0 Kudos

Hi Kishore,

I think the only way to get all the values from PI historian is to mention the maximum number at rowcount property in Tagquery , why can't you increase rowcount from 9999 to 99999 or 999999 and check whether output is coming or not.

Thanks & Regards,

krishna chaitanya

agentry_src
Active Contributor
0 Kudos

Hi Kishore,

I would strongly recommend that your customer build the calculation in a Performance Equation in PI rather than transporting data to MII to perform your calculations. Your system performance will be much improved in several significant ways, but most especially in the network traffic reduction.

Regards,

Mike

Former Member
0 Kudos

Hi Mike,

We have initially told about the performance issues if we go with this approach.

But once we have shown the demo last week, they agreed with the modified approach.

Now we are using the Statistics with TOT. Still the totalizer value is not taking effect.

As I know from the help docs, the totalizer factor is used to change the from one unit to another unit.

the help Doc says

"The area under the curve (effectively a "totalizer" value) can be calculated by multiplying the time-weighted average by the width of the time interval in seconds. However, quite often, the instrument or measurement is in different units (perhaps gallons per minute versus per second), and the TotalizerFactor parameter can be used to perform the correction."

But there is no effect on the totalizer value. There is one more point in totalizer value is depend upon the connector. We are using the UDC connector. Currently I am not getting anything on this connector type.

Any inputs will be appreciated.

Thanks & Regards,

Kishore kumar P S

agentry_src
Active Contributor
0 Kudos

Hi Kishore,

I am not sure I understand the problem you describe. The totalizer returns a single value without units of measure. If you are looking for a rate measurement (per hour or per day instead of per second), you can divide the totalizer value by the duration in whichever units you desire equal to the measurement duration. If I did not understand correctly, please explain your situation in more detail.

Regards,

Mike

jcgood25
Active Contributor
0 Kudos

TotalizerFactor has a default value of 1, but changing this to 2 on the Tag Query Details panel in the Workbench should double the number since it simply multiplies the TOT_TAGNAME value coming from the historian by the TotalizerFactor.