18 Replies Latest reply on Jul 19, 2013 5:54 PM by Ahmad Fattahi

    Looking for Ideas

    Lonnie Bowling

      Hi everyone,

       

      I am thinking about doing a short series on programming for the PI System for my blog.  These would be short, common programming issues that we face all the time.  The focus would be to help guide those just starting out on how to use the SDK and other related data access products. I remember filling pretty lost in the beginning. I would want to cover subjects that are not already found in other places easily. I think sometimes programming examples and tutorial are hard to find here an sometimes are out of date. This would be 10-20 minutes screencast with source code provided.  So two questions:

       

      Do you think this would be beneficial for our community?

       

      What are some topics you would suggest?

       

      I think this would be a good learning experience for me and maybe help out others at the same time.

       

      Any input would be appreciated!

       

      Thanks,

       

      Lonnie

        • Re: Looking for Ideas
          Rick Davin

          To borrow the phrase I've seen recently, it would kind of be a Jump Start series, right?

            • Re: Looking for Ideas
              Lonnie Bowling

              Hi Rick, yeah I think that is a description of what I'm thinking.

                • Re: Looking for Ideas
                  Ahmad Fattahi

                  This is a great idea and very useful to the community. I would put AF SDK on top of the list; it's the future. If you like the world of SQL Access, PI OLEDB Enterprise is the number one on the list! Thanks for doing this Lonnie!

                    • Re: Looking for Ideas
                      Roger Palmen

                      How about a simple AF DR to get some data from PI using RDA or PISDK that supports .NET 4 and .NET 3.5? Compiling and registering both versions so that results can e.g. be seen in WebParts.

                       

                      And how about officially publishing the excellent series of videos that Micheal van der Veeken (OSIsoft NL) made on AF DR programming?

                       

                      http://www.youtube.com/playlist?feature=c4-feed-u&list=PLA990A96454E144BB

                        • Re: Looking for Ideas
                          Marcos Vainer Loeff

                          Hi Lonnie,

                           

                          I would also add to your list PI Web Services and Event Frames which is a namespace under PI AF SDK.

                            • Re: Looking for Ideas
                              Rick Davin

                              Regarding Roger's suggestion of a RDA capable DR that supports both .NET 4 and .NET 3.5.  As long as the source events can be determined by PI Points, there is little need for the DR to support .NET 4 as the .NET 3.5 default implementation works.  So you would need an example that requires events not supplied by the source PI Points (either more events or fewer events).  And for a Jump Start tutorial, you don't want a large example.  The onus is to find a DR that is short enough as an example, and it's output events do not match 1:1 with the source PI Point(s) events.  Perhaps something that requires event frame data would be a likely candidate.

                               

                              I can foresee that even this learning session would need to be broken into 2 parts: Part 1 - creating a DR for both .NET 4 and .NET 3.5 with custom handling for its RDA section, and Part 2 - Registering a DR that has a .NET 4 and .NET 3.5 support assembly.

                              • Re: Looking for Ideas
                                Lonnie Bowling

                                Great ideas everyone!

                                 

                                @Ahmad, so we have general AF SDK (new version, correct?), anything specific? I like OLEDB Enterprise, I have not seen a lot on that outside the webinars.

                                 

                                @Roger Funny you should mention that about DRs, I have a project where I'm doing something very close to what you suggest. I think after I have that wrapped up, I should be able to put something together.  I have no control over existing videos, but have watched them about 100 times now, lol.

                                 

                                @Marcos, thanks for the suggestions, for Web Services, would something just explaining how to set it up and make various calls be good? Event Frames is something I am actually pretty weak in right now, so that is a good one for me to work on.

                                 

                                Like Rick pointed out, this would be a "Jump Start" type of series, so I would not go into great detail about how these technologies work (that would be long and boring), but more of OK, here is some code to get you started with this.  I don't want to duplicate other material that has been produced, just pull stuff together to give someone that is just starting out a head start.  Does that sound worthwhile?

                                 

                                Thanks for the ideas so far, feel free to add more if you think of any!

                                 

                                Lonnie

                                  • Re: Looking for Ideas
                                    Lonnie Bowling

                                    @Rick, great points, I have to give that some thought.  I agree about the need to create a couple of parts. I'm sure that this would be the case for a few other subjects.

                                      • Re: Looking for Ideas
                                        Marcos Vainer Loeff

                                        Hi Lonnie,

                                         

                                        Yes, that will be good. I would take a look at the examples provided in the PI Application Development Course and try to be innovative. The new release of PI Web Services provides access to Event Frames. You can develop some examples using this new feature.

                                         

                                        Another idea is to use PI Web Services methods from a Linux machine. This would make your example more interesting.

                                          • Re: Looking for Ideas
                                            Lonnie Bowling

                                            Thanks for the feedback Marcos, I will take a look at the course.  I like the idea of including Event Frames in there. I have not used the latest version of Web Services, so this will be a great review for me.  I'm going to have to pass on the Linux version at this point, I not familiar enough with the OS.  Do you think there are a lot of users deploying PI Web Services on Linux machines?

                                              • Re: Looking for Ideas

                                                Lonnie, what about using the Chocolate Milk Factory as a theme for tuts. That way you can use a consistent theme throughout your blog posts and continue layering on top of it. For example, after the basics of connecting etc start to look at how Event Frames can be used to define shift patterns at the factory, how you would achieve that via code, then how you can report on shifts using those event frames.

                                                 

                                                I've started some Powershell blogs so I might switch to the Chocolate Milk Factory theme too for consistency. Wonder if OSIsoft could host something in the cloud for the tutorials for us...? Kind of as a permanent showcase system, a step beyond the virtual learning labs.

                                                  • Re: Looking for Ideas
                                                    Lonnie Bowling

                                                    @Rhys, that is a great idea, I will go with that!  Powershell is something I'm really interested int also, so I'm glad to hear you are doing something on the subject!

                                                     

                                                    So OSIsoft.... could we get a hosted PI system with the factory running 25/7? :)

                                                      • Re: Looking for Ideas
                                                        Marcos Vainer Loeff

                                                        @Lonnie, I am not sure if a lot of users are deploying PI Web Services on Linux machines but I am pretty sure that many of them are interested in this topic!

                                                          • Re: Looking for Ideas
                                                            Ahmad Fattahi

                                                            These are all great ideas! Lonnie, we are internally discussing if/how we can assist in providing a platform in the cloud. Can you describe a little more what you would need in terms of your use case and duration? We can then see if there is possibility of providing it for your awesome initiative!

                                                              • Re: Looking for Ideas
                                                                Lonnie Bowling

                                                                Hi Ahmad, I think that if I had a PI system (including AF) where we could do the following:

                                                                 

                                                                Have the Chocolate Milk Factory loaded

                                                                 

                                                                Be able to access PI system using;

                                                                 

                                                                AF/PI SDKs

                                                                 

                                                                PI System Explorer

                                                                 

                                                                PI Web Services

                                                                 

                                                                OLEDB Enterprise

                                                                 

                                                                Also have loaded:

                                                                 

                                                                PI Notifications

                                                                 

                                                                PI Event Frames

                                                                 

                                                                If this is not possible, then I will set up a system on a VM on my local system.

                                                                 

                                                                I think having this up for a couple of months would be sufficient.

                                                                 

                                                                I basically need to have a working PI system to program against.  This is going to be focused on programming more than product features (so I'm assuming that people know about the basic product line).  To give you an example of some of the topics:

                                                                 

                                                                How to connect to PI using the PI SDK

                                                                 

                                                                Difference between PI and AF SDK

                                                                 

                                                                What the new AF SDK is about

                                                                 

                                                                How to read data using AF SDK

                                                                 

                                                                How to write data using AF SDK

                                                                 

                                                                How to create notifications, users, and user groups

                                                                 

                                                                How to create a PI Notifcation deliverly end point

                                                                 

                                                                How to program event frames

                                                                 

                                                                How to create AF elements

                                                                 

                                                                How to create AF attributes (there types and how to create them)

                                                                 

                                                                How to program against AF tables and Enums

                                                                 

                                                                How to search AF element and attributes

                                                                 

                                                                How to use the SDK documentation

                                                                 

                                                                How to access PI using the PI OLEDB Enterprise Provider

                                                                 

                                                                How to create a AF custom data reference

                                                                 

                                                                etc...

                                                                 

                                                                I have to give some thought on how to create some meaningful examples that will demonstrate the items above.  I have not done a lot of looking into these subjects yet, but will try to keep it as condensed and simple as possible, my target audience is for those just starting out.

                                                                 

                                                                I hope this helps give you an idea of what I am proposing. If you can't get a PI system up and running, or it is too much red tape, then don't worry about it, I can create a VM. I guess something that I'm unsure about is security, so if we proceed in this direction we should discuss this further.  I would like to include authentication as part of the content, as any real-life solution has to deal with this subject.

                                                                 

                                                                Let me know what you think and we can go from there,

                                                                 

                                                                Thanks,

                                                                 

                                                                Lonnie

                                                                • Re: Looking for Ideas
                                                                  Ahmad Fattahi

                                                                  Lonnie,

                                                                   

                                                                  I just sent you an email to set up a call and get the ball rolling. Thanks again for your great initiative!