Using programming standards to navigate your process
Imagine you had to navigate from one corner of London to the opposite corner, using only a map. No problem, but what if each square mile of this map was designed by a separate person using different scales, symbols, and languages. Now the task becomes more daunting.
This analogy can also apply to process automation, specifically with regards to programming and human machine interface (HMI) development. Not having a defined set of programming and HMI standards can lead to a piecemeal set of systems in the overall process that can leave programmers, maintenance, and operations personal with the burden of navigating through the controls process from start to finish. The key to alleviate this burden is to have a uniform "map;" this is where programming and HMI standards are essential.
Standards are the "key" to a uniform processing map
It is fair to say that each programmer has their own unique programming style and approach. Whether your process is internally or externally integrated, without a set of programming and HMI standards, each system within the process is at risk of becoming its own unique piece of the map. Implementing and enforcing the use of standards gives each programmer and/or integrator a set of consistent tools to use while developing programs and HMI applications. Various automation vendors have made great strides in allowing programmers to use definable functions to incorporate devices, functionality and processes. Using these tools accomplishes a few main goals:
- Thorough testing of defined functions and their corresponding HMIs ensures proper operations that can then be easily incorporated.
- Since these defined functions can be implemented for each similar designed application, integration can be performed in less time, since there is no need to "re-invent the wheel."
- Using defined functions provide a consistent methodology, which helps others to navigate.
Keep in mind that defined functions are not the only area where standards can be implemented. Controllers typically incorporate a file structure for their routines. By defining these routines with standardized naming conventions, you can consistently organize the various controllers within your process. For example, a routine named "MOTOR LOGIC" would contain all of the motor logic controlled within the processor, and to incorporate system process logic within such routines should be given a name identifying that process, such as "BURNER 1" or "DISTILLATION COLUMN."
Incorporating, maintaining, and enforcing the use of programming standards does present some upfront time and costs, but it is worth the effort. Operations will receive systems that are built with a common look and feel, making it easier to traverse from one process to another. Maintenance personal will be able to find and identify various areas within separate systems quickly and consistently, minimizing the need to search and interpret various code or functions. Integration time will be decreased since a fair amount of programming and HMI development tools will readily be available.
This post was written by John Athy. John is a senior engineer at MAVERICK Technologies, a leading automation solutions provider offering industrial automation, strategic manufacturing, and enterprise integration services for the process industries. MAVERICK delivers expertise and consulting in a wide variety of areas including industrial automation controls, distributed control systems, manufacturing execution systems, operational strategy, business process optimization and more.