Maximize opportunities for code reuse in your control system configuration project
Control system configuration projects and the ensuing maintenance can become very complicated and time consuming if not managed carefully. One of the surest ways to minimize complexity and maximize efficiency is to reuse portions of the configuration where possible. This is an objective that is easier said than done. Control system features in this area vary widely based on the manufacturer and vintage of the control system. There is no magic bullet for reusing technical content within and external to an automation project, but here are 3 concepts that can move your project in the right direction:
Use object-oriented features where possible
Object oriented features are used widely in commercial software development, but control systems manufacturers have been behind the curve in implementing these features. However, control system manufacturers are increasingly adding these features to their configuration packages. It is imperative to evaluate what object oriented principles are included with your control system configuration package and how you plan to use them prior to beginning configuration.
One way to apply object oriented thinking to control configuration is the development of reusable object libraries to solve common problems. For example, rather than copying & pasting analyzer validation code in every situation where it is needed, a standard configuration class (or type) can be designed and applied to each situation where it is required. If any changes are required to this code at a later date, it can be automatically applied to all instances of the class. The incredible potential for efficiency improvements using this approach is self-evident.
Write functional specs and other documentation consistently
Consistency in functional specification development and other documentation is essential to identify opportunities for reuse of configuration. If standard methods for representing inputs, outputs, and control functions are used throughout the project team, similar situations will be easier to identify. A standard set of conventions for representing automation situations must be developed prior to any specification development, and it must be maintained as specification writing and configuration development reveal the need to alter existing standards and conventions.
Emphasize communication within the team
No matter how excellent the documentation and standards are on a project, without consistent communication between team members, disparate lines of documentation and configuration will develop. These can only be remedied (if they are remedied at all) by time consuming rework later in the project.
Specific subgroups of a project team should be identified that need to work in especially close contact. For example, if a portion of the team is specializing in rotating equipment automation or safety automation, these individuals should exchange ideas and review one another’s work for quality deviations on a regular basis. This sort of close connection will maintain consistency of coding practices and opportunities to reuse opportunities between portions of the project will naturally bubble to the surface.
This post was written by Justin Robinson. Justin is a Performance Excellence Specialist 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 area including industrial automation controls, distributed control systems, manufacturing execution systems, operational strategy, business process optimization and more.
Maverick Technologies is a CSIA member as of 7/20/2015