While the correct selection of PLC hardware has a big effect on the success of any industrial automation project, the capabilities of the software programming platform should also be considered as the right software will enable quick and efficient coding. Opening the software and starting to program- and configure-on-the-fly are one option, but some PLC software programming platforms, such as supplied with AutomationDirect’s BRX PLCs, provide a better option.
Bill Dehner, technical marketing engineer at AutomationDirect, explains in his article, Controller Embeds Programming Efficiency in the July 2017 issue of Control Engineering magazine, how top-down configuration and device-centric methods help lead a programmer down the proper path. Bill discusses how menu-driven selections let devices handle common functions behind the scenes, simplifying a programmer’s tasks:
Top-Down Configuration
For some controllers, configuration is simplified using a top-down method (Table). The order of the tasks listed in the Table is by precedence, with each item in the list depending on the item or items above it. For example, everything below CPU configuration depends on how the CPU is configured. Serial port, port type, Ethernet I/O Master options and server options such as Modbus/TCP and EtherNet/IP Explicit messaging are all configuration selections typically available during CPU configuration. These selections add necessary parameters to some or all the items below CPU configuration.
By following these steps in order, much of the configuration simply falls into place, some of it automatically. As an item, such as a Modbus RTU client, is created using these steps—only the appropriate parameter options are exposed for selection, simplifying configuration.
Device-Centric Concepts
What is a device? A programmer likely thinks of a device as a sensor, encoder, I/O module, variable frequency drive (VFD), EtherNet/IP module, remote rack, or a similar piece of hardware. In a device-centric controller, the devices are instead pieces of code between the program and the hardware. Using this concept, the device is configured, and it handles the details for control of the hardware by the controller such as establishing communication protocols, handshaking and defining memory requirements. Much of the hardware details are handled via configuration of each device, not with controller programming.
The configuration steps lead to this device-centric concept. A device is similar to a PC printer driver, with PC program talking to the device instead of the printer. A PLC program instruction talks to a device, a piece of code between the controller program and hardware. As it is configured, the device handles details related to control of the hardware such as handshaking, memory requirements and communication.
Regardless of the complexity of the hardware selected, the device provides a clean, uniform interface between the hardware and controller program. Each device is set up the same way, for example a Modbus/RTU or a general-purpose serial port, by following top-down configuration steps which require selecting features and filling in a few blanks.
Bill also provided some examples on how the top-down and device-centric controller programming platform result in more efficient instructions, as with PID loop programming and motion control blocks.
Part of this improved efficiency is the result of breaking down the PID loop into smaller pieces. Instead of embedding all the PID parameters such as filters, scaling, ramp-soak tables and alarm handlers in one PID instruction, separate instructions are used to access the parameters individually to simplify customization of these control algorithms. These instructions can also include trend views for display to help with understanding of the control loop response, and to assist with initial tuning and troubleshooting.
Motion control instructions can follow a similar path, broken down into different levels of instruction complexity. Simple motion instructions allow quick application of basic move commands with minimal required configuration. Intermediate-level motion instructions provide more user-defined parameters. Advanced instructions enable selection or creation of custom move profiles, often through a simple configuration process.
According to Bill, newer, advanced controllers, like AutomationDirect’s BRX PLCs, are simplifying programming by implementing a more top-down approach and using device-centric concepts. Once properly configured, most of the device interface between the PLC program and the hardware occurs automatically with minimal coding required. The result is quicker configuration with less programming and more efficient instructions, leading to shorter software development phase.
For more articles on programmable control, click here.