Обновился WLBend 2.19

Было произведено много изменений в результате чего можно улучшить производительность станка.

Использование сигнала inCutted в рубке

Было добавлено использование сигнала inCutted при работе рубки. Это сигнал означает, что произошёл отруб проволоки и станок может производить подготовку для изготовления следующего изделия.

Например при рубке с использованием поршня, этот сигнал будет установлен когда поршень будет выдвинут и по сути произошёл отруб проволоки. То есть нам не нужно ждать когда поршень вернётся назад для начала вращения Z или Y. Но подача проволоки будет заблокирована до полного выполнения рубки.

При использовании скрипта для управления рубки, можно самостоятельно установит его в нужный момент с помощью функции setCutted().(ниже пример в коде)

Для использования этого сигнала нужно установить “галочку”

Использование предварительной подготовки рубки

Когда рубка происходит с помощью гибочного узла (оси Y), то можно производить подготовку к рубке в момент протяжки проволоки на нужную длину. В результате чего мы можем распараллелить процесс и сократить время изготовления.

Для использование данной функции нужно установить “галочку”.

После установки галочки произойдёт добавление кнопки в ручном управлении для ручного вызова этой функции (красная стрелка на рис ниже).

Синяя стрелка указывает на состояние сигнала inCutted.

Данная функция в основном используется при реализации рубки скриптом. Для выяснения какой процесс происходит (рубка или подготовка) добавлена функция getTaskTypeStr(). Которая возвращает

getTaskTypeStr()==”preCutTask” – если идёт подготовка к рубке

getTaskTypeStr()==”cutTask” – если производится отруб

Тогда функция рубки “С” в LScript будет иметь примерный вид :

function updateCUTC()
{
	if(!CUTC.isMotion()) return 

	SCRIPT.console("updateCUTC()"+CUTC.getIOper()+CUTC.getTaskTypeStr())

	if(CUTC.getTaskTypeStr()=="preCutTask")
 //предварительная подготовка
	{
		switch(CUTC.getIOper()) //какая операция выполняется 0 - при старте
		{
			case 0: //опускаем PINP при необходимости
			if(!PINP.isMotion()) 
			{
				CUTC.setIOper(1);  
				PINP.setMovDown();

				if(PINP.startTask()==1)
				break;   
			}
			else{
				break;
			}

			case 1: //производим движение в точку откуда будет происходить рабочее движение отруба
			if(!DRIVEY.isMotion()
			&&PINP.isDown()
			&&!DRIVEY.isActiv())
			{
				DRIVEY.setNamePad("fast");
				DRIVEY.setKSpeed(1.0);

				DRIVEY.runMovAbs(-90,0,0);
				CUTC.setIOper(3)
			}
			break;		

			case 3: //завершили движение и значит завершили подготовку
			if(!DRIVEY.isMotion()			
			&&!DRIVEY.isActiv())
			{
				SCRIPT.console("updateCUTC(preCutTask) complete")        
				CUTC.setFinished()
			}
			break;
		}
	}
	else  if(CUTC.getTaskTypeStr()=="cutTask")
	{
		switch(CUTC.getIOper())
		{
			case 0: //опускаем PINP при необходимости
			if(!PINP.isMotion())
			{
				CUTC.setIOper(1);  
				PINP.setMovDown();

				if(PINP.startTask()==1)
				break;   
			}
			else{
				break;
			}

			case 1: //производим движение в точку откуда будет происходить рабочее движение отруба
			if(!DRIVEY.isMotion()
			&&PINP.isDown()
			&&!DRIVEY.isActiv())
			{
				DRIVEY.setNamePad("fast");
				DRIVEY.setKSpeed(1.0);

				DRIVEY.runMovAbs(-90,0,0);
				CUTC.setIOper(10)
			}
			break;

			case 10: //производим рабочий ход рубки
			if(!DRIVEY.isMotion()
			&&!DRIVEY.isActiv()
			&&PINP.isDown())
			{
				DRIVEY.setMainPad();
				DRIVEY.setKSpeed(1.0);

				DRIVEY.runMovAbs(-155,720,0);
				CUTC.setIOper(2)
			}
			break;

			case 2: //возвращаемся в начальное положение
			if(!DRIVEY.isMotion()
			&&!DRIVEY.isActiv())
			{			
				CUTC.setCutted() //установили флаг что отрубили
				
				DRIVEY.setNamePad("fast");

				DRIVEY.runMovAbs(-90,0,0);
				CUTC.setIOper(3)
			}
			break;

			case 3: //завершили движение и значит завершили подготовку
			if(!DRIVEY.isMotion()			
			&&!DRIVEY.isActiv())
			{
				SCRIPT.console("updateCUTC(cutTAsk) complete")        
				CUTC.setFinished()
			}
			break;
		}
	}
}

Правка счётчиков и инструмента не из меню

Для правки нажимаем на нужный счётчик или колонку инструмента

3 корректора радиусного элемента

Был добавлен один корректор радиусного элемента – корректор радиуса.

Радиус (красная стрелка) – правка радиуса элемента

Угол (фиолетовая стрелка) – правка угла происходит за счёт увеличения подачи радиусного элемента (с сохранением фактического радиуса)

Спираль (жёлтая стрелка) – правка спиральности (вращения вокруг проволоки)

Для инструментов оставлена одна таблица соответствия угла поворота Y – углу загиба

При радиусных элементах используется эта таблица. Также можно явно задавать положение гибки (для любого типа элемента). – Это доступно и в прежних версиях.

Например

“bp 10” – bend position 10

На bp влияет корректор радиуса у радиусного элемента