January 17, 2007 by Jeremy Pollard
It’s amazing the things you find while surfing around an e-mail list. I stumbled upon FactoryPMI, a database-driven web-based SCADA/HMI system designed for any industry. Developed by Inductive Automation, these guys may not spend a lot of dough on marketing, but their product speaks for itself.
FactoryPMI only requires a database source that has data in it, and a resident database manager, such as MySQL.
For live data, there needs to be a connection to a data source, such as a PLC. This is accomplished using an OPC server to extract the data. Factory SQL installation includes the Kepware OPC server. I also successfully used RSLinx OPC Remote Server.
I configured the Kepware OPC server to talk with my lab’s Rockwell Automation PLC-5. Then I opened up the main gateway program and it informed me that I needed Java, the universal language from Sun Microsystems. FactoryPMI provided the link and instructions for me. All fairly painless.
You need a database server such as MySQL, which was already installed and configured on my system. Most packaged HMI systems provide all of the parts for you, so this is a new approach.
So we have a PLC connected to an OPC server, which is managed by FactorySQL, the second part of the FactoryPMI suite. FactorySQL is the glue for the system since it provides connectivity between the graphics, the database and the OPC server, and thus the PLC real-time data.
Live data can be viewed using an SQL tool, such as DBManager from DBTools Software.
But what we really want to do is view our application (which hasn’t been built yet) using an Internet browser such as Firefox or Internet Explorer. The marketing information states that there are no runtime royalties and no plug-ins. We’ll see.
Enter the FactoryPMI web server. This software allows you to create a screen that is pure web and uses Java to create and distribute the screens to any client that logs into the server.
There are two components to the FactoryPMI web server – the designer and the gateway. The gateway has to be configured to connect to the database that you previously created with FactorySQL.
In order to display any items of interest and/or graphics, the designer has to be evoked. Be aware that all of the running code is Java and html. And because it is web-based, all of the normal web attributes are allowed, so you can be as creative as you want. Adding components is a snap.
The selection of available graphics that have the ability to display data is perhaps a bit slim, but should suffice for most basic applications. There are built-in static graphics of some common devices. A typical unanimated graphic can have a dynamic control placed on it, which is updated from the database.
When you think of a standard HMI, you might think about objects and functions such as data display, colour changes, operator interaction and charts. FactoryPMI has it all as well. If you are a Visual Basic programmer, then most of the nomenclature will be familiar to you, such as the properties and methods.
Everything that you do in the designer is bound to the database. If you have a weigh scale, for instance, and you want to display the value on the form, then you have to bind the database point to the object. The data for the database point will come from the OPC server and FactorySQL.
If you want to change an alarm set point for the weight, then this data point would be written by the form’s object, such as a data input box and a command button.
There is a built-in scripting language, as well as Java support. If you can’t get the system to do what you want using standard functions, you can write your own. Each object also has dynamically applied properties that you design.
The method of completion is very different for anyone who has used Wonderware’s Intouch, RSView or Intellution. The approach that FactoryPMI employs takes more pre-thinking and database design than the aforementioned HMIs.
Once the form is created and the objects bound to the database, it is time to view the result. You can run a preview in the designer, or log into the gateway locally or from a client machine. I used the IP address of my gateway and the port number (10.11.0.19:8080) to access the gateway, and voila, free runtimes.
The interface is very slick and functional. The help system is more than adequate, and the web support is very good.
It is a new way of designing due to the database-driven nature of the product, and it will force you to be a better developer because of it.
Vendor: Inductive Automation
Price: $1,850 to $3,900 US
Jeremy Pollard is a 25-year veteran of the industrial automation industry. He has worked as a systems integrator, consultant and an educator in the field. Jeremy can be reached at firstname.lastname@example.org.