PDA

Просмотр полной версии : Счетчик оборотов на ПЛК 110 (02)



Александр SPB
10.07.2021, 18:43
Добрый день. Нужно измерять обороты эл.двигателя 3000 об/мин, датчик индуктивный. Думал все просто, сделал простенькую программу на блоке CTU, на очень маленьких оборотах считает, чуть больше даешь счет останавливается. Почитал форум , пишут что нужен блок частотомер чтоб измерять высокие обороты. Может у кого есть готовое решение на CFC или ST ?

melky
10.07.2021, 19:42
имхо, чистый CodeSys и частотомер это глупость... Для таких вещей всегда нужны быстрые счетные входы, при чем аппаратные.

Вот что там на ПЛК есть из быстрых ?

Александр SPB
10.07.2021, 20:48
Два быстродействующих входа

Валенок
10.07.2021, 23:25
............

Александр SPB
11.07.2021, 07:34
Не в эмуляции часом экпериментил?
Конечно нет. Попробовал по другому, в программе оставил только один блок CTU, двигатель 1350 об/мин . Проворачиваю вал рукой, счет оборотов идет. Обнуляю счетчик, включаю двигатель видно, что лампочка на датчике индуктивности мигает, на входе ПЛК то же мигает. На выходе блока показаний нет. Чувствую что програмно неверно сделал не пойму где.

VaBo
11.07.2021, 08:06
Там на дискретных входах фильтр по умолчанию на 10 мС установлен, убрали?

Александр SPB
11.07.2021, 08:43
Нет не убрал :) Завтра на работе попробую. Спасибо!

Александр SPB
11.07.2021, 09:23
Я так понимаю мне надо вот это значение поменять?55960

Sulfur
11.07.2021, 15:01
Можно весь этот слот поменять на Fast Counters, получите два высокоскоростных счетчика. Останется придумать как их показания преобразовать в скорость.

Валенок
11.07.2021, 16:22
................

Sulfur
11.07.2021, 16:28
Просто щоб считало аппаратно (типа), а не программно.
И да, 50Гц не гарантирует отсутствия пропуска импульсов при программном счете стандартными средствами. Проверено.

Валенок
11.07.2021, 16:38
.............

Александр SPB
12.07.2021, 19:03
Там на дискретных входах фильтр по умолчанию на 10 мС установлен, убрали?

Ограничение снял. Работает, но не так как хочется. Набросал простенькую программу, но видимо просто не получится. Получается что обороты в переменной ob постоянно показывают от 0 до 1350 об/мин. А нужно по идее как разогнался двигатель и показания оборотов были не скачущими от 0 до номинала , а показывали номинал. Я так понимаю переменную ob надо как то скинуть куда то и потом уже при максимальном значении за секунду уже преобразовывать. Кто может помогите составить программу для измерения оборотов.55990

petera
13.07.2021, 10:52
Ограничение снял. Работает, но не так как хочется. Набросал простенькую программу, но видимо просто не получится. Получается что обороты в переменной ob постоянно показывают от 0 до 1350 об/мин. А нужно по идее как разогнался двигатель и показания оборотов были не скачущими от 0 до номинала , а показывали номинал. Я так понимаю переменную ob надо как то скинуть куда то и потом уже при максимальном значении за секунду уже преобразовывать. Кто может помогите составить программу для измерения оборотов.55990
Сделать защёлку с помощью R-Trigger + MOVE с входом EN
55998

Александр SPB
13.07.2021, 21:59
Сделать защёлку с помощью R-Trigger + MOVE с входом EN
55998
petera Спасибо! Все заработало. Обороты показывает. Решаю вопрос с точностью измерения, двигатель 1350 оборотов, а программа показывает 1500-1480. Пока нечем замерить и проверить. Но подозреваю, что тут дело в точности измерения. На работе сименс есть, так там снимается четыре импульса за один оборот. Еще раз спасибо!

VaBo
14.07.2021, 07:55
petera двигатель 1350 оборотов, а программа показывает 1500-1480. Пока нечем замерить и проверить. Но подозреваю, что тут дело в точности измерения.
Так усредните не за секунду, а к примеру за 10, и все будет видно. Потом "скользящее окно" приделаете, если точность так важна.

Mask
14.07.2021, 08:26
Решаю вопрос с точностью измерения, двигатель 1350 оборотов, а программа показывает 1500-1480. Пока нечем замерить и проверить. Но подозреваю, что тут дело в точности измерения. А у Вас двигатель работает в холостом режиме или под нагрузкой? 1350 оборотов у него должно быть при номинальной нагрузке, а при холостом режиме он будет стремиться к синхронной частоте вращения.

Александр SPB
14.07.2021, 20:01
А у Вас двигатель работает в холостом режиме или под нагрузкой? 1350 оборотов у него должно быть при номинальной нагрузке, а при холостом режиме он будет стремиться к синхронной частоте вращения.

Без нагрузки работает. Видимо да, стремится к 1500.