Software engineering approach in the design and development of the industrial automation systems
The objective of the paper is to present generalized approach in design and development of industrial automation systems based on software engineering principles including unified modeling language UML and concept of reusable software and COTS software modules. The said generalization is illustrated on the case example of the design and engineering of the software for one real life project that Faculty software engineering group has completed for local engineering firm. The said project involves monitoring and control system for the refinery oil terminal with truck loading and pipeline shipping of petroleum products. System architecture is based on PLC controllers and can be part of the any larger, network-based, SCADA/HMI system. In the first part of the paper, we present the overall hardware architecture for the system as well as its software structure described with variety of UML diagrams presenting underlying processing logic and communication and human interfaces between systems distributed parts. These formal representations of the system functional requirements are then used, in conjunction with the software tools, for configuring and programming of the controllers as well as designing and coding its interface modules and drivers and HMI interface screens and underlying functionalities. The modeling of both automatic control sequences (for truck loading applications) and programming units that enable operator input from HMI screens (for pipeline shipping) are presented to demonstrate the idea of reusable software approach, further applied in modeling of the user-designed building blocks for the control and monitoring of pumps and MOV's (Motor Operated Valves). Furthermore, some of the real-time performance requirements on communication subsystem and protocols are first defined and tested in developed UML RTD diagrams and then implemented and tested in the target hardware and software integration in commissioning and start-up phase of the developed system.