Сообщение от
Ефремов Николай
Да, конечно, импульсный..
П.И.Д - что-то не вижу дискретов, разрывов...
Сообщение от
Ефремов Николай
Аналоговый ПИД-регулятор оказывает постоянное воздействие ..
..а постоянное значение аналога - экв. отсутствию импульсов
Сообщение от
Ефремов Николай
импульсный перемещает РО на какую-то величину, а положение РО зависит от суммарного воздействия всех предыдущих импульсов.
Интересно, а за что отвечает И в ПИД ?
Сообщение от
Ефремов Николай
. При аналоговом управлении РО клапана(задвижки) перемещаются в исходное положение(либо NO, либо NC), если нет сигнала. При импульсном управлении, если нет сигнала, РО клапана(задвижки) остаётся на месте.
Нет аналогового сигнала - рассматривайте как аварию, пжста - здесь не рассматривают сферических пони, если же хочется - смотрите тогда нет сигнала вместе с нет питания - и никто никуда не переместится
И для 3х поз - аварию нужно рассматривать переход в соотв. авар. положение. А аналог = min аналогичен (жесть) либо постоянному соотв. импульсу либо импульсу с длиной достаточной для перехода в какой-то край.
Сообщение от
Ефремов Николай
..И, кстати, термин 3-х позиционное управление не относится к ПИД-регулированию.
Про это - лучше где-нить в академиях
Для привода с постоянной скоростью перемещения. Тут и ШИМ не нужен. Да и код проще.
Код:
var_input
....
var_output
plus,minus : bool;
var_const
h : real := .. //что хоца считать верхом pida: 1, 100%, ...
timebase : time := .. //максимально близко к реальному времени полного перехода РО
z : real := .. //зона нечуйствительтности (соотнести с h)
var
pid : pid := (y_max := h); //все тот же пид
pos : pamp_real := (ascend := h, descend := h, timebase := timebase); //здесь ramp как модель РО
-------------------------
pid(
actual := actual,
set_point := set_point,
...
);
pos(in:=pid.y);
plus := pos.diff > z or pid.y = pid.y_max; // = max,min - гарантия от накопления погрешностей по timebase
minus := pos.diff < -z or pid.y = pid.y_min; // а i в pid все вылечит
Начальное значение РО не имеет значения - встанет в нужно место все равно.