Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 16

Тема: определение стремления

  1. #1

    Exclamation определение стремления

    здраствуйте, подскажите как реализовать определение "стремления" числа. задача следующая, есть число например 12, и есть переменная например реверсивный счетчик, как определить приближается или отдаляется переменная от заданного значения. проблема с выделением значения по времени и привязки значения к этому промяжутку времени.

  2. #2

    По умолчанию

    Цитата Сообщение от юрий(!) Посмотреть сообщение
    здраствуйте, подскажите как реализовать определение "стремления" числа. задача следующая, есть число например 12, и есть переменная например реверсивный счетчик, как определить приближается или отдаляется переменная от заданного значения. проблема с выделением значения по времени и привязки значения к этому промяжутку времени.
    На направление движения указывает вектор скорости. А скорость это первая производная перемещения

  3. #3

    По умолчанию

    Отвлекитесь от заданного значения и проверяйте стало ли новое значение в следующий интервал времени больше\меньше значения этой же переменной в предыдущий момент времени.
    Для "создания момента времени" используйте ФБ Blink из библиотеки Util.lib
    Если значение стало больше - значит bool1 - true (пребавляется)
    Если значение стало меньше - значит bool2 - true (уменьшается)
    Если не изменилось, то к примеру bool1 и bool2 - false.

    Ну и уже отдельным куском программы сравниваете это число с уставкой (12) и принимаете решение что же необходимо с этим делать.

  4. #4

    По умолчанию

    спосибо андрей, сейчас поработаю с библиотекой
    Последний раз редактировалось Юрий(!); 25.12.2008 в 15:33. Причина: опечатка

  5. #5

    По умолчанию

    BLINK
    Входит в util.lib.

    Функциональный блок 'генератор прямоугольных импульсов'

    Входы: ENABLE типа BOOL, TIMELOW и TIMEHIGH типа TIME. Выход OUT типа BOOL.

    Генератор запускается по входу ENABLE = TRUE. Длительность импульса задается TIMEHIGH, длительность паузы TIMELOW.

    Что то я не понял как он в данной ситуации поможет, здесь задается длительность и скважность импульса и все?

  6. #6

    По умолчанию

    Для "создания момента времени" используйте ФБ Blink из библиотеки Util.lib
    или так... ('генератор единичного импульса')
    VAR
    TON_START: TON;
    END_VAR
    ...............
    TON_START(IN:=NOT(TON_START.Q) , PT:=T#...)
    IF TON_START.Q THEN
    ....................................

  7. #7

    По умолчанию

    Цитата Сообщение от Николаев Андрей Посмотреть сообщение
    Отвлекитесь от заданного значения и проверяйте стало ли новое значение в следующий интервал времени больше\меньше значения этой же переменной в предыдущий момент времени.
    Для "создания момента времени" используйте ФБ Blink из библиотеки Util.lib.
    Здраствуйте Андрей опишите поподробней что и куда вставить в ФБ Blink.

  8. #8

    По умолчанию если я не ошибаюсь речь идет о производной

    Так есть ФБ DERIVATIVE из util.lib
    И не стоит мучить блинк.

    В качестве входа вычисления производной можно использовать Невязку=(Уставка-Вход)
    Последний раз редактировалось Малышев Олег; 26.12.2008 в 09:18.

  9. #9

    По умолчанию

    А время дифференцирования надо брать из Cycle Time Input?

  10. #10

    По умолчанию

    на выходе фб Derivative постоянно ноль

Страница 1 из 2 12 ПоследняяПоследняя

Ваши права

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