Quantcast
Channel: OSIsoft Users Community
Viewing all 1120 articles
Browse latest View live

Formula with Digital Tag

$
0
0

I would like to check if two tags are in the "CLOSED" state and return TRUE if they are, to a formula in PI SYSTEM EXPLORER.

The digstate function returns function requires a quoted string, but if I put in quotes I get Found illegal character(') at postion.

How can I use a digital tag value in a formula?

 


PI Notifications Excel Addin - Resize programmatically

$
0
0

It is possible to resize and arrayof PI data in Excel programmatically using the DLResize method.

Is there a similar method to allow resizing of the returned search list of PI Notifications ?

 

thanks, Dave

Calculated tag: Is there any way of calculate its value only when it's called?

$
0
0

Hi!

 

I'm facing a problem and I would like your help, guys. I have some calculated tags that use some other base tags to calculate its value. That base tags are mannual input or collected tag. The problem is that the user input the value in the mannual input tag at 8pm, for example, but using a timestamp of 00h of the same day. In other words, the user puts a value in the past. The problem is that my performance equation has already calculated the value for that time on the past that the user inputed the value. Because of this, that calculated data on the past now is wrong and should be recalculated.

 

I was wonder about an automatic solution to this problem and thought that it would be nice if I could create a kind of virtual tag that calculate its value only when it's called and getting the base values only when it's called as well. Is there any way to do this? Or, how can I solve my problem? I only want to recalculated a tag on the past using the new base tags values in a automatic way..

 

Thanks in advanced.

Can MDB usage be monitored?

$
0
0

I have canvased opinion from users of our system about their use of the MDB and most say "Yes I definitely use it".

 

However is it possible to see how much use the MDB actually gets? Number of queries, the actual searches made, etc. I would like to target MDB administration and features to actual use that is made of it and I suspect that many of the alisases in our MDB are never used.

 

For example we group and sub-group tags to a depth of 3 or 4 modules. Tags have units that include mph, psi, MW, Amps, and Volts. However I feel that only the MW tags are searched for using the MDB and that the others are found by using the Basic search. I am therefore possibly wasting my time by creating and managing those aliases for 85% of our tags.

 

I have seen tracing for MDB - AF sync but we don't have AF and that is probably not what I'm after anyway.

 

Regards,

 

Miles

PIPoint Value returning "COM Object"

$
0
0

Hello,

I have a point which is a status text value I believe should display "ON" or "OFF"

when I add the point in a value box through processbook the value shows correctly

 

however, when trying to retrieve the value through the SDK the snapshot is returning "COM Object" with no children

any ideas why?

 

I am retrieving the point and debugging it through two different options, both are returning the same value

 

var Objval1 = piServer.PIPoints["" + tag + ""].Data.Snapshot.Value;

var Objval = piServer.PIPoints["" + tag + ""].Data.ArcValue(timeNow, RetrievalTypeConstants.rtAtOrBefore, null).Value;

PI Graphic Web parts

$
0
0

Hello,

 

I'm trying to create a page (using Sharepoint 2010) with PI Graphic web part.

When I wanted to select a SVG file for this page, this error  message came up:

 

"The Web application at http could not be found. Verify that you have typed the URL correctly. If the URL should be serving existing content, the system administrator may need to add a new request URL mapping to the intended application."

 

Anyone here experience the same issue ?

Need help.

 

Hadi

 

Attached Images

  • Capture Sharepoint SVG.PNG

PI Notification File Generation

$
0
0

Hi..Is it possible to generate a predefined file in particular location(like D:\Notificaton) when notification is triggered?

PIAPI piar_timefilter function alternative in AFSDK

$
0
0

Hello,

 

My goal is to calculate total amount of time PIPoints value was equal to passed value between start time and end time.
Can some please suggest alternative in AFSDK for piar_timefilter function?

 

Here is a description for the function:
piar_timefilter - This routine calculates the amount of time between the passed start time and end time during which the passed expression is true. The total time is also returned.

Thanks.


Cross reference Datalink funtions with PI SDK calls

$
0
0

Is there a cross reference for Datalink funtions and PI-SDK calls?

 

For example, Datalink has PISampDat(). What call would return the same data using PI-SDK? I assume Datalink uses the PI-SDK “under the hood”.

 

Bill

Opc server restart the client must be manually reset?

$
0
0

i have a opc interface,Opc server restart the client must be manually reset, or data is IOtimeout.what should i do?

 

Error 10310 while updating ptsecurity and datasecurity

$
0
0

Hi,

 

   I want to update point security and data security for multiple tags. I used PI datalink and I am getting 10310 error. Here is the data I am trying to update:

 

Selected(x) Tagname                   datasecurity
x                   10MI_RES-EV-Q     piadmin: A(r,w) | piadmins: A(r,w) | 11: A(r,w) | PIDataServiceUser: A(r,w) | PIWorld: A®  |                                                 PIConfigGroup: A(r,w)
 

I want to add PiConfigGroup with (r,w) access. When I tried to export this tag configuration, I am getting the following error:

 

"Error setting PI point attribute datasecurity to Error -10310

 

Note: I am part of piAdmins group on this PI server.

 

Any assistance is appreciated.

 

Thanks,

Arti
 

Totalizers - View Interim Results While Totalizing

$
0
0

Hello everyone

 

First off, I'm pretty new to PI.

 

I have a typical application involving Totalizers to generate equipment runtime hours based on a Digital tag being in the Active state.

But, it's a bit more complicated and involves an external database that reads the runtimes and then clears them via PI OLEDB - still pretty typical in my mind.

 

Here's my testing totalizer config:

Totalizer Point Attributes for: RunTime1
Descriptor: 
 
archiving = 0
calcmode = TIMETRUE
compdev = 0
compmax = 28800
compmin = 0
compressing = 0
compvalue = Active
conversion = 1
datasecurity = piadmin: A(r,w) | FTHEngineers: A(r,w) | PIWorld: A®
descriptor = 
engunits = 
eventexpr = 
excdev = 0
excmax = 600
excmin = 0
filterexpr = 
function = EVENTEQ
movingcount = 1
offset = +0H
offset2 = +0M
options = SETABLE 
pctgood = 85
period = +1H
period2 = +2M
ptsecurity = piadmin: A(r,w) | FTHEngineers: A(r,w) | PIWorld: A®
ratesamplemode = NATURAL
reportmode = RAMPING
scan = 1
shutdown = 0
sourcetag = TestBit
span = 100
step = 0
tag = RunTime1
totalclosemode = FOREVER
typicalvalue = 0
zero = 0
zerobias = 0

 

The problem with this is my clients equipment will run for weeks at a time, and the runtimes "hang" until the equipment turns off. The client wants to be able to check the values in real time (see them update in SMT Current Values every minute or so) to make sure they configured the totalizer and source tag correctly.

Another problem with this, the external database will read and clear the values, and days/weeks of totalization could be lost.

 

Is there a way to read the totalized tag while it is running? I was under the impression "interim" results would write successively to archive, but they only do once the source tag is inactive. I've tried scheduled sampling rather than natural, but no go.

 

I've made an alternate solution using PEs:

TimeEq('TestBit','*-1m','*',"Active") + TagVal('RunTimePE')

Where 'RunTimePE' is the point name of the performance equation and then I add the PE to the 1 minute schedule

 

But this seems like something the Totalizer should be able to do and I've heard PEs can bog down the PI system - my client will have 25k or so runtimes to monitor.

In my mind, I should be able to see interim results during the interim - hence the name.

 

Am I missing something?

 

Thanks!

Chad

issues using the tagtot expression in VBA

$
0
0

My name is Aaron and I am new to using PI.

 

I am trying to write a program in the VBA environment of Processbook that will get a range of data during a month and sum the values and compare it to the same range of data for the previous year .  For example, I want to compare total Mega Watts for june 2014 to total Mega Watts for June of 2013.

 

I am trying to use the command TagTot('tag', 'starttime', 'endtime'. [, pctgood]). However I keep getting an error

 

This is  a snip of my code:

 

Private Sub CommandButton1_Click()

Dim month As Variant, day As Variant
Dim current_year As Variant
Dim previous_year As Variant, range As Variant
Dim current_525_tot As Variant

current_year = year(Date)
previous_year = current_year - 1
month = ComboBox2.Value
day = ComboBox3.Value
range = ComboBox1.Value

timestamp1 = "'" & day & "-" & month & "-" & current_year & "'"
timestamp2 = day & "-" & month & "-" & previous_year

 

current_525_tot=tagtot('EASE_EOH0252',timestamp1,'*')

 

ListBox1.AddItem (timestamp2 & "  " & timestamp1 & "  " & current_525_tot)
End Sub

 

I'm not sure if I am setting this up right  or if there is a library I need to use. any help is appreciated.

 

Count tags that have specific value

$
0
0

Hi Guys,

 

Apologies if i have posted this in the wrong place but I am struggling a bit with the formula/ Expression that I would need to put into Proccessbook to count the number of tags that have a value of faultless

 

Count tags ('TEES-WT01-WpsStatus' (upto WT27)) that have specific value (Faultless).

 

Effectively what i need is a calculation that will return the number of assets in a particular state...

How to cancel/stop queries without stop services?

$
0
0

Hi,

 

There are some way to cancel/stop heavy queries without stop services?

 

SMT.PNG

 

In my system, queries that exceed 10.000 on "CurTime", slows my PI System.

 

I did a tuning parameter Archive_MaxQueryExecutionSec with timeout 120 seconds, but is not being effective.

 

Any tip?

 

*****

 

Olá

 

Alguém sabe de alguma maneira de parar/cancelar consultas que ultrapassem o valor de 10.000 ms sem que eu tenha que parar os serviços (Archive Subsystem/ Batch Subsystem)?

 

No meu sistema, consultas que passam de 10.000 ms fazem o servidor ficar lento. Fiz um tuning parameter Archive_MaxQueryExecutionSec com timeout de 120 segundos, mas não está sendo efetivo.

 

Alguma dica?


TagAvg GT

$
0
0

Hi,

I'm looking to take the average of a tag, but only when the value is greater than zero. What I have so far is:
 

tagavg('TAG','*','t-6h') >0

 

but this returns a value of 1, which I know is wrong.

Could someone indicate where my error is?

 

Thanks

 

AF Formula - Return String

$
0
0

i have af 2.6 and am trying to compare two numerical values and then return a string using the formula type

 

This is my formula

IF (A < 90 AND B < .5) THEN "SLOW ORE" ELSE "OPTIMAL SCENARIO"

 

If i try to evaluate this i get a syntax error, if i change the strings to 0 and 1 it evaluates...is there something i am missing with strings?

Event Frames -- Moving Beyond start and stop triggers

$
0
0

Hello,

 

In my PI system I need to track something called a full cycle.  A full cycle is defined by certain start and stop triggers....but, there are many other things that might have those same start and stop triggers.  I need to add additional conditions to the event like:

If the direction of the current changes more than once, that is not a full cycle.

If the max voltage reached is above x that is a full cycle. 

 

Etc.  Is there any way to add additional conditions to event frames? All I see is "start trigger" and "end trigger"

 

THanks

Using an AF Formula as a Counter

$
0
0

I'm trying to create a counter for how many times a tag equals a certain value using AF formulas and attributes (as I'm not allowed to add more PI tags), so this restricts me to AF formula syntax (not PEs).

 

How can this be done?  For example, using Sinusoid as a test, how can I increment a counter(B) every time sinusoid(A) equals 50 ?

 

Something like this is needed ?

 

A=sinusoid

 

B=counter

 

Expression:  if (A==50) then B+1 else donothing

 

I cannot use if (A==50) then B+1 without the else as it gives a syntax error

 

How do I 'donothing' in AF formula syntax ??

 

Thanks for the help !

 

 

Data Export To Excel

$
0
0

Hi,

 

Apologies if this is really obvious or I have missed something as I have only recently started to use PI Processbook in my job!  Within PI, is there a way to enable the user to enter a particular time and date and then export the values for that particular instance into excel?  I understand that Datalink can be used from within excel to perform this purpose, but I wondered if it could be exported from the PI side and then written to a new excel file which, when opened, would show the values for that particular instance without the need for Datalink import??

 

Many Thanks

 

 

Viewing all 1120 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>