Меню

Что такое инкрементный счетчик



Что такое инкрементный счетчик

В открытом проекте на панели Библиотека компонентов доступны разделы с компонентами для разработки программы.

Разделы библиотеки компонентов:

Функции служат для выполнения логических, арифметических операций и др. Функции не сохраняют состояния своих внутренних переменных. Число используемых функций ограничено только объемом памяти прибора;

Функциональные блоки (ФБ) служат для выполнения операций, требующих сохранения состояния своих внутренних переменных. К ФБ относятся триггеры, счетчики, таймеры и другие. Каждая модель прибора имеет собственное ограничение на количество используемых ФБ (см. руководство по эксплуатации прибора);

раздел Макросы проекта содержит созданные пользователем или загруженные с помощью менеджера компонентов макросы;

Функции

Логические функции

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

Для функций И и ИЛИ следует учитывать, что неподключенные входы блоков будут иметь следующие состояния:

для функции И – логическая «1»;

для функции ИЛИ – логический «0».

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

И (AND)

Если на оба входа блока функции поступают сигналы логической «1» (все входы включены – контакты замкнуты), то на выходе появляется сигнал логической «1» (выход включен).

Работе функции соответствует таблица состояний:

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

ИЛИ (OR)

Если на один из входов блока функции поступает сигнал логической «1» (контакты замкнуты), то на выходе элемента появляется логическая «1» (выход включен).

Работе функции соответствует таблица состояний:

I1 I2 Q
1 1
1 1
1 1 1

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

НЕ (NOT)

Функция используется для инвертирования сигнала.

Если на вход блока функции поступает сигнал логического «0» (контакты разомкнуты), то на выходе элемента появляется логическая «1» (выход включен), и наоборот: сигнал инвертируется.

Работе функции соответствует таблица состояний:

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

Исключающее ИЛИ (XOR)

Если только на один из входов блока функции поступает логическая «1», то на выходе элемента появляется логическая «1» (выход включен).

Работе функции соответствует таблица состояний:

I1 I2 Q
1 1
1 1
1 1

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

Арифметические функции

Операции арифметических функций могут производиться только над значениями целочисленного типа и типа с плавающей запятой.

Название Целочисленный тип Тип с плавающей запятой
Сложение ADD fADD
Вычитание SUB fSUB
Умножение MUL fMUL
Деление DIV fDIV
Деление с остатком MOD
Возведение в степень fPOW
Модуль от числа fABS
Сложение (ADD, fADD)

Для операций над целочисленными значениями используется блок ADD, над значениями с плавающей запятой — fADD.

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

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

Пример

Применение блоков функции для сложения чисел 24 + 2 + 2 + 7 = Q = 35.

Вычитание (SUB, fSUB)

Для операций над целочисленными значениями используется блок SUB, над значениями с плавающей запятой — fSUB.

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

Если во время выполнения операции функции на входе V1 значение числа меньше значения на входе V2, то результатом будет число, полученное сложением младшего числа плюс 0x100000000 (4294967296) минус значение числа большего: (V1 + 0x100000000) – V2 = Q.

Пример

Применение блока функции для вычитания чисел 24 – 2 = 22:

Применения блока функции для вычитания чисел, где V1 меньше V2: 2 – 24 = Q = 4294967274.

Умножение (MUL, fMUL)

Для операций над целочисленными значениями используется блок MUL, над значениями с плавающей запятой — fMUL.

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

Если во время выполнения операции функции значение числа получается больше 4294967295 (32 бита), то биты, выходящие за разрядность 32 бита, отсекаются.

Пример

Применение блоков функции для перемножения чисел 24 · 2 · 2· 7 = Q = 672.

Деление (DIV, fDIV)

Для операций над целочисленными значениями используется блок DIV, над значениями с плавающей запятой — fDIV.

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

Если во время использования блока DIV в результате деления получаются доли целого числа, то на выходе производится округление значения до целого числа в меньшую сторону.

В случае деления на 0 на выходе элемента будет значение 0.

Пример

Применение блока функции для деления чисел 24 ÷ 2 = Q = 12

Деление с остатком (MOD)

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

В случае деления на 0 на выходе блока функции будет значение 0.

Пример

Применение блока функции для выделения целого остатка от деления числа 22 на 3.

Возведение числа в степень (fPOW)

Результатом операции функции на выходе является переменная типа float, равная числу V1, возведенному в степень V2.

Блок работает только со значениями с плавающей запятой.

Пример

Применение блока функции для возведения числа 3 в степень числа 4.

Взятие модуля от числа (fABS)

Блок работает только со значениями с плавающей запятой.

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

Пример

Применение блоков функции для определения модулей чисел: |–3,4| = Q = |–3,4|, |6,7| = Q = 6,7

Функции сравнения

Равно (EQ)

Результаты выполнения операции блока на выходе сравнения входных значений:

V1

Больше (GT, fGT)

Результаты выполнения операции блока на выходе при сравнении входных значений:

V1

Выбор (SEL, fSEL)

Если V1 равен логическому «0», то результатом выполнения операции блока на выходе является входной сигнал V2. Если V1 равен логической «1», то результатом выполнения операции блока на выходе является входной сигнал V3.

Для выбора целочисленных значений используется блок SEL, для значений с плавающей запятой — блок fSEL.

Пример

Сдвиговые функции

Побитовый логический сдвиг влево (SHL)

Побитовый логический сдвиг влево (SHL) используется для выполнения операции побитового логического сдвига операнда X влево на N бит с дополнением нулями справа.

Пример

Применение для сдвига числа 38 (десятичное) = 00100110 (двоичное).

Побитовый логический сдвиг вправо (SHR)

Побитовый логический сдвиг вправо (SHR) используется для выполнения операции побитового логического сдвига операнда X вправо на N бит с дополнением нулями слева.

Пример

Применение для сдвига числа 152 (десятичное) = 10011000 (двоичное).

Битовые функции

Чтение бита (EXTRACT)

Чтение бита (EXTRACT) используется для выполнения операции чтения значения бита N в числе на входе X. Биты нумеруются с конца. Число на входе Х задается в десятичной системе. Выходное значение Q всегда двоичное (0 или 1).

Пример

Применения блока для чтения пятого бита из числа 81 (десятичное) = 1010001 (двоичное).

Запись бита (PUTBIT)

Запись бита (PUTBIT) используется для выполнения операции записи в числе X значения бита N в состояние, указанное на входе B (логические «0» или «1»). Число на входе Х задается в десятичной системе. Выходное значение Q – целочисленное.

Пример

Применения записи четвертого бита в сигнале логической «1» для числа 38 (десятичное) = 100110 (двоичное).

Дешифратор (DC32)

Дешифратор (DC32) используется для выполнения операции преобразования двоичного кода на входе в позиционный код на выходе. Перед выполнением операции над значением на входе предварительно выполняется побитовая логическая операция «И» с операндом 0x1F (11111b).

Работе дешифратора соответствует приведенная таблица состояний:

Пример

Шифратор (CD32)

Шифратор (CD32) используется для выполнения операции преобразования позиционного кода на входе в двоичный код на выходе.

Если входное двоичное значение имеет более одной логической «1» в разрядах, то работа шифратора ведется только со старшим единичным разрядом.

Работе шифратора соответствует таблица состояний.

Функциональные блоки

Триггеры

RS-триггер с приоритетом выключения

RS-триггер с приоритетом выключения используется для переключения с фиксацией состояния во время поступления коротких импульсов на соответствующий вход. На выходе Q появится логическая «1» по фронту сигнала на входе S.

Работу триггера поясняет приведенная на рисунке ниже диаграмма.

В случае одновременного поступления сигналов на оба входа приоритетным является сигнал входа R.

SR-триггер с приоритетом включения

SR-триггер с приоритетом включения используется для переключения с фиксацией состояния в случае поступления коротких импульсов на соответствующий вход. На выходе Q появится логическая «1» по фронту сигнала на входе S.

Работу триггера поясняет приведенная на рисунке ниже диаграмма.

В случае одновременного поступления сигналов на оба входа приоритетным является сигнал входа S.

Детектор переднего фронта импульса (RTRIG)

Детектор переднего фронта импульса (RTRIG) используется в случае необходимости иметь реакцию на изменение состояния дискретного входного сигнала. На выходе Q генерируется единичный импульс по переднему фронту входа I.

Работу детектора объясняет приведенная на рисунке ниже диаграмма.

Детектор заднего фронта импульса (FTRIG)

Детектор заднего фронта импульса (FTRIG) используется в случае необходимости иметь реакцию на изменение состояния дискретного входного сигнала. На выходе Q генерируется единичный импульс по заднему фронту входа I.

Работу детектора объясняет приведенная на рисунке ниже диаграмма.

D-триггер (DTRIG)

D-триггер (DTRIG) используется для формирования импульса включения выхода на интервал времени импульса на входе D, выходной интервал будет синхронизирован с тактовой частотой на входе С.

На выходе Q триггера появится сигнал логической «1» по фронту тактовых импульсов на входе С при наличии сигнала логической «1» на входе D. Возврат выхода Q в сигнал логического «0» произойдет по фронту тактовых импульсов на входе С при наличии сигнала логического «0» на входе D.

Вход S принудительно устанавливает выход Q в состояние логической «1».

Вход R является приоритетным и устанавливает выход Q в состояние логического «0».

Работу триггера объясняет приведенная на рисунке ниже диаграмма.

Таймеры

Импульс включения заданной длительности (TP)

Импульс включения заданной длительности (TP) используется для формирования импульса включения выхода на заданный интервал времени. На выходе Q блока появляется сигнал логической «1» по фронту входного сигнала I. После запуска выход Q не реагирует на изменение значения входного сигнала в течение интервала Tимп. По истечение интервала Tимп выходной сигнал сбрасывается в логический «0».

Работу импульса объясняет приведенная на рисунке ниже диаграмма.

Допустимый диапазон значений Т имп от 0 до 4147200000 мс или 48 дней.

Длительность импульса и единицы измерения времени настраиваются на панели свойств ФБ.

Таймер с задержкой включения (TON)

Таймер с задержкой включения (TON) используется для операции задержки передачи сигнала. На выходе Q таймера появится сигнал логической «1» с задержкой относительно фронта входного сигнала I продолжительностью не менее длительности Ton и выключится по спаду входного сигнала.

Работу таймера объясняет приведенная на рисунке ниже диаграмма.

Допустимый диапазон значений Т от 0 до 4147200000 мс или 48 дней.

Время задержки включения и единицы измерения времени настраиваются на панели свойств ФБ.

Таймер с задержкой отключения (TOF)

Таймер с задержкой отключения (TOF) используется для задержки отключения выхода. На выходе Q таймера появится сигнал логической «1» по фронту сигнала на входе I, отсчет времени задержки отключения Toff начнется по каждому спаду входного сигнала. После отключения входного сигнала на выходе появится сигнал логического «0» с задержкой Toff.

Работу таймера объясняет приведенная на рисунке ниже диаграмма.

Допустимый диапазон значений Тзад от 0 до 4147200000 мс или 48 дней.

Время задержки выключения и единицы измерения времени настраиваются на панели свойств ФБ.

Интервальный таймер (CLOCK)

Интервальный таймер (CLOCK) используется для формирования импульса включения выхода Q по часам реального времени. Время включения Th и отключения ТI выхода устанавливают в качестве параметров таймера.

Работу таймера объясняет приведенная на рисунке ниже диаграмма.

Если заданное значение времени отключения меньше времени включения, то диаграмма переключений будет иметь вид:

Допустимый диапазон значений Твкл. и Тоткл. от 0,00 с до 24 ч.

Дата и время включения и отключения настраивается на панели свойств ФБ.

Интервальный таймер с недельным циклом (CLOCKWEEK)

Интервальный таймер с недельным циклом (CLOCKWEEK) используется для формирования импульса включения выхода Q по часам реального времени с учетом дней недели. Время включения Th и отключения TI выхода Q и дни недели работы устанавливают в качестве параметров таймера.

Работу таймера объясняет диаграмма на рисунке ниже.

Внутренняя структура таймера имеет следующий вид.

Допустимый диапазон значений Твкл и Тоткл от 0,00 с до 24 ч.

Настройка времени включения и отключения и указание дней недели производится на панели свойств ФБ.

Генераторы

Генератор прямоугольных импульсов (BLINK)

Генератор прямоугольных импульсов (BLINK) используется для формирования прямоугольных импульсов пульсации. На выходе Q генератора формируются импульсы с заданными параметрами длительности включенного (Твкл – сигнал логической «1») и отключенного (Тоткл – сигнал логического «0») состояния на время действия управляющего сигнала на входе I (сигнал логической «1»).

Работу генератора поясняет приведенная на рисунке ниже диаграмма.

Допустимый диапазон значений Твкл и Тоткл: от 0 до 4233600000 мс или 49 дней.

Длительность включенного и отключенного состояний настраиваются на панели свойств ФБ.

Параметр Th соответствует Твкл.

Параметр TI соответствует Тоткл.

Счетчики

Инкрементный счетчик с автосбросом (CT)

Инкрементный счетчик с автосбросом (CT) используется для подсчета заданного числа импульсов N (вход N – уставка числа импульсов). На выходе Q счетчика появится импульс сигнала логической «1» с длительностью рабочего цикла прибора (Tцикл), если число приходящих на вход С импульсов достигнет установленного значения N.

Работу счетчика поясняет приведенная на рисунке ниже диаграмма.

Допустимый диапазон значений числа импульсов N: от 0 до 65535.

Число импульсов N и параметр сохранения состояния в ПЗУ задаются на панели свойств ФБ.

Универсальный счетчик (CTN)

Универсальный счетчик (CTN) используется для прямого и обратного счета. Операция «прямой счет» выполняется по переднему фронту импульса на входе прямого счета U, что увеличивает значение выходного сигнала Q. Импульсы, приходящие на вход D («обратный счет»), уменьшают значение выхода Q. В случае поступления на вход R сигнала логической «1», выход счетчика Q устанавливается в значение входа N.

Работу счетчика поясняет приведенная на рисунке ниже диаграмма.

В случае одновременного поступления сигналов на входы U и D приоритетным является сигнал входа U.

Допустимый диапазон значений числа импульсов N: от 0 до 65535.

Значение N и параметр сохранения состояния в ПЗУ задаются на панели свойств ФБ.

Инкрементный счетчик (CTU)

Инкрементный счетчик (CTU) используется для подсчета числа импульсов, приходящих на вход С. На выходе Q счетчика появится импульс сигнала логической «1», если число приходящих на вход импульсов достигнет установленного значения на входе N (N – уставка).

Работу счетчика поясняет приведенная на рисунке ниже диаграмма.

Допустимый диапазон значений числа импульсов N: от 0 до 65535.

Счетчик сбрасывается в 0 по переднему фронту импульса на входе R. В случае одновременного поступления сигналов на входы приоритетным является сигнал входа R.

Число импульсов N задается на панели свойств ФБ.

Регуляторы

ПИД-регулятор (PID)

ПИД-регулятор используется для реализации пропорционально-интегрально-дифференциального (ПИД) закона регулирования.

Входы блока
Входы блока

Разрешение на работу блока. В выключенном состоянии на выход блока подается значение, заданное в свойстве «выходная мощность»

С плавающей запятой

Текущее значение регулируемой величины

С плавающей запятой

Заданное значение регулируемой величины

Выходы блока
Выходы блока

С плавающей запятой

Свойства
Описание свойств

Режим работы регулятора

Режимы работы регулятора:

режим «нагреватель», используется для управления исполнительными механизмами, воздействие которых приводит к росту значения регулируемой величины;

режим «холодильник», используется для управления исполнительными механизмами, воздействие которых приводит к снижению значения регулируемой величины

Выходная мощность С плавающей запятой Выходная мощность в выключенном состоянии, % 0…100 Дифференциальный коэффициент С плавающей запятой Дифференциальный коэффициент с которым работает ПИД –3,402823E+38…3,402823E+38 Интегральный коэффициент С плавающей запятой Интегральный коэффициент с которым работает ПИД –3,402823E+38…3,402823E+38 Пропорциональный коэффициент С плавающей запятой Пропорциональный коэффициент с которым работает ПИД 0…100

Минимальная мощность (значение по умолчанию)

С плавающей запятой

Нижнее ограничение выдаваемой мощности, %

Максимальная мощность (значение по умолчанию)

С плавающей запятой

Верхнее ограничение выдаваемой мощности, %

Переменная, которая генерирует запуск автонастройки регулятора в случае подачи значения «1». Значение данной переменной задается с помощью блока «Запись в ФБ»

Автонастройка

Автонастройка ПИД-регулятора проводится с помощью блоков чтения и записи ФБ ( , ).

Для запуска автонастройки следует добавить блок Запись в ФБ и привязать его к переменной Запуск АНР ПИД-регулятора.

Значения остальных параметров ФБ можно задавать с помощью блока Запись в ФБ, как показано на рисунке выше, либо настраивать на панели свойств.

С помощью блоков Чтение из ФБ считываются значения параметров Рассчитанный пропорциональный коэффициент, Рассчитанный интегральный коэффициент, Рассчитанный дифференциальный коэффициент и Флаг окончания автонастройки.

Для старта автонастройки следует подать сигнал логической «1» на вход E.

По завершении процесса автонастройки для чтения доступны новые значения коэффициентов: Рассчитанный пропорциональный коэффициент, Рассчитанное время интегрирования и Рассчитанное время дифференцирования. Параметр Флаг окончания автонастройки выставляется в значение логической единицы. Если после автонастройки сбросить вход Запуск АНР в значение логического нуля, то сбросится и флаг окончания.

Если сбросить вход Запуск АНР в значение логического нуля до окончания настройки, то процесс останавливается, флаг окончания не выставляется, новые значения коэффициентов не вычисляются.

Во время процесса настройки на выход ПИД-регулятора подается тестовая мощность, ограниченная значениями параметров Максимальная мощность и Минимальная мощность.

Последовательность автонастройки для режима «Нагреватель»:

  1. Текущее значение меньше уставки, на выход блока подается максимальная мощность (в соответствии с настройками).
  2. Как только текущее значение станет больше уставки, на выход блока подается минимальная мощность.
  3. Повторение шагов 1 и 2 еще один раз.
  4. Рассчитанные параметры ПИД-регулятора подаются на соответствующие выходы, и выставляется флаг окончания.

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

Макросы проекта

Раздел Макросы проекта содержит созданные пользователем или загруженные с помощью менеджера компонентов макросы.

Для добавления макроса в проект следует перетащить макрос из панели Библиотека компонентов на холст.

Чтобы удалить макрос из панели, следует выделить нужный макрос и нажать на кнопку .

Рекомендации по созданию макросов приведены в разделе Работа с макросами.

Источник

Читайте также:  Кто меняет трубы до счетчика