1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

HSC и подсчет длины

ПЛК SIMATIC (S7-200, S7-1200, S7-300, S7-400, S7-1500, ET200)
Ответить

Автор темы
sidorovos72
Сообщения: 2
Зарегистрирован: 05 июл 2021, 18:53
Имя: Олег
Страна: Россия
город/регион: Тюмень

HSC и подсчет длины

Сообщение sidorovos72 »

Всем добрый день. Есть проект на 1214 + энкодер который считает длину. Подсчет длины реализован через текущее значение счетчика помноженное на цену импульса. Далее есть компаратор, который сравнивает длину, и при достижении делает сброс движения. Проблема в том, что при увеличении скорости движения времени цикла не хватает на правильный подсчет длины, то есть погрешность начинает расти. Подскажите, как реализовать более быстрый подсчет длины. Счетчики и подсчет находятся в ОВ30, потом результат пишется в ДБ, оттуда уже оперирую.

Михайло
почётный участник форума
почётный участник форума
Сообщения: 3559
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
город/регион: г. Чехов, МО
Благодарил (а): 6 раз
Поблагодарили: 253 раза

HSC и подсчет длины

Сообщение Михайло »

У каждого входа DI есть фильтр, который "подрезает" слишком короткие импульсы, считая их дребезгом, помехой. Заходите в настройки ЦПУ и загрубите (уменьшите) значение фильтра для вашего DI.

Andron007
здесь недавно
здесь недавно
Сообщения: 25
Зарегистрирован: 09 дек 2019, 19:14
Имя: Андрей
Страна: Россия
город/регион: Иркутск
Благодарил (а): 6 раз
Поблагодарили: 3 раза

HSC и подсчет длины

Сообщение Andron007 »

Тут я обсуждал подсчет импульсов с прерыванием в 1 мс.

Пропуск циклических прерываний CPU 1214C
viewtopic.php?p=113023#p113023
Аватара пользователя

Looker
эксперт
эксперт
Сообщения: 1105
Зарегистрирован: 09 фев 2011, 11:32
Имя: Дитрих Евгений Линусович
город/регион: Донецк
Благодарил (а): 255 раз
Поблагодарили: 184 раза

HSC и подсчет длины

Сообщение Looker »

sidorovos72 писал(а): 05 июл 2021, 19:11Подсчет длины реализован через текущее значение счетчика помноженное на цену импульса. Далее есть компаратор, который сравнивает длину, и при достижении делает сброс движения.
Попробуй не делать сброс HSC - пусть считает в круговую (какая максимальная частота для HSC?). Бери дельту между текущим и предыдущим значениями. Внимание на отрицательное значение "дельты" - переход через максимум.
_______________________________________________
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу

Roman_33
освоился
освоился
Сообщения: 266
Зарегистрирован: 25 ноя 2018, 17:55
Имя: Роман
Благодарил (а): 4 раза
Поблагодарили: 41 раз

HSC и подсчет длины

Сообщение Roman_33 »

Не знаю, я счетчики всегда в главный цикл ставлю, а не в прерывания,никогда проблем не было. Главное правильно настроить вход, ну и разрешение энкодера правильно подобрать, иначе на высокой скорости счетчик просто "захлебнется" если разрешение большое.
Случается нередко нам
И труд и мудрость видеть там,
Где стоит только догадаться
За дело просто взяться.
Ответить

Вернуться в «Simatic TIA Portal»