импульсами, поступающими с энкодера.
Вообще в Вашем случае лучше работать с быстрыми входами на прямую, через таймер 20мкс. На диске был пример.
Если не разберетесь, пишите в личку я делал такую задачу. Сброшу.
импульсами, поступающими с энкодера.
Вообще в Вашем случае лучше работать с быстрыми входами на прямую, через таймер 20мкс. На диске был пример.
Если не разберетесь, пишите в личку я делал такую задачу. Сброшу.
1. Во время сброса механизм стоит на месте, никаких импульсов с энкодера не поступает.
2. Я не понял - зачем мне работать с входами напрямую? В контроллере есть аппаратный счётчик, специально предназначенный для того, чтобы не работать с быстрыми входами напрямую. Может, всё-таки, разработчики доведут его до ума?
Можно и через счетчик, который считает импульсы поступившие на вход за цикл ПЛК .
Очень удобно. Складывайте значения. При остановке, для обрезки изделия, сбрасывайте регистр со сложенным значением в ноль.
Значение после сброса через указатель должно быть равно сброшенному. У меня оно никогда не возвращалось к старому.
ТОЖЕ СТОЛКНУЛСЯ С ТАКОЙ ЖЕ ПРОБЛЕМОЙ НЕОБХОДИМ СБРОС ЭНКОДЕРА В НОЛЬ, В НАЧАЛЕ ЦИКЛА ПРОГРАММЫ И СТАРЫЕ ЗНАЧЕНИЯ МНЕ НЕ НУЖНЫ (ЭНКОДЕР БЕГАЕТ ТУДЫ-СУДЫ).
ВОТ ТОЖЕ ЛОМАЮ ГОЛОВУ, МОЖЕТ РАЗРАБОТЧИКИ СЖАЛЮТСЯ И ВСТРОЯТ СБРОС В МОДУЛЬ ЭНКОДЕРА.
ТОТО БЫ СЧАСТЬТЬЕ ПРИВАЛИЛО, ДУМАЮ НЕ ТОЛЬКО МНЕ
Последний раз редактировалось bgn62; 22.11.2011 в 01:35.
придумывая свои способы вы не учитываете структуру работы контроллера... вспоминайте школу =>
- чтение аппаратных переменных ( в том числе регистров энкодеров )
- пользовательские действия (занимают неопределенное время! )
- запись аппаратных переменных
дык вот, между считыванием и записью проходит время, за которое вполне вероятно аппаратные переменные могут непредсказуемо поменяться... и обнулите вы другое значение, потеряв информацию!
чтобы иметь однозначно выполняемый код - вам и разрешено лишь читать аппаратную переменную... создавайте себе свою и делайте чо заблагорассудиться.... не надо свой отдельный случай (длительное время пофиг на значение переменной) вводить в ранг закона.
То что модуль "Энкодер" глючит тема отдельной песни ))) Прерывания на ПЛК110 и правда надежнее работают!
А ЗАЧЕМ МНЕ ИХ ПРИДУМЫВАТЬ, ТО О ЧЕМ ВЫ ПИШЕТЕ Я ПОНИМАЮ, НО СЧИТАЮ, ЧТО ЧЕМ УДОБНЕЙ ИНСТРУМЕНТ, ТЕМ КАЧЕСТВЕННЕЙ ВЫЙДЕТ ИЗДЕЛИЕ. И ЕСЛИ В СЧЕТЧИКЕ ЕСТЬ ВХОД СБРОСА, ТО ЕГО БОЛЕЕ УДОБНО ИСПОЛЬЗОВАТЬ. И ОВЕН МНЕ НУЖЕН НЕ ДЛЯ ТОГО, ЧТОБЫ УПРАЖНЯТЬСЯ В ПРОГРАММИРОВАНИИ, А ЧТОБЫ КОНКРЕТНЫЙ СТАНОК НАДЕЖНО РАБОТАЛ. ЧЕМ БЫСТРЕЕ НАПИШУ КОД, ТЕМ БОЛЬШЕ ВРЕМЕНИ НА ОТЛАДКУ. И ЕСЛИ ОКАЖЕТСЯ, ЧТО НЕОБХОДИМО ОБРАТИТЬ ВНИМАНИЕ НА ВАШИ СОВЕТЫ, ТОГДА ЭТИМ И ЗАЙМУСЬ.
НА ДАННЫЙ МОМЕНТ СТАРЫЕ ДАННЫЕ ОТ ЭНКОДЕРА ТОЛЬКО МЕШАЮТ И ПРИХОДИТСЯ ВЫЕЖИВАТЬСЯ КАК МУХА НА СТЕКЛЕ, ЧТОБЫ ОТ НИХ НЕ ЗАВИСЕЛ СЛЕДУЮЩИЙ ЦИКЛ ПРОГРАММЫ
Ну и в чем проблема? писали же, что подмодуль энкодер подходит только до определенной, очень небольшой скорости. В документации приведены максимальные скорости для входов ПЛК и не работает этот подмодуль на максимальных скоростях.
НО есть прямой доступ к быстрым входам, есть скоростной счетчик и можно использовать внешние устройства. К примеру СИ или модули скоростного счета др. производителей.