Archive for the 'Software Development' Category

Configuring a new OSIsoft vCampus Development Server

Tuesday, November 24th, 2009

The time has come to renew my OSIsoft vCampus subscription. This is the second year of the vCampus program and my second year participating. In case you are not familiar with vCampus, you can find the site here http://vcampus.osisoft.com.

I’ve been working with PI since PI 3 was released on Windows NT around 1996. I have been earning a living primarily as a PI professional services provider since 2000. In the early days, I was only able to get my hands on new PI software when a customer ordered it. This was frustrating because I ran into the classic chicken and egg scenario where I could not try software and work on demos until a customer purchased it and customers were reluctant to purchase the new software because I had not tried it. OSIsoft addressed the program a few years ago with their partner program. Partners received licenses for all of the PI software. For the first time, I was able to build sand box environments and try everything.

Last year OSIsoft decided to improve on this model and start the virtual campus or vCampus site. As a developer I subscribe to the vCampus site for an annual fee of $1500. I receive a logon to the vCampus site and have access to pretty much everything I need to develop applications around the OSIsoft PI system. Through vCampus I have access to all of the PI software including many early beta releases. The vCampus site is a virtual community with hundreds of developers working on PI. We communicate on forums and exchange ideas and work out problems. OSIsoft developers post blog entries to give us a windows into what they are thinking. OSIsoft also hosts many webinars to explore topics suggested by the community. I also have access to all of the official documentation as well as many white papers. I would say that the vCampus site has greatly enhanced the development community that has grown around the PI products.

I also have a Microsoft Developers Network (MSDN) subscription. This gives me access to all of the Microsoft software as well as access to developer forums and other items. The combination of MSDN and vCampus allows me to keep up to date with all of the new releases as they come out. When customers decide to deploy something, it is likely that I have already been working with it for months.

I am configuring the following in a VMWare Workstation environment:

VM 1:

  • Windows 2003 Domain Controller

VM 2:

  • Windows 2008
  • SQL Server 2008
  • Microsoft Sharepoint Server Enterprise 2003 SP2 with Excel Services
  • PI Server 3.4.380 (Windows Integrated Security)
  • Application Framework (AF) Server 2.1
  • PI Advanced Calculation Enginer (ACE) 2.1
  • Rt Webparts (Sharepoint Portal)
  • PI DataLink for Excel Services
  • PI OLEDB Provider 3.3.0.1
  • PI SQL Data Access Server (DAS) 32 bit
  • PI to PI interface
  • PI System Management Tools 3.3.1.3

Having this environment already configured in VMWare offers many advantages.

  1. I can save a snapshot of the system prior to experimenting. This allows me to easily return to the starting point after the experiment.
  2. I can easily deploy a copy of the environment and begin developing a prototype for a customer. I do not have to spent a lot of time configuring a development environment. The customer gets better bang for their buck.
  3. I can work on my workstation at the office or copy the VM to my laptop and take it on the road.
  4. While on the road I can use the PI to PI interface to feed live data from a production PI system to develop prototypes without the risk of interfering with that production environment. If available, I can also use a VPN connection to do the same thing. I can very quickly configure a prototype for the customer to try without ever having to set foot on site. In today’s world of reduced budgets and tight timelines, this is a perfect development scenario.

I have also done some experimenting with Terminal Services Gateway. This enables me to remotely run applications in my development environment. This could be very convenient when I am on the road as I can leave everything running on my workstation and just access it remotely via my wireless card. I could also easily give access to customers. Of course I was able to do this sort of stuff back in 1992 on Unix systems but it is still exciting to be able to do it with my favorite PI software today.

 

 

 

Custom Operator Reports to Help Insure Environmental Compliance

Monday, February 12th, 2007

Everyone struggles to comply with the assortment of environmental restraints that are the result of federal, state, local, and permit requirements. It is important to present information to your operators in an unambiguous manner that lets them know immediately if they are on target. I recently put together a little solution for a customer who was having problems. They could produce reports from their DAHS but it was cumbersome and the unit operators do not have time to login to the DAHS, select the report and set the dates, and then print it up. Furthermore the DAHS reports did not give them an adequate presentation of their progress toward the limit.

They use the GE NetDAHS software. Most people do not know it but there is a Minute Data ODBC driver that will allow you to access any of the data channels configured on the DAHS. I was able to build a web page that queries the minute data and calculates the hourly averages along with a running total of their emissions and present the status as shown in the screen shot below. As you can see it shows them how much they have emitted that day, the projected total based on their current operation and tells them whether they should be concerned. 

OpReport1

 

I was also able to add a trend of their emission rate and a graph of their accumulating total compared to the emission limit. This allows the operators to quickly glance at the page and get a feel for where they stand.

OpReport2

If you are having problems tracking your compliance, you should evaluate the way that you report and present the data to your operators. You may be able to eliminate compliance lapses by organizing and presenting your data in real time allowing your operators to quickly see where they stand and make more informed decisions.

From the geek standpoint I pulled a few tricks out of my sleeve to make sure that the application would run smoothly. I used ASP.NET and C# to code the web pages. I made use of the ASP.NET caching features to cache the dataset when a query is made. If another user requests the page within one minute, the cached dataset is used. This insures that no more than one request is made to the ODBC driver per minute so that the NetDAHS server will not get bogged down if a bunch of users start requesting the page all at once. It also means that once the dataset has been queried, additional requests are returned to the user much more quickly.



Social Networking Links

Twitter Updates