Ну так просил на С, я написал на с. А как там его компилятор откомпилирует, с насыщением или без, это уже другой вопрос.
Как ни странно работает, уже год.
Переполниться может. Чтобы не переполнялся нужно ограничить выходное значение, но тогда такая форма будет работать не совсем корректно.
Вот еще вариант:
err_i+=err; sat(err_i); y = err_i*Ki*T + err*Kp
sat(err_i) - насыщение интегратора.
Сообщение отредактировал subver - Dec 6 2005, 12:06
|