Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_раб_МППСА1.doc
Скачиваний:
71
Добавлен:
07.11.2019
Размер:
5.13 Mб
Скачать

4. Протокол лабораторной работы должен содержать

4.1. Принципиальную электрическую схему внешних подключений MICROMASTER 420.

4.2. График экспериментально полученной зависимости напряжения на выходе тахогенератора от частоты вращения электродвигателя.

4.3. Схему конфигурирования MICROMASTER 420 в программе STEP 7 с контроллером S7-300.

5. Вопросы для самопроверки

5.1. Порядок действий оператора при смене источников заданий и команд в процессе конфигурирования MICROMASTER 420.

5.2. Какие возможны варианты сетевых подключений MICROMASTER 420 к распределенной системе управления?

5.3. Перечислите требования техники безопасности при монтаже и эксплуатации MICROMASTER 420.

Л а б о р а т о р н а я р а б о т а № 6

Использование функциональных блоков

ПИД-УПРАВЛЕНИЯ ДЛЯ ПОСТРОЕНИЯ

Систем регулирования

1. Цель работы:

1.1. Ознакомиться со структурой и основными возможностями функциональных блоков, реализующих ПИД-закон управления.

1.2. Изучить электрическую схему подключения контроллера S7-300 к модели объекта управления (ОУ), порядок преобразования сигналов при формировании управляющего воздействия.

1.3. Изучить порядок использования функционального блока FB58 “TCONT_CP” на примере САР напряжения на выходе модели ОУ.

Самостоятельно, в ходе подготовки к лабораторной работе, студенты должны ознакомиться с электронной версией руководства «ПИД управление температурой», ярлык файла которого расположен на "Рабочем столе" компьютера.

2. Основные сведения о функциональных возможностях и порядке работы с функциональными блоками регуляторов температуры

Стандартная библиотека ПИД-управления ("Standard Library PID Control") содержит два регулятора температуры:

1. FB 58 "TCONT_CP": Регулятор температуры для приводов с аналоговыми или импульсными однополярными входными сигналами. В данный блок регулятора также включена функция автоматической настройки ПИ/ПИД параметров.

2. FB 59 "TCONT_S": Регулятор температуры импульсного двуполярного управления для приводов с интегрирующим исполнительным механизмом (ИМ), например, с позиционированием с помощью асинхронного электродвигателя постоянной скорости.

Блоки управления представляют собой собственно программный продукт, т.е. программы, в которых функционально смоделированы регуляторы. Данные, необходимые для периодического вычисления параметров управления, сохраняются в специальных "экземплярах блоков данных" или "экземплярах DB".

Пользователь должен задать параметры регулятора и настроить его с помощью пользовательского интерфейса для назначения параметров. Заданные параметры должны быть сохранены в соответствующем экземпляре DB.

Функциональные возможности регулятора FB 58 "TCONT_CP" основаны на алгоритмах ПИД-управления с использованием дополнительных функций, предназначенных для температурных процессов. Регулятор обеспечивает выходные аналоговые управляющие сигналы и ШИМ-модулированные импульсные управляющие сигналы. Выходные сигналы регулятора предназначены для работы с одним приводом, другими словами, с помощью одного регулятора можно обеспечивать либо нагрев, либо охлаждение объекта, но не оба процесса одновременно. Если регулятор используеется для управления процессом охлаждения, то параметр GAIN (усиление) должен получить отрицательное значение.

Рис. 6.1. Обобщенная структурная схема регулятора температуры,

реализованная в FB58

FB регулятора обрабатывает входные сигналы в цепях уставки (setpoint) и переменной процесса и вычисляет аналоговые и импульсные выходные сигналы управления в соответствии с ПИД-алгоритмами. Для улучшения характеристик управления температурными процессами в блоке регулятора возможно изменение диапазона управления и уменьшение влияния П-компонента при возникновении скачкообразных изменений сигнала уставки. Блок может автоматически регулировать ПИ/ПИД-параметры, используя функцию самонастройки регулятора.

Функциональный блок FB 59 "TCONT_S" ПИ-регулятора пошагового управления используется для управления термическими процессами с помощью двоичных управляющих сигналов, применяемых в приводах интегрирующего типа. С помощью пользовательского интерфейса можно задать параметры регулятора, включить или выключить дополнительные функции, чтобы согласовать его совместную работу с контролируемым процессом. Данные параметры задаются для их назначения. Процедуру назначения параметров Вы можете начать двойным щелчком на экземпляре DB в оболочке SIMATIC Manager.

Функциональные возможности регулятора основаны на алгоритмах ПИ-управления для регуляторов дискретного типа. С помощью функций регулятора на основе аналогового управляющего сигнала формируются управляющие сигналы на двоичных выходах. Такой регулятор можно использовать в системе каскадного управления в качестве вторичного (ведомого или "slave") регулятора. Регулятор пошагового управления работает без сигнала позиционной обратной связи.

2.1. Регулятор температуры непрерывного управления FB 58 "TCONT_CP"

Представленная ниже блок-схема показывает, как формируется сигнал ошибки в блоке FB 58 "TCONT_CP".

Рис. 6.2. Блок-схема формирования сигнала ошибки в FB58

Сигнал уставки (setpoint) подается на вход SP_INT в формате числа с плавающей запятой, как физическая или относительная величина. Сигнал уставки и сигнал процесса (переменная процесса), используемые для формирования сигнала ошибки (сигнала рассогласования), должны быть приведены к одной и той же единице измерения.

В зависимости от состояния переключателя PVPER_ON переменная процесса может быть получена в формате системы периферийных входов/выходов (I/O) или в формате чисел с плавающей запятой.

Функция CRP_IN в блоке FB 58 "TCONT_CP" служит для преобразования сигнала от периферии PV_PER в сигнал в формате чисел с плавающей запятой при соответствующем состоянии переключателя PER_MODE согласно таблице:

Функция PV_NORM преобразует (нормализует) выходной сигнал функции CRP_IN в соответствии с правилом:

(Вых. сигн. PV_NORM) = (Вых. сигн. CPR_IN) * PV_FAC + PV_OFFS

Разностный сигнал между уровнями сигнала уставки и переменной процесса представляет собой сигнал ошибки (рассогласования), который обрабатывается функцией "Deadband" ("зона нечуствительности"). При этом сигналы уставки и переменной процесса должны быть выражены в одних и тех же единицах измерения.

Для подавления постоянных малых по амплитуде колебаний, возникающих, например, из-за квантования управляющей переменной при ШИМ-модуляции с помощью генератора импульсов (функция PULSEGEN) в блоке FB 58 "TCONT_CP", сигнал ошибки (рассогласования) обрабатывается функцией амплитудного фильтра Deadband (DEADB_W). Эффективное (действующее) значение сигнала ошибки поступает на выход функции, как параметр ER.

На рис. 6.3 показано, как обрабатывается сигнал ошибки в функциях П-, И- и Д-компонентов в соответствии с ПИД-алгоритмом.

ПИД-алгоритм работает, как позиционный алгоритм (position algorithm). Цепи пропорционального, интегрального (И- или INT) и дифференциального (Д- или DIF) компонентов включены в схему регулятора параллельно и могут быть включены или выключены отдельно. Это позволяет на основе одной схемы конфигурировать П-, ПИ-, ПД- и ПИД-регуляторы.

Чтобы предотвратить эффект перерегулирования, необходимо ослабить действие П-компонента, используя "коэффициент П-компонента" или, фактически, "динамический коэффициент пропускания сигнала уставки" параметр (PFAC_SP). Можно варьировать значения PFAC_SP в диапазоне 0.0.1.0, чтобы изменять влияние П-компонента в зависимости от величины уставки:

• при PFAC_SP = 1.0 влияние П-компонента максимально при изменениях сигнала уставки;

• при PFAC_SP = 0.0 влияние П-компонента отсутствует при изменениях сигнала уставки.

Рис. 6.3. Блок-схема формирования сигнала ПИД-алгорима

Ослабление влияния П-компонента компенсируется за счет И-составляющей.

Сигнал от блока корректирующей связи (Feedforward control) может быть подан на вход DISV.

На следующей блок-схеме показан алгоритм вычисления управляющей переменной.

Рис. 6.4. Блок-схема формирования сигнала управляющей переменной

Если состояние переключателя CONZ_ON = TRUE (ИСТИНА), то регулятор работает с диапазоном управления (control zone). Это означает, что алгоритм его работы следующий:

• если PV превышает SP_INT более, чем на величину CON_ZONE, то выходная управляющая переменная примет значение LMN_LLM (режим регулируемого контура управления);

• если PV ниже уровня SP_INT более, чем на величину CON_ZONE, то выходная управляющая переменная примет значение LMN_HLM (режим регулируемого контура управления);

• если значение PV находится внутри диапазона управления CON_ZONE, то выходная управляющая переменная имеет значение LMN_Sum, рассчитанное в блоке ПИД-алгоритма, (режим контура автоматического управления).

Использование диапазона управления приводит к более быстрому установлению сигнала и к ликвидации выбросов. Эта процедура имеет смысл только при активизированном Д-компоненте.

Регулятор позволяет переключать режимы работы, выбирая ручной режим или автоматический. В ручном режиме управляющая переменная корректируется, принимая значение, установленное вручную. При этом сигнал И-компонента (INT) приводится к уровню: LMN - LMN_P - DISV, а сигнал Д-компонента (DIF) устанавливается в 0 и внутренне синхронизируется. Поэтому переключение из ручного в автоматический режим производится плавно (безударно).

При использовании функции LMNLIMIT величина управляющей переменной ограничивается пределами LMN_HLM и LMN_LLM. Если сигнал достигает этих предельных значений, то это индицируется установкой соответствующих сигнальных битов QLMN_HLM и QLMN_LLM.

Если управляющая переменная входит в режим ограничения, И-компонент выключается. Если сигнал ошибки так изменяется, что управляющая переменная выходит из ограничения (удаляется от границы диапазона допустимых значений), то И-компонент вновь активизируется.

Функция LMN_NORM используется для нормализации управляющей переменной, которая производится по правилу:

LMN = LmnN * LMN_FAC + LMN_OFFS

Такая обработка сигнала может использоваться для:

• адаптации значения управляющей переменной с помощью параметра LMN_FAC (коэффициент управляющей переменной) и LMN_OFFS (смещение управляющей переменной).

Управляющая переменная также может быть представлена в формате системы периферийных входов/выходов. Для этой цели служит функция CRP_OUT - она преобразует значение LMN из формата чисел с плавающей запятой в формат системы периферийных входов/выходов согласно следующей формуле:

LMN_PER = LMN * 27648 / 100

Со значениями параметров, принимаемых по умолчанию, (LMN_FAC = 1.0 и LMN_OFFS = 0.0), функция нормализации неактивна. Эффективное (действующее) значение управляющей переменной поступает с выхода LMN.

На блок-схеме, представленной ниже показано управление параметрами регулятора.

Если текущие параметры регулятора подобраны правильно, можно сохранить их в специальной структуре в экземпляре DB для FB 58 "TCONT_CP" перед тем, как внести изменения в ручном режиме. Параметры PFAC_SP, GAIN, TI, TD, D_F, CONZ_ON и CONZONE будут записаны в структуру PAR_SAVE.

Последний набор сохраненных параметров может быть вновь активизирован для работы регулятора (это справедливо только, если регулятор находится в ручном режиме). Согласно настройке, ПИ- и ПИД-параметры сохраняются в структурах PI_CON и PID_CON. В зависимости от состояния PID_ON, можно использовать функцию LOAD_PID в ручном режиме, чтобы записать эффективные параметры для ПИ- или ПИД-регулятора.

Функция PULSEGEN преобразует аналоговое значение управляющей переменной LmnN в последовательность импульсов с периодом PER_TM, используя широтно-импульсную модуляцию (ШИМ). Функция PULSEGEN активируется с помощью установки PULSE_ON = TRUE (ИСТИНА) и выполняется с периодом CYCLE_P.

Рис. 6.4. Принцип работы ШИМ-преобразования

Период вызова функции генератора импульсов равен:

Cycle PULSEGEN = CYCLE_P

Если величина управляющей переменной составляет LmnN = 30%, а на периоде PER_TM производится 10 вызовов генератора импульсов PULSEGEN, то из этого следует, что:

• уровень TRUE (ИСТИНА) на выходе QPULSE в течение первых трех вызовов генератора импульсов PULSEGEN (что составляет 30% от 10 вызовов);

• уровень FALSE (ЛОЖЬ) на выходе QPULSE в течение семи последующих вызовов генератора импульсов PULSEGEN (что составляет 70% от 10 вызовов).

Длительность импульса на периоде повторения импульса пропорциональна управляющей переменной и вычисляется в соответствии с формулой:

(Длительность импульса) = PER_TM * LmnN / 100

Очень короткие временные отрезки, во время которых происходит включение или выключение привода в контуре управления, являются критичными параметрами, которые влияют на срок службы переключающих элементов и самих приводов.

Чрезмерно коротких периодов включения и выключения можно избежать, если установить соответствующее значение для параметра P_B_TM, который определяет минимальную длительность импульса и паузы между импульсами. Малые по абсолютной величине входные значения переменной LmnN, которые могли бы сгенерировать импульсы короче, чем P_B_TM, подавляются.

Для больших по абсолютной величине входных значений переменной LmnN, которые могли бы сгенерировать импульсы длиннее, чем PER_TM - P_B_TM, устанавливаются выходные значения с уровнем 100%. Тем самым улучшаются динамические характеристики функции генератора импульсов.

Рекомендуемые величины для минимальных по длительности импульсов и пауз составляют значения: P_B_TM ≤ 0.1 * PER_TM.

Чем меньше время дискретизации генератора импульсов CYCLE_P по сравнению с периодом повторения импульсов PER_TM, тем больше точность генератора широтно-импульсной модуляции (ШИМ).

Для получения практически достаточной точности управления должно выполняться следующее правило:

CYCLE_P ≤ PER_TM / 50

Это означает, что величина управляющей переменной преобразуется в импульсы с разрешением ≤ 2%.

FB TCONT_CP должен вызваться с постоянным периодом. Чтобы обеспечить это, следует использовать OB циклического прерывания (например, OB35 для S7-300).

Вызов без генератора импульсов (регулятор непрерывного действия):

Необходимо определить параметр CYCLE, задающий время дискретизации регулятора. Можно ввести этот параметр, используя утилиту назначения параметров. Параметр CYCLE должен быть равен периоду между двумя вызовами (время цикла для ОВ циклического прерывания, включая время сканирования).

Во время самонастройки блок регулятора измеряет время между двумя вызовами и задает это значение параметру CYCLE. Параметр CYCLE не должен превышать 10% величины расчетной времени интегрирования регулятора (TI): CYCLE ≤ TI / 10.

Вызов с генератором импульсов (импульсный регулятор:

Если необходимо включить генератор ШИМ-импульсов (PULSE_ON = TRUE (ИСТИНА)), следует определить два параметра дискретизации времени.

• Время дискретизации генератора ШИМ-импульсов задается на вход CYCLE_P. Этот параметр должен быть согласован с тактовой частотой вызывающего OB циклического прерывания. Продолжительность сгенерированного импульса всегда должна быть кратна величине этого параметра.

• Время дискретизации регулятора FB 58 задается на вход CYCLE. Во время самонастройки блок регулятора измеряет время между двумя вызовами и задает это значение параметрам CYCLE и CYCLE_P соответственно. Если задать значения параметрам CYCLE и CYCLE_P вручную с помощью интерфейса вызовов, то значения параметров, измеренные во время настройки, будут проигнорированы.

Необходимо обеспечить, чтобы величина CYCLE была кратна величине CYCLE_P.

Параметр CYCLE не должен превышать 10% величины расчетной суммарной постоянной времени регулятора (TI):

CYCLE ≤ TI / 10

Для получения требуемой точности при формировании управляющей переменной необходимо обеспечить выполнение следующего соотношения:

CYCLE_P ≤ PER_TM / 50

Период следования импульсов не должен превышать 20% величины расчетного времени интегрирования (времени установления сигнала) для регулятора (TI): PER_TM ≤ TI / 5.

Ниже в таблице приведены примеры выбора этих интервалов времени.

Блок FB "TCONT_CP" содержит также программу инициализации, которая выполняется при условии, что установлен входной параметр: COM_RST = TRUE (ИСТИНА). После выполнения программы инициализации входной параметр сбрасывается: COM_RST = FALSE (ЛОЖЬ).

Во время инициализации И-компонент получает начальное значение I_ITLVAL. При вызове в циклическом прерывании он продолжает работу с этим значением. Все другие выходы получают свои начальные значения.

Если необходима инициализация при перезапуске CPU, необходимо вызвать блок FB "TCONT_CP" в OB100 с параметром COM_RST =TRUE (ИСТИНА).