UniSet 2.32.1
Открытые члены | Открытые атрибуты | Друзья | Полный список членов класса
Класс uniset::PID

#include <PID.h>

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

void step (const double &X, const double &Z, const 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

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

Методы

◆ recalc()

void uniset::PID::recalc ( )

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

◆ reset()

void uniset::PID::reset ( )

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

◆ step()

void uniset::PID::step ( const double & X,
const double & Z,
const double & Ts )

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

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

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

◆ Kc

double uniset::PID::Kc

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

◆ Td

double uniset::PID::Td

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

◆ Ti

double uniset::PID::Ti

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

◆ vlim

double uniset::PID::vlim

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

◆ Y

double uniset::PID::Y

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