Было произведено много изменений в результате чего можно улучшить производительность станка.
Использование сигнала 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 влияет корректор радиуса у радиусного элемента