UniSet  1.4.0
Открытые члены | Открытые атрибуты | Друзья
Класс PID

#include <PID.h>

Полный список членов класса

Открытые члены

void step (double X, double Z, double Ts)
void reset ()
void recalc ()

Открытые атрибуты

double Y
double Kc
double Ti
double Td
double vlim
double d0
double d1
double d2
double sub1
double sub2
double sub
double prevTs

Друзья

std::ostream & operator<< (std::ostream &os, PID &p)
std::ostream & operator<< (std::ostream &os, PID *p)

Подробное описание

ПИД Формулы выведены на основе разностных уравнений см. http://atm.h1.ru/root/theory/theory33.html

Он даёт неплохой результат и опимальнее по расчётам (содержит только умножение, не переполняется т.к. учитывает только два последних шага)


Методы

void PID::recalc ( )

пересчёт констант

Перекрестные ссылки Td и Ti.

Используется в step().

void PID::reset ( )

рестарт регулятора...

Перекрестные ссылки Y.

void PID::step ( double  X,
double  Z,
double  Ts 
)

Выполнение очередного шага расчётов

Аргументы:
X- входное значение
Z- заданное значение
Ts- интервал расчёта данных, [сек] (интервал между шагами расчёта). Ts - должно быть больше нуля

Перекрестные ссылки Kc, recalc(), vlim и Y.


Данные класса

double PID::Kc

пропорциональный коэффициент

Используется в step().

double PID::Td

постоянная времени дифференциала, [сек]

Используется в recalc().

double PID::Ti

постоянная времени интеграла, [сек]

Используется в recalc().

double PID::vlim

максимальное(минимальное) разрешённое значение (для любого растущего во времени коэффициента) защита от переполнения

Используется в step().

double PID::Y

расчётное выходное значение

Используется в reset() и step().


Объявления и описания членов классов находятся в файлах: