Skip to main content

Lund University Publications

LUND UNIVERSITY LIBRARIES

Reference Implementation of the PID Controller

Sundström, Emil LU orcid ; Hägglund, Tore LU ; Bauer, Margret LU ; Eker, Johan LU orcid and Soltesz, Kristian LU orcid (2024) 4th IFAC Conference on Advances in Proportional-Integral-Derivative Control In IFAC Proceedings Volumes (IFAC-PapersOnline) 58(7). p.370-375
Abstract
The PID controller is the by far most frequently employed type of controller. As you read, billions of digitally implemented PID controllers are running, shaping the dynamic behavior of anything from the fan speed in your laptop to safety-critical components in nuclear power plants. Given the abundance of commissioned PID controllers, it is surprisingly hard to find a single source that provides a well-documented, and motivated reference implementation of the PID controller in text-based code. This work provides one. We use the incremental (velocity) form, motivated by its intrinsic integrator anti-windup and bumpless transfer behavior. In addition, we discuss our implementation in terms of measurement filtering, setpoint handling, and... (More)
The PID controller is the by far most frequently employed type of controller. As you read, billions of digitally implemented PID controllers are running, shaping the dynamic behavior of anything from the fan speed in your laptop to safety-critical components in nuclear power plants. Given the abundance of commissioned PID controllers, it is surprisingly hard to find a single source that provides a well-documented, and motivated reference implementation of the PID controller in text-based code. This work provides one. We use the incremental (velocity) form, motivated by its intrinsic integrator anti-windup and bumpless transfer behavior. In addition, we discuss our implementation in terms of measurement filtering, setpoint handling, and runtime environment, among other implementation aspects. Our reference implementation is a living “document”, and a link to a GitHub repository hosting the latest version is provided. (Less)
Please use this url to cite or link to this publication:
author
; ; ; and
organization
publishing date
type
Contribution to journal
publication status
published
subject
keywords
PID control, Implementation, Programming code
in
IFAC Proceedings Volumes (IFAC-PapersOnline)
volume
58
issue
7
pages
370 - 375
publisher
IFAC Secretariat
conference name
4th IFAC Conference on Advances in Proportional-Integral-Derivative Control
conference location
Almeria, Spain
conference dates
2024-06-12 - 2024-06-14
external identifiers
  • scopus:85203060099
ISSN
2405-8963
DOI
10.1016/j.ifacol.2024.08.090
project
Data-driven modeling for sustainable mining
language
English
LU publication?
yes
id
75b22ba2-e611-4f45-9e77-52968371e082
date added to LUP
2024-03-19 19:34:36
date last changed
2024-11-25 12:18:11
@article{75b22ba2-e611-4f45-9e77-52968371e082,
  abstract     = {{The PID controller is the by far most frequently employed type of controller. As you read, billions of digitally implemented PID controllers are running, shaping the dynamic behavior of anything from the fan speed in your laptop to safety-critical components in nuclear power plants. Given the abundance of commissioned PID controllers, it is surprisingly hard to find a single source that provides a well-documented, and motivated reference implementation of the PID controller in text-based code. This work provides one. We use the incremental (velocity) form, motivated by its intrinsic integrator anti-windup and bumpless transfer behavior. In addition, we discuss our implementation in terms of measurement filtering, setpoint handling, and runtime environment, among other implementation aspects. Our reference implementation is a living “document”, and a link to a GitHub repository hosting the latest version is provided.}},
  author       = {{Sundström, Emil and Hägglund, Tore and Bauer, Margret and Eker, Johan and Soltesz, Kristian}},
  issn         = {{2405-8963}},
  keywords     = {{PID control; Implementation; Programming code}},
  language     = {{eng}},
  number       = {{7}},
  pages        = {{370--375}},
  publisher    = {{IFAC Secretariat}},
  series       = {{IFAC Proceedings Volumes (IFAC-PapersOnline)}},
  title        = {{Reference Implementation of the PID Controller}},
  url          = {{https://lup.lub.lu.se/search/files/177637056/sundstrom24a.pdf}},
  doi          = {{10.1016/j.ifacol.2024.08.090}},
  volume       = {{58}},
  year         = {{2024}},
}