WonderLogix PLC Programming Software
You might be asking yourself, “Why is Corso Systems writing a post about PLC Programming Software?”
This isn’t the most outlandish question you could be asking. It is true we focus most of our efforts on Manufacturing Execution Systems, information systems, and things to enable the plant floor to operate more efficiently. That said, there is no escaping PLC programming when working in the manufacturing world. Studio 5000, TIA Portal, Step 7, CODESYS, Unity Pro, Telepace, DirectLogic, Click, EZRack Designer, the list goes on…we either have them open on our computers right now, or have used them in recent memory.
But Alex…PLC Programming Isn’t “Real” Programming
Let’s face reality. PLC Programming software is one of the reasons people don’t get into Automation. A lot of its foundations are in “old” technology (ladder logic built to mimic electrical relay logic). It can be confusing (function blocks are their own universe). Or it is some weird version of a “real” programming language with structured text. People going through school these days look down on it, don’t understand why the PLC manufacturers aren’t integrating the latest and greatest frameworks in their development environments, and don’t want to think of themselves as maintenance folks.
If you have spent any time programming PLCs you know there is a learning curve, and once you have a feel for things you know writing PLC code can be a very rewarding and creative process. It can also be frustrating, and if you have done any software development outside of PLCs you know it can also be frustrating. PLC programming is also notorious for making it cumbersome to build things in an object oriented manner. There are ways to do it, but it isn’t designed to be a shining example of object oriented principles out of the box.
The folks over at WonderLogix (https://wonderlogix.com) decided they would work on solving a few of these problems by building their own PLC programming software.
Solve Problems By Taking Them Away Entirely
First, their approach was to abstract away the ladder logic entirely. Instead of taking a functional spec, or control philosophy and converting it to logic, you simply begin building your system by defining the devices and equipment you are using. Pumps, motors, valves, instruments, anything in a typical process control system is configurable as an object in WonderLogix. Once you have your objects defined, you can then begin setting up inputs and outputs to those devices. Once you have that, you can build your logic, with a very intuitive interface.
WonderLogix also makes it extremely easy to turn things into classes, basically the building blocks you will use to build a process control system. Think of it like using LEGOs to build up a factory. Each type of brick represents a piece of equipment, and you assemble them all to match your system.
Getting from zero to working PLC code with WonderLogix doesn’t require placing any bits or coils on rungs, writing any structured text, or figuring out how to convert something from one language into function blocks. You simply begin defining your system, and building everything up as you go through your process requirements.
The State of the Art
Second, WonderLogix makes building state machines a quick and painless process. State machines allow you to define various modes equipment or your process can be in at any given time. When certain conditions are met, the process moves to another state. This is very useful when sequencing a process, or moving between various modes of lead/lag/standby for a wastewater system. WonderLogix has an interface reminiscent of NodeRed to generate state machines, making it quick and easy to build a graphical view of the logic without having to look at any ladder logic.
Lastly, WonderLogix generates documentation you can actually use to make sense of a process. We’ve all seen a “report” from a PLC programming package which is simply a printout of the logic with comments. If you are trying to understand this without understanding the logic itself, good luck. WonderLogix generate a report, with actual descriptions, in sentence form you can use to understand what is going on.
WonderLogix takes away the hurdle of learning any of the standard PLC Programming languages. It gives you a simple interface to build your system, without requiring your system to be simple.
What Are the Limitations?
First, as of this post, it works only with Allen Bradley CompactLogix and ControlLogix PLCs. They are working on a version to generate code for Siemens S7-1200 and S7-1500 processors which should be out in the next few months.
It also requires you to have Studio 5000 to load the code to the PLCs, go online with them, etc. They are working on a WonderLogix Runtime environment to help with this. WonderLogix Runtime will allow you to go online and see logic in their environment, but will still require Studio 5000 to download to the processor. This will be the best of both worlds, and is one of the areas I think WonderLogix can really shine. This will allow people who aren’t intimately familiar with PLCs to easily see what is going on with their system.
Neither of these caveats are faults, they are simply things to be aware of when using new software. What WonderLogix has pulled together with their first release is impressive. We are excited to see what they come up with next.
More interesting tech? Check out the Corso Shorts video series!