“All machines need modes and states. On this machine I wanted them based on standards. I remembered a presentation on OMAC Packaging Guidelines and decided to apply the concept.
“Ilapak agreed to use structured text as much as possible because it is well accepted in Europe and it is flexible. The application could just as readily be developed using ladder diagram if a customer preferred it.
“We needed manual, production, setup, and several other modes, and all are implemented with OMAC’s PackML standard states. Ilapak’s engineers liked the ability to split the project into modules with references. We began with a ‘virtual’ OMAC mode, called ‘base,’ as a template where we defined all the state transitions—idle, start, executing, aborting, etc. We were then able to create references to the basic mode file and make only the changes required for the new mode.
“Ilapak was surprised how easy it is to create software libraries in Automation Studio, the B&R software development environment. For example, parameters for interpolation required some complex calculations. By using libraries, complex software routines can be hidden behind a simplified user interface so that the software can be optimized without the end user needing to be a programming expert. Visual Components allowed a direct link from the HMI project to the machine project, since the same data base is shared.
“Axis control is performed using the PLCopen library. In addition to standard PLCopen motion function blocks, we drew from a set of fully PLCopen-compliant function blocks developed by B&R that provide additional functionality. In this way, the standard allows a common look and feel without sacrificing competitive advantage.
“For example, the ‘Cam automat’ function block is a tool unique to B&R for interpolating a slave to a master axis. It defines interpolation states with a cam and allows you to define events. Let’s say you want to interrupt the motion but the slave needs to reach a specific position. The automat function block is a state machine that automatically performs these control tasks.”