//**PIDA - PID регулятор - Аналоговый выход**// {{:fbd_blocks_img:pida.svg}} ТИП ВЫХОДА: АНАЛОГОВЫЙ СИГНАЛ Обратная связь: Да ВХОДЫ |MV |АНАЛОГОВЫЙ|Измеряемое значение. | |SP |АНАЛОГОВЫЙ|Заданное значение (уставка). | |Mode |ЦЕЛЫЙ |Рабочий режим регулятора. | |G |АНАЛОГОВЫЙ|Пропорциональное усиление. | |Ti |АНАЛОГОВЫЙ|Время интегрирования (сек). | |Td |АНАЛОГОВЫЙ|Время дифференцирования (сек). | |DZ |АНАЛОГОВЫЙ|Мертвая зона. | |TSg |АНАЛОГОВЫЙ|Сопровождающий сигнал (предшествующее реальное значение управляющего сигнала). | ПАРАМЕТРЫ |ControlInt|АНАЛОГОВЫЙ|Интервал управления (сек). | |UMin |АНАЛОГОВЫЙ|Минимальновозможный управляющий сигнал. | |UMax |АНАЛОГОВЫЙ|Максимальновозможный управляющий сигнал. | |StrokeTime|АНАЛОГОВЫЙ|Время полного хода штока привода (сек) | **Описание.** //**Алгоритм управления**// Блок PIDA предназначен для использования в управляющем контуре, в котором выход регулятора либо соединен с аналоговым физическим выходом, либо используется как заданное значение (уставка) для другого управляющего контура (каскадное управление). Алгоритм управления представляет собой пошаговый PID алгоритм для дискретного времени. //ControlInt// - интервал управления, т.е. отрезок времени между двумя успешными обновлениями значения сигнала на выходе регулятора. Если значение параметра //ControlInt// задать как //0//, //// то интервал управления автоматически //// станет равным времени программного цикла. По умолчанию интервал управления установлен равным 1. Ошибка регулирования //e// определяется как //e = SP - MV// . Таким образом, если измеряемое значение //MV// меньше заданного //SP//, а усиление //G// положительно, //// значение на выходе регулятора увеличится //// (управление нагреванием). При отрицательном усилении //G// значение на выходе регулятора , наоборот, станет меньше (управление охлаждением). В том случае, если ошибка управления меньше значения в мертвой зоне, т.е. abs(//e//) < //DZ//, сигнал на выходе регулятора не изменится, //du(t)//. Единицы измерения для параметров Мертвая зона //DZ//, Измеряемое значение //MV// и Заданное значение //SP// должны совпадать. Значение управляющего сигнала на выходе регулятора можно рассчитать по формуле: //u( t ) = u( t – h) + du( t )// где //du(t)// - изменение управляющего сигнала, //u(t)// это текущий сигнал управления, а //u(t-h)// - предыдущее значение данного сигнала. Значение для //u(t-h)// берется со входа //TSg//, //// который представляет собой сопровождающий сигнал, //// т.е. //// актуальное значение //предшествующего сигнала управления//, учитывающий любые внешние ограничения и/или функции опережения программы приложения. Как правило, вход //TSg// соединяется непосредственно с выходом регулятора. //**Ограничение значения управляющего сигнала**// Максимальная величина изменения значения на выходе за время одного интервала управления, //DuMax//, зависит от времени хода привода и вычисляется по формуле DuMax = ( Umax – UMin) * ControlInt / StrokeTime Рассчитанная величина изменения значения на выходе регулятора, //du(t)//, //// должна находиться в диапазоне //// ±//DuMax// до вычисления //// абсолютного уровня управляющего сигнала. Полученное значение нового управляющего сигнала //u(t)// ограничена интервалом (//UMin//, //UMax//). Параметр StrokeTime необходим для определения времени реального полного хода привода. Обратите внимание на то, что StrokeTime может быть использован для ограничения величины изменения управляющего сигнала даже, если выход не соединен с приводом. В подобном случае параметр StrokeTime представляет собой минимальное возможное время, которое необходимо для изменения значения управляющего сигнала с //UМin// на //UMax//. Если значение на выходе регулятора используется в качестве задания (уставки) для других регуляторов, и если отсутствует необходимость ограничения изменения управляющего сигнала, параметр StrokeTime нужно задать равным 0. //**Рабочий режим**// Рабочий режим регулятора зависит от значения входящего сигнала Mode, см. приведенное ниже описание: * Mode = 0 => Выключен, регулятор остановлен (//du// = 0). * Mode = 1 => Нормальный режим управления. * Mode = 2 =>Значение на выходе регулятора равно //UMax//. * Mode = 3 => Значение на выходе регулятора равно //UMin//. При //Mode// = 0, выход регулятора будет поддерживать сигнал, соответствующий Сопровождающему сигналу (//TSg//) на входе. Если //Mode// < 0 или //Mode// > 3, то рабочий режим регулятора будет в состоянии Выключен (также, как при //Mode// = 0).