Если всё просто,прошу предложить вариант решения следующей задачи в виде конкретно-работающего проекта на нынешнем новом контроллере ПЛК110-32 :
1.Требуется отображать значение энкодера (в режиме линейного) от - 2147483647 до 2147483648, т.е. весь диапазон 4294967269(DINT).
2.Стартовое значение энкодера : 0 .
3.При вращении энкодера в одну сторону происходит изменение значения (DINT) 0...-1...-2...-2147483647.
4.При вращении энкодера в другую сторону происходит изменение значения (DINT) 0...1...2...2147483648.
5.Обеспечить в режиме остановленного (и не обязательно) механизма возможность записи нового значения энкодера в любое время,по выбору оператора в диапазоне от - 2147483647 до 2147483648 (DINT).
6.Квадратура пусть остаётся х2,раз такая жёстко задана в ПЛК .
Может в результате получится образцовый,развиваемый пример проекта для работы с энкодером.
Упомяну,что для решения подобной задачи на нормально-оформленном конфигурационном и библиотечном
энкодере в альтернативном ПЛК ушло 0,5...1час.
А сколько потребуется "студенту" или "профессионалу" на ПЛК 110,попробуем оценить трудозатраты и пути улучшения?
В этом случае наверное лучше купить ПЛК с готовой программой.
Предлагаю Овену создать отдел, который по заказу будет изготавливать ПЛК с предустановленными программами.
А слова "свободно программируемый" из названия исключить.
К слову у меня раз возникла задача считать с помощью Си8, потом через ПЛК ложить в архив и на Сп270 в диапазоне DINT/
Думаете нужно было сразу заказать новый счетчик Овену?
Нее,речь немного о другом.Всё что надо мы реализовали и чужой труд бесплатно эксплуатировать никоим образом не пытаемся.
В том числе и то,что описано выше.Нет никаких проблем. Поигрались,проверили,убедились...
Думаю в основном это предложение направлено на то, чтобы появилось желание подсветить дорожку тем,кто ищет путь и поставщика.
Наивно считаю,чем проще програмить ПЛК,тем больше продажи у производителя ПЛК.И отсталые "буржуи" почему-то тоже.
Например тот же PLCopen,гораздо удобнее,чем с отдельными регистрами возиться.
Поэтому встроенные библиотечные функции должны быть по-максимуму удобными и дружественными.
Тогда их можно быстро и много использовать в проектах.И голову забивать лишь сочинением своей программы и
отладкой.
Дополнение к тестированию энкодерного модуля:
После модернизации программы быстрого таймера, получен
новый максимальный результат для энкодерного модуля обновлённого ПЛК110-32.
Обороты двигателя 1350, энкодер 2500, квадратура х2 - полёт нормальный 112,5кГц
Но реально можно считать ,что модуль поддерживает 225кГц,
т.к. он распознаёт нормально оба входа А и В.
И разработчик,включив режим квадратуры х4, получит именно эту скорость счёта.
х1 - это когда энкодер с разрешением 2500 отображается в ПЛК тоже как 2500 за один оборот (считается только R фронт от входа А)
х2- вместо 2500,отображается 5000 в ПЛК (считается R и F фронты от входа А) .
х4 - вместо 2500, отображается 10000 в ПЛК (считается R и F фронты от входа А и входа В)
В ПЛК100 по-умолчанию жёстко задано х4, в ПЛК110 х2.
Энкодер где то глубже закопан на уровне прошивки,поэтому работает нормально (быстро).
В программе с прерыванием 160мкс (даже не 20-ть,т.к. хватает и реже) всего лишь переводим WORD в
DINT,чтобы удобнее было работать.Но можно и совсем без этого попробовать,но есть риск чего нибудь упустить при большом времени цикла.
.
Евгений!
Если уж взялись работать - давайте до конца:
1.Энкодер - нужен для измерения - присобачьте энкодер к чему-либо и подвигайте по линейке , надо определить точность определения положения.
А вообще вам риспект и уважуха.