Показано с 1 по 10 из 67

Тема: Расчет подключаемого энкодера

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Цитата Сообщение от Newcomer Посмотреть сообщение
    В этой теме: http://www.owen.ru/forum/showthread.php?t=16666&page=2 пост #19 почитайте.
    Прочитал, и пример посмотрел. При активации строки "Назад" переменная C растет. Разве так должно быть?

  2. #2

    По умолчанию

    Цитата Сообщение от AlekseyK Посмотреть сообщение
    Прочитал, и пример посмотрел. При активации строки "Назад" переменная C растет. Разве так должно быть?
    Направление вращения автоматически не определяется, тут надо подумать как выбирать расчетную формулу.

    Главная ценность формулы в том, что она защищает от переполнения.
    Вложения Вложения
    • Тип файла: rar Enc.rar (12.8 Кб, Просмотров: 117)

  3. #3

    По умолчанию

    Цитата Сообщение от Newcomer Посмотреть сообщение
    Направление вращения автоматически не определяется, тут надо подумать как выбирать расчетную формулу.

    Главная ценность формулы в том, что она защищает от переполнения.
    А вот формула от vladimirisitnikov учитывает и направление и защищена от переполнения. Ну и просто логичней.
    Последний раз редактировалось AlekseyK; 20.03.2016 в 14:20.

  4. #4

    По умолчанию

    Цитата Сообщение от AlekseyK Посмотреть сообщение
    А вот формула от vladimirisitnikov учитывает и направление и защищена от переполнения. Ну и просто логичней.
    Приведите эту формулу в окончательном виде, я ее проверю и засундучу.

  5. #5

    По умолчанию

    m : WORD; (* текущее значение fast encoder *)
    ottuda : WORD; (* прошлое показание encoder'а *)
    c: DINT; (* абсолютное положение encoder'а, без проблем с 65535 *)

    c := c + WORD_TO_INT(m - ottuda);
    ottuda := m;

    Проверил на железе, у меня вопросов нет.

  6. #6

    По умолчанию

    Цитата Сообщение от AlekseyK Посмотреть сообщение
    m : WORD; (* текущее значение fast encoder *)
    ottuda : WORD; (* прошлое показание encoder'а *)
    c: DINT; (* абсолютное положение encoder'а, без проблем с 65535 *)

    c := c + WORD_TO_INT(m - ottuda);
    ottuda := m;

    Проверил на железе, у меня вопросов нет.
    У меня то же. Спасибо автору.

Похожие темы

  1. Расчет в отчете.
    от VVS_123 в разделе Master SCADA 3
    Ответов: 5
    Последнее сообщение: 12.10.2015, 16:24
  2. Расчет радиатора и нагревателя
    от rovki в разделе Трёп (Курилка)
    Ответов: 48
    Последнее сообщение: 11.11.2014, 10:10
  3. Расчет охладителя для ТТР Кипприбор
    от Iroha Uta в разделе Твердотельное реле
    Ответов: 12
    Последнее сообщение: 24.01.2014, 19:58
  4. ФБ расчет и long
    от LordN в разделе Master SCADA 3
    Ответов: 1
    Последнее сообщение: 07.03.2012, 08:07
  5. Master SCADA расчет
    от kanava в разделе Master SCADA 3
    Ответов: 1
    Последнее сообщение: 27.08.2008, 12:12

Ваши права

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