PeakLogix in Midlothian, Va., builds material handling systems. It uses automation systems that are programmed in a flowchart-based language.
The company makes extensive use of modular subroutines, explains Matt Cummings, director of technical services for PeakLogix. "SteepleChase from Phoenix Contact is a flowchart-based language," he says. "In addition to standard Decision, Looping, Exceptions and Action blocks, it has a subroutine structure. A subroutine can be written and debugged once, and then be incorporated into control programs regardless of the physical layout of the conveyor."
Material handling systems tend to perform the same functions in various places, so modular subroutines work well for PeakLogix. "In a distribution center, the picking process might have a Low Unit of Measure picking module," Cummings notes. "Within the pick module, the conveyor moves totes to various zones within the module where the picking takes place. When the tote gets to a particular divert mechanism within the zone, the control program, which receives its directions from the warehouse management system, will sense the presence of the tote and divert it, using output signals to turn solenoids on or off."
Because this procedure is repeated at each zone and each zone has the same divert mechanisms, a modular subroutine can generically control divert mechanisms anywhere within the pick module, given the correct input parameters. "Any time I have to do the same thing more than once, it’ll become a subroutine or a module," Cummings says. "It makes it easier to understand, less prone to errors, and much easier to support and enhance."
Cummings likes subroutines better than monolithic straight-line programming. "Monolithic programming will certainly get the job done, but it tends to create a house of cards that can easily be knocked down," he states. "I have found with control programming, modular is important. If the module takes care of its business based on downstream conditions and sends the appropriate conditions to signal upstream modules, the overall program structure will pretty much take care of itself."
With modular subroutines developed for most of the equipment in a material handling system, programming a new system at PeakLogix is fairly simple. "When developing a new control program, we can concentrate on the unique areas, knowing that the generic areas — those using common hardware — will be controlled by a tested and reliable routine."
This article is part of the February 2013 cover story "Tightly Woven Function Blocks."