Просмотр полной версии : Скоростной подсчет импульсов.
Добрый день! Продолжаю изучение ПЛК 110.32(v2). Мне необходимо производить подсчет импульсов с двух индуктивных датчиков. В ПЛК 110.32.(2) два скоростных входа и я понимаю что могу применить только Fast discrete inputs. Но кто подскажет как избежать пропусканий импульсов или как можно вести точнее подсчет?
Владимир Ситников
28.02.2017, 15:33
Добрый день! Продолжаю изучение ПЛК 110.32(v2). Мне необходимо производить подсчет импульсов с двух индуктивных датчиков. В ПЛК 110.32.(2) два скоростных входа и я понимаю что могу применить только Fast discrete inputs. Но кто подскажет как избежать пропусканий импульсов или как можно вести точнее подсчет?
О каком "пропускании" импульсов речь?
С какой частотой они будут возникать?
Если импульсы нужно считать с накоплением, то просто выбираем в PLC Configuration режим Fast Counters и оно будет возвращать общее количество накопленных импульсов.
Якобы (согласно документации), без пропусков вплоть до частоты 100кГц.
Работа датчиков как энкодера. Подсчет оборотов вала. Но два энкодера в 110.32 применить не могу, потому и индуктивные датчики. Но режим Fast Counters типа WORD, а значит надо подавать со счетчика?
Владимир Ситников
28.02.2017, 16:09
Но режим Fast Counters типа WORD, а значит надо подавать со счетчика?
WORD означает, что ПЛК будет возвращать значение счётчика (текущее количество принятых импульсов) как WORD.
Спасибо! Значит на первый и второй входа подаем сигналы с индуктивных датчиков а программно к примеру подсчет вести будем на LIMITALARM? Подсчет будет идти на увеличение! А на уменьшение? Может у кого есть программка?
Возвращаюсь к вопросу! Элемент Fast Counters выдает количество импульсов, а значит обратного отсчета быть не может? Я правильно понимаю? Мне необходимо вести подсчет линейного перемещения в одном направлении и обратном. Какой элемент задействовать на скоростных входах? У меня два индуктивных датчика, перемещение "вперед-назад" и "влево-вправо"!
lara197a
11.03.2017, 09:29
проверяйте фронт при старте.
если к примеру фаза а первый импульс, то значит складываем,
если в, то вычитаем. если энкодер
или берите направление с пускателя или что там у вас мотор крутит.
Возвращаюсь к вопросу! Элемент Fast Counters выдает количество импульсов, а значит обратного отсчета быть не может? Я правильно понимаю? Мне необходимо вести подсчет линейного перемещения в одном направлении и обратном. Какой элемент задействовать на скоростных входах? У меня два индуктивных датчика, перемещение "вперед-назад" и "влево-вправо"!
Попробуй подключить датчики как энкодер. В конфигураторе выбери Fast Encoder. Только не забудь поделить считываемое значение на 4.
Если не получится, то придется написать свою небольшую программку с анализом очередности появления фронтов датчиков.
Если направление движения задается в программе, то я вообще не вижу проблем.
Если б кто сказал чем отличается Fast Counters от Fast discrete inputs в PLC Configuration? Нигде не могу найти. В Fast Counters сигналы (BOOL) преобразуются в WORD c переменной подсчитанных поступивших на вход ПЛК сигналов? Короче! На вход поступают сигналы, а в программе этот вход подсчитает эти сигналы? Не могу правильно задать вопрос!
Вообще-то по хорошему надо прочтать вот этот документ http://www.owen.ru/uploads/rp_plc100-plc150-plc154_25.pdf, уж как минимум страницы 69-71,тогда многое станет понятно, в том числе и то, что если настроить быстрые входы , как быстрые счетчики, то нужно в начале каждого цикла прочитать то, что насчитал счетчик в промежуточную переменную, потому что в по окончании цикла он сбросится. Поскольку в каждом конкретном цикле вы знаете, куда у вас крутится двигатель и что должно происходить с вашим счетчиком, вы это полученное значение будете учитывать в своем счетчике либо с плюсом, либо с минусом.
Вообще-то по хорошему надо прочтать вот этот документ http://www.owen.ru/uploads/rp_plc100-plc150-plc154_25.pdf, уж как минимум страницы 69-71,тогда многое станет понятно, в том числе и то, что если настроить быстрые входы , как быстрые счетчики, то нужно в начале каждого цикла прочитать то, что насчитал счетчик в промежуточную переменную, потому что в по окончании цикла он сбросится. Поскольку в каждом конкретном цикле вы знаете, куда у вас крутится двигатель и что должно происходить с вашим счетчиком, вы это полученное значение будете учитывать в своем счетчике либо с плюсом, либо с минусом.
Спасибо за ссылку! Почему то раньше этот документ не видел. Теперь начинаю потихоньку разбираться и в быстрых входах! Теперь буду проверять на практике. Большое спасибо YuriBel! Извините за безграмотность в Codesys, но Owen Logic и Codesys изучаю самостоятельно с помощью форума и больше помощи ждать неоткуда! Всем спасибо еще раз!
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot