Страница 4 из 6 ПерваяПервая ... 23456 ПоследняяПоследняя
Показано с 31 по 40 из 60

Тема: ПР103. Измерение скорости энкодером.

  1. #31

    По умолчанию

    Цитата Сообщение от B.S.V Посмотреть сообщение
    При замере скорости подсчетом импульсов скорость скачет от измерения к измерению +- до 5 см/мин.
    Я правильно понимаю, что Вы подсчитываете импульсы за какой-то интервал и умножаете на вес импульса (1 имп = ? см)?
    Вы можете измерить именно число накопленных импульсов от измерения к измерению за тот же интервал времени?
    Надеюсь Вы понимаете, что считывание счетчика быстрого входа происходит асинхронно? Т.е. интервал может меняться +- несколько мс.
    Если Вы найдете максимальную разницу (дельту) между измерениями и объявите её мертвой зоной, то сможете избавиться от скачков при индикации.
    Т.е. если следующее измерение не превысело текущее на величину дельты, то сохраняем текущее значение, иначе изменяем его на измеренное.
    А лучше на среднеарифметическое между текущим и следующим.
    Надеюсь, что написать свой ФБ Вы сможете самостоятельно.
    Последний раз редактировалось EFrol; 05.08.2025 в 19:49.

  2. #32
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    9,712

    По умолчанию

    Насколько понял, он измеряет период следования импульсов, я так понимаю циклами программы, короче, при заявленных времени цикла программы = 2 мс и периодом следования импульсов 10 - 15 мс, точность измерения составит один цикл программы или плюс-минус 20%.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  3. #33

    По умолчанию

    А цикл программы фиксированный?

  4. #34
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    3,164

    По умолчанию

    Цитата Сообщение от AlexandrGr Посмотреть сообщение
    А цикл программы фиксированный?
    А какая разница? Реальный фронт может прийти в любой момент на протяжении супер-пупер-фиксированного времени и вы всегда будете получать плюс минус 2мс к супер-пупер-точным измеренным 10-15мс.

    И наоборот, как бы не болтался рандомно цикл, за сотню таких циклов точность частоты приблизится к 1%. Нужно точнее - больше циклов, нужно реактивнее - меньше. Ничего другого не будет
    Последний раз редактировалось Валенок; 05.08.2025 в 21:43.

  5. #35
    Пользователь
    Регистрация
    05.07.2015
    Адрес
    Орехово-Зуево
    Сообщений
    230

    По умолчанию

    Я паралельно иду двумя путями.
    Первый - подсчет импульсов за период времени.
    Второй - замер времени между импульсами.
    Погрешность примерно одинаковая, но странно большая.
    Для определения длительности цикла использовал Овеновский фб CycleTime. Это чисто понять - успею посчитать или нет. Он показал цикл 2 мс.
    Примерная скорость 0,4 м/мин . Измерительное колесо 600 имп на 300 мм. Получается имеем 800 имп в минуту. ~ 1 имп в 77 мс. - технически времени выше крыши.
    Для измерения времени использую GET_TIME().

  6. #36
    Пользователь
    Регистрация
    05.07.2015
    Адрес
    Орехово-Зуево
    Сообщений
    230

    По умолчанию

    Я бы понял если бы погрешность была бы +- пару мм/мин. я имею сантиметры в минуту

    щас приложу свои фб

  7. #37
    Пользователь
    Регистрация
    05.07.2015
    Адрес
    Орехово-Зуево
    Сообщений
    230

    По умолчанию

    Код:
    function_block Speed
        
        var_input
            xPuls : bool;
        end_var
        
        var_output 
            Q : real;
        end_var
        
        var        
            rPuls : real := 0;
            Time_1 : TIME := T#0ms;
            Time_2 : TIME := T#0ms;
        end_var
        
    //**********************************************
    //**********************************************   
    
    
        IF Time_1 = T#0ms THEN
            Time_1 := GET_TIME();
        END_IF
    
        Time_2 := GET_TIME();
    
        IF (Time_2 - Time_1) < T#30000ms THEN
            if xPuls then
                rPuls := rPuls + 1;
            end_if
        else 
            Q := rPuls / 1000;
            Time_1 := T#0ms;
            rPuls := 0;
        end_if
        
    
    end_function_block
    Последний раз редактировалось B.S.V; 06.08.2025 в 08:57.

  8. #38
    Пользователь
    Регистрация
    05.07.2015
    Адрес
    Орехово-Зуево
    Сообщений
    230

    По умолчанию

    Не понял как вставлять. Извините.
    Считаю импульсы. Здесь за период 30 сек. Пробовал и за 300 мс.
    На вход подаю импульсы через сравнение с линией задержки как подсказал Kondor3000
    Погрешность доходит до шести сантиметров - это 120 импульсов !!!
    Последний раз редактировалось B.S.V; 05.08.2025 в 22:19.

  9. #39
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    3,164

    По умолчанию

    Цитата Сообщение от B.S.V Посмотреть сообщение
    Измерительное колесо 600 имп на 300 мм. Получается имеем 800 имп в минуту. ~ 1 имп в 77 мс. - технически времени выше крыши.
    Ну вот если главная задача (?) отмерить заданное расстояние, то каждый импульс это 0.5мм, а между импульсами это расчетное время (неплохой период - да)
    Если скорость постоянная (? важно! потому что ТС сам не знает походу - см. ниже) то можно по последнему интервалу рассчитываться.
    Заданное расстояние => в кол-во импульсов. Дробное!!
    А дальше целое кол-во фронтов + доля времени к последнему периоду (который тут то 10 то 15 то около 77)
    Стартовую позицию учесть по времени до 1-ого фронта с коррекцией последней доли и, возможно, общего кол-ва целых импульсов.
    Не понятно - учитывать ли инерционность механизма или старт/стоп компенсируют друг друга.


    Примерная скорость 0,4 м/мин .
    скорость скачет от измерения к измерению +- до 5 см/мин.
    2мс/77мс при замере между фронтами даст скачки 2..3%. Это не 10..15% (5см/0.4м) - но нужно ли это вообще?
    И что это
    Но в данный момент длительность цикла порядка 2 мс а период импульсов порядка 10-15 мс
    ~ 1 имп в 77 мс. -
    В общем чётче - что имеете как обратную связь (импульсы и всё/не всё/звонок другу) и что имеете как управление. Кто скоростью рулит?
    Последний раз редактировалось Валенок; 05.08.2025 в 23:22.

  10. #40
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    9,712

    По умолчанию

    Цитата Сообщение от B.S.V Посмотреть сообщение
    Я паралельно иду двумя путями.
    Первый - подсчет импульсов за период времени.
    Второй - замер времени между импульсами.
    Погрешность примерно одинаковая, но странно большая.
    Для определения длительности цикла использовал Овеновский фб CycleTime. Это чисто понять - успею посчитать или нет. Он показал цикл 2 мс.
    Примерная скорость 0,4 м/мин . Измерительное колесо 600 имп на 300 мм. Получается имеем 800 имп в минуту. ~ 1 имп в 77 мс. - технически времени выше крыши.
    Для измерения времени использую GET_TIME().
    Я так понимаю, Вы лёгких путей не ищете, в смысле, время цикла программы можно посмотреть в сервисном меню ПР200, а ещё проще в ОЛ, после заливки программы(проекта) в ПР.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

Страница 4 из 6 ПерваяПервая ... 23456 ПоследняяПоследняя

Похожие темы

  1. Прошу помощи ПР103 работа с энкодером
    от Анатолий Varianty в разделе Трёп (Курилка)
    Ответов: 15
    Последнее сообщение: 24.05.2025, 09:24
  2. ПР103 ПРОЭКТ С ЭНКОДЕРОМ И СП310 НУЖНА ПОМОЩЬ
    от koliastok в разделе Среда программирования OWEN Logic
    Ответов: 11
    Последнее сообщение: 23.08.2023, 13:13
  3. Ответов: 24
    Последнее сообщение: 27.08.2021, 15:34
  4. измерение длины и скорости
    от smokin в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 16.10.2008, 14:02
  5. измерение скорости
    от незарегистрированный в разделе Подбор Оборудования
    Ответов: 9
    Последнее сообщение: 21.11.2007, 08:20

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •