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

PI ICU Failover

$
0
0

I configured the PI ICU to have the failover capabilities and they seem to work. However they work too well. The interfaces seem to switch between primary and backup every few minutes. Is there a way to make the interface failover less sensitive so that the repeated switching does not interupt data transfer to PI?

 

P.S. The interfaces work well when the failover is turned off and they are individually collecting data.


Retrieve Tag Value using PHP

$
0
0

ive read that we can retrieve tag snapshot value using php, using below code:

<?php
        $comObjPi = new COM('PISDK.PISDK');
        $server = $comObjPi->Servers->Item("your pi server ip or domain name");
        $server->Open();$point = $server->PIPoints("the pi tag");  // any tag.
        $point->Data->SnapShot()->Value."\n";
        $data1 = $point->Data->SnapShot()->Value."\n";
        $data1= number_format($data1, 0, '.', '');//fix the format
        echo ($data1);//display the data
                     
  ?>

is there a library that i can refer to, instead of just taking the snapshot, maybe taking the archive value?

 

a way that i can retrieve an archive value or maybe create a trend using php?

 

Question About PI Equation Timestamp

$
0
0

Hi Community,

 

If I have a tag which updates every 2 hours and want to know  its yesterday's value.  The equation tagvalue('tag1','*-1d') won't do because the data updates only once in 2 hours and its calculation will be based on the PI system clock (since * indicates now) and not on tag's timestamp.  For example, the latest data is 25Mar2014 18:00, the timestamp of my equation should be 24Mar2014 18:00.

 

Any help will be appreciated!

 

TIA :)

 

 

Clarification about some PI licenses terms

$
0
0

Dear OSIsoft team,

 

I posted my request to the community, because I can imagine some other PI customers may also get in details about the PI licenses terms.

After stepping in to my new job role, I have to maintain several PI systems at our company and so I’m also responsible for complying the license terms of OSIsoft. I would appreciate if you could provide some clear answers to following terms.

 

Interface node

What do you understand with “node”? A single computer which handles an interface program? Only one instance of interface software is allowed to run? Only one interface instance with one connection to the related part on the opposite? N interface instances to a single PI server?

 

Concurrent user

As far as I know that’s no longer sold by OSIsoft. Because such licenses are still available here at our company, my question is: What does it mean? N users share one client installation at one computer?

 

SDK client

What can I do with this client license? To develop an application which can read data from PI server? If an application development is allowed with this license, is it allowed to write data back to PI server?

 

Enterprise PI server

Where are the differences in compare to PI server.

 

Thank you in advance.

 

Best regards,

 

Toby

Our twitter widget on the main page is a great place to see breaking Users Conference news.

$
0
0

If you haven't taken a look lately, the twitter widget on the lower right on the main page is full of news from the OSIsoft Users Conference going on this week. And pictures, links, etc. 

 

Also, you'll find here video replays of many of yesterday's sessions. 

 

You'll also find lots of pictures on twitter using the hashtag #UC2014, like this one of Emily Rawlings of Columbia Pipeline Group (whose video replay you can find here

 

BjllOAjCQAAMYOB.jpg

 

 

and this panoramic shot:

 

BjmRQmAIcAEMl5B.jpg

I/O Timeout

$
0
0

I am having an issue with one of our remote servers maintaining communications with the central Pi server.  Before I ask my question, I guess I should explain how our system is set up a little bit.

 

We have several processing plants incorporated into our Pi system now.  We have remote computers in the control rooms in each of the plants that are connected to both the private network accessing the PLCs and our outside network.  These plants are in 3 - 4 different states with hundreds of miles between.  We have had hardly any issue with connectivity so far except for one of our plants.

 

The issue we're having is that we're seeing I/O Timeout values for the tags that are associated with the plant.  If I login remotely to that computer using the Remote Desktop application then the values actually start reading what is in the OPC database being pulled from the specified PLC addresses.  Those values stay current with no issues as long as I am logged into the machine.

 

There are a few users that work on the system, so the general practice is to log out of the machine when the work is complete so it will free up the computer if someone else needs access.  As soon as I log out of the computer, the data stops pulling and I receive the I/O Timeout values again.

 

Any thoughts?

Filtering product specific data from tag with time delay

$
0
0

Hello,

 

I was wondering if someone could help find a good solution to my problem.  Thank you for any help you can offer.

 

Problem:

I have a tag for which the instrument records data for multiple products on the same PI tag.  I need to be able to graph and run statics (min, max, standard dev, control charts, etc) in excel on the data for each product separately so a Datalink solution is needed.  I would also like to create a Processbook display to trend each product separately if possible. 

 

The system functions as follows:

The instrument analyses the material for product A for a period of time then the sample valve closes.  Next a different sample valve opens and the instrument analyses the material for product B for a period of time.  This cycle repeats itself 24/7.  The cycle length can vary.

The sample valve positions are tags in the PI system. 

The dynamics of the sampling system are such that there is a 10 minute time delay between when sample valve opens and when the system starts to output data related to the associated sample valve.  The system is running a purge during this time frame.

 

To sum up my question, how do I filter the data to generate a report on Product A and B separately when their data is stored on the same PI tag.  I need a filter that will start collecting the data 10 minutes after the associated sample valve opens and stops when the sample valve closes.

 

Here is an example of the trends.

TOC trend.JPG

PI AF Formula Syntax

$
0
0

I am trying to create an AF element attribute that calculates the flow to a specific vessel.  The flow meter is shared, so I need to first determine if the vessel's valve is open.  I have already created that attribute 'Valve' in AF, and it currently has a digital state of "Closed".  If V=Valve and F=Flow, it seems that I should just be able to do V*F and have my answer.  But AF doesn't seem to like that and reports "Data was not available for attribute 'Valve', even though it clearly has data.  I also tried an if-then-else statement, with the same results.  AF won't let me do a string comparison, and doesn't seem to have any functions to look up the digital state value (which would be 1 or 0).  Am I out of luck in AF?  I am really starting to like AF except for this hitch.

 

Thanks!


UniInt Failover Tags

$
0
0

Hello all,

 

I was recently building PI interfaces using PI ICU and came across a problem with the UniInt Failover. Everytime I try to create the tags for the UniInt Failover, ICU creates them with the same name and reconstitutes the point to no longer reflect the old interface. A screen shot below shows more detail.

UniInt Tags
Last Updated Yesterday, 07:16 AM

 
 

The "Incorrect" status only appeared when I created OPCInt2 and it uses the exact same tags as listed their but just changes the Point Source. Does anyone know a way to get the tags to follow the correct OPCInt?

wildcards in filter expression

$
0
0

Hi All :)

 

Can anyone help in how to make a filter expression in excel with wildcards?

 

i have a alarm tag and want to find all events there have "Block" in the text string. I have tryed this:

 

'TAG1' = "%BLOCK%"

 

and it didn't work.

PI Datalink, strange behavior.

$
0
0

One single PC in my organization that uses Excel with PI Datalink, despite the PI server is set correctly and connected, instead of the values ​​of the tags, it returns the string: "Specified server not in Connections list". There is only one PI server defined.

 

The same Excel workbook works correctly on other PC's.

 

I've checked registry entries and permissions, I've uninstalled and re-installed PI software, but the problem persists on this PC.

 

Any idea or suggestion would be appreciated.

 

Regards

Performance Equation help

$
0
0

Hello World,

 

I was looking for some help on using PI Performance Equations.

 

I would like to know the number of times a pump has turned on (from time X to time Y) but only when that same pump has been on for >10 mins.  So i was experimenting with different extraction methods and settled upon the following:

 

Using the Calculated Data datalink option, I have the following set:

  • Expression: (TimeGE('pump tag', 'start_time', 'end_time', 0) > 10)
  • Filtered Expression: ('pump tag'=1 and prevval('pump tag',curtime)=0) 
  • Calculation Mode: Count
  • Calculation Basis: Event

I'm getting results that look in line, but without a full understanding of the TimeGE function, i wasn't 100% sure.  Does the anyone know what the output of TimeGE is (days, hrs, mins, sec)?  Or if the Count mode will give me what i think it is.

 

I'm also open to other filtering criteria if anyone else can think of one.  Any help would be appreciated.

 

Thanks

 

 

 

 

 

 

 

 

ProcessBook - change update rate per display?

$
0
0

I know about changing the TIMER parameter in the [Data Manager] Section of the Procbook.ini file to globally change the refresh rate of all ProcessBook displays, but I really only want to change update rate for a single display.

 

Is this possible? Using VBA would be fine.

Pi ProcessBook Displays: Amend all tag names

$
0
0

Because of DCS replacements in our power plant, most of our points are being moved into one server, which means (I think)  that all of the tag names in hundreds of displays will have to be changed.  An example is "psOldServerName:1ZS-016_004C" will have to be changed to ps:NewServerName:1ZS-016_004C.  

 

So I am wondering if there is a way to get a dump of the displays and just use a find and replace to fix all the tag names.  If we are going to have to go through each display and change each tag individually... we a re talking hundreds of ours of work.  

 

We are using PI ProcessBook 2012  V3.3.0.949

It is possible to evalutate expression with PI-API?

$
0
0

Hello guys, I would like to know if there are a way to evaluate expression with PI-API.

Like Buttom Evaluate in SMT.

 

Thanks


How add constant calculate by VBA into a trend through VBA

$
0
0

Hello,

 

Sorry for my english.

 

I have calculated a constant through VBA and I want put it into a trend through VBA. 

 

How could I do this?

 

Thank you!!

 

s8i1 = Value94.GetValue(vrdate, vrstatus)

Label22.Caption = "Sector 1: " & s8i1 & " l/s"

Linking Tags in side Filter Expressions

$
0
0

In order to facilitate using filter expressions is there any way to link cells inside a filter equations. 

 

ie 

 

('A1>2 and Steamflow>20')

 

 

Thanks 

PIOLEDB timestep issue in SQL Server

$
0
0

Hello:

 

I'm trying to do a query in SQL2008 hitting our PI server via PIOLEDB provider.

 

This query works fine, returns 25 records as expected:

SELECT tag, time, value, status

FROM [PI_LINKED].piarchive..piinterp2

WHERE tag = 'sinusoid' AND time BETWEEN '2014-03-31' AND '2014-04-01' AND timestep = '01:00:00'

 

This query does not error out, but does not return any records.

 

SELECT tag, time, value, status

FROM [PI_LINKED].piarchive..piinterp2

WHERE tag = 'sinusoid' AND time BETWEEN '2014-03-31' AND '2014-04-01' AND timestep = '00:00:01'

 

 

I'm not doing anything unusual with my connection strings when establishing a linked server.  Both queries work as expected in PISQL Commander.  picomp works fine in SQLServer2008

 

The only timestep that seems to work in SQLServer is 01:00:00.  Anything else returns 0 records.

 

Thoughts?

 

Buffering on OPC interface causing issues

$
0
0

I'm configuring an OPC interface (I've got 6 others so was pretty sure I could get it to work), but I've been having difficulties with getting the buffering service to work and stay connected to the PI server. In the piclient.ini I have the following text:

[APIBUFFER]
BUFFERING=1
[PIBUFSS]
BUFFERING=1
[BUFFEREDSERVERLIST]
BUFSERV1=10.30.8.24

Is this correct? I though that you either had API or the buffer server subsystem running not both. Have I got a corrupted piclient.ini file?

 

Also how do I test that buffering is working? Is it just a case of disconnecting the connection to the PI server (physical disconnect using the network lead!), then reconnecting sometime later to see if the data has changed correctly?

 

All help gratefully received!

Invert vertical scale in DataLink trend

$
0
0

I have a trend in PI DataLink 2010 which traces two depth tags. These have positive values which increase downwards. I need to invert the trend's vertical scale (to show deeper values below shallower ones) but I don't see any option for it under Format (PI Trend Control Properties) or Change Scale.

 

Does anyone know if it can be done and, if not, whether this is supported in a later version of DataLink?

 

I did find that it will invert if I change the scale's min and max to absolute values with min > max, but then it seems to lose its gridlines, which is a show-stopper. (I also need it to be auto-ranged, but I thought I might have been able to achieve this by adding some code to calculate the range and writing the min/max values to the control's properties.)

 

My current workaround is to use a sampled data function with -'tagname' expressions to get negative depths into hidden columns on the worksheet, use this data as source of the trend's traces, and select (#,##0) for the vertical scale format to almost hide from the user that the values are negative. This is not ideal, but I could live with it if necessary.

 

Thanks for any advice.

 

Ian

 

 

Viewing all 1120 articles
Browse latest View live


Latest Images

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