PDA

Просмотр полной версии : Помогите найти проблему в работе ПР110-24.8Д.4Р



tezka
08.03.2017, 14:33
Помогите найти проблему в работе ПР110-24.8Д.4Р
Есть установка инспекции флаконов. ПР110 управляет узлом отбраковки.
Имеется роликовый транспортер, продвигающий флаконы перед оператором. Оператор принимает решение о выбраковке флакона и нажимает в определенный момент кнопку, которая запускает счетчик. Датчик счетчика представляет из себя микропереключатель с роликом. Счетчик отсчитывает 16 (12, 11) флаконов и передает эстафету другому датчику счетчика, оптическому ( pa18cad10pasa - выход PNP NO). Оптический датчик при первом же срабатывании запускает соленоид пневмоцилиндра, который выдвигает бракованный флакон на другую линию. На пневмоцилиндре установлен герконовый датчик (CSH-223-2 - на выходе 2 провода, + и -), возвращающий шток пневмоцилиндра в исходное состояние. Установлен переключатель типоразмера флаконов (три типоразмера). Переключатель на три положения, но среднее положение не активно, т.е. в среднем положении сигнал отсутствует и это означает, что счетчик должен считать до 12. Два другие (активные) положения: счет до 11 и до 16. Проблема в том, что при следовании флаконов с частотой меньше 6-ти секунд, не правильно выбраковываются флаконы(не те что выбирались), а при частоте 6 секунд и более, все отрабатывается нормально. Установка должна работать с максимальной частотой следования флаконов 1,2 секунды. Программа для ПР110-24.8Д.4Р прилагается.

maximov2009
09.03.2017, 06:42
Добрый день. По всей видимости проблема не одна. Упирается всё во время срабатывания датчиков и входов-выходов ПР и самих исполнительных механизмов.
Что касается программы, я бы конечно сделал по другому. Почему Вас не устроил ФБ обычного счётчика СТН? Но уто уже дело хозяйское.
Да и ПР110 не самый быстрый вариант. Посмотрите время цикла.
С уважением.

tezka
09.03.2017, 08:32
...Почему Вас не устроил ФБ обычного счётчика СТН?....
Да и ПР110 не самый быстрый вариант.

Добрый день. Спасибо за оперативный ответ. Я заказчик, поэтому не понимаю использованной Вами аббревиатуры. Я использовал то, что мне рекомендовали. Скажите, это проблемы в самом реле или в программе? На этом реле можно реализовать данный алгоритм или может на ПР200?
Мне результат нужен "позавчера". Спасибо. С уважением.

Василий Кашуба
09.03.2017, 08:57
... Проблема в том, что при следовании флаконов с частотой меньше 6-ти секунд, не правильно выбраковываются флаконы(не те что выбирались), а при частоте 6 секунд и более, все отрабатывается нормально. Установка должна работать с максимальной частотой следования флаконов 1,2 секунды. Программа для ПР110-24.8Д.4Р прилагается.
Поясните этот момент. 6 секунд, это время пока к датчику второй флакон подойдёт или что?

tezka
09.03.2017, 09:00
Да, Вы правильно поняли.

Василий Кашуба
09.03.2017, 09:04
Да, Вы правильно поняли.
А как быстро работает пневмоцилиндр?

maximov2009
09.03.2017, 09:05
А при выбрасывании пузырька конвейер останавливается?

tezka
09.03.2017, 09:11
А как быстро работает пневмоцилиндр?
Пневмоцилиндр успевает отрабатывать. Срабатывает даже если шток не успел вернуться в исходное состояние.


А при выбрасывании пузырька конвейер останавливается?
Конвейер не останавливается. Кондиционные флаконы идут прямо, а отбракованные параллельно в накопитель.

Василий Кашуба
09.03.2017, 09:15
Пневмоцилиндр успевает отрабатывать. Срабатывает даже если шток не успел вернуться в исходное состояние.


Конвейер не останавливается. Кондиционные флаконы идут прямо, а отбракованные параллельно в накопитель.
Я имел ввиду, если бракованных флакона будет три подряд, успеет пневоцилиндр сработать при "частоте" 1 секунда?

tezka
09.03.2017, 09:27
Пневмоцилиндр с заданной скоростью движения флаконов справляется, только неправильно отбраковывает, проверяли на максимальной скорости. Где-то происходит смещение, то ли не успевает поступить команда на пневмоцилиндр, то ли еще что-то.

tezka
09.03.2017, 09:28
Собственно мы и проверяем исходя из того, что все флаконы подряд бракованные.

Василий Кашуба
09.03.2017, 09:39
Собственно мы и проверяем исходя из того, что все флаконы подряд бракованные.
Сколько флаконов помещается на конвейере между микриком и оптическим датчиком?

tezka
09.03.2017, 09:44
В зависимости от размеров флакона 10, 11, 16. На +1 срабатывает оптический датчик. последние флаконы стоят на площадке перед конвейером, а +1-й уже двигается по нему к оптическому датчику.

Василий Кашуба
09.03.2017, 09:45
И поясните работу датчика очереди.

tezka
09.03.2017, 09:50
Датчик очереди контролирует заполняемость роликового транспортера флаконами. При отсутствии флаконов на подающем транспортере, останавливает роликовый транспортер установки до момента заполнения подающего транспортера.

Василий Кашуба
09.03.2017, 09:52
Если можно фото транспортёра с 16-ю флаконами, датчиками и пневмоцилиндром.
А сейчас извините должен уходить.

tezka
09.03.2017, 09:56
Спасибо. Сфотографирую.

maximov2009
09.03.2017, 10:55
У Вас программа достаточно простая и на мой взгляд не совсем верная. Про счётчик я уже ранее говорил, но не в этом суть.
Получается что оптический датчик у Вас просто пропускает сигнал от счётчика на цилиндр. Счётчик сбрасывается следующим, после отсчитанного микриком бутылок. И если этот небольшой момент, пока держится сигнал на выходе счётчика не совпадёт с сигналом от оптического датчика - цилиндр не сработает.
Кроме того, ещё и задержка в 0.2 секунды стоит на микрике. По идее она не должна влиять, но можно уменьшить до 0.1 или вообще убрать. Микрик не должен давать дребезга.
Если у Вас одинаковое количество флаконов от микрика (точки нажатия кнопки БРАК) до оптического датчика, зачем вообще заморачиваться с 2 датчиками. Достаточно одного оптического. И не будет таких конфликтов.
Программу Вы сами писали, или на заказ кто то делал?
Сами исправить и перезалить сможете?

tezka
09.03.2017, 11:10
Если у Вас одинаковое количество флаконов от микрика (точки нажатия кнопки БРАК) до оптического датчика, зачем вообще заморачиваться с 2 датчиками. Достаточно одного оптического. И не будет таких конфликтов.
Программу Вы сами писали, или на заказ кто то делал?
Сами исправить и перезалить сможете?

Программу заказывал. Первоначальный вариант был с одним оптическим датчиком, но тогда не получалось контролировать флаконы начиная с 1-го. Если использовать один датчик на входе (микрик), то не получается попадать в центр флакона толкателем на отбраковке. Сам исправить программу не смогу, перезалить смогу.

maximov2009
09.03.2017, 11:48
Попробуйте вот такой вариант. Пока на скорую руку поправил. Здесь сигнал после отсчёта фиксируется триггером и цилиндр включается после сработки оптического датчика. Сброс после отработки концевика цилиндра.
А в чём трудности с использованием одного оптического датчика?

tezka
09.03.2017, 12:00
Трудность в том, что не понятно как контролировать флаконы начиная с первого. Если начиная с первого флакона пойдет брак, то как оптический датчик определит нужный (бракованный) флакон, ведь между нажатием кнопки "БРАК" и оптическим датчиком находится 16 флаконов.

maximov2009
09.03.2017, 12:30
Понятно. Программку, которую кинул, будете пробовать?

tezka
09.03.2017, 12:55
Попробую как доберусь до установки.

tezka
09.03.2017, 21:42
Сегодня попробовать не удалось.

tezka
10.03.2017, 14:33
Понятно. Программку, которую кинул, будете пробовать?

Попробовал. Выбраковывает 2 помеченных флакона, следом за ними один не помеченный, хотя кнопка "брак" на него не нажималась. После отбраковки 16 помеченных флаконов (т.е. после 16-ти нажатий кнопки "брак"), независимо от того сколько реально флаконов было отбраковано, перестает поступать команда на отбраковку помеченных флаконов, сколько бы раз кнопка "брак" ни нажималась. Получается, что программа перестает работать после 16-ти нажатий кнопки "брак".

maximov2009
10.03.2017, 15:18
Значит проблема ещё и со счётчиками. Я сразу сказал, что они какие то хитровымудренные и как там задаётся количество отсчитываемых с дискретных входов, не понял. Если Вы заплатили за это денежку (интересно сколько), то автор обязан её допилить по месту.
Я только сделал синхронизацию двух сигналов.
Я бы всё таки остановился на варианте с 1 датчиком, а первые 16 флаконов в начале смены отбраковал бы вручную.
Посмотрю ещё, но сильно быстро не обещаю, выходные всё таки.

Василий Кашуба
10.03.2017, 16:25
Попробовал. Выбраковывает 2 помеченных флакона, следом за ними один не помеченный, хотя кнопка "брак" на него не нажималась. После отбраковки 16 помеченных флаконов (т.е. после 16-ти нажатий кнопки "брак"), независимо от того сколько реально флаконов было отбраковано, перестает поступать команда на отбраковку помеченных флаконов, сколько бы раз кнопка "брак" ни нажималась. Получается, что программа перестает работать после 16-ти нажатий кнопки "брак".
Попробуйте мой вариант.

maximov2009
10.03.2017, 16:37
Как всегда, мастерски. Я тоже подумал о стеке, в исходнике по моему что то похоже на стековый сдвиг, я честно говоря не разбирался. Изначально показалось, что это просто такой счётчик.
С уважением.

Сергей0308
10.03.2017, 18:05
Попробуйте мой вариант.

Вот извиняюсь маленько переделал сами стеки, не логику(логика должна остаться прежней):

29972

По некоторым пунктам в 2-3 раза меньше ресурсов потребляет!

Василий Кашуба
10.03.2017, 18:45
Вот извиняюсь маленько переделал сами стеки, не логику(логика должна остаться прежней):

29972

По некоторым пунктам в 2-3 раза меньше ресурсов потребляет!
Тогда лучше на одном стеке сделайте, а размер стека меняйте переключателями через SELы.

Сергей0308
10.03.2017, 18:57
Тогда лучше на одном стеке сделайте, а размер стека меняйте переключателями через SELы.

Вы правы, глубину можно задать цифрой на входе SEL, до 31 в данном случае, я просто не вникал в логику работы и тупо повторил ваше 1:1!

Василий Кашуба
10.03.2017, 18:59
Вы правы, глубину можно задать цифрой на входе SEL, до 31 в данном случае, я просто не вникал в логику работы и тупо повторил ваше 1:1!
Как то так.
29974

petera
10.03.2017, 19:08
А зачем там вообще стеки какие-то
Не проще ли
29975
здесь в переменной Reg находится двоичный образ пузырьков на конвейере 0 - годный, 1 - брак
По сигналу от микрика бутылок в Reg задвигается 0, если кнопка Брак не нажата, или 1, если кнопка брак нажата.
Получилась линия задержки.
С 11 или 12 или 16 бита Reg имеем информацию о том, годный был пузырек или нет 11, 12 или 16 пузырьков тому.

Сергей0308
10.03.2017, 19:39
Как то так.
29974

И детектор переднего фронта не нужен, там уже один есть, два последовательно, ни к чему:

29977

Петера, там и стоит регистр сдвига:

29978

Вот ещё поубирал лишнее:

29984

Начинаю вникать в происходящее(у Петера такая логика)!

tezka
12.03.2017, 23:22
Попробовал Конвеер_М2.owl. Не заработала, ничего не выбраковывает.
Конвеер_М1.owl работает хорошо до тех пор, пока не начинаются остановки роликового транспортера от датчика очереди или от педали оператора. Начинается чехарда с выбраковкой.
На этом изыскания завершились, перешли на ПЛК100. Всем большое человеческое спасибо.

Сергей0308
13.03.2017, 06:14
Попробовал Конвеер_М2.owl. Не заработала, ничего не выбраковывает.
Конвеер_М1.owl работает хорошо до тех пор, пока не начинаются остановки роликового транспортера от датчика очереди или от педали оператора. Начинается чехарда с выбраковкой.
На этом изыскания завершились, перешли на ПЛК100. Всем большое человеческое спасибо.

Может быть если очередь заполнена, пузырёк призадерживается на микрике за счёт впереди стоящих пузырьков не менее чем на 200 мс, а так(если очередь не заполнена и нет впереди стоящих пузырьков) проскакивает микрик менее чем за 200 мс??? Короче, я бы попробовал уменьшить время таймера до 20 мс!
Я конечно заранее извиняюсь, но без грамотного ТЗ боюсь вам и суперкомпьютер не поможет!

Василий Кашуба
13.03.2017, 08:52
Может быть если очередь заполнена, пузырёк призадерживается на микрике за счёт впереди стоящих пузырьков не менее чем на 200 мс, а так(если очередь не заполнена и нет впереди стоящих пузырьков) проскакивает микрик менее чем за 200 мс??? Короче, я бы попробовал уменьшить время таймера до 20 мс!
Я конечно заранее извиняюсь, но без грамотного ТЗ боюсь вам и суперкомпьютер не поможет!
Сергей, дело не во времени, когда на конвейере закачиваются флаконы, микрик перестаёт подавать тактовые импульсы и стек останавливается, конвейер движется, а команда на толкатель не подаётся, и последние флаконы не выбраковываются. А когда на конвейере снова появляются флаконы, микрик запускает работу стека и ранее записанный в стек брак, выбрасывает нормальные флаконы.

Василий Кашуба
13.03.2017, 08:57
Короче, для правильной работы, нужно чтобы на конвейере не было пропусков в очереди из флаконов.

Василий Кашуба
13.03.2017, 19:01
Попробовал Конвеер_М2.owl. Не заработала, ничего не выбраковывает.
Конвеер_М1.owl работает хорошо до тех пор, пока не начинаются остановки роликового транспортера от датчика очереди или от педали оператора. Начинается чехарда с выбраковкой.
На этом изыскания завершились, перешли на ПЛК100. Всем большое человеческое спасибо.
А на ПЛК100 получилось, или тоже изысканиями занялись?

tezka
14.03.2017, 07:54
А на ПЛК100 получилось, или тоже изысканиями занялись?
На ПЛК получилось быстрее, т.к. можно проконтролировать в режиме реального времени. Можно было реализовать это же и на ПР, но уже нет времени.

Василий Кашуба
14.03.2017, 08:26
На ПЛК получилось быстрее, т.к. можно проконтролировать в режиме реального времени. Можно было реализовать это же и на ПР, но уже нет времени.
Ну поделитесь решением, интересно же как надо было сбделать.

tezka
14.03.2017, 23:14
Ну поделитесь решением, интересно же как надо было сбделать.

Не знаю насколько это правильно, но работает.

Infiltrator
15.03.2017, 17:23
Счетчик бутылочек забыли добавить, первый датчик его увеличивает второй им пользуется чтобы достать бит и уменьшает его. :) ИМХО ПЛК для таких задач это мощно...