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

Processbook Error [-11101]

$
0
0

I have an issue in which I am looking at several PI points.  I am using the PIAdvCalcFilVal function.  I feed all the points the same filtering criteria.  A few of them come back with error [-11101] "All data events are filtered in the summary calculation".  I have also gone back and looked at each individual point and have verified that they all return a value during the time in question using the PIArcVal function.  Has anyone else ever encountered this?  If so, what was done to resolve this?

 

Thanks.

 

Michael Statler


AF:Deleting orphan child elements

$
0
0

We are testing a custom application that add/modifies/deletes attributes from AF.We noticed that the application deleted the parent element but left the child. As a result, we have lot of orphan child elements that need to be deleted as well. Is there a simpler way of finding orphan elements and deleting them without searching for them one by one?

 

Note: Most of the child elements have template associated with them.

 

Any assistance is greatly appreciated!

 

Thanks,

Arti

Help with a data set

$
0
0

Hello, I am trying to create a Data set that will display a graph if a tag is equal to a certain value. For example:

 

 

I have PI Tag   FM1.Cement_Type   This Tag could have up to only 4 values which are B-LOK-N, B-LOK-S, MT-II, MT-II LA

 

The 2nd PI tag is   J281006FY02   and this tags value ranges is a tons per hour that range from 0-350

 

What Im trying to make a trend for is when PI Tag   FM1.Cement_Type equals B-LOK-N it will total the J281006FY02 tag of tons per hour for lets say 24 hours. And total seperatly if it is B-LOK-S and so forth.

 

So If tag FM1.Cement_Type  value  from 1am-230am is B-LOK-N  then from 230am- 4am switches to MT-II what id like the trend to do is show from those time dirations the total amount of tonage gathered from from tag  J281006FY02   for each cement type

Custom Mouse Icon

$
0
0

I am very new to ProcessBook displays, and I am trying to figure out how to make text act like a link to open a new display.  I've gotten as far as when you click on the text it will open the display.  However, I would like the mouse pointer to change to the link icon (the hand with the pointing finger) when the cursor hovers over the text.  The cursor I want is not a default one within ProcessBook so I am having to load my own picture.  Here is a snippet of my code:

Private Sub Text61_MouseOver()
Dim d1 As Display
Set d1.MouseIcon = LoadPicture("C:\Windows\Cursors\aero_link.cur")
MousePointer = pbMPCustom

End Sub

Private Sub Text61_MouseOut()
MousePointer = pbMPDefault
End Sub

The help topic on the mouse icon property says that it must be a .icn or a .cur file but whenever I am in run mode and hover it gives a runtime error saying Invalid picture. I also tried another cursor file in the same folder but that gave the same error.  When I use a ProcessBook default instead of the custom, it does work as expected and changes the cursor on hover

 

 

ProcessBook trend configuration

$
0
0

Hi.

 

When I'm using a ProcessBook application, I select four tags and then click on the button Display Trend. The trend displays but it breaks each three selected tag in a separated graph (please see atached file). How can I configurate the ProcessBook to display every tag trends in the same graph?

Attached Images

  • trend.png

Attributes Average in PI System Explorer

$
0
0

HI Guys,

 

I am having few attributes in PI System Explorer,i want to calculate the average of those attributes dynamically.i.e When ever i created the new Elements ,Average have to calculate for those Attributes also.Is there any option to do that? Any reply it will be appreciated.

 

Thanks in Advance.

 

PI-API not able to use "pipt_..." functions in VBA

$
0
0

Okay, I'm new to using the PI API.  

 

I'm using VBA to access functions and points from PI.  

 

I can use piut_ functions, as well as piar_ functions.  But when I try to use a pipt_ function, I get an VBA error that says the sub or function isn't defined.  What gives?

 

I'm using the same instantiation technique for all the functions....  

 

Here's an example of my Sub

 

Declare Function pipt_pointid Lib "piapi32.dll" (ByVal pt&, ipt&) As Long

 

Sub GetPointValue()

Dim status as Long

 

pt = 58462

 

status = pipt_pointid(pt, ipt)

 

MsgBox(status)

MsgBox(ipt)

 

End Sub

 

It compiles fine, but doesn't recognize the function when I run it. 

PI-API piar_summary error -120

$
0
0

I am trying to use this API function, and getting this error.

 

Any tips on what I'm doing wrong?

 

Thanks,


Showing Text Visualiser for AF Template Extended Property

$
0
0

Hello, 

 

Using process book to add symbols to an AF element's template shows that extended properties can hold xml information. When viewed in the Pi System Explorer, the Name and Value of the extended property can be edited. 

 

 

The Value type for xml is Basic Types -> String, and as shown in the attached image, can be edited by the "Text Visualiser" by clicking on the [...] icon.

 

Extended Properties with Text Visualiser.PNG

 

 

However, when i have created my own custom xml as an extended property of type Basic Types -> String, the "Text Visualiser" is not available to edit it. 

Extended Propertiese wtihout Text Visualiser.PNG

 

How can i make the text visualiser available for use with my own custom xml strings in extended properties?

 

 

 

 

 

 

 

[-10010] PI System Timed Out

$
0
0

Hi Friends,

 

I am new to OSI PI system. I am trying to fetch some historical data from OSI PI through an external application (MII). I am getting a [-10010] PI System Timed Out error.

 

Can any one help me with this. I am able to fetch current values of the tags successfully

 

Any help on this very much appreciated

 

Thanks

Shaji

VBA trigger msgbox on tag value, with deadband

$
0
0

I think this has been discussed before, but I've searched all morning and still can't find an answer.

 

I want to trigger a msgbox when a tag value exceeds 1100.  That part I can do.  After the user clicks "OK", I don't want the msgbox to appear again until after the tag value has dropped below 1050 and then exceeds 1100 again (in effect, a deadband).  I'm thinking that if I use the dataupdate as the trigger for the msgbox, it will appear every time the tag updates, which would be every so many seconds.  Any help is appreciated!

Automated Datalink Report Scheduler

$
0
0
My PI users have a need to have their Datalink reports and ProcessBook displays automatically printed and emailed on a schedule. We want something more robust than just applying VBA code to individual Excel and ProcessBook files. Datalink for Excel Services and rtReports don't meet these requirements so we're looking for other third-party solutions before developing something in-house. Has anybody found a third-party solution for this, preferably from an OSIsoft partner? Thanks in advance!

Manual Logger error during manual entry tour run

$
0
0

Hi guys,

 

After rebooting the server, am now getting this error message whenever I try to run a tour. I've made some other tours and they also get this error... any ideas?

 

Capture.png

 

Thank you!

 

Isamu

Child Elements Count

$
0
0

Hi Guys,

 

I want to count how many child elements parent is having and I want to put that count into the PI Tag.When ever i create the new child element the child elements count automatically increase in that PI Tag.Is there any way to do that? Any reply that will be appreciated.

 

Thanks in Advance

Code in PIACE for PIACEPoint is not retrieving exact value at time

$
0
0

Hi PI gurus,

I am creating a PIACEPOINT and setting the exetime, then retrieve the value, but the value being retrieved is not the value in the archive.  I suspect it is interpolating it somehow.

 

The code I have is:

 

ExeTimeExtended.ExeTimeSeconds = ExeTimeSec;
ExeTimeExtended.SnapTime();  // just a little function to put the time right on the hour, 00 mins or 00 seconds.
ExeTimeSec = ExeTimeExtended.ExeTimeSeconds;

 

input = new PIACEPoint(Context + Path, tag, TagAliasUsedType.TagAliasAsInput); 
input.ExeTime = ExeTimeSec;
inputs15minSums += (double)(float)input.Value;

 

My pi archive has values:  ** NOTE ALL DATES IN dd/mm/yyyy

VS-PI-4, UTD012, 0.09754037, 1/04/2014 10:30:00 PM, False, Not Annotated, False
VS-PI-4, UTD012, 0.02556984, 2/04/2014 12:00:00 AM, False, Not Annotated, False
VS-PI-4, UTD012, 0.09612005, 2/04/2014 1:30:00 AM, False, Not Annotated, False

When I step through my code the value of input.value = 0.0254562013

the value for exetimesec = 1396360800.0 (2/4/2014 at 12:00 AM)

which is pretty close to the midnight value but not exact.

 

Any thoughts would be greatly appreciated.

Peter
 


How to return the summary error?

$
0
0

I am developing C# PI ACE calculation and trying to use the summary method for pipoint.data

PI SDK says:

 

pipoint.data.summary

 

In addition to generic errors (such as Out of Memory), the following errors may occur:

Error Description
E_INVALIDARG Some of the function argument are not valid.
E_NOTIMPL This combination of the function arguments is not implemented at current PISDK version or not supported by this version of the PI Server.
PISDK_E_ERRCONVINPUT Problem converting input arguments
PISDK_E_CALCFAILED Calculation error like not enough good value to do calculation
PISDK_E_ERRCONVOUTPUT Error converting calculation result to PISDK result format

I have a call to summary which is returning a calc failed, I have looked in the log file but nothing to do with the error message.

 

How do I obtain the error please?
 

Unable to start RDBMSPI service

$
0
0

All,
 
I'm having to pick up managment of our PI system from a colleague who's leaving the company, and I'm beginning to flail around a little.  While I'm happy manipulating tags and pulling data from them into external applications, my in-depth knowledge of how the system works is not so good.
 
I've inherited an RDBMSPI service that is periodically stopped/started manually in order to read data in from a SQL database; this is something I've done on an ad-hoc basis using the ICU previously, but today I'm not able to restart it after stopping it.  The error message I'm receiving from the ICU is:
 
Error -2147200889: Call to StartService failed.  %1 is not a valid Win32 application.
(StartService) (2) (StartAService) in function StartAService:
Service RDBMSPI4 failed to start
 
followed by:
 
Failed to start service RDBMSPI4.
 
As far as I can see from the relevant log file, the service stopped correctly, and I can't find any references to the error message/code above around.  Can anyone shed any light on what's gone wrong, and/or how I can investigate further?

As I'm in the UK and my wife's standing around in the rain waiting for a lift I'm afraid I'm leaving the office imminently, so if I don't supply any more information, etc., tonight I'm not being ungrateful - just temporarily absent.

Many thanks in advance,

Rob

Change number of decimal digits - Excel VBA

$
0
0

Hello,

 

I looked around and didn't find a solution here.

I am trying to run this code just to test a few things so I can implement in my other sheet.

Sub piTest()

    Dim srv As Server
    Dim pt As PIPoint
    Dim pv As PIValue
    
    Set srv = Servers.DefaultServer
    Set pt = srv.PIPoints("myPItag")
    pt.Server.Open ("myserver")
    
    Set pv = pt.DATA.ArcValue("25/08/2014 17:20:00", rtInterpolated)
    If pv.IsGood Then
        MsgBox CStr(pv.Value)
    Else
        MsgBox "bad value"
    End If
    

End Sub

The problem is that I getting a value with 2 decimal digits, like: 7229,34.

If I go to the sheet and use this formul:

=PICurrVal("myPItag";0;)

I get a value with 8 decimal digits, like: 7229,33984375

 

What I need is to specify thru VBA to get more decimal digits. If it's possible, I need to get all decimal digits.

 

Probably this is stupied, but this is the first time I am using PI thru VBA. I always use only formulas.

 

Thank you.

Time weighted averge mwh year to date

$
0
0

For me the totalizer is a tricky concept to understand. I am looking to get the total mwhr for the current year, current month and previous day. It seems there are various ways this can be done. I believe that it can be done by using totalizer tag. I have a source tag that gives me current MW. but have removed it from the example.

 

I would think that if I changed eventexpr to BOM('*') it would give me from begginning of month and year('*') would give me from beggining of year. Do I have to wait until after midnight to see if these tags work. Do they look correct?

 

Thanks

 

Totalizer Point Attributes for: TOT_previous.DAY

Descriptor: CT5/6 TIME WEIGHTED AVERAGE (MWHR) FROM PREVIOUS DAY

archiving = 1

calcmode = TIMEWEIGHTED

compdev = 2

compmax = 28800

compmin = 0

compressing = 1

compvalue =

conversion = 24

datasecurity = piadmin: A(r,w) | piadmins: A(r,w) | PIWorld: A®

descriptor = CT5/6 TIME WEIGHTED AVERAGE (MWHR) FROM PREVIOUS DAY

engunits =

eventexpr = BOD('Y')

excdev = 1

excmax = 600

excmin = 0

filterexpr =

function = TOTAL

movingcount = 1

offset = +0H

offset2 = +0M

options =

pctgood = 85

period = +24H

period2 = +2M

ptsecurity = piadmin: A(r,w) | piadmins: A(r,w) | PIWorld: A®

ratesamplemode = NATURAL

reportmode = RAMPING

scan = 1

shutdown = 0

sourcetag =

span = 100

step = 0

tag =

totalclosemode = EVENTCHANGE

typicalvalue = 50

zero = 0

zerobias = 0

Totalizer for total running time of equipment

$
0
0

We are trying to define a way to archive the total time (accumulative) that and equipment item has been running.  For example, if i have a tag for a state (running/stopped) of a pump and it has the following values:

 

TAG VALUE | TIMESTAMP

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

RUNNING     | 08/26/2014 12:00:00

STOPPED   | 08/26/2014 12:25:00

RUNNING     | 08/26/2014 12:50:00

STOPPED   | 08/26/2014 13:25:00

RUNNING     | 08/26/2014 13:40:00

STOPPED   | 08/26/2014 14:10:00

 

then the totalizer should be 1.5hr

 

the result should keep updating as time goes on as long as the source tag exists.  can we use a totalizer or should a PE provide the solution?

Viewing all 1120 articles
Browse latest View live