Страница 3 из 6 ПерваяПервая 12345 ... ПоследняяПоследняя
Показано с 21 по 30 из 59

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

  1. #21

    По умолчанию

    Можно и так, но гиморно, надо переход через ноль анализировать, сразу сделать нельзя было нормально?

  2. #22

    По умолчанию

    Просто обидно. Когда начинал в 80-х программировать контроллеры МикроДАТ там таких проблем с энкодерным модулем не возникало. А здесь - тьфу!

  3. #23

    По умолчанию

    Алексей Дмитриев
    Сочувствую.
    Я тоже очень удивился когда начал копать эти контроллеры после предложения постоянного заказчика перейти на что-то подешевле, например Овен.
    Во первых кто мешает переконвертировать ФБ из степа в КДС
    Жесть... для тех кто понимает какой это бред со счётчиком.

    И не важно что там пишут в рекламе и инструкциях, нет в ПЛК ОВЕН традиционных High-speed counters
    Последний раз редактировалось BETEP; 31.10.2011 в 00:02.

  4. #24

    По умолчанию

    В Step7 это SFB47. Блок защищён, и его без пиратской отмычки не вскроешь. Ему просто указываешь номер канала, к которому подключен счётчик, и крутишь счётчиком как хочешь. Для управления счётчиком в этом ФБ 8 входных переменных, 11 выходных и 12 внутренних маркеров. Кроме того, конфигурация счётчика задаётся в HW Config.
    Пример такого контроллера - CPU314C-2DP
    Последний раз редактировалось olc; 31.10.2011 в 10:12.

  5. #25

    По умолчанию

    Цитата Сообщение от olc Посмотреть сообщение
    Мне не нужно 250кГц. Меня вполне устроили бы 2.5кГц. Частота импульсов на выходе энкодера пропорциональна частоте его вращения. А ПЛК110 привлёк не только ценой, но и тем, что в технических характеристиках заявлено наличие аппаратного счётного модуля на быстрых дискретных входах. Модуль этот работает, и достаточно шустро. Только разработчики не захотели сделать сброс внутреннего регистра этого модуля, и ничего не написали об этом в технической документации.
    .
    Разработчики сделали все что требовалось. Это ПЛК, устройство, которое сам потребитель может запрограммировать. И интеллектуальную обрабтку значения с энкодера реализовать просто.

    А сбрасывать само значение в энкодере нельзя из кода программы на КоДеСисе, т.к. пока Вы в коде сбрасываете значение оно может 5 раз поменяться и импульсы будут потеряны! Задача энкодера - 100% слежение за импульсами. А не их потеря в момент сброса.
    При частоте 2,5 кГц импульсы будут потеряны с вероятностью 100%.

  6. #26

    По умолчанию

    Задачи разные бывают
    иногда например счётчик сбрасывают в тот момент когда энкодер не крутится, в основном так и происходит, отмерили нужное кол-во импульсов, остановились для выполнения какой-либо операции (отрезать, штампануть, просверлить и.т.д), и спокойненько сбрасываем счётчик не теряя никаких импульсов.
    а когда нужен сброс "на ходу" (достаточно редко) пользователь сам определяет возможные потери и возможность применения того или иного контроллера.
    во многих контроллерах, в счётчике можно задать значения при достижении которых отработает прерывание, в этом прерывании можно немедленно обнулить счётчик и не потерять ни копейки импульсов.

    В нормальном счётчике должен быть такой минимум:
    не теряет ни одного импульса на заявленной частоте.
    Сброс несколькими способами, в том числе по Z фазе.
    Кроме сброса нужна возможность записи в счётчик любого значения.
    Счётчик должен вызывать прерывание по заданному значению, и желательно по нескольким заданным значениям.
    размер счётчика в одно слово... ну это прошлый век, нужно в два

    Кстати ломал недавно один контроллер с кучей счётчиков на борту, нет в нём никаких ПЛИС, память, порты и мозги от фуджицу.
    Последний раз редактировалось BETEP; 31.10.2011 в 15:03.

  7. #27

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Разработчики сделали все что требовалось. Это ПЛК, устройство, которое сам потребитель может запрограммировать. И интеллектуальную обрабтку значения с энкодера реализовать просто.
    Так напишите тогда ФБ, и добавьте его в библиотеку, поставляемую с контроллером.
    Лично мне уже не надо, я свой написал. 32-бит счётчик, с обнулением, детектором направления вращения, с изменением направления счёта.
    Но чтоб люди не парились - доведите изделие до ума.

  8. #28

    По умолчанию

    По моему много шума из ничего. То не так, се не так. Имея такой мощный и бесплатный инструмент как CoDeSys, можно сделать все что угодно. Обленились совсем, даже мозгами шевелить не хотят.
    Последний раз редактировалось IVM; 31.10.2011 в 17:10.

  9. #29

    По умолчанию

    Цитата Сообщение от BETEP Посмотреть сообщение
    Задачи разные бывают
    иногда ....
    а когда нужен сброс "на ходу" (достаточно редко) пользователь сам определяет возможные потери и возможность применения того или иного контроллера.
    во многих контроллерах, в счётчике можно задать значения при достижении которых отработает прерывание, в этом прерывании можно немедленно обнулить счётчик и не потерять ни копейки импульсов.
    ....
    Кстати ломал недавно один контроллер с кучей счётчиков на борту, нет в нём никаких ПЛИС, память, порты и мозги от фуджицу.
    Маленький офтопик: Вы, наверное, не скажете, что разработчики операционных систем некомпетентны? К чему я веду?
    Есть в ОС такая штука как системный таймер. Сердце системы. Обработчик его прерывания обычно стараются написать на ассемблере или в крайнем случае на С. Приоритет на скорость обработки.
    Так вот. Оказывается, любой самый идеальный код недостаточно быстр для точного срабатывания по таймеру.
    Поэтому разработчики процессоров делают специальный, аппаратный таймер для такой задачи, который не просто вызывает прерывание при переполнении, но и сообщает ОС, на сколько она, ОС опоздала при его обработке.
    Речь идет о микро и наносекундах.
    А тут предлагают из в 50 раз более медленного основного цикла ПЛК управлять счетчиком. И оставить все проблемы от такого на пользователя.
    Вы не пробовали управлять автомобилем, открывая глаза раз в 5 секунд?

  10. #30

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    А тут предлагают из в 50 раз более медленного основного цикла ПЛК управлять счетчиком. И оставить все проблемы от такого на пользователя.
    Вероятно, Вы слабо представляете, для чего нужен инкрементальный энкодер. Его основное предназначение - измерение относительных перемещений. В 99.99% случаев алгоритм такой:
    механизм стоит (импульсов нет)- обнулились - поехали, считаем - содержимое счётчика совпало с уставкой - встали (импульсов опять нет) - перед началом нового движения можно опять обнулиться. На ходу никто счётчиком не управляет - нет такой надобности. Только в паузах между перемещениями.
    Если скорость движения автомобиля равна нулю, я могу им управлять вообще не открывая глаз (дворники повключать, фарами помигать, побибикать, ещё чо-нить).
    Неуправляемый счётчик - нафига он нужен? Он показывает какое-то число, которое само по себе ничего не значит, и не имеет никакого смысла. Показывает какое-то число импульсов. Отсчитанное между какими событиями? У Вас в автомобильном спидометре, кроме счётчика общего пробега второй счётчик, обнуляемый, имеется? Вы которым чаще пользуетесь? Обнуляете ли счётчик прямо на ходу, или только в начале пути между пунктами А и В?
    Последний раз редактировалось olc; 31.10.2011 в 21:05.

Страница 3 из 6 ПерваяПервая 12345 ... ПоследняяПоследняя

Похожие темы

  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

Ваши права

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