Страница 1 из 6 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 59

Тема: Снова энкодер ПЛК110

  1. #1

    Unhappy Снова энкодер ПЛК110

    Вопрос до неприличия прост - как сбросить (или загрузить какое либо значение) в счетчик энкодера?

  2. #2
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    Примерно так:
    pt:= ADR(Enkoder); (*Получаем адрес энкодера*)

    pt^:=SEL(D_Form_TRIG.Q, pt^,0); (*обнуляем энкодер*)

  3. #3

    По умолчанию

    Получилось проще, правда на эмуляторе:

    pt:= ADR(Enkoder); (*Получаем адрес энкодера*)

    pt^:= 0; (*обнуляем энкодер или любое другое значение*)

    Спасибо за подсказку, в понедельник попробую на железке.
    Последний раз редактировалось Алексей Дмитриев; 14.10.2011 в 23:48.

  4. #4
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    Я Вам уже с условием сброса по фронту с тригером навалял.

  5. #5

    По умолчанию

    Понял, только чего-то не пошло, да этого и не нужно.

  6. #6

    По умолчанию

    На железке, увы, не работает. Посе того, как прекращаю обнулять, возвращается старое значение. Ну и на хрена нужен такой счетчик, который сбросить нельзя? Вопрос к разработчикам.

  7. #7

    По умолчанию

    А обнулять надо каждый раз какое-нибудь новое значение или некое фиксированное. Если фиксированное, попробуйте в параметрах энкодера выставить нужный вам диапазон.

  8. #8

    По умолчанию

    Мне нужно отмерять некоторую (разную) длину, потом отрезать и счетчик, ессно сбросить! Зачем вообще нужен счетчик, который считает погоду? Энкодер по умолчанию инкрементальный, поэтому его все равно надо когда-то и куда-то привязать, даже если потом не предполагается ничего с сигналом делать, только читать, скажем, положение некоего механизма!
    ЗЫ: попробовал записывать в регистр, на котором, предположительно сидит этот счетчик, но как определить его адрес??? Разработчики! Аууууу!!!

  9. #9
    Пользователь Аватар для Валерий Бурик
    Регистрация
    15.01.2010
    Адрес
    г. Лебедин
    Сообщений
    112

    По умолчанию

    Я, так понял, счетчик у Вас выдает кодовую последовательность 0-1-3-2-0-1-........, код Грея. Организуйте опрос входов в многозадачности, присвойте программе опроса высший приоритет. При включении устройства, программа считывает ту комбинацию, которая на входе. например, это число 3. Если, следующая комбинация будет 1, то датчик вращается против часовой стрелки, если 2 , то по часовой. Если на входах появилась двойка, то Вы добавляете шаг одного деления. например полный оборот датчика - это 10 мм. 10 делите на количество шагов, например 1024, получаете шаг на импульс, в нашем случае, это 0.009765625 мм. Значит в какой то переменной будет 0.009765625, потом еще плюс шаг, если в обратную сторону, то минус шаг. Сбрасывать энкодер совсем не надо, а надо работать с счетчиком шагов. Кстати в этом случае не нужно работать с точкой, а работать с целыми числами, так быстрее.
    Успехов!

  10. #10

    По умолчанию

    Цитата Сообщение от Валерий Бурик Посмотреть сообщение
    Я, так понял, счетчик у Вас выдает кодовую последовательность 0-1-3-2-0-1-........, код Грея. !
    Вы не представляете, о чём идёт речь. Нет никаких кодов Грея. Есть обычный реверсивный счётчик импульсов. Направление счёта зависит от фазы этих импульсов. Когда энкодер вращается в одну сторону, счёт идёт в плюс. Когда в другую - в минут. Всё происходит на аппаратном уровне. Проблема в том, что невозможно обнулить счётчик, и начать отсчёт сначала. Или сделать предустановку нужным числом и считать до нуля.
    В нормальных промышленных контроллерах (Siemens, Vipa например) нет никаких проблем со встроенным счётным модулем. Во-первых, он не 16-ти разрядный, а 32-х. Два байта в памяти контроллера пожалели? 65000 - это очень мало. У меня энкодер даёт больше 65000 за один оборот. Во-вторых, функциональный блок для управления этим модулем имеет тьму входных параметров, с помощью которых можно заставить работать счётчик во множестве всевозможных режимов. Его можно сбрасывать и предустанавливать, запрещать и разрешать счёт как угодно, задавать направление счёта, заставить генерировать прерывание..
    Здесь даже обнулиться нельзя. Какова практическая польза от такого энкодера? Какие прикладные задачи можно решать с его помощью?
    Последний раз редактировалось olc; 28.10.2011 в 16:38.

Страница 1 из 6 123 ... ПоследняяПоследняя

Похожие темы

  1. Снова о сокетах!
    от Леонид в разделе ПЛК1хх
    Ответов: 8
    Последнее сообщение: 06.03.2011, 16:06
  2. снова про умный дом и плк
    от dbkrasn в разделе ПЛК1хх
    Ответов: 12
    Последнее сообщение: 11.12.2009, 22:53
  3. и снова 212
    от мастер в разделе Эксплуатация
    Ответов: 3
    Последнее сообщение: 18.11.2009, 07:22
  4. И снова АС-4...
    от uagd в разделе Эксплуатация
    Ответов: 25
    Последнее сообщение: 09.02.2009, 14:17
  5. и снова о си-8
    от Владимир А. в разделе Эксплуатация
    Ответов: 16
    Последнее сообщение: 06.02.2009, 14:30

Ваши права

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