Программирование ПЛК Inovance H3U. Счётчики. Часть 1

120 прочитали

Приветствую вас, мои подписчики!

Спустя весьма продолжительное время я всё-таки нашёл минутку для наполнения контентом моего канала в Дзен!

Итак, сегодня на повестке дня такая удобная и полезная вещь, как счётчики!

В контроллерах Inovance H3U существует несколько видов переменных (областей памяти), выделенных под счёт каких-либо единиц. Это стандартные счётчики (16 и 32 бита) и высокоскоростные счётчики.

Счетчики используются для подсчета каких-либо действий, единиц и т.д. Каждый счетчик состоит из катушки, контактов и регистра значений временных данных. Когда управляющий сигнал катушки счетчика переключается с «0» на «1», показания счетчика увеличиваются на 1. Когда значение счета достигает заданного значения, контакт А (НО-контакт) замыкается, а B (НЗ-контакт) размыкается. Когда значение счета сброшено, выходной контакт A (НО-контакт) размыкается, а контакт B (НЗ-контакт) замыкается. Значения некоторых счетчиков могут накапливаться или сохраняться при отключении питания.

Программные счётчики промаркированы как C0, C1, … и пронумерованы десятичными цифрами.

Виды счётчиков ПЛК Inovance H3U

В документации по программированию контроллеров H3U показаны следующие виды счётчиков:

  • Инкрементальные общего применения
  • Инкрементальные сохраняемые
  • Инкрементальные общего применения с двумя направлениями счёта (вверх и вниз)
  • Инкрементальные сохраняемые с двумя направлениями счёта (вверх и вниз)
  • Высокоскоростные счётчики без выбора направления счёта черезв цифровой вход
  • Высокоскоростные счётчики с выбором направления счёта в зависимости от цифрового входа
  • Высокоскоростные двухфазные счётчики (двухканальный счёт)

В этой статье рассмотрим виды счётчиков и подробнее остановимся на стандартных счётчиках.

На рисунке 1 показана таблица всех возможных видов счётчиков контроллера Inovance H3U.

Приветствую вас, мои подписчики! Спустя весьма продолжительное время я всё-таки нашёл минутку для наполнения контентом моего канала в Дзен!

Пояснения к таблице 1.

  • Счётчики C0-C99, С200-С219 не сохраняются своё значение после отключения питания ПЛК, но могут быть настроены параметрами на сохранение (!!! так написано в документации, но я не нашёл как это реализовать!!!).
  • Счётчики C100-C199, C220-C234, C235-C255 сохраняют своё значение после отключения питания ПЛК, но могут быть настроены через параметры так, чтобы не сохраняться (!!! так написано в документации, но я не нашёл как это реализовать!!!).

Внимание!!! Выше написано, что с помощью параметров счётчика можно выбрать, будет он сохраняемым, или нет при отключениии питания! Для реализации данной функции в ПЛК Inovance H3U нет никаких параметров!!! Чтобы выбрать сохраняемый счётчик нужно вызывать счётчики из диапазона C100-C199, С220-С234, С235-С255!!!

Любой незанятый в программе счётчик может быть использован в качестве регистра данных. Т.е. его можно использовать как ячейку памяти для записи какого-либо значения.

32-битные счётчики C200-C234 имеют специальные дополнительные меркеры настроек M8200-M8234, с помощью которых переключается тип счёта (считать в «+», или считать в «-»). Ниже, в Таблице 2 представлено соответствие счётчиков и меркеров настройки счёта.

Таблица 2. Соответствие меркеров выбора направления счёта номеру счётчика
Таблица 2. Соответствие меркеров выбора направления счёта номеру счётчика

Если соответствующий счётчику меркер (см. Таблицу 2) = "0", то направление счёта вверх, если же = "1", то вниз.

В Таблице 3 показаны характеристики 16 и 32 битных классических счётчиков контроллера Inovance H3U.

Таблица 3. Характеристики 16 и 32 битных счётчиков
Таблица 3. Характеристики 16 и 32 битных счётчиков

Как работают 16 битные счётчики.

Допустимое значение 16-разрядного счетчика колеблется от K1 до K32767 (десятичная константа). При задании константами K0 или K1 16 битный счётчик будет срабатывать при первом следующем положительном фронте на входе счётчика. Т.е. К0 и К1 будут иметь одинаковое физическое значение для такого счётчика.

На рисунке 1 показан один из способов работы с обычным инкрементальным счётчиком в программе H3U.

Рисунок 1. Программирование 16 битного счётчика
Рисунок 1. Программирование 16 битного счётчика

Вход X6 включает функцию сброса счётчика. При X6="1" выходной контакт C10 станет = "0", и текущее значение счёта обнулится.

Вход X5 вызывает непосредственно сам счётчик.

Обращение к НО контакту счётчика C10 зажигает выход Y1 при достижении счётчиком заданного значения.

На рисунке 2 графически показана работа простого инкрементального 16 битного счётчика.

Рисунок 2. Графическое изображение работы 16 битного счётчика
Рисунок 2. Графическое изображение работы 16 битного счётчика

Счётчик считает вверх до заданного значения при положительном фронте на входе X5. При достижении задания (K9 - соответствует десятичному значению 9) зажигается выход Y1. При положительном фронте X6 значение счёта сбрасывается в 0, а выход Y1 выключается.

В приведенном выше примере можно использовать D20 вместо K9. Если значение D20 равно 9, эффект будет таким же, как и при значении K9.

Когда значение, превышающее заданное значение, записывается в счетчик (например, C10) с помощью MOV или других команд, текущее значение счетчика изменится на заданное значение, и соответствующая выходная катушка будет включена во время следующего опроса счётчика.

Если питание ПЛК выключается, то значение счётчика общего назначения очищается. В тоже время, значение сохраняемого счётчика до отключения питания, может быть сохранено. Сохраняемый счётчик продолжит считать после включения питания с сохранённого значения.

Как работают 32 битные счётчики

Диапазон значений для 32-разрядного инкрементного/декрементного счетчика составляет от -2,147,483,648 до +2,147,483,647 (десятичная константа). Вы можете использовать константу K или содержимое регистра данных D для установки значения. Вы можете использовать специальные вспомогательные реле M8200-M8234 для указания направления инкрементного/декрементного счета. Если M8xxx, соответствующий Cxxx, установлен в 1, инкрементный счетчик изменяется на декрементный счетчик (см. таблицу соответствия меркеров выбора направления счёта счётчикам: Таблица 2). В противном случае счетчик является инкрементным счетчиком.

Рисунок 3. Программирование 32 битного счётчика
Рисунок 3. Программирование 32 битного счётчика

В данном примере вход X10 включает бит выбора направления счёта M8200, соответствующий счётчику C200. Вход X11 сбрасывает значение счётчика C200 в 0. Вход X12 запускает процесс счёта на счётчике C200 с заданием -5 ед. Каждый раз при положительном фронте на входе X12 происходит процесс увеличения значения счётчика на 1 (или уменьшения на единицу, если включен меркер M8200). Выход Y1 включается при достижении счётчиком заданного значения (в нашем случае это "-5").

Рисунок 4. Графическая схема работы 32 битного счётчика
Рисунок 4. Графическая схема работы 32 битного счётчика

На рисунке 4 мы видим графику работы 32 битного счётчика. Если M8200 отключен, то при каждом положительном фронте входа X12 значение счётчика увеличивается на 1. При включении меркера M8200 при каждом положительном фронте входа X12 значение счётчика C200 уменьшается на 1. Поскольку значение задания (-5) меньше текущего значения C200, выход Y1 может быть включен (если до этого значение счётчика поднималось выше задания и счёт переключился на отрицательный). Как только значение счётчика станет меньше -5, выход Y1 выключется и включится заново только при превышении значением счётчика значения -5.

Кольцевой счёт в 32 битных счётчиках

Если счёт на увеличение начинается со значения "+ 2 147 483 647" (максимальное положительное значение счётчика), то значение счётчика при следующем счёте перескочит на "– 2 147 483 648" (минимальное отрицательное значение счётчика).

Аналогично, если отсчёт уменьшается с "- 2 147 483 648" (минимальное отрицательное значение), значение счётчика перескочит на "+ 2 147 483 647" (максимальное положительное значение). Такое действие называется кольцевым счётом.

При использовании сохраняемого счетчика и отключении питания ПЛК, текущее значение счетчика, состояние выходного контакта и состояние сброса сохраняются.

Форматы данных

32-разрядный счетчик может использоваться в качестве 32-разрядного регистра данных. Однако 32-разрядный счетчик не может быть использован в качестве элемента в 16-разрядных инструкциях.

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

Старший бит (бит 15) 16-разрядного счетчика является знаковым битом. Обработанные данные находятся в диапазоне от 0 до 32 767; то есть могут быть обработаны только положительные числа.

Старший бит (бит 31, старший бит байта старшего порядка) 32-разрядного счетчика является знаковым битом. Обработанные данные находятся в диапазоне от -2 147 483 648 до +2 147 483 647.

Итого

В этой части статьи мы рассмотрели виды счётчиков ПЛК Inovance H3U и более подробно как работают 16 и 32 битные стандартные счётчики.

Надеюсь было достаточно подробно и понятно!
Для закрепления данного материала можно посмотреть видео на нашем канале:
https://dzen.ru/video/watch/6443ade906c0776f871065bf

В следующей части статьи про счётчики мы остановимся на высокоскоростных счётчиках H3U.

Подписывайтесь на мой канал, ставьте лайки и рассказывайте друзьям!


Если есть желание поддержать мой канал финасово, то прошу нажать на слово
"Поддержать канал!"

С вами был Сергей Давыдов!