Is it possible to filter out data in datalink by timestamps. We have an instrument that zero and spans itself everday at 6am and 6pm. Historical data has these calibrations recorded. Is there a way to filter out the data from 6am to 6:15am every day using a PI expression?
Datalink - Filter values by timestamp?
Accessing average calculation through VBA
I am a beginner in using/accessing pi, so please excuse me if this has been answered before. I have looked around in the previous posts but was not able find any answers.
I am trying to access averaged database values over a given time range. I am using PISDK to talk to database rather than creating PIDatalink string formulas that can be used to call the values (as has been suggested in several posts), In my view think the former though difficult (for a novice like me) is a cleaner solution to implement.
I am managing to extract single values for a given time stamp using following script (excel VBA):
Query Pi data into MS Excel using VBA
HI all,
I'm trying to automate PI sampled data queries through Excel VBA into a spreadsheet to analyze different evaporators at my plant. The main thing that would be changing are the PI tags. Would someone have a sample subroutine for making a sampled data query in VBA?
Programmatically create PI trends
Hello there, I want to create monitoring trend for about 400 PID controllers. Trend for each PID loop will have PV, SP and OP. I am thinking to have 9 processbook trends on one display so that every morning I can quickly go through these display to monitor PID performance.
I am wondering, can I create these trends programmatically (VBA code???), if I have all the tag names in excel?
If possible, can you please provide me direction?
Thanks
Rahul
failed to retrieve events from server
Annotations access levels
Hi All,
Quick query. I've just been fiddling with Processbook (ver 3.2) and finally found that I can edit annotations when I right click on a trend display (cmms up with display attributes or something similar as an entry in a menu list). Some process engineers think using this might be a good idea so that we can get people to record why events happened as part of an incident, so that when people look back at the PI trends they can see why things happened. Make sense so far??
Now I can edit an annotation if I'm logged is an admin user, but not as a client user (read-only access) which stands to reason. What I need to know, is how to set permissions to allow users to create/edit annotations, without allowing them access to change the actual data points for any given tag. Can you specify a separate access level for annotations, similar to the world/group/user permissions you can set for each tag??
Thanks
Stress testing the PI System
"S4x13 Video – Fuzzing Before and After You’re Ready"
Déjà vu Security and OSIsoft presented a case study on fuzzing at the Digital Bond S4 2013 conference.
PI Server developer Anthony Tang describes OSIsoft's journey in use of fuzzing technology. If you are the kind of person interested in what goes on behind the scenes in stress testing the PI System, this 35m video on fuzzing is for you!
data link refresh and calculation vba code
i want to calculate my data link application with timer calculation and also my worksheet will refresh after 10 sec.
pi datalink calculation will be done after 10 minute please help.thanks
Compare data between two PI servers
Hi all, Which the best procedure to compare data values between two PI servers, the sampled, the compressed data or to retrieve directly data with the PI SMT in the "artchive editor" then compare their value? Why with the compressed data we didn't find the same values, the difference between the two servers values vary between 0 and 1?
Process Book data entry
Good morning all My chemist and operations team would like to enter there daily data using process book, presently they use manual logger and excell , I have seen this done before at a conference but neither of us are very VBA oriented . Does anyone have some clean code that we could play with and try our luck . Any tips or suggestions would be kindly recieved . Robin
Expressions in PI Datalink and PI Processbook
Hello Everyone,
We are trying to pull some data from the PI server through PI datalink. But we want to add some expressions to it before we dump it in excel.
Here is what i want to do:
1] I have two different tags Tag1 and Tag 2 (both Float32). I want to check for the time stamp and values for both of them when Tag1 < 500 and Tag2 < 300. I would be interested in getting the archived data but if i get interpolated data then its fine.
2] Same as above but i have to use three tags instead of only two tags.
I tried using AND condition in the Compressed data function of PI Datalink for a certain timeperiod but it didnt gave me any values. But for the timeperiod definitely there are some values which will satisfy the condition..
Any help ?
SPOCs come to OSIsoft, LLC.
Small Private Online Courses (SPOCs) are coming to OSIsoft. Combining the appeal of the Massive Open Online Course (MOOC) and the value of an instructor-led experience, the SPOC is the newest way to learn the PI System. PI ProcessBook and PI DataLink basics make up the first two courses, scheduled for 2013. They are designed for the beginner-level user, new to the PI System. 2014 will see the addition of more advanced client tool, analytics, and system administration courses. Check out the Learning website for more details: http://learning.osisoft.com .
Want to read more about the SPOC? There are many results in a Google search, but these two sum it up pretty well:
or
OPCint failed to connect to PI SERVER
I have setup my opc node to send data to my pi server using PI opc interface and everything working correctly until we come to decision to change the PI Server Machine and the OPC node name into something else. So I have reconfigure the SMT and SDK on the opc node and they working great. The trust have also been setup. But my opcint service came with an error said “Error [2] connecting to PI Server, [2] connection to server lost piut_setservernode failed for host =’PI:5450’”.
Anything that i missed?
Pt Created - Forcing a value?
I have added some new tags into Pi and the value I am getting is "Pt Created". I know that this is the first value of the point when it is created. I am wondering if there is a slick way to force a value into the point without restarting the Interface or waiting for a value.
I can see that there is a good Value in the OPC server that I am connecting to.
Thanks
VBA Processbook to get tagname of Composite symbol
Hi Community,
I have a composite symbol that has 6 differents symbols(some of them are multistate symbols), I cant figure out how to get the tag/dataset of the multistate-symbols inside of the composite symbol, this is my vb.net code snippet that i currenlty working on:
For I = 1 To frmPIEXPORT.piBook.Displays.Count For j = 0 To frmPIEXPORT.piBook.Displays.Item(I).Symbols.Count - 1 ... isMulti = frmPIEXPORT.piBook.Displays.Item(I).Symbols(j).IsMultiState .... If isMulti Then MState = frmPIEXPORT.piBook.Displays.Item(I).Symbols(j).GetMultiState() End If Next Next
Hope you can help me
Impressions from NERC GridSecCon 2013
GridSecCon 2013 is a wrap, hold Oct 14-15-16 for next year’s conference.
The GridSecCon sessions were excellent and I expect NERC will post them soon on the GridSecCon home page.
In the meantime I’d like to offer a few general observations and opinions.
The level of participation was impressive with about 300 in attendance. Q&A for each session was active. It's clear the electric sector is continuing to invest in dedicated cyber security resources.
I expected GridSecCon to be full of buzz on version 5 of the CIP standards. Not so much. The general vibe remains that a FERC order on the new standard (warts and all) is imminent.
Subjectively, compliance doesn’t seem to be generating the attention it once commanded.
These keynote snips from sponsoring executive Paul McElroy (CEO JEA) and Terry Boston (CEO PJM) seem to buoy the message:
- Regulations can't rescue us, we need smarter and better implementation for security
- It’s not a matter of if, it’s a matter of when – be prepared
Notwithstanding enlightened executives above, the NERC CIP auditor panel issued a fundamental caution:
- We are still finding really basic stuff
NERC CSO, Tim Roxey, makes a case that the CIPs bootstrapped meaningful and constructive conversations about security. Concepts like electronic security perimeter are now baked into the OT lexicon for the electric sector. Tim’s observation seems on the mark and his vision is to amplify the effect through crowdsourcing approaches.
“Year of the Substation” seems apropos as the overall GridSecCon 2013 theme. From critical research on clock master failure modes to vulnerabilities in popular DNP3 implementations and a chilling tale of snipers targeting Metcalf station; electrical substations have ‘arrived’ as a security priority (critical asset or not). To paraphrase a speaker, if you are struggling with copper theft you probably aren’t doing enough to defend more advanced threat actors.
Export Trends data from PI Processbook
Hello all,
I am looking at a scenario where there is no datalink available but PI Processbook is. So i was wondering is there a way to somehow extract the data which is shown on a Processbook trend to a excel file.
Thanks..
PI ProcessBook Trends
I am new to PI, I am able to get a trend but I would like to display a nick name for the trend instead of the value or the tag name. I found how to change the (Name) in build mode by right clicking on the trend line, selecting properties and at the top of the Misc changing the name. This only displays in build mode, my question is how can I display a nickname for a trend besides in build mode? Also what are the limits to the naming convention under the properties?
Thanks,
Videos for PI UFL posted! (Read text into PI!)
OSIsoft Learning just finished a set of videos on the PI Interface for Universal File and Stream Loading! This interface most famously reads data out of text files, usually text files deposited by whatever device or server our script you have, and then read by PI UFL and written to a PI Tag. This is one of OSIsoft's most common interfaces out there, so I'm sure there are users that would like to see a step-by-step of how to step it up and use it. We've included time-stamps in the youtube video description to assist navigating the videos.
A little background on PI UFL:
The PI Interface for Universal File and Stream Loading, or 'PI UFL', is one of the most flexible and adaptable ways to import data into the PI System.
PI UFL reads data from ASCII data sources and writes data to PI. The PI UFL interface can read text from ASCII files, a serial port, or a POP3 email server, parse and transform the incoming data, and update PI points.
To specify how the incoming data is handled, you create a configuration (INI) file, which defines how data is filtered, parsed, manipulated and written to PI. The PI UFL interface is intended to replace the PI Batch File interface.
The PI UFL interface can process XML files, but for applications that are best addressed using the OPC XML-DA specification, use the PI Interface for OPC DA XML.
The videos show :
- PI UFL Overview: What is PI UFL?
- Downloading & Installing PI UFL
- Creating new PI UFL instances
- Importing a basic text file
- Importing a more complex text file
- Security & Connecting to the PI System
- Automatically building PI UFL Tags
- Manually building PI UFL Tags
- and more
Examples using the OR logical operand in PI PE
Hi guys,
Can someone please give us an example of them using the OR logical operand in PI Performance Equations?
I haven't found any examples using this operand in the PI PE reference manual (PEReference.chm) and unfortunately I'm having a few issues writing a really simple PE.
My current calculation is: if OR(BadVal(PrevVal('tag1','*')),BadVal(PrevVal('tag2','*'))) then "ALARM" else "OK"
It is supposed to evaluate if the last values archived for tag1 or tag2 were bad, then the string returned should be "ALARM", else return "OK".
When I run the current calc is returns "Error -2147219650: PI PE syntax error in Expression. [-12301] Performance Equation parsing error"
It works ok on a single tag evaluation until I add the OR operand for multiple tags ie. the equation if BadVal(PrevVal('tag1','*')) then "ALARM" else "OK" works just fine.
If you can please share what's the syntax using the OR operand that'd be much appreciated.
Thank you!
Mario