Programmable Controller Software Architectures for Advanced Machine Diagnostics

The goal of diagnostic programs is the achievement of high availability of a controlled machine or process. The software architecture of the programmable controller can have a significant impact on the degree to which that goal can be attained. Software architecture directly affects the ease with which the controller can be programmed to provide anticipatory diagnostics, fault detection, and fault diagnosis; the degree to which such diagnostic features can be clearly specified and documented; and the effectiveness with which diagnostic information can be presented to operators, supervisors, and maintenance personnel. Assuming adequate self-diagnostic features in the programmable controller, the most important contribution to high availability to be made by the controller's software architecture is the ease with which the diagnosis can be directly related to the operation of the machine or process and its sensors or actuators, rather than to the operation of the controller. Various software features are described which contribute to this ``visibility'' of machine or process faults. Directions are indicated for future evolution of software architectures for machine and process diagnostics.