How to lower PLC software costs
Programmable logic controllers (PLCs) and now programmable automation controllers (PACs) are the mainstay of discrete factory automation, and they are increasingly being used in process control. While market research companies predicted the death of PLCs some years ago, claiming that industrial computers would run them out of business, PLCs have continued to dominate automation.
PLC vendors have improved the processors, memory, I/O (input/output), communications, and capabilities of PLCs and PACs over the years to the point where they can compete with distributed control systems (DCSs), motion controllers, CNCs, and specialty controllers, such as robot controls and vision systems. At the same time, the cost of PLCs and PACs has dropped considerably, to the point where a fully functional PLC is available for several hundred dollars.
Competition among the major PLC vendors also helps to keep the prices down. PLCs get bigger, faster, smarter, and more capable, but hardware prices remain fairly constant.
All this capability has come at a very high price: namely, in the software needed to connect the factory floor to business operations. Understanding how software licenses work can help you understand how you may spend 10 times as much on software as on PLC hardware.
What’s a software license?
A software license governs the use or redistribution of software. A software publisher can charge to buy the software and restrict how many PCs the software can be installed on. For a machine builder who uses a PLC as a control system, it generally means the builder has to pay for another software license every time a new machine gets shipped to the customer (Figure 1).
Software licenses can also restrict users in other ways, such as limiting the number of data points, functions, or workstations able to access data for controlling the machine. The license may also require the purchase of an annual maintenance contract and/or technical support, the purchase of periodic upgrades, and other purchases that can nickel and dime a machine builder or end user for years.
The reasoning is simple: Users of PLC-based equipment are captive customers and have few options but to use the PLC vendor’s software. Software licenses are lucrative for vendors.
Vendors prevent users and machine builders from simply copying the software and loading it onto additional PCs. Any software can be copied, of course, and copies can be loaded into other PCs. But they won’t run on any other PC because of restrictions similar to how Microsoft protects its software from being “pirated.”
Some of these methods include requiring a dongle to be plugged in, or a product activation program. A dongle is a hardware key containing an electronic serial number required to run the software. Product activation requires the user to verify the license, typically by entering a product key or serial number to activate and use the software.
Cost of software licenses
How much do these licenses cost? That’s hard to say and almost impossible to find out. And there’s no “typical” cost because needs vary greatly between user and industry. The cost is often driven by the number of data points, software features, and user-level discounts. For this reason—including competitive advantage—open price lists are not readily available, especially for PLC software.
On the other hand, it is possible to find almost anything on the Internet. A little hunting found these (vendor omitted):
- Redundancy module for $18,400: This links two systems to create a fault-tolerant redundant pair.
- HMI/SCADA module for $6,975 creates HMI/SCADA clients. (HMI is human machine interface software. SCADA stands for supervisory control and data acquisition.)
- SQL data logging module for $950 provides basic SQL (structured query language) data logging.
- Reporting module for $2,200 creates dynamic, database-driven Adobe PDF reports.
It is difficult to know if these prices are high, low, or typical, because there is little to compare them to.
Cost depends on pricing from the software publisher, number of development licenses, number of data points, add-on components, number of run-time licenses, annual maintenance fees, and other factors. These particular citations did not indicate whether the price was for shrink-wrapped software costs alone or if any services fees were included.
What software do you need?
A typical PLC application usually requires purchase of:
- PLC programming software (Figure 2)
- HMI development software
- SQL / database license
- Data I/O server
- Add-on tools and components
- HMI run-time license
Each, of course, has a separate software license. The software developer still needs to add his skills, experience, and creativity to produce the end product ready for run-time deployment.
Run-time license fee is another revenue generator for the software publisher. A run-time license is a way for software publishers to control distribution and generate another revenue stream.
Basically the software publisher charges a fee for tools to create applications, places restrictions on the types of applications you may create, and then charges fees for distributing your works. This is akin to buying an e-mail program and paying a royalty for each e-mail you send.
See more next page, about decreasing software costs.
How to decrease software costs
Alternative software solutions exist on the open market from several vendors (Figure 3). Doing some research reveals these alternatives.
Getting users and machine builders to talk about how they avoid these costs by purchasing alternative software is difficult. In many cases, they have built relationships with their PLC vendors over the years and have standardized on the PLC hardware. They don’t want to damage that relationship.
For example, a major automation vendor offers a software solution built on OPC to enable connectivity between HMI software packages and its PLCs. Once a user builds an interface application with that HMI development tool, the software provides drivers and other connectivity components that enable PLC communications. Users are then required to purchase individual software copies for every machine on which they want to run the application, along with annual software maintenance fees for each copy.
Trien Dao, senior software engineer at a major medical device manufacturing facility in the Minnesota Twin Cities region, evaluated the cost of using the server software to communicate with numerous PLCs deployed in the plant, but the license and annual maintenance fees required for each copy set him searching for an alternative. One tool he discovered automated development of OPC applications. (Working with OPC can be complex and requires specialized experience.) The software significantly simplified the process of working with OPC but still required purchase of individual automation software copies and maintenance fees, along with the cost of managing another license.
Instead, different PLC driver software was purchased. “Once we developed the interface, all we had to do is export the DLL [dynamic link library] to any machine on which we wanted to run it. We didn’t have to pay additional fees. We have PLCs running on many machines, so not having to buy additional licenses for each one is a tremendous cost savings, definitely in the six figures,” said Dao.
Mike Sluz, electrical superintendant for Wynndel Box & Lumber, a specialty wood product manufacturer in British Columbia, Canada, also purchased the PLC driver software. According to Sluz, “Wynndel faced the challenge of displaying real-time error messages and production data at various workstations around our plant.” Realizing that the software could help gather data from PLCs in the plant, the PLC driver software replaced the need to purchase and install multiple automation software licenses at more than $1,100 per workstation.
Although vendor-supplied software is proprietary, requires licenses, and can’t be modified by a customer, almost all of it is written in Microsoft Visual Studio. In other words, anything the vendor can do, a machine builder or an end user can do, too.
There is nothing secretive, proprietary, or difficult about HMI/SCADA, data communications, SQL, and many other software packages.
In fact, many such packages can be purchased from non-PLC vendors on the open market. Anything else can be developed by an experienced MS Visual Studio programmer.
All a machine builder needs from the PLC vendor is the PLC and I/O hardware and probably the programming package (although IEC 61131 programming packages are also openly available). Everything else can be purchased separately. And, in many cases, these packages don’t have expensive software and run-time licenses.
For example, the PLC driver software includes a library of programs for PLCs that programmers use to create their own customer applications using MS Visual Studio. Such software provides access to PLC memory, databases, I/O, and communications, allowing programmers to obtain information they need from a PLC, process it in a PC, and send commands back to the PLC for control. Some such software has no run-time licensing fees, so applications created can be distributed by a systems integrator or machine builder with no additional costs.
There’s no need to pay the licensing costs of PLC vendor software when alternate solutions exist.
– Chuck Karwoski is president of CimQuest Ingear LLC, a supplier of PLC software. Edited by Mark T. Hoske, content manager, CFE Media, Control Engineering, firstname.lastname@example.org.
Also see “Products to lower PLC software costs" below.