Форум программистов, компьютерный форум, киберфорум
Контроллеры PLC
Войти
Регистрация
Восстановить пароль
 
Alexis70
0 / 0 / 0
Регистрация: 14.02.2016
Сообщений: 19
1

Отключить выход по остановке энкодера ПЛК

03.02.2020, 18:58. Просмотров 398. Ответов 18
Метки нет (Все метки)

Здравствуйте
Только начал работать с PLC. Купил китайский Wecon, нужно сделать программку для отработки сигнала по движению ленты, пуск остановка. Сигналы подаються с энкодера, значение энкодера получил, Выход У работает, но не знаю как остановить выход при остановке энкодера программа на LD
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.02.2020, 18:58
Ответы с готовыми решениями:

Получение данных с энкодера GEMMG-multivo на ПЛК 315-2DP по Profibus
Добрый день. Прошу помощи в решении задачи. Контроллер 315-2DP должен получать информацию с...

Как отключить выход из спящего режима с клавиатуры?
У меня Xubuntu на нетбуке lenovo ideapad s110. Когда перехожу в спящий режим (ждущий точнее) и...

Как программно отключить пользователей(Выход из системы)?
Здравствуйте! На сервере терминалов постоянно висят пользователи(некорректно выходят с...

Выход из спящего режима по правой кнопке мыши, отключить
При нажатии ПКМ компьютер "будится". Как это отключить? В диспетчере устройств галку...

18
ФедосеевПавел
Модератор
6144 / 2933 / 1194
Регистрация: 01.02.2015
Сообщений: 9,489
Записей в блоге: 1
03.02.2020, 20:02 2
Не работал с Wecon. Просто в общих чертах поясню.

Продумываете программу в виде конечного автомата. Рисуете в Exel циклограмму по типу
Управление звонком и пускателем (ST, Codesys, ПЛК110)
Для перемещения по состояниям (шагам) используете целочисленную переменную - номер стадии (шага).
У вас будут стадии:
- останов
- сигнал внимание (на 1 или более секунд включаете сирену - смысл: "проверка звуковой" и "разбегайтесь")
- разгон конвейера (энкодер ещё не работает правильно)
- работа конвейера (по энкодеру можно отследить аварию)
- рабочий останов
- аварийный останов (как рабочий, но включается сирена и лампа)
может что-то ещё

При аварии переходите на "аварийный останов".

В программе выполняются линии, у которых в начале стоит условие номера стадии (Шаг == 10) и дополнительные условия.
Несколько выше отдельно расположены строки "защиты". У них тоже проверяется номер стадии и дополнительно аварийная ситуация (остановлен энкодер), при срабатывании которых номер шага становится равным шагу "аварийный останов". Сама остановка происходит при выполнении строк для шага, равного "аварийный останов".

К чему это я.
Код
(шаг=="разгон конвейера") ----------- (Set Y1)
(шаг=="аварийный останов") ---------- (Rst Y1)
Обязательно делайте инициализацию переменных при первом сканировании при переключении.
0
Alexis70
0 / 0 / 0
Регистрация: 14.02.2016
Сообщений: 19
03.02.2020, 20:03  [ТС] 3
Вот как это в LD реализовать? Мне нужно отследить остановку линии по энкодеру
0
ФедосеевПавел
Модератор
6144 / 2933 / 1194
Регистрация: 01.02.2015
Сообщений: 9,489
Записей в блоге: 1
03.02.2020, 20:04 4
Могу показать, как это для другого ПЛК - DirectLogic DL06. Смысл останется тем же.
0
Alexis70
0 / 0 / 0
Регистрация: 14.02.2016
Сообщений: 19
03.02.2020, 20:07  [ТС] 5
При остановке линии мне не важно, аврийный останов или нет, просто при остановке энкодера, должна срабатывать команда на обнуление и выключение выхода Y002
0
ФедосеевПавел
Модератор
6144 / 2933 / 1194
Регистрация: 01.02.2015
Сообщений: 9,489
Записей в блоге: 1
03.02.2020, 20:39 6
Схематично это будет так.
Естественно, я набрал для "своего" контроллера. Вы сделаете по подобию.

Строка 1 - инициализация при включении.
Строки 2 - 9 - циклограмма по управляющим выходам. Показаны разные виды условий переходов - ожидание нажатия кнопки и ожидание таймера.
Строка 10 - циклограмма защит. Тут показана только защита по остановке энкодера в шаге "работа".

Т.е. главное - циклограмма на бумаге. К ней подводите реализацию.

Программа на двух листах
Отключить выход по остановке энкодера ПЛК

Отключить выход по остановке энкодера ПЛК
0
Alexis70
0 / 0 / 0
Регистрация: 14.02.2016
Сообщений: 19
03.02.2020, 20:49  [ТС] 7
У меня просто таймеров нет, они не нужны, энкодер вращается, Y 002 включается, по Вашей схеме мне нужно Х3, то есть момент остановки энкодера вычислить, на моей схеме это вход Х002
0
Миниатюры
Отключить выход по остановке энкодера ПЛК  
ФедосеевПавел
Модератор
6144 / 2933 / 1194
Регистрация: 01.02.2015
Сообщений: 9,489
Записей в блоге: 1
03.02.2020, 21:14 8
Я условно показал бит от энкодера, как x3. В вашей программе это может быть результат обработки входов энкодера - какой нибудь контакт c123.

Самое главное - разделение программы на отдельные стадии (шаги). Каждому шагу соответствует и свой набор выходных воздействий, своих защит и своих ожиданий событий для перехода к другой стадии.

Добавлено через 9 минут
Т.е. алгоритм для одного шага (например 30)
1. выходные воздействия:
если номер шага равен 30 ("включить конвейер"), то set y002
если номер шага равен 30 ("включить конвейер"), то запустить таймер для ожидания завершения шага
2. защиты
для шага 30 их нет
3. ожидание события
если шаг равен 30 и таймер отсчитал, то присвоить новое значение переменной "шаг"

Я предположил, что энкодер вы используете как контроль движения конвейера. Поэтому и предлагал такой алгоритм.

Вам же точно известно, что должно происходить. Поэтому составьте в Exel цветную циклограмму и подстраивайтесь под неё.
0
Alexis70
0 / 0 / 0
Регистрация: 14.02.2016
Сообщений: 19
03.02.2020, 21:21  [ТС] 9
к сожалению, тут никакой цикличности нет, энкодер мотает до бесконечности, 2000 я ставлю, что он делает больше 1 оборота, энкодер 1024 имп/оборот,вся программка должна уложиться в один цикл, в этом и вся трудность. И Z-провод никак не отражается((( Хоть с него можно было бы снять уменьшение оборотов
0
ФедосеевПавел
Модератор
6144 / 2933 / 1194
Регистрация: 01.02.2015
Сообщений: 9,489
Записей в блоге: 1
03.02.2020, 21:35 10
Не энкдер цикличен. А программа - она представляет из себя циклограмму (барабанный командоаппарат). Стадии циклограммы - ожидание пуска (останов), разгон конвейера, работа. Не путайте это цикл с одним циклом работы ПЛК (считывание входов, обработка в программе пользователя, установка выходов).

Видимо, вы не по структуре программы спрашиваете.
Уточните, в чём затруднение.
0
Alexis70
0 / 0 / 0
Регистрация: 14.02.2016
Сообщений: 19
03.02.2020, 21:44  [ТС] 11
не по структуре, произошел затык в определении остановки энкодера, по энкодеру печатает принтер, который стоит на линии, от энкодера зависит скорость печати, можно конечно было бы вывести команду стоп на контроллер, но нельзя останавливать выход У002 до полной остановки ленты, то есть до полной остановки энкодера
0
ФедосеевПавел
Модератор
6144 / 2933 / 1194
Регистрация: 01.02.2015
Сообщений: 9,489
Записей в блоге: 1
03.02.2020, 21:49 12
А как в программе "виден" сигнал от энкодера? Как число? Тогда останавливайте при значении этого числа равном 0.
0
Alexis70
0 / 0 / 0
Регистрация: 14.02.2016
Сообщений: 19
03.02.2020, 22:16  [ТС] 13
Да , виден как число, но значение постоянно растет, поэтому и требуется сброс С251
0
ФедосеевПавел
Модератор
6144 / 2933 / 1194
Регистрация: 01.02.2015
Сообщений: 9,489
Записей в блоге: 1
03.02.2020, 22:26 14
Поставьте таймер и раз в секунду обнуляйте.
Перед обнулением уточняйте, что в переменной набралось больше некоторого порога (лента ещё крутится).
Таймер - для равномерности отсчётов.

Не нравится 1 секунда - сделайте 0,5секунды.
0
Alexis70
0 / 0 / 0
Регистрация: 14.02.2016
Сообщений: 19
03.02.2020, 22:38  [ТС] 15
Спасибо, вроде получилось)) Щаз пойду на стенд пробовать))
0
Alexis70
0 / 0 / 0
Регистрация: 14.02.2016
Сообщений: 19
02.03.2020, 12:52  [ТС] 16
Вот что получилось))
0
Миниатюры
Отключить выход по остановке энкодера ПЛК  
ФедосеевПавел
Модератор
6144 / 2933 / 1194
Регистрация: 01.02.2015
Сообщений: 9,489
Записей в блоге: 1
02.03.2020, 13:05 17
Это хорошо или плохо?
0
Олег_
47 / 51 / 3
Регистрация: 30.10.2014
Сообщений: 190
06.03.2020, 09:19 18
Отнимаете от текущего значения счётчика то что он показывал в прошлом цикле. (или период другой длительности)
Далее сравниваете эту дельту с нолём или другой константой, и принимаете решение, включить или выключить выход.
в конце прописываете тек. значение счётчика куда либо, чтобы использовать его в следующем цикле.

По картинкам этот контроллер смесь мицубиши и ещё чего то. Тогда вполне возможно что для него есть инструкция SPD, для измерения скорости.
Далее надеюсь понятно, если скорость близка к нолю, конвейер стоит.
0
Alexis70
0 / 0 / 0
Регистрация: 14.02.2016
Сообщений: 19
07.03.2020, 15:49  [ТС] 19
да, это аналог мицубиши, и такая инструкция присутствует, но к сожалению, это мой первый опыт с контроллером, поэтому был бы рад, посмотреть другое решение))
0
07.03.2020, 15:49
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.03.2020, 15:49

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

ПЛК Schneider electric MODICON TSX Micro vs ПЛК от Allen bradley
День добрый, народ подскажите,пожалуйста, плохо ещё разбираюсь в этом, у меня есть контроллер...

Контролеры ELMO и ака ПЛК, которые не ПЛК
Ребят... А кто что-нибудь может рассказать про контроллеры Elmo. Вот про них:...

Замена энкодера
Ребята! Некогда заниматься поиском даташитов на N-кодеры шаттл с номера1 по номер 15, да и,честно...

Эмуляция энкодера.
Что бы проверить работу таймера в режиме энкодера я решил эмулировать на двух ножках AB сигналы....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.