Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
15
Добавлен:
31.08.2025
Размер:
5.84 Mб
Скачать

Приложение D: Библиотеки CoDeSys

Аналоговый вход IN типа INT. По входу RESET типа BOOL все переменные инициализируются заново. Выход MN дает минимальное, выход MX максимальное и выход AVG среднее значения входных данных IN. Все три выхода типа INT.

Блок FBD:

STATISTICS_REAL

Функциональный блок, аналогичный STATISTICS_INT. Вход IN и выходы MN, MX, AVG имеют тип REAL.

VARIANCE

Функциональный блок вычисляет дисперсию входных данных.

Вход IN типа REAL, вход RESET типа BOOL и выход OUT типа REAL. Сброс вычисления производится по входу RESET=TRUE.

Среднеквадратичное отклонение может быть получено как квадратный корень VARIANCE.

Регуляторы

PD

Функциональный блок реализует ПД закон регулирования:

Y Y _ OFFSET KPçe(t)

= + æ

è

+ TV

de(t) ö

 

÷

dt

 

ø

где Y_OFFSET – стационарное значение, KP – коэффициент передачи, TV – постоянная диффе-

ренцирования, e(t) - сигнал ошибки (SET_POINT-ACTUAL).

Входы функционального блока:

Наименование

Тип

Описание

 

 

 

ACTUAL

REAL

Текущее значение контролируемой переменной.

 

 

 

SET_POINT

REAL

Задание.

 

 

 

KP

REAL

Коэффициент передачи.

 

 

 

TV

REAL

Постоянная дифференцирования, в секундах

 

 

(т.е. "0.5" для 500 мс).

 

 

 

Y_MANUAL

REAL

Определяет значение выхода Y, если MANUAL = TRUE.

 

 

 

Y_OFFSET

REAL

Стационарное значение Y.

 

 

 

Y_MIN,

REAL

Значение выхода Y ограничено Y_MIN и Y_MAX. При

Y_MAX

 

достижении Y границ ограничения, выход LIMITS_ACTVE,

 

 

(BOOL) принимает значение TRUE. Ограничение работает

 

 

только при Y_MIN < Y_MAX.

 

 

 

MANUAL

BOOL

Значение TRUE, включает режим ручного регулирования по

 

 

входу Y_MANUAL.

 

 

 

CoDeSys V2.3

10-57

 

 

 

Приложение D: Библиотеки CoDeSys

 

RESET

 

BOOL

 

TRUE сбрасывает регулятор; в это время Y = Y_OFFSET

 

 

 

 

 

 

 

 

 

 

Входы функционального блока:

 

 

 

 

 

 

 

 

 

Наименование

 

Тип

 

Описание

 

 

 

 

 

 

 

Y

 

REAL

 

Выход регулятора

 

 

 

 

 

 

 

LIMITS_ACTIVE

 

BOOL

 

TRUE означает что Y ограничивается пределами (Y_MIN,

 

 

 

 

 

Y_MAX).

 

 

 

 

 

 

Y_OFFSET, Y_MIN и Y_MAX используются при необходимости ограничения допустимого диапазона значений выхода. Если ограничение выхода не требуется, Y_MIN и Y_MAX должны быть равны 0.

P-регулятор получается из PD установкой TV в 0.

Пример FBD:

PID

Функциональный блок реализует ПИД закон регулирования:

æ

 

TN

 

ö

ç

1

òe(t) + TV

de(t) ÷

Y = Y _ OFFSET + KPçe(t) +

 

 

÷

TN

dt

è

0

ø

где Y_OFFSET – стационарное значение, KP – коэффициент передачи, TN – постоянная интегрирования, TV – постоянная дифференцирования, e(t) - сигнал ошибки (SET_POINT-ACTUAL).

Входы функционального блока:

Наименование

Тип

Описание

 

 

 

ACTUAL

REAL

Текущее значение контролируемой переменной.

 

 

 

SET_POINT

REAL

Задание.

 

 

 

KP

REAL

Коэффициент передачи.

 

 

 

TN

REAL

Постоянная интегрирования, в секундах

 

 

(т.е. "0.5" для 500 мс).

 

 

 

TV

REAL

Постоянная дифференцирования, в секундах

 

 

(т.е. "0.5" для 500 мс).

 

 

 

Y_MANUAL

REAL

Определяет значение выхода Y, если MANUAL = TRUE.

 

 

 

Y_OFFSET

REAL

Стационарное значение Y.

 

 

 

Y_MIN,

REAL

Значение выхода Y ограничено Y_MIN и Y_MAX. При

Y_MAX

 

достижении Y границ ограничения, выход LIMITS_ACTVE,

CoDeSys V2.3

10-58

 

 

 

Приложение D: Библиотеки CoDeSys

 

Y_MAX

 

 

 

(BOOL) принимает значение TRUE. Ограничение работает

 

 

 

 

 

 

 

 

только при Y_MIN < Y_MAX.

 

 

 

 

 

 

 

MANUAL

 

BOOL

 

Значение TRUE, включает режим ручного регулирования по

 

 

 

 

 

входу Y_MANUAL.

 

 

 

 

 

 

 

RESET

 

BOOL

 

TRUE сбрасывает регулятор; в это время Y = Y_OFFSET

 

 

 

 

 

 

 

Входы функционального блока:

 

 

 

 

 

 

 

 

 

Наименование

 

Тип

 

Описание

 

 

 

 

 

 

 

Y

 

REAL

 

Выход регулятора

 

 

 

 

 

 

 

LIMITS_ACTIVE

 

BOOL

 

TRUE означает что Y ограничивается пределами (Y_MIN,

 

 

 

 

 

Y_MAX).

 

OVERFLOW

 

BOOL

 

TRUE – признак переполнения.

 

 

 

 

 

 

Механизм ограничения выхода PID аналогичен PD регулятору.

Неправильная настройка регулятора может вызвать неограниченный рост интегральной составляющей. Для обнаружения такой ситуации предназначен выход OVERFLOW. При переполнении он принимает значение TRUE, одновременно останавливается работа регулятора. Для его включения необходимо использовать рестарт.

Пример FBD:

PID_FIXCYCLE

Функциональный блок PID_FIXCYCLE.

Отличается от PID тем, что время цикла не измеряется автоматически встроенным таймером, а задается дополнительной переменной CYCLE, в секундах.

CoDeSys V2.3

10-59

Приложение D: Библиотеки CoDeSys

Генераторы сигналов

BLINK

Функциональный блок ‘генератор прямоугольных импульсов’

Входы: ENABLE типа BOOL, TIMELOW и TIMEHIGH типа TIME. Выход OUT типа BOOL.

Генератор запускается по входу ENABLE = TRUE. Длительность импульса задается TIMEHIGH, длительность паузы TIMELOW.

При переходе ENABLE в FALSE, выход OUT остается в том состоянии, в котором он был в этот момент. Если вам необходимо чтобы выходная переменная сбрасывалась в FALSE при ENABLE равном FALSE, то используйте выражение "OUT AND ENABLE" на выходе (т.е. добавьте блок AND на выход и на второй вход подайте ENABLE).

Пример CFC:

FREQ_MEASURE

Данный функциональный блок измеряет (усредненную) частоту (в Герцах) входного сигнала типа BOOL. Вы можете задать количество периодов для усреднения. Под периодом понимается время между двумя передними фронтами сигнала.

Входные переменные:

Переменная

Тип данных

Описание

 

 

 

IN

BOOL

Входной сигнал

 

 

 

PERIODS

INT

Число периодов усреднения. Допустимое значение от 1

 

 

до 10.

 

 

 

RESET

BOOL

Сброс

 

 

 

Выходные переменные:

 

 

 

 

Переменная

Тип данных

Описание

 

 

 

OUT

REAL

Результат, частота в Герцах

 

 

 

CoDeSys V2.3

10-60

 

 

 

Приложение D: Библиотеки CoDeSys

 

VALID

 

BOOL

 

FALSE до окончания первого замера, либо период >

 

 

 

 

 

 

 

 

 

 

3*OUT (признак ошибки по входам)

 

 

 

 

 

 

 

 

GEN

Функциональный блок ‘функциональный генератор’

Входы: перечисление MODE предопределенного типа GEN_MODE, BASE типа BOOL, PERIOD

типа TIME, CYCLES и AMPLITUDE типа INT и RESET типа BOOL. Выход OUT типа INT.

Вход MODE задает вид генерируемой функции. Перечисление включает следующие значения: TRIANGLE и TRIANGLE_POS - треугольники, SAWTOOTH_RISE и SAWTOOTH_FALL – пила, RECTANGLE – прямоугольники, SINE и COSINE – синусоиды:

TRIANGLE: TRIANGLE_POS:

SAWTOOTH_RISE: SAWTOOTH_FALL:

RECTANGLE: SINUS:

COSINUS:

BASE определяет представление единиц периода по времени (BASE=TRUE) или по числу циклов, т.е. по количеству вызовов функционального блока (BASE=FALSE).

Входы PERIOD или CYCLES определяют период выходного сигнала. Вход AMPLITUDE задает амплитуду сигнала.

Сброс генератора происходит при установке RESET=TRUE.

Пример FBD:

CoDeSys V2.3

10-61