Страница 6 из 6 ПерваяПервая ... 456
Показано с 51 по 60 из 60

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

Комбинированный просмотр

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

    По умолчанию

    Цитата Сообщение от B.S.V Посмотреть сообщение
    Завтра попробую через период посчитать. Нашел ошибку в алгоритме.
    Такой вопрос : если к примеру разделить 1 секунду на 625 мс получится 1 мс или 1.6 мс ?
    1 секунда это 1000 мс, если разделить на 625 мс, получится просто "1,6", в смысле, "мс" сократятся!
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

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

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    1 секунда это 1000 мс, если разделить на 625 мс, получится просто "1,6", в смысле, "мс" сократятся!
    То есть, произойдет преобразование типов из TIME в REAL ?
    Проверил - преобразования не происходит )
    Последний раз редактировалось B.S.V; 06.08.2025 в 07:46.

  3. #3

    По умолчанию

    Самый точный, но тоже скачущий спидометр у меня получился так:
    Owen.jpg

    Код:
    function_block Freq
        
        var_input
            in : real;  // Вход с текущим значением счётчика
        end_var
        
        var_output 
            F : real;   // Частота или скорость
        end_var
        
        var 
            inOLD : real;           // старое значение счётчика
            tsOLD, ts : udint;      // Фиксация системного таймера
        end_var
        
        ts := time_to_udint(get_time());    // Текущее значение системного таймера в мс
        if ts - tsOLD >= 1000 then          // ПР может проскочить 1000 мс период
            F := (in - inOLD) / udint_to_real(ts - tsOLD);   // Текущая разница за реальный период
            tsOLD := ts; inOLD := in;       // Фиксируем как предыдущие значения
        end_if
    
    end_function_block
    Чтобы не скакало использовал фильтр + сглаживание

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

    По умолчанию

    Код:
        if ts - tsOLD >= 1000 then          // ПР может проскочить 1000 мс период
    Чет не пойму, это условие же никогда не выполнится. Значение tsOLD присваивается в теле IF и до этого равно нулю...

  5. #5

    По умолчанию

    Цитата Сообщение от B.S.V Посмотреть сообщение
    Чет не пойму, это условие же никогда не выполнится. Значение tsOLD присваивается в теле IF и до этого равно нулю...
    Выполнится, для кого сделали Отладку ФБ, в том числе пошаговую ? 1 Отладка.jpg
    Последний раз редактировалось kondor3000; 06.08.2025 в 09:51.

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

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Выполнится, для кого сделали Отладку ФБ, в том числе пошаговую ? 1 Отладка.jpg
    Ух тыыы !!! А я и не знал )))

Страница 6 из 6 ПерваяПервая ... 456

Похожие темы

  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

Ваши права

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