- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Операция сравнения
-
- здесь недавно
- Сообщения: 26
- Зарегистрирован: 06 апр 2017, 18:15
- Имя: Иван
- Страна: Россия
- город/регион: Краснодар
Операция сравнения
Доброго времени суток! Есть установка, все процессы в ней завязаны на положение энкодера (Абсолютный), так же есть проект в ней, почти рабочий. Обнаружил такой баг: несколько раз срабатывают некоторые катушки пневмо-клапанов. Когда стал разбираться обнаружил что для срабатывания клапанов в определенном диапазоне, использую две операции сравнения. Т.е. еже ли положение энкодера больше одного значения и меньше другого тогда есть сигнал на срабатывания клапана. На практике проскакивает еще несколько раз сигнал открытия и закрытия, выяснил подключение счетчика. Вопрос : откуда берутся дополнительные срабатывания?
-
- осмотрелся
- Сообщения: 135
- Зарегистрирован: 22 июл 2017, 22:47
- Имя: Сергей
- Страна: СССР
- Благодарил (а): 6 раз
- Поблагодарили: 27 раз
Операция сравнения
Как я понял, что в этом диапазоне вы просто активируете выход? Правильно будет взводить триггер по одному условию и сбрасывать по другому.megavolt2201 писал(а): ↑02 мар 2020, 08:56 еже ли положение энкодера больше одного значения и меньше другого тогда есть сигнал на срабатывания клапана.
Или катушка срабатывает когда значения за пределами заданного диапазона?
________________________________
Не ждите чуда - чудите сами!
Не ждите чуда - чудите сами!
-
- здесь недавно
- Сообщения: 26
- Зарегистрирован: 06 апр 2017, 18:15
- Имя: Иван
- Страна: Россия
- город/регион: Краснодар
Операция сравнения
вы правильно понялиDemoN9577 писал(а): ↑02 мар 2020, 22:35Как я понял, что в этом диапазоне вы просто активируете выход? Правильно будет взводить триггер по одному условию и сбрасывать по другому.megavolt2201 писал(а): ↑02 мар 2020, 08:56 еже ли положение энкодера больше одного значения и меньше другого тогда есть сигнал на срабатывания клапана.
Или катушка срабатывает когда значения за пределами заданного диапазона?
Отправлено спустя 4 минуты 41 секунду:
Я разобрался в чем проблема.
Оказывается проходило срабатывание в момент перехода с 0 до макс. значения. а причина в том что данный энкодер (турецкого производства) выдавал обычный аналоговый сигнал 0,,10в , в момент перехода с 0 до макс. контроллер успевал считать его положение т.е. возрастание напряжения, а значит я получал за каждый цикл обработки сигнала увеличение напряжения. и оно попадало в тот диапазон который я использовал. Отсюда и ложное срабатывание.
только вот не знаю как это грамотно обойти
-
- эксперт
- Сообщения: 1011
- Зарегистрирован: 31 мар 2018, 12:05
- Имя: Вячеслав
- Благодарил (а): 94 раза
- Поблагодарили: 136 раз
Операция сравнения
Ничего не понятно, но очень интересно )
В каждом цикле ПЛК есть значение, которое попадает в диапазон, но его надо игнорировать потому что оно возрастающее? Не "устоявшееся"
В каждом цикле ПЛК есть значение, которое попадает в диапазон, но его надо игнорировать потому что оно возрастающее? Не "устоявшееся"
-
- не первый раз у нас
- Сообщения: 305
- Зарегистрирован: 19 мар 2015, 08:46
- Имя: Павел.
- Страна: Россия
- город/регион: Екатеринбург
- Благодарил (а): 3 раза
- Поблагодарили: 25 раз
- Забанен: Бессрочно
Операция сравнения
В работающем проекте встроен ваш новый проект? У энкодера выдающего аналоговый сигнал, по моему, другое название. Какая система преобразования аналогового сигнала в цифру?
-
- здесь недавно
- Сообщения: 2
- Зарегистрирован: 06 фев 2020, 22:28
- Имя: rrrrrrrr
Операция сравнения
Я сталкивался с позиционированием планшайбы на намотчике пакетов, стоял абсолютный энкодер 10 бит. Только ПЛК "сегнетикс" и в целом все должно быть похоже. Мне кажется у вас что то не то с алгоритмом позиционирования. Можно попробовать исправить это методом костылей. Вам нужно выделить компараторами два крайних (мин/макс) значения и сигналы с них должны блокировать срабатывание других компараторов. Еще (если не критично к времени реакции системы) можно все выходы управления исп. механизмами, пропустить через on delay. Но лучше всего полностью знать как работает текущий алгоритм.megavolt2201 писал(а): ↑06 мар 2020, 16:53 Оказывается проходило срабатывание в момент перехода с 0 до макс
-
- здесь недавно
- Сообщения: 26
- Зарегистрирован: 06 апр 2017, 18:15
- Имя: Иван
- Страна: Россия
- город/регион: Краснодар
Операция сравнения
еще раз. То что стоит в качестве энкодера выдает аналоговый сигнал 0...10В. (я представляю что там что то похожее на потенциометр) есть правильное напряжение - то что подается в зависимости от угла поворота (0...359 градусов) и неправильное - это когда оборот сделан и сигнал с энкодера вновь возрастает до 10 В. Как раз именно в это возрастание и происходят ложные срабатывания, за это время контроллер успевает считать его сигнал.
Отправлено спустя 53 минуты 15 секунд:
Поставщики привезли машины, но пнр так и не прошли, мне пришлось допиливать их. Аналоговый сигнал обрабатывается через : 1) Нормализация 0 до 27648 2) шкалирование 3)округление 4) копирование в глобал дб.
Отправлено спустя 53 минуты 15 секунд:
Поставщики привезли машины, но пнр так и не прошли, мне пришлось допиливать их. Аналоговый сигнал обрабатывается через : 1) Нормализация 0 до 27648 2) шкалирование 3)округление 4) копирование в глобал дб.
-
- здесь недавно
- Сообщения: 26
- Зарегистрирован: 06 апр 2017, 18:15
- Имя: Иван
- Страна: Россия
- город/регион: Краснодар
Операция сравнения
есть только усреднение значений за 4 цикла контроллера. Попробовал сделать большое кол-во циклов но становилось только хуже.
-
- знаток Eplan
- Сообщения: 1136
- Зарегистрирован: 21 сен 2012, 22:45
- Имя: aranea
- Благодарил (а): 30 раз
- Поблагодарили: 165 раз
Операция сравнения
megavolt2201, 1. какое общее расстояние вы измеряете этим энкодером?
2. какое расстояние может измерить энкодер без переполнения?
2. какое расстояние может измерить энкодер без переполнения?
-
- здесь недавно
- Сообщения: 26
- Зарегистрирован: 06 апр 2017, 18:15
- Имя: Иван
- Страна: Россия
- город/регион: Краснодар
Операция сравнения
Цикл работы машины подвязан на один оборот работы энкодера. Момент срабатывания пневматики зависит от угла поворота энкодера. Энкодер работает постоянно в одном направлении.
-
- знаток Eplan
- Сообщения: 1136
- Зарегистрирован: 21 сен 2012, 22:45
- Имя: aranea
- Благодарил (а): 30 раз
- Поблагодарили: 165 раз
Операция сравнения
megavolt2201, то есть у вас сигнал формы "пила" и вы не знаете что с этим делать?
правильно обрабатывайте скачок и будет счастье
правильно обрабатывайте скачок и будет счастье
-
- эксперт
- Сообщения: 1113
- Зарегистрирован: 09 фев 2011, 11:32
- Имя: Дитрих Евгений Линусович
- город/регион: Донецк
- Благодарил (а): 323 раза
- Поблагодарили: 218 раз
Операция сравнения
megavolt2201 писал(а): ↑10 мар 2020, 08:56есть правильное напряжение - то что подается в зависимости от угла поворота (0...359 градусов) и неправильное - это когда оборот сделан и сигнал с энкодера вновь возрастает до 10 В.
megavolt2201 писал(а): ↑10 мар 2020, 13:14есть только усреднение значений за 4 цикла контроллера. Попробовал сделать большое кол-во циклов но становилось только хуже.
Извиняюсь за кучу цитат, но раз движение в одном направлении попробуй сделать временной дискриминатор - позиция не может измениться резко.
Правильно надо устранять надо причину:
Доводилось ловить ошибки позиции при движении только вперед (назад дергается само при остановке механизма), а также при учете импульсов пульсирующего расхода.
А, этот совет неправильный:
_______________________________________________
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу
-
- не первый раз у нас
- Сообщения: 305
- Зарегистрирован: 19 мар 2015, 08:46
- Имя: Павел.
- Страна: Россия
- город/регион: Екатеринбург
- Благодарил (а): 3 раза
- Поблагодарили: 25 раз
- Забанен: Бессрочно
Операция сравнения
А если уменьшить до 1. цикла? Кривой какой то проект, видел такие машины с нормальным абсолютным энкодером 10 бит на 1 оборот, нормально работают уже с десяток лет, один раз меняли энкодер на одной машине.megavolt2201 писал(а): ↑10 мар 2020, 13:14 Попробовал сделать большое кол-во циклов но становилось только хуже.
При переходе с нуля на 10 вольт все равно на аналоговом входе переходный процесс будет, вот как от него уйти на мгновенное а не усредненное значение.
-
- здесь недавно
- Сообщения: 26
- Зарегистрирован: 06 апр 2017, 18:15
- Имя: Иван
- Страна: Россия
- город/регион: Краснодар
Операция сравнения
Как вы считаете, может при достижении нижнего положения включать таймер, скажем на 50мс, который бы блокировал обработку сигнала. А за это время энкодер бы проскакивал необходимое мне положение. Костыль, но другого способа я не вижу, если кто знает подскажите.
-
- здесь недавно
- Сообщения: 5
- Зарегистрирован: 11 мар 2020, 03:46
- Имя: Владислав
- Страна: Украина
- город/регион: Киев
- Благодарил (а): 4 раза
Операция сравнения
Добрый день!
Хочу уточнить несколько вопросов:
1. Автомат работает циклически. Один цикл работы автомата равен одному обороту вала, на котором установлен энкодер?
2. За один оборот энкодера, на его выходе изменяется напряжение (увеличивается) от 0В (0 град) до 10В (360 град)?
3. После перехода 360 град происходит переполнение энкодера и на его выходе устанавливается напряжение 0В?
4. Процесс "обнуления" выхода энкодера при его переполнении занимает большой промежуток времени. Это время больше чем цикл программы. В процессе так сказать "обнуления" выхода энкодера, есть момент времени когда его значение попадает в диапазон включения клапана и тот кратковременно включается? Т.е. за один цикл работы автомата, клапан включается два раза. Первый - по алгоритму, при вращении вала от 0 до 360 грал. Второй - во время "обнуления" выхода энкодера при переполнении (кратковременно)?
5. Какое время одного цикла работы автомата - время за которое вал делает один оборот (примерно - порядок: минуты, секунды, сотни мс, единицы мс)
Хочу уточнить несколько вопросов:
1. Автомат работает циклически. Один цикл работы автомата равен одному обороту вала, на котором установлен энкодер?
2. За один оборот энкодера, на его выходе изменяется напряжение (увеличивается) от 0В (0 град) до 10В (360 град)?
3. После перехода 360 град происходит переполнение энкодера и на его выходе устанавливается напряжение 0В?
4. Процесс "обнуления" выхода энкодера при его переполнении занимает большой промежуток времени. Это время больше чем цикл программы. В процессе так сказать "обнуления" выхода энкодера, есть момент времени когда его значение попадает в диапазон включения клапана и тот кратковременно включается? Т.е. за один цикл работы автомата, клапан включается два раза. Первый - по алгоритму, при вращении вала от 0 до 360 грал. Второй - во время "обнуления" выхода энкодера при переполнении (кратковременно)?
5. Какое время одного цикла работы автомата - время за которое вал делает один оборот (примерно - порядок: минуты, секунды, сотни мс, единицы мс)
-
- здесь недавно
- Сообщения: 26
- Зарегистрирован: 06 апр 2017, 18:15
- Имя: Иван
- Страна: Россия
- город/регион: Краснодар
Операция сравнения
вы поняли все правильно.Corgo писал(а): ↑12 мар 2020, 19:06 Добрый день!
Хочу уточнить несколько вопросов:
1. Автомат работает циклически. Один цикл работы автомата равен одному обороту вала, на котором установлен энкодер?
2. За один оборот энкодера, на его выходе изменяется напряжение (увеличивается) от 0В (0 град) до 10В (360 град)?
3. После перехода 360 град происходит переполнение энкодера и на его выходе устанавливается напряжение 0В?
4. Процесс "обнуления" выхода энкодера при его переполнении занимает большой промежуток времени. Это время больше чем цикл программы. В процессе так сказать "обнуления" выхода энкодера, есть момент времени когда его значение попадает в диапазон включения клапана и тот кратковременно включается? Т.е. за один цикл работы автомата, клапан включается два раза. Первый - по алгоритму, при вращении вала от 0 до 360 грал. Второй - во время "обнуления" выхода энкодера при переполнении (кратковременно)?
5. Какое время одного цикла работы автомата - время за которое вал делает один оборот (примерно - порядок: минуты, секунды, сотни мс, единицы мс)
время вращения вала регулируется, от этого зависти скорость работы машины. Но она примерно 4 секунды +- 1 секунда
-
- здесь недавно
- Сообщения: 5
- Зарегистрирован: 11 мар 2020, 03:46
- Имя: Владислав
- Страна: Украина
- город/регион: Киев
- Благодарил (а): 4 раза
Операция сравнения
Вам необходимо разделить цикл на две части. Первая часть это собственно выполнение алгоритма. В этой части необходимо работать с клапаном. Вторая часть - это процесс обнуления выхода энкодера. В этой части цикла действия с клапаном необходимо запретить. Это можно сделать по времени, как Вы предлагали выше. Но я бы не советовал так делать. Я предлагаю привязаться к значениям энкодера. Ввести переменную Prohibition, которая в первой части цикла, когда выполняется алгоритм будет = FALSE а во второй части, когда происходит обнуление выхода будет = TRUE. Затем необходимо прописать четыре условия.
1. Условие начала процесса переполнения, Prohibition переходит из FALSE в TRUE.
2. Условие конца процесса переполнения, Prohibition переходит из TRUE в FALSE.
3. Условие включения клапана.
4. Условие выключения клапана.
Условия 3 и 4 должны выполняться только если переменная Prohibition = FALSE т.е. процесс обнуления не происходит.
Накидал на скорую руку один из вариантов. Просто как пример, чтобы был понятен ход моих мыслей. А можно сделать еще проще. Подменить значение выхода энкодера "нолем" во время переходного процесса при его переполнении. В данном случае Вам не нужно будет изменять алгоритм включения/отключения клапана, который уже существует. Необходимо только подменить переменную, которую Вы используете сейчас при сравнении на Value_encoder. (Из минусов мы теряем одно последнее значение энкодера перед переполнением)