Лекция
Привет, сегодня поговорим про операции с счетчиками в контактном плане, обещаю рассказать все что знаю. Для того чтобы лучше понимать что такое операции с счетчиками в контактном плане , настоятельно рекомендую прочитать все из категории Программирование в контактном плане / LAD.
Счетчики имеют собственную зарезервированную область памяти в вашем CPU. Эта область памяти резервирует по одному 16-битному слову для каждого счетчика. Набор команд контактного плана поддерживает 256 счетчиков.
Операции счета являются единственными функциями, которые имеют доступ к области памяти, зарезервированной для счетчиков.
Биты с 0 по 9 в слове счетчика содержат счетное значение в двоичном коде. Когда счетчик устанавливается, счетное значение передается из аккумулятора в слово счетчика. Диапазон счетных значений лежит между 0 и 999. Вы можете изменять счетное значение внутри этого диапазона, используя команды Счетчик прямого и обратного счета.
Вы устанавливаете счетчик на определенное значение, вводя число от 0 до 999, например, 127, в следующем формате: C#127
C# означает двоично-десятичный формат (формат BCD: каждая группа из 4 битов содержит двоичный код одного десятичного разряда). Биты счетчика с 0 по 11 содержат счетное значение в двоично-десятичном формате. На рисунке показано содержимое счетчика после того, как вы загрузили счетное значение 127, и содержимое ячейки счетчика после установки счетчика.
Положительный фронт (т.е. изменение состояния сигнала с 0 на 1) на входе S команды Счетчик прямого и обратного счета устанавливает счетчик значением на входе PV (Preset Value [Предустановленное значение]). Состояние сигнала 1 на входе R сбрасывает счетчик. Сброс счетчика делает счетное значение равным 0. Счетчик увеличивается на 1, если состояние сигнала на входе CU меняется с 0 на 1 (т.е. имеется положительный фронт), а значение счетчика меньше 999. Счетчик уменьшается на 1, если состояние сигнала на входе CD меняется с 0 на 1 (т.е. имеется положительный фронт), а значение счетчика больше 0. Если положительный фронт имеется на обоих входах, то обе операции выполняются и счетное значение остается тем же самым. Выход Q равен 1 если счетчик не равен 0.
Элемент LAD | Параметр | Тип данных |
Область памяти | Описание |
![]() |
no. | COUNTER | C | Идентификационный номер таймера. Диапазон зависит от CPU. |
CU | BOOL | I, Q, M, D, L | Вход прямого счета CU | |
CD | BOOL | I, Q, M, D, L | Вход обратного счета CD | |
S | BOOL | I, Q, M, D, L | Вход установки начального значения | |
PV | WORD | I, Q, M, D, L | Значение в диапазоне от 0 до999 для установки начального значения счетчика (вводится как С#<значение> для обозначения формата BCD) |
|
R | BOOL | I, Q, M, D, L | Вход сброса | |
Q | BOOL | I, Q, M, D, L | Состояние счетчика | |
CV | WORD | I, Q, M, D, L | Текущее значение счетчика (целый формат) | |
CV_BCD | WORD | I, Q, M, D, L | Текущее значение счетчика (формат BCD) |
Пример и биты слова состояния счетчика прямого и обратного счета
![]() |
Изменение состояния сигнала с 0 на 1 на входе I 0.2 устанвливае счетчик C 10 значением 55 в двоично-десятичном формате. Об этом говорит сайт https://intellect.icu . Если состояние сигнала на входе I 0.0 меняется с 0 на 1, то значение счетчика C 10 увеличивается на 1, кроме случая, когда значение счетчика C 10 равно 999. Если вход I 0.1 меняется с 0 на 1, то счетчик C 10 уменьшается на 1, кроме случая, когда значение счетчика С 10 равно 0. Если I 0.3 меняется с 0 на 1, то значение С 10 устанавливается равным 0. Q 4.0 равен 1, когда С 10 не равен "0". |
Биты слова состояния | |||||||||
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | FC | |
Запись | - | - | - | - | - | x | x | x | 1 |
Установка счетчика значением на входе PV (Preset Value [Предустановленное значение]) происходит если на входе S есть положительный фронт RLO ( те с 0 на 1). Положительным фронтом на входе R счетчик сбрасывается. Сброс счетчика делает счетное значение равным 0. При положительном фронте на входе CU значение счетчика увеличивается на 1, если счетное значение меньше 999. Выход Q равен 1 если счетчик не равен 0. На размещение блоков счетчиков накладываются определенные ограничения (см. раздел 1.1).
Элемент LAD | Параметр | Тип данных |
Область памяти | Описание |
![]() |
no. | COUNTER | C | Идентификационный номер таймера. Диапазон зависит от CPU. |
CU | BOOL | I, Q, M, D, L | Вход прямого счета CU | |
S | BOOL | I, Q, M, D, L | Вход установки начального значения | |
PV | WORD | I, Q, M, D, L | Значение в диапазоне от 0 до999 для установки начального значения счетчика (вводится как С#<значение> для обозначения формата BCD) |
|
R | BOOL | I, Q, M, D, L | Вход сброса | |
Q | BOOL | I, Q, M, D, L | Состояние счетчика | |
CV | WORD | I, Q, M, D, L | Текущее значение счетчика (целый формат) | |
CV_BCD | WORD | I, Q, M, D, L | Текущее значение счетчика (формат BCD) |
Пример и биты слова состояния счетчика прямого счета
![]() |
Изменение состояния сигнала с 0 на 1 на входе I 0.2 устанавливает счетчик С 10 значением 901 в двоично-десятичном формате. Если состояние сигнала I 0.0 меняется с 0 на 1, то значение счетчика C 10 увеличивается на 1, если значение C 10 не равно 999. Если I 0.3 меняется с 0 на 1, то значение C 10 устанавливаеися в 0. Состояние сигнала на выходе Q 4.0 равно 1, если значение C 10 не равно 0. |
Биты слова состояния | |||||||||
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | FC | |
Запись | - | - | - | - | - | x | x | x | 1 |
Положительный фронт (т.е. изменение состояния сигнала с 0 на 1) на входе S команды Счетчик обратного счета устанавливает счетчик значением на входе PV (Preset Value [Предустановленное значение]). Положительным фронтом на входе R счетчик сбрасывается. Сброс счетчика делает счетное значение равным 0. При положительном фронте на входе CD значение счетчика уменьшается на 1, если счетное значение больше 0. Опрос состояния сигнала на 1 на выходе Q дает результат, равный 1, когда значение счетчика больше 0; опрос дает результат, равный 0, когда значение счетчика равно 0.
Элемент LAD | Параметр | Тип данных |
Область памяти | Описание |
![]() |
no. | COUNTER | C | Идентификационный номер таймера. Диапазон зависит от CPU. |
CD | BOOL | I, Q, M, D, L | Вход обратного счета CU | |
S | BOOL | I, Q, M, D, L | Вход установки начального значения | |
PV | WORD | I, Q, M, D, L | Значение в диапазоне от 0 до999 для установки начального значения счетчика (вводится как С#<значение> для обозначения формата BCD) |
|
R | BOOL | I, Q, M, D, L | Вход сброса | |
Q | BOOL | I, Q, M, D, L | Состояние счетчика | |
CV | WORD | I, Q, M, D, L | Текущее значение счетчика (целый формат) | |
CV_BCD | WORD | I, Q, M, D, L | Текущее значение счетчика (формат BCD) |
Пример и биты слова состояния счетчика обратного счета
![]() |
Изменение состояния сигнала с 0 на 1 на входе I 0.2 устанавливает счетчик C 10 значением 89 в двоично- десятичном формате. Если состояние сигнала на входе I 0.0 меняется с 0 на 1, то значение счетчика C 10уменьшается на 1, если только это значение не равно 0. Состояние сигнала на выходе Q 4.0 равно 1, если значение счетчика C 10 не равно 0. Если I 0.3 менятся с 0 на 1, то значение С 10 устанавливается в 0. |
Биты слова состояния | |||||||||
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | FC | |
Запись | - | - | - | - | - | x | x | x | 1 |
Надеюсь, эта статья об увлекательном мире операции с счетчиками в контактном плане, была вам интересна и не так сложна для восприятия как могло показаться. Желаю вам бесконечной удачи в ваших начинаниях, будьте свободными от ограничений восприятия и позвольте себе делать больше активности в изученном направлени . Надеюсь, что теперь ты понял что такое операции с счетчиками в контактном плане и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Программирование в контактном плане / LAD
Из статьи мы узнали кратко, но содержательно про операции с счетчиками в контактном плане
Комментарии
Оставить комментарий
Промышленное программирование. программирование контроллеров
Термины: Промышленное программирование. программирование контроллеров