Caithness Energy LLC is a privately held power generation company based in New York. Since the 1980's the company has operated both fossil-fuel and renewable-energy power plants throughout the United States. The Lake Cogeneration plant in Umatilla, Fla. sells natual gas-generated electricity to Progress Energy, which serves the Central Florida area.

Lake Cogeneration has numerous pieces of equipment throughout the plant that are operated by a distributed control system, and each machine generates various alarms that report events such as temperature fluctuations, motors going on and offline, and so on. About half the alarms require an operator action, the rest are status reports that are used for historical records and troubleshooting.

Caithness Uses Xojo

The Problem: Facility used massive amounts of paper to document alarms

For its first decade of operation, Lake Cogeneration was a "base loaded" facility, meaning it was up and running 24 hours a day. Then the plant switched to a cycle that only runs during peak electricity use - 6 a.m. to 5 p.m.

When the plant was in continuous operation the alarms were few and far between. But since most alarms occur during startup and shutdown, after the change they rose to more than 5,000 a day. Printing and filing these alarms became a cumbersome chore. "Imagine all the paper we used," says Maintenance Manager Mike Wong. He knew there had to be a better way and decided to capture the data and put it on a web site instead of printing it out.

The problem revolved around the Unix-based proprietary software behind the control system. "I couldn't get the alarm traffic out of the system directly. But, because it was routed to the printer, the only way I could get the alarms out was to simulate a printer." The challenge, then, was to find software to write the printer-simulation program. It needed to cross the platform divide between Windows, which Wong prefers for software development, and Linux, the platform he needed to run the Apache web server.

The Solution: A cross-platform Window and Linux web app connected to their serial printer

Using the Windows version of Xojo, they wrote a printer-simulation program, called Capture Print. "It's a serial printer, so I was able to capture it using the serial object in Xojo," Wong says. He then downloaded the Linux version of Xojo and moved Capture Print to a Linux server where he loaded Apache and created the web site. "Now we can read all the alarms on a web page. Every day it creates a new page and links it to an index page that shows all the days of the year."

Wong knew about Xojo from his previous stint at Foxboro, the Massachusetts-based process automation company. "At the time I was looking for how to bring Linux into the mix, but I didn't want to mess with the development tools available for the Linux platform," he says. Plus, he prefers Xojo's graphical user interface. "I don't have the patience to program in C anymore, where you could spend half an hour looking for the semicolon you missed."

Wong is happy that Xojo, Inc. has been able to add functionality without slowing the program down. "They haven't added the 'bloat features' to it that turned Visual Basic into more like C," Wong says. "It's still a rapid development kit that allows people to focus on building. I use Xojo for everything now."


Dana Brown
Marketing Director
at Xojo

Xojo is free to use for learning and development.