Страница 9 из 15 ПерваяПервая ... 7891011 ... ПоследняяПоследняя
Показано с 81 по 90 из 149

Тема: ПЛК110.60[М2] + энкодер + счетчик.

  1. #81
    Пользователь
    Регистрация
    31.07.2013
    Адрес
    Аркаим
    Сообщений
    1,033

    По умолчанию

    А как в таком случае обнулять счет на ПЛК с буковками М02?

  2. #82

    По умолчанию

    Никак. Это технически невозможно. "Обнуление" должно происходить в основной программе
    Тролль-наседка, добрый, нежный и ласковый

  3. #83
    Пользователь
    Регистрация
    31.07.2013
    Адрес
    Аркаим
    Сообщений
    1,033

    По умолчанию

    Уважаемый Владислав, я понимаю, что краткость - сестра таланта, однако можно по подробнее пояснить про обнуление быстрого счетчика в 110М2? Если обнулять счетчик в принципе невозможно вообще никак и нигде, то какой смысл в этом счетчике?
    Формат регистра счетчика - WORD, т. е. 0…65535 по абсолютному значению, т. е. придется программно учитывать переполнение аппаратного счетчика?
    Последний раз редактировалось Sulfur; 05.10.2016 в 14:23.

  4. #84

    По умолчанию

    Цитата Сообщение от Sulfur Посмотреть сообщение
    Если обнулять счетчик в принципе невозможно вообще никак и нигде, то какой смысл в этом счетчике?
    У вас установлен счётчик электричества?

    Теперь примените к нему свои слова "Если обнулять счетчик в принципе невозможно вообще никак и нигде, то какой смысл в этом счетчике?"
    И как? Нет смысла в "счётчике электричества" или есть?

    Теперь вернёмся к "быстрому счётчику". Да, он просто считает, и когда достигает максимума, то сбрасывается.
    "Учитывать переполнение" это пара строк кода:
    total : DWORD;
    newValue, prevValue : WORD;

    newValue := counter;
    total := total + WORD_TO_DWORD(newValue - prevValue);
    prevValue := newValue;


    Разумеется, и "total" тоже рано или поздно может переполниться.

    Какая конечная задача требуется от этого счётчика?
    Последний раз редактировалось Владимир Ситников; 06.10.2016 в 12:37.

  5. #85
    Пользователь
    Регистрация
    31.07.2013
    Адрес
    Аркаим
    Сообщений
    1,033

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Какая конечная задача требуется от этого счётчика?
    В начале темы я описывал задачу. Но повторюсь:
    1. На валу двигателя транспорта подачи материала установлен энкодер с разрешением 500 имп\об.
    2. Частота вращения двигателя - максимум 3000 об\мин (обычно 2000 об\мин)
    3. Двигатель работает от частотника.
    4. Время, достаточное для подачи нужного количества материала ~0.4-0.6 сек за цикл.
    5. Энкодер подключен к счетчику, который управляет частотником двигателя.
    6. Двигатель низкоинерционный, остальная механика транспорта тоже. Останов происходит практически мгновенно, переезды есть, но они не критичны и их можно попытаться компенсировать программно.
    От данного счетчика требуется отсчитать нужное количество импульсов и остановить двигатель. В следующем цикле счетчик должен быть обнулен до старта двигателя (переменная total в Вашем примере).
    Т. е. счетчик должен уверенно и без пропусков считывать от одной фазы энкодера сигнал частотой до 30 кГц.

    В принципе, я примерно так и сделал, как в предоставленном примере, но надеялся, что вдруг есть какая-нибудь другая возможность управления аппаратным счетчиком.


    ЗЫ: Про сервопривода с функцией позиционера я знаю, однако задача стоит именно в таком способе позиционирования.

  6. #86

    По умолчанию

    Цитата Сообщение от Sulfur Посмотреть сообщение
    В принципе, я примерно так и сделал, как в предоставленном примере, но надеялся, что вдруг есть какая-нибудь другая возможность управления аппаратным счетчиком.
    А какая точность/стабильность получилась?
    Устраивает?
    Объект сдан или ещё подобное планируется?

    Раз вы написали "В продолжении темы быстрого счетчика и энкодера в одном флаконе", поэтому я подумал, что у вас какая-то новая задача, т.к. исходная тема обсуждалась в марте:
    Цитата Сообщение от Sulfur Посмотреть сообщение
    16.03.2016, 14:27: 1. На "присоединиться" как обычно нет времени и всё нужно готовое и "уже вчера". Сомневаюсь, что со своими скромными знаниями в программировании могу быть полезен этому сообществу.
    Попробую ещё разок:
    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Судя по тому, что использовать цикл менее 1мс не рекомендуют (со словами "отвалится ethernet и много чего ещё"), то варианта 2:
    1) Присоединяться к клубу любителей PRU программирования. У быстрых выходов обещают время реакции 0.02мс, что в 100 раз точнее необходимого вам.
    Если видели тему по PRU программированию, то могли заметить, что я уже сделал ФБ для управления ШД с разгоном и поэтессами.

    Можно сделать PRU ФБ и для вашей задачи. Пока ФБ делаю только я, но, возможно, скоро их смогут делать все желающие.

    Например:
    1) На вход "количество импульсов" -- длина пробега, и параметр "поехали"
    2) По команде "поехали" блок будет активировать один из быстрых выходов
    3) При достижении нужного количества импульсов, выход отключается
    4) На выходе ФБ возвращается "пройденное расстояние" (на всякий случай) и "состояние" (ждём команды, едем, приехали)
    5) В состоянии "приехали" счёт импульсов продолжается (чтобы можно было понять "какой перелёт оказался")
    6) В состоянии "ждём команды" импульсы просто игнорируются. Или с ними что-то нужно делать?

    Такой ФБ сможет без проблем отрабатывать на частотах порядка 100кГц, при этом 485, ethernet и прочее отваливаться не будет.

  7. #87
    Пользователь
    Регистрация
    31.07.2013
    Адрес
    Аркаим
    Сообщений
    1,033

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    А какая точность/стабильность получилась?
    Устраивает?
    Объект сдан или ещё подобное планируется?
    1. По сравнению с полноценными позиционерами - хуже.
    2. Среднее расстояние подачи - 100-120мм, настоящий позиционер "гуляет" в пределах +-0,5 мм (возможно из за деформации материала и люфтов в механике), подобная реализация (не на ПЛК) "гуляет" на +-2мм, однако на %% брака это практически не сказывается, только немного увеличивается расход материала.
    3. Данный проект находится в вялотекущей разработке, на реальной машине работает несколько другая система, но она морально и физически устарела, и просится на замену. Реализация этого счетчика средствами ПЛК позволит исключить один жутко импортный блок.

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Если видели тему по PRU программированию, то могли заметить, что я уже сделал ФБ для управления ШД с разгоном и поэтессами.
    Это замечательно. Тему я просматривал, разработка нужная и полезная, но в моем случае. Т. к. имеющиеся привода не поддерживают принцип управления Step\Dir.

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Можно сделать PRU ФБ и для вашей задачи. Пока ФБ делаю только я, но, возможно, скоро их смогут делать все желающие.

    Например:
    1) На вход "количество импульсов" -- длина пробега, и параметр "поехали"
    2) По команде "поехали" блок будет активировать один из быстрых выходов
    3) При достижении нужного количества импульсов, выход отключается
    4) На выходе ФБ возвращается "пройденное расстояние" (на всякий случай) и "состояние" (ждём команды, едем, приехали)
    5) В состоянии "приехали" счёт импульсов продолжается (чтобы можно было понять "какой перелёт оказался")
    6) В состоянии "ждём команды" импульсы просто игнорируются. Или с ними что-то нужно делать?
    Это будет просто прекрасно.
    Я даже прикидывал примерную схему тут
    Параллельно с данным счетчиком должен работать ABZ энкодер с небольшой добавкой в виде детектора физического нуля после включения ПЛК.
    Последний раз редактировалось Sulfur; 06.10.2016 в 14:02.

  8. #88

    По умолчанию

    Цитата Сообщение от Sulfur Посмотреть сообщение
    Это будет просто прекрасно.
    Если будет блок, сделаете "фото/видео" отчёт об установке?

    Цитата Сообщение от Sulfur Посмотреть сообщение
    Параллельно с данным счетчиком должен работать ABZ энкодер с небольшой добавкой в виде детектора физического нуля после включения ПЛК.
    Это как?
    "мотать материал пока не достигнем Z метки"?

  9. #89
    Пользователь
    Регистрация
    31.07.2013
    Адрес
    Аркаим
    Сообщений
    1,033

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Если будет блок, сделаете "фото/видео" отчёт об установке?
    Фото\видео - без проблем. Только не гарантирую когда это будет. В среднесрочной перспективе могу только провести эксперимент на реальной машине, если она встанет на долгий ремонт по железу. В условиях лаборатории проверить весь комплекс просто нет возможности.
    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Это как?
    "мотать материал пока не достигнем Z метки"?
    Немного не так. ABZ-энкодер стоит на главном валу машины, это другой двигатель и другой частотник. Разрешение этого энкодера 360имп\об, По показаниям этого энкодера включаются и выключаются разные другие устройства, в том числе и транспорт. Детектор физического нуля необходим для того, что бы не включались устройства до тех пор, пока физический ноль не будет найден. Это связано с тем, что регистр энкодера в момент включения ПЛК равен нулю, а машина практически никогда не останавливается в 0 (обычно 150-190*), появляется "смещение", которое может привести к поломке оснастки и другой механики, если устройства включатся не в свое время. После определения физ.нуля детектор не оказывает никакого влияния на работу машины до следующего выключения.
    В одном проекте я реализовал этот детектор программно ( на ПЛК110-60 старой модели), т. к. и модуль энкодера делал тоже программно, а показания энкодера сохранял а Retain.

  10. #90
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,825

    По умолчанию

    Цитата Сообщение от Sulfur Посмотреть сообщение
    Уважаемый Владислав, я понимаю, что краткость - сестра таланта, однако можно по подробнее пояснить про обнуление быстрого счетчика в 110М2? Если обнулять счетчик в принципе невозможно вообще никак и нигде, то какой смысл в этом счетчике?
    Формат регистра счетчика - WORD, т. е. 0…65535 по абсолютному значению, т. е. придется программно учитывать переполнение аппаратного счетчика?
    Цитата Сообщение от Sulfur Посмотреть сообщение
    ......
    От данного счетчика требуется отсчитать нужное количество импульсов и остановить двигатель. В следующем цикле счетчик должен быть обнулен до старта двигателя (переменная total в Вашем примере).
    1. Ненужно учитывать переполнение.
    2. Зачем считать обязательно с нуля? Совершенно ни к чему обнулять регистр счетчика, нужно продолжать считать импульсы с того состояния, которое осталось в нем от предыдущего цикла.

    Просто из текущего значения в счетчике нужно вычитать значение, которое было в нем перед стартом, т.к. WORD - без знаковое целое число, то результат арифметической операции "вычитание" всегда будет правильным, не смотря не то, что после 65535 счетчик начнет считать с 0.
    Например
    в счетчике было 65530
    после старта значения в нем будут увеличиваться 65530, 65531, 65532, 65533, 65534, 65535, 0, 1, 2 ....
    т.е. начальное значение в счетчике было 65530.
    Теперь каждый раз при обращении в программе к регистру счетчика нужно вычитать начальное значение, в нашем случае получим
    65530-65530=0
    65531-65530=1
    65532-65530=2
    65533-65530=3
    65534-65530=4
    65535-65530=5
    0 - 65530=6
    1 - 65530=7
    2 - 65530=8
    3 - 65530=9
    и т.д.
    Т.е. никакое переполнение учитывать не надо.
    Последний раз редактировалось petera; 06.10.2016 в 14:57.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

Страница 9 из 15 ПерваяПервая ... 7891011 ... ПоследняяПоследняя

Похожие темы

  1. Ответов: 1
    Последнее сообщение: 01.12.2015, 11:55
  2. ПЛК110 счетчик моточасов
    от NIKO007 в разделе ПЛК1хх
    Ответов: 10
    Последнее сообщение: 29.11.2015, 10:19
  3. Снова энкодер ПЛК110
    от Алексей Дмитриев в разделе ПЛК1хх
    Ответов: 58
    Последнее сообщение: 25.01.2015, 16:41
  4. ПЛК110-220.32 и энкодер
    от DKFLBVBH в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 15.01.2015, 10:49
  5. ПЛК110-32 и энкодер
    от nestor в разделе Эксплуатация
    Ответов: 3
    Последнее сообщение: 23.03.2012, 08:38

Ваши права

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