Proportional-Integral-Derivative (PID) control is the most common control algorithm used in industry. The extensive use of electronics and software has resulted in the situation where the digital PID controller using a microprocessor as well as its software implementation replaces existing pneumatic, mechanical and electromechanical solutions. The reliability of the software system is assured by detection and removal of errors that can lead to failures. The paper presents mathematical methods for verification and testing of microprocessor-based PID controllers that can be used to increase the reliability of the system. The presented methodology explores the concept of testing with a model as an oracle.
Keywords: controller, PID, testing, reliability.Regulator PID (regulator proporcjonalno-całkująco-różniczkujący)
IntroductionProportional-Integral-Derivative (PID) control is the most common control algorithm used in industry. It has been in use for over a century in various forms: as a purely mechanical device, as a pneumatic device and as an electronic device.Modern digital PID controller is a system that can be considered as a combination of computer hardware and software designed to perform a dedicated control function. The control is implemented on a custom hardware platform, which is often designed and configured for the particular application. Such systems are called embedded systems [29,30]. Embedded systems may be observed in common devices employed in everyday living (e.g., coffee machines, washing machines, cell phones) as well as in sophisticated engineering systems (e.g. cars [4,29], planes, spacecrafts).PID controllers are also often safety critical systems. Due to the area of application, the PID controller must have high reliability as unexpected failures can be fatal. Ensuring the reliability of embedded software systems based on the detection and removal of errors that can lead to system failure. The process to verify that the system meets the specified requirements is referred to as testing. Testing is also the process of trying to discover every conceivable fault or weakness in a work product [12,14].The most common errors that can lead to improper operation of control devices equipped with the software include functional errors in the code, arithmetic errors associated with the use of fixed-point arithmetic, communication and task management errors, lack of robustness to different types of disturbances and work outside the scope of the variability of input signals. There are several facts that show clearly possible consequences of poorly tested systems. On February 25, 1991, an Iraqi Scud hit the barracks in Dhahran in Saudi Arabia, killing 28 soldiers from the US Army. This accident was caused by software error in the system's clock [24]. The PATRIOT missile battery has been in operation for 100 hours, by which time the system's internal clock had drifted by one third of a second. For a target moving as fast as Scud, this was equivalent to a position error of 600 meters. Another example i...