PDA

Просмотр полной версии : Друзья, подскажите пожалуйста как реализовать процесс



kat
08.11.2015, 15:13
Задачка состоит в том, что необходимо заставить перемещаться узел в определенной последовательности. Ну например сначала на 100 мм затем трижды на 200 затем 5 раз по 300мм и так далее. И таких программ которые забивает сам оператор должно быть несколько. Вопрос в следующем, как этот последовательный просесс реализовать в программе контроллера, укажите, в какой стороне хотя бы "копать"? Спасибо.

жекон
08.11.2015, 15:40
Я иногда делаю так if(условие первого перемещения) then step:=1
if(условие второго перемещения) then step:=2
case step of
1:чего нужно сделать 1 раз
2:чего нужно сделать во второй раз
и т.д и т.п

kat
08.11.2015, 16:10
Я иногда делаю так if(условие первого перемещения) then step:=1
if(условие второго перемещения) then step:=2
case step of
1:чего нужно сделать 1 раз
2:чего нужно сделать во второй раз
и т.д и т.п
Я так тоже делал, но если перемещений много, программа получается слишком грамоздская. Мне интересно есть ли еще варианты попроще?

ASo
08.11.2015, 16:13
Станок с ЧПУ?

kat
08.11.2015, 16:16
Станок с ЧПУ?

Да, можно и так назвать

ASo
08.11.2015, 16:21
Тогда Вам другое оборудование и другой подход к программированию.
Это обсуждается на других форумах.

kat
08.11.2015, 17:03
Тогда Вам другое оборудование и другой подход к программированию.
Это обсуждается на других форумах.

Мне необходимо реализовать это на ПЛК ОВЕН. Другое оборудование и другой подход Вы имеете ввиду использование программ для ЧПУ MACH3 и др?

murdemon
08.11.2015, 17:13
Что за ПЛК? что за исполнительный механизм? Энодеры там и тд опиши все что есть и что хочешь?

ASo
08.11.2015, 17:18
Мне необходимо реализовать это на ПЛК ОВЕН. Другое оборудование и другой подход Вы имеете ввиду использование программ для ЧПУ MACH3 и др?Это учебное задание?

kat
08.11.2015, 17:31
Что за ПЛК? что за исполнительный механизм? Энодеры там и тд опиши все что есть и что хочешь?
ПЛК 11032км и СПК 107 механизм представляет собой резку, типа гильотины. Имеется энкодер 1000 имп. установлен для контроля перемещения подвижной части станка. Подвижная часть приводится 3х фазным двигателем с частотником, с муфтой тормоза. Подвижная часть перемещает материал который необходимо рубить, в данном случае стопу бумаги. Необходимо сделать так, чтобы оператор мог забивать в контроллер через СПК необходимую длину отрезков и необходимое количество, например 5 отрезков по 200мм, 10 отрезков по 150мм, 3 отрезка ..... И так далее. Затем после запуска станок должен резать необходимое количество частей, нужной длины и т.д. Как в программе реализовать это?

kat
08.11.2015, 17:32
Это учебное задание?

Это конкретная задача, которую поставило руководство.

ASo
08.11.2015, 17:35
Ну, если не хотите ругаться или переубеждать руководство - то берите любой язык УЧПУ, пишите его обработчик для ПЛК.
ПЛК надо брать с встроенной файловой системой - типа ПЛК100, СПК и т.п. Собственно, у Вас уже такие.

murdemon
08.11.2015, 18:04
ну с линейным перемещением по одной оси я думаю ПЛК110 справиться.... на ПЛК110 надо подключить энкодер (по типу энкодера и подключению на сайте надо смотреть) + с ПЛК 2 сигнала на управления скорости (полная, медленная это когда к концу приближаемся) + выход на запуск и остановку частотника. Для задания длинны просто с панели сделать допустим 10 программ по 10 шагов максимум (с указанием сколько в реальности шагов используется) и выбор на панели активной программы + задание длинны для всех программ и все и в путь... если интересно добавь меня в skype: ladimko там можно обсудить более детально

kat
08.11.2015, 21:00
Ну, если не хотите ругаться или переубеждать руководство - то берите любой язык УЧПУ, пишите его обработчик для ПЛК.
ПЛК надо брать с встроенной файловой системой - типа ПЛК100, СПК и т.п. Собственно, у Вас уже такие.

Спасибо Вам большое за совет.

kat
08.11.2015, 21:02
ну с линейным перемещением по одной оси я думаю ПЛК110 справиться.... на ПЛК110 надо подключить энкодер (по типу энкодера и подключению на сайте надо смотреть) + с ПЛК 2 сигнала на управления скорости (полная, медленная это когда к концу приближаемся) + выход на запуск и остановку частотника. Для задания длинны просто с панели сделать допустим 10 программ по 10 шагов максимум (с указанием сколько в реальности шагов используется) и выбор на панели активной программы + задание длинны для всех программ и все и в путь... если интересно добавь меня в skype: ladimko там можно обсудить более детально

Большое Вам спасибо за предложенный вариант. Я так и собирался делать, просто думал может есть способы попроще, о которых не знаю.

Nts
10.11.2015, 08:18
С таким пошаговым алгоритмом хорошо справляются языки SFC или ST(через оператор CASE).
Но тут есть свои нюансы в корректном программировании шагов.
Если Вы засунули такие фб,как таймеры и т.п. внутрь шагов,то необходимо позаботиться об обнулении состояния этих фб.
(например в SFC можно в каждом шаге создать выходное действие, и вызвать еще раз обнуляя,например- timer(IN:=FALSE);
в языке ST правильнее все подобные фб ставить вне тела CASE или IF,чтобы эти фб выполнялись каждый цикл программы
и фб сам обнулится при IN:=0)
По поводу программы для оператора:
сделайте структуру с необходимыми параметрами.
создайте одномерный массив таких структур.