需初始化为0，然后开始回圈。目前的误差（error）是用目前目标值（setpoint）减去系统反馈值（measured_value）而得，然后再进行积分和微分运算，比例项、积分项及微分项乘以各自参数后得到输出（output）。在实际系统中，这会透过数位类比转换器转换为类比讯号，作为受控系统的控制量。目前的误差量及积分会储存，以便下次计算微分及积分时使用，程式会等待dt秒后开始，回圈继续进行，透过类比数位转换器读取新的系统反馈值及目标值，再计算误差量及输出。