aleksandr999 0 #1 Дата: 05.09.2013 10:10 (изменено) Всем доброго дня. Имею в штате несколько станков с ЧПУ с контроллером Kflop Самые первые контролеры (2шт) построил на базе Kflop и Kanalog. Все работало без проблем и можно сказать я был доволен как слон. Работаю из под KMotionCNC. Затем решил сделать апгрейд на других станках, но используя только Kflop. Казалось бы все проще простого, один Kflop и просто шаговики. В результате я столкнулся с огромными 2мя проблемами: 1.Станок останавливается во время работы и выдает следующее сообщение В результате заготовка потерянна(((( Этот "перл" контроллер выкидывает только на файлах больших размеров! Где общее время работы превышает 4 и более часа. прикол в том, что этот глюк вылезает в одном и том же месте на разных 2х станках! На станке где стоит Kanalog с таким глюком не разу не сталкивался. 2.При переходах от одной зоны обработки к другой, станок теряет все координаты и выезжает за зону рабочего хода(( В результате чего был потерян дорогой японский шпиндель NSK и пару раз вылетали шарики из подшипников (нет сепоратора там ) Эта проблема вообще напрягает сильно. пару раз стоял возле станка и смотрел что он вытворяет, там где происходит сбой. Станок допиливает нужный контур (вектор) затем происходит как бы пауза, строчки кода не бегут!!!!, затем резко станок подрывается черт знает куда ( в любую сторону) координаты к чертям и продолжает пилить как ни в чем не бывало или воздух или оснастку(( Бывало что только уходил по оси X а ось Z оставалась в нулях. А бывало что и все оси ............. На фото с правой стороны видно что станок не переместился на часть кольца, а уехал влево и стал пилить нержу(( Что происходит с ним не знаю. ИПБ стоят. Шаговые драйвера ims 483 Компьютер Dell 745 Операционная система Windows XP SP3 Сначала долго грешил на ArtCam (была тут темка про его косяки) Но дело не в нем точно, так как эти глюки вылетали и из под RhinoCam постпроцессоры использовал тоже разные вот те с которыми работаю: ModelMaster 3Axis Mach 3MM На других станках они работают стабильнее не куда)) Где то на форуме Dynomotion читал, мол не использовать флешки - все УП сбрасываются по сети на Хард компьютера - безрезультатно( Пробовал менять версии KMotion CNC: 4.29 4.30 4.31d Из под Mach3 был тоже глюк, не помню какой но был! Дальше уже не стал с ним эксперементировать. Немного о станках: Все шаговые моторы исправные. Все каретки перемещаются плавно, без каких либо там подклиниваний - крутятся от руки без напряга. Пара винт - гайка все идеально. Сбои происходят стабильно на одних и тех же местах! В одних и тех же файлах!!!!!!!!!!! Но эти же файлы на самом примитивном контролере от Geko отрабатываются на ура. Не знаю нужно это или нет для анализа но выкладываю некоторые скрины Здесь думаю все понятно, показывает кол-во импульсов. Во вкладке Position пусто так как без ОС Вкладка IO Ну и настройки самого KMotionCNC Ниже прикрепляю конфигурационный файл. #include "KMotionDef.h"[/size][/font][/color] #define QA 26 // define to which IO bits the AB signals are connected #define QB 27[color=#333333][font=verdana, arial, helvetica, sans-serif][size=2] main() {[/size][/font][/color] ch0->InputMode=NO_INPUT_MODE; ch0->OutputMode=STEP_DIR_MODE; ch0->Vel=12000; ch0->Accel=4e+006; ch0->Jerk=2e+006; ch0->P=1; ch0->I=0; ch0->D=0; ch0->FFAccel=0; ch0->FFVel=0; ch0->MaxI=200; ch0->MaxErr=1e+006; ch0->MaxOutput=200; ch0->DeadBandGain=1; ch0->DeadBandRange=0; ch0->InputChan0=0; ch0->InputChan1=0; ch0->OutputChan0=0; ch0->OutputChan1=0; ch0->MasterAxis=-1; ch0->LimitSwitchOptions=0x0; ch0->InputGain0=1; ch0->InputGain1=1; ch0->InputOffset0=0; ch0->InputOffset1=0; ch0->OutputGain=-1; ch0->OutputOffset=0; ch0->SlaveGain=1; ch0->BacklashMode=BACKLASH_OFF; ch0->BacklashAmount=0; ch0->BacklashRate=0; ch0->invDistPerCycle=1; ch0->Lead=0; ch0->MaxFollowingError=100000; ch0->StepperAmplitude=20;[color=#333333][font=verdana, arial, helvetica, sans-serif][size=2] ch0->iir[0].B0=1; ch0->iir[0].B1=0; ch0->iir[0].B2=0; ch0->iir[0].A1=0; ch0->iir[0].A2=0;[/size][/font][/color] ch0->iir[1].B0=1; ch0->iir[1].B1=0; ch0->iir[1].B2=0; ch0->iir[1].A1=0; ch0->iir[1].A2=0;[color=#333333][font=verdana, arial, helvetica, sans-serif][size=2] ch0->iir[2].B0=0.000768788; ch0->iir[2].B1=0.00153758; ch0->iir[2].B2=0.000768788; ch0->iir[2].A1=1.92076; ch0->iir[2].A2=-0.923833;[/size][/font][/color] EnableAxisDest(0,ch0->Dest);[color=#333333][font=verdana, arial, helvetica, sans-serif][size=2] ch1->InputMode=NO_INPUT_MODE; ch1->OutputMode=STEP_DIR_MODE; ch1->Vel=12000; ch1->Accel=4e+006; ch1->Jerk=2e+006; ch1->P=1; ch1->I=0; ch1->D=0; ch1->FFAccel=0; ch1->FFVel=0; ch1->MaxI=200; ch1->MaxErr=1e+006; ch1->MaxOutput=200; ch1->DeadBandGain=1; ch1->DeadBandRange=0; ch1->InputChan0=1; ch1->InputChan1=0; ch1->OutputChan0=1; ch1->OutputChan1=0; ch1->MasterAxis=-1; ch1->LimitSwitchOptions=0x0; ch1->InputGain0=1; ch1->InputGain1=1; ch1->InputOffset0=0; ch1->InputOffset1=0; ch1->OutputGain=1; ch1->OutputOffset=0; ch1->SlaveGain=1; ch1->BacklashMode=BACKLASH_OFF; ch1->BacklashAmount=0; ch1->BacklashRate=0; ch1->invDistPerCycle=1; ch1->Lead=0; ch1->MaxFollowingError=1000000000; ch1->StepperAmplitude=20;[/size][/font][/color] ch1->iir[0].B0=1; ch1->iir[0].B1=0; ch1->iir[0].B2=0; ch1->iir[0].A1=0; ch1->iir[0].A2=0;[color=#333333][font=verdana, arial, helvetica, sans-serif][size=2] ch1->iir[1].B0=1; ch1->iir[1].B1=0; ch1->iir[1].B2=0; ch1->iir[1].A1=0; ch1->iir[1].A2=0;[/size][/font][/color] ch1->iir[2].B0=0.000769; ch1->iir[2].B1=0.001538; ch1->iir[2].B2=0.000769; ch1->iir[2].A1=1.92081; ch1->iir[2].A2=-0.923885;[color=#333333][font=verdana, arial, helvetica, sans-serif][size=2] EnableAxisDest(1,ch1->Dest);[/size][/font][/color] ch2->InputMode=NO_INPUT_MODE; ch2->OutputMode=STEP_DIR_MODE; ch2->Vel=8000; ch2->Accel=4e+006; ch2->Jerk=2e+006; ch2->P=1; ch2->I=0; ch2->D=0; ch2->FFAccel=0; ch2->FFVel=0; ch2->MaxI=200; ch2->MaxErr=1e+006; ch2->MaxOutput=200; ch2->DeadBandGain=1; ch2->DeadBandRange=0; ch2->InputChan0=2; ch2->InputChan1=0; ch2->OutputChan0=2; ch2->OutputChan1=0; ch2->MasterAxis=-1; ch2->LimitSwitchOptions=0x0; ch2->InputGain0=1; ch2->InputGain1=1; ch2->InputOffset0=0; ch2->InputOffset1=0; ch2->OutputGain=-1; ch2->OutputOffset=0; ch2->SlaveGain=1; ch2->BacklashMode=BACKLASH_OFF; ch2->BacklashAmount=0; ch2->BacklashRate=0; ch2->invDistPerCycle=1; ch2->Lead=0; ch2->MaxFollowingError=1000000000; ch2->StepperAmplitude=20;[color=#333333][font=verdana, arial, helvetica, sans-serif][size=2] ch2->iir[0].B0=1; ch2->iir[0].B1=0; ch2->iir[0].B2=0; ch2->iir[0].A1=0; ch2->iir[0].A2=0;[/size][/font][/color] ch2->iir[1].B0=1; ch2->iir[1].B1=0; ch2->iir[1].B2=0; ch2->iir[1].A1=0; ch2->iir[1].A2=0;[color=#333333][font=verdana, arial, helvetica, sans-serif][size=2] ch2->iir[2].B0=0.000769; ch2->iir[2].B1=0.001538; ch2->iir[2].B2=0.000769; ch2->iir[2].A1=1.92081; ch2->iir[2].A2=-0.923885;[/size][/font][/color] EnableAxisDest(2,ch2->Dest); ch3->InputMode=NO_INPUT_MODE; ch3->OutputMode=STEP_DIR_MODE; ch3->Vel=8000; ch3->Accel=2e+006; ch3->Jerk=1e+006; ch3->P=1; ch3->I=0; ch3->D=0; ch3->FFAccel=0; ch3->FFVel=0; ch3->MaxI=200; ch3->MaxErr=1e+006; ch3->MaxOutput=200; ch3->DeadBandGain=1; ch3->DeadBandRange=0; ch3->InputChan0=3; ch3->InputChan1=0; ch3->OutputChan0=3; ch3->OutputChan1=0; ch3->MasterAxis=-1; ch3->LimitSwitchOptions=0x0; ch3->InputGain0=1; ch3->InputGain1=1; ch3->InputOffset0=0; ch3->InputOffset1=0; ch3->OutputGain=1; ch3->OutputOffset=0; ch3->SlaveGain=1; ch3->BacklashMode=BACKLASH_OFF; ch3->BacklashAmount=0; ch3->BacklashRate=0; ch3->invDistPerCycle=1; ch3->Lead=0; ch3->MaxFollowingError=1000000000; ch3->StepperAmplitude=20;[color=#333333][font=verdana, arial, helvetica, sans-serif][size=2] ch3->iir[0].B0=1; ch3->iir[0].B1=0; ch3->iir[0].B2=0; ch3->iir[0].A1=0; ch3->iir[0].A2=0;[/size][/font][/color] ch3->iir[1].B0=1; ch3->iir[1].B1=0; ch3->iir[1].B2=0; ch3->iir[1].A1=0; ch3->iir[1].A2=0;[color=#333333][font=verdana, arial, helvetica, sans-serif][size=2] ch3->iir[2].B0=0.000769; ch3->iir[2].B1=0.001538; ch3->iir[2].B2=0.000769; ch3->iir[2].A1=1.92081; ch3->iir[2].A2=-0.923885;[/size][/font][/color] EnableAxisDest(3,ch3->Dest);[color=#333333][font=verdana, arial, helvetica, sans-serif][size=2] DefineCoordSystem(0,1,2,3); Изменено 05.09.2013 10:17 пользователем aleksandr999 0 Поделиться сообщением Ссылка на сообщение
alexandr_st 785 #2 Дата: 05.09.2013 10:48 Попробуйте заменить в файле инициализации команды активации осей, например так EnableAxisDest(3,ch3->Dest) на EnableAxis(3); и так для каждой оси 0 Поделиться сообщением Ссылка на сообщение
aleksandr999 0 #3 Дата: 05.09.2013 11:01 Привет Александр. У меня стояло так, как ты написал Менял код вчера, но ночью все произошло опять не так(( 0 Поделиться сообщением Ссылка на сообщение
alexandr_st 785 #4 Дата: 05.09.2013 11:04 А пробовал перед запуском программы симуляцию сперва прогонять? 0 Поделиться сообщением Ссылка на сообщение
aleksandr999 0 #5 Дата: 05.09.2013 11:07 Нет не пробовал. А что то она покажет? 0 Поделиться сообщением Ссылка на сообщение
aleksandr999 0 #6 Дата: 05.09.2013 11:11 Только что прогнал симуляцию. Ошибок не выдал! Файл использовал конкретно, который со знаками зодиака) 0 Поделиться сообщением Ссылка на сообщение
alexandr_st 785 #7 Дата: 05.09.2013 11:20 В планировщике траекторий очень маленький параметр "Collinear Tolerance". У тебя 4*10-5 (=0.00004). Поставь попроще 0.0005. Может еще "lookahead" уменьши на 1-2 сек. 0 Поделиться сообщением Ссылка на сообщение
aleksandr999 0 #8 Дата: 05.09.2013 11:33 "Collinear Tolerance" Я его таким оставил когда с серву настраивал. При более сильном загрублении, станок оставлял мелкие риски на поверхности. Этот параметр влияет на производительность компа? 0 Поделиться сообщением Ссылка на сообщение
alexandr_st 785 #9 Дата: 05.09.2013 11:39 Саш, посмотри в мануале описание этого параметра. Кфлопу надо произвести большой объем вычислений. При длительном Лукахеде, возможно, данным некуда буферизоваться. Может там есть баг у проца на пять знаков после запятой. Оставь на 4 знака. Например 0.0001 0 Поделиться сообщением Ссылка на сообщение
ukr-sasha 311 #10 Дата: 05.09.2013 11:56 Может Тому написать? 0 Поделиться сообщением Ссылка на сообщение
aleksandr999 0 #11 Дата: 05.09.2013 12:01 Тому это сложнее - язык(( нужно было учить лучше. Пока попробую поменять настройки в KMotionCNC Никак не могу понять почему на переходах срывает его? 0 Поделиться сообщением Ссылка на сообщение
ukr-sasha 311 #12 Дата: 05.09.2013 12:31 Глупости. Составляйте вопрос простыми фразами и через переводчик гугла. Я так делал не раз, и понимали друг друга. П.С. Дайте программу, где ошибки, попробую прогнать у себя. 0 Поделиться сообщением Ссылка на сообщение
aleksandr999 0 #13 Дата: 05.09.2013 13:37 Не вопрос, но из последнего там на 7 часов - давать? 0 Поделиться сообщением Ссылка на сообщение
ukr-sasha 311 #14 Дата: 05.09.2013 13:42 Давайте, поставлю на ночь - пусть работает. :-) П.С. Сейчас Кфлоп все равно к станку не подключен. 0 Поделиться сообщением Ссылка на сообщение
aleksandr999 0 #15 Дата: 05.09.2013 13:47 куда отправлять? 0 Поделиться сообщением Ссылка на сообщение
ukr-sasha 311 #16 Дата: 05.09.2013 13:52 ukr-sasha пёсик yandex.ru В этой траектории выпадают две озвученные ошибки? 0 Поделиться сообщением Ссылка на сообщение
ukr-sasha 311 #18 Дата: 05.09.2013 16:35 Запустил, посмотрим, что получится. :) Правда в настройках кфлопа все скорости и ускорения увеличил в 100 раз, и подачу в программе тоже. 0 Поделиться сообщением Ссылка на сообщение
nk_cvetkov 47 #19 Дата: 03.10.2013 06:34 уменьшить ch0->Accel=4e+006; ch0->Jerk=2e+006; на всех каналах 0 Поделиться сообщением Ссылка на сообщение
Alekseich11 6 #20 Дата: 01.11.2017 07:55 Можно поинтересоваться чем закончилась история? Как победили ситуацию? Пару раз выпрыгивали схожие баги. 0 Поделиться сообщением Ссылка на сообщение