Поворотная ось (статуэтки, балясины).

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Поворотная ось (статуэтки, балясины).

Сообщение solo »

Попробуй выполнить программу или мди
G1X25A0F999
G1X26A360F999
И посмотри какая в данный момент скорость на оси А. У меня она имеет мах значение которое заложено в ини файле только в мм\сек.(40)
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Поворотная ось (статуэтки, балясины).

Сообщение nkp »

запустил - посмотрел...
solo писал(а):скорость на оси А
а что значит посмотреть скорость на оси А ???
скорости расчитываются для всех осей сразу чтоб успеть переместиться в расчетную точку
если какая то ось медленная - то о неё и будут плясать все остальные
а как иначе???
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Поворотная ось (статуэтки, балясины).

Сообщение solo »

Я точно не помню как этот пин называется в хал метре но мне кажется что это пин отражает именно ту скорость с которой в данный момент вращается ось
-axis.3.joint-vel-cmd
И если выполнять программу как выше то с мне кажется что данная скорость должна быль около 16 приF999, а не 40 ( F2400) :cheesy: как у меня с данной проблемой.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Поворотная ось (статуэтки, балясины).

Сообщение nkp »

solo писал(а):как у меня с данной проблемой.
как по мне - проблемы нет ;)
сейчас поставил моксимальную - 16 вместо 40
ну и соответственно - получил 16
а там можем ставить F хоть 5000 - но больше 16 одна ось не может поехать - значит обрезаем остальные
поставить вместо 40 - больше - будет больше
если допустим по X скорость окажеться меньше - то думаю по X будет обрезать...
чем это мешает в работе???
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Поворотная ось (статуэтки, балясины).

Сообщение solo »

Проблема заключается в том что при загрузке каждой управляющей проги необходимо корректировать мах скорость поворотной оси в ини , а если в программе встретися
G..... A0
G0A36000
то выполнение данно строки с F15 займет :stepper:
Я сдесь встречал и FAQ и http://cnc-club.ru/forum/viewtopic.php? ... 3&start=80 темы в которой обсуждался ворос управление с помошу "пинопараметр" или "пинопеременных" может можно использовать данную идею применительно к поворотной оси :thinking: но пока полностью не вкурил все что там написано внимательно читаю пояснялку от "Ворон226 "
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Поворотная ось (статуэтки, балясины).

Сообщение nkp »

solo писал(а):при загрузке каждой управляющей проги необходимо корректировать
а если настройки выбрать оптимальные - а для "чужих" программок сделать постпроцессор
ну как бы любые программы не всегда подходят к любым станкам (в смысле - даже если станки одного типа)
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Поворотная ось (статуэтки, балясины).

Сообщение solo »

Я пока в том что здесь разжовано и по много раз в разных вариантах описано не разобрался, а с такими "постпроцесорами" .... для меня это вощее?! :thinking:
САМ пользуюсь VisualMill :cheesy:
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Поворотная ось (статуэтки, балясины).

Сообщение nkp »

solo писал(а):САМ пользуюсь VisualMill
по моему для емс там даже есть готовые постпроцессоры
а подправить под свою конфигурацию думаю будет не сложно ;)

Код: Выделить всё

//This file is Visual Mill Post-Processor Macro File
//**************************************************************************************************
// Created by Post-Processor Generator
//**************************************************************************************************


//--------------------------------------------------------------------------------------------------
// INFORMATION SECTION
//--------------------------------------------------------------------------------------------------
INFORMATION_Version = 3.000
INFORMATION_MacroVersion = 1.020


//--------------------------------------------------------------------------------------------------
// GENERAL DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
GENERAL_Extension = txt
GENERAL_StartReadingChar = %
GENERAL_StopReadingChar = %
GENERAL_UseSequencNo = 1
GENERAL_PrefixLetter = N
GENERAL_Increment = 1
GENERAL_SequenceStartNo = 1
GENERAL_ShowLeadingZeros = 0
GENERAL_LeadingZerosNumOfDigit = 4
GENERAL_Mode = 0
GENERAL_AbsCode = G90
GENERAL_IncCode = G91
GENERAL_AbsCenterCode = G92
GENERAL_Units = 1
GENERAL_InchCode = G20
GENERAL_MetricCode = G21
GENERAL_ModalGCode = 1
GENERAL_ModalXYZ = 1
GENERAL_ModalFeedrate = 1
GENERAL_ModalSpindle = 1
GENERAL_Delimiter = 1
GENERAL_UserDefinedDelimiter = ,
GENERAL_EndBlockCharacter = 
GENERAL_OutputPlusSign = 0
GENERAL_CommentOutput = 1
GENERAL_CommentStartChar = (
GENERAL_CommentEndChar = )
GENERAL_CommentSequenceMode = 0
GENERAL_XRegister = X
GENERAL_YRegister = Y
GENERAL_ZRegister = Z


//--------------------------------------------------------------------------------------------------
// MOTION DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
MOTION_BlockPrefix = 
MOTION_LinearMotionCode = G1
MOTION_RapidMotionCode = G0
MOTION_BlockPostfix = 
MOTION_Order = 0
MOTION_RapidFormat = 1
MOTION_ScaleFactorX = 1.000000
MOTION_ScaleFactorY = 1.000000
MOTION_ScaleFactorZ = 1.000000
MOTION_NumOfDecimalPlaces = 5
MOTION_LinearBlock = [G_CODE][DELIMITER][NEXT_X][DELIMITER][NEXT_Y][DELIMITER][NEXT_Z]
MOTION_ShowMotionTrailingZeros = 0
MOTION_RapidBlockStart
[G_CODE][DELIMITER][NEXT_Z]

[DELIMITER][NEXT_X][DELIMITER][NEXT_Y]
MOTION_RapidBlockEnd


//--------------------------------------------------------------------------------------------------
// CIRCLE DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
CIRCLE_ClockwiseArcCode = G02
CIRCLE_CClockwiseArcCode = G03
CIRCLE_XYPlaneCode = G17
CIRCLE_YZPlaneCode = G19
CIRCLE_ZXPlaneCode = G18
CIRCLE_BlockXYStart
[CIR_PLANE]

[G_CODE][DELIMITER][NEXT_X][DELIMITER][NEXT_Y][DELIMITER][NEXT_Z][DELIMITER][NEXT_I][DELIMITER][NEXT_J][DELIMITER][NEXT_K][DELIMITER][NEXT_R]
CIRCLE_BlockXYEnd
CIRCLE_BlockZXStart
[CIR_PLANE]

[G_CODE][DELIMITER][NEXT_X][DELIMITER][NEXT_Y][DELIMITER][NEXT_Z][DELIMITER][NEXT_I][DELIMITER][NEXT_J][DELIMITER][NEXT_K][DELIMITER][NEXT_R]
CIRCLE_BlockZXEnd
CIRCLE_BlockYZStart
[CIR_PLANE]

[G_CODE][DELIMITER][NEXT_X][DELIMITER][NEXT_Y][DELIMITER][NEXT_Z][DELIMITER][NEXT_I][DELIMITER][NEXT_J][DELIMITER][NEXT_K][DELIMITER][NEXT_R]
CIRCLE_BlockYZEnd
CIRCLE_ArcCenterCoordinate = 0
CIRCLE_Modal = 0
CIRCLE_Format = 0
CIRCLE_SignedRadius = 0
CIRCLE_SwitchPlanes = 2
CIRCLE_LimitArcs = 0
CIRCLE_LimitAngle = 180.000000
CIRCLE_IRegister = I
CIRCLE_JRegister = J
CIRCLE_KRegister = K
CIRCLE_RRegister = R


//--------------------------------------------------------------------------------------------------
// HELIXSPIRAL DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
HELIXSPIRAL_ClockwiseArcCodeHelix = 
HELIXSPIRAL_CClockwiseArcCodeHelix = 
HELIXSPIRAL_ClockwiseArcCodeSpiral = 
HELIXSPIRAL_CClockwiseArcCodeSpiral = 
HELIXSPIRAL_BlockXYHelixStart

HELIXSPIRAL_BlockXYHelixEnd
HELIXSPIRAL_BlockZXHelixStart

HELIXSPIRAL_BlockZXHelixEnd
HELIXSPIRAL_BlockYZHelixStart

HELIXSPIRAL_BlockYZHelixEnd
HELIXSPIRAL_BlockXYSpiralStart

HELIXSPIRAL_BlockXYSpiralEnd
HELIXSPIRAL_BlockZXSpiralStart

HELIXSPIRAL_BlockZXSpiralEnd
HELIXSPIRAL_BlockYZSpiralStart

HELIXSPIRAL_BlockYZSpiralEnd


//--------------------------------------------------------------------------------------------------
// 4AXIS MOTION DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
GENERALMOTION_ClockwiseRotation = -
GENERALMOTION_CClockwiseRotation = 
GENERALMOTION_Aaxis = A
GENERALMOTION_Baxis = B
GENERALMOTION_Caxis = C
GENERALMOTION_ScaleFactor = 57.295779513082
GENERALMOTION_ShowTrailingZeros = 0
GENERALMOTION_NumOfDecimalPlaces = 1
GENERALMOTION_LinearBlockStart
[LINEAR][DELIMITER][NEXT_X][DELIMITER][NEXT_Y][DELIMITER][NEXT_Z][DELIMITER][ROTATION_AXIS][ROTATION_DIR][ANGLE][DELIMITER][FEEDRATE_CODE][ROTATION_FEEDVALUE]
GENERALMOTION_LinearBlockEnd
GENERALMOTION_RapidBlockStart
[RAPID][DELIMITER][NEXT_X][DELIMITER][NEXT_Y][DELIMITER][NEXT_Z][DELIMITER][ROTATION_AXIS][ROTATION_DIR][ANGLE][DELIMITER][FEEDRATE_CODE][ROTATION_FEEDVALUE]
GENERALMOTION_RapidBlockEnd


//--------------------------------------------------------------------------------------------------
// SPINDLE DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
SPINDLE_BlockPrefix = 
SPINDLE_Code = S
SPINDLE_BlockPostfix = 
SPINDLE_ClockwiseRotationCode = M3
SPINDLE_CClockwiseRotationCode = M4
SPINDLE_OffCode = M5
SPINDLE_HighValue = 10000.000000
SPINDLE_LowValue = 0.000000
SPINDLE_ScaleFactor = 1.000000
SPINDLE_NumOfDecimalPlaces = 0
SPINDLE_Block = [SPINDLE_CODE][SPINDLE_SPD][DELIMITER][SPINDLE_ARC]
SPINDLE_ShowSpindleTrailingZeros = 0


//--------------------------------------------------------------------------------------------------
// FEEDRATE DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
FEEDRATE_BlockPrefix = 
FEEDRATE_Code = F
FEEDRATE_BlockPostfix = 
FEEDRATE_HighValue = 7620.000000
FEEDRATE_LowValue = 10.000005
FEEDRATE_ScaleFactor = 1.000000
FEEDRATE_NumOfDecimalPlaces = 1
FEEDRATE_Block = [FEEDRATE_CODE][FEEDRATE]
FEEDRATE_OutputPlace = 1
FEEDRATE_ShowTrailingZeros = 0
FEEDRATE_FeedScaleFactor = 1.000000
FEEDRATE_FeedShowTrailingZeros = 0
FEEDRATE_FeedNumOfDecimalPlaces = 1
FEEDRATE_ZScaleFactor = 1.000000


//--------------------------------------------------------------------------------------------------
// MISCELLANEOUS DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
MISCELLANEOUS_CoolantOff = M09
MISCELLANEOUS_CoolantOn = M08
MISCELLANEOUS_CoolantMist = M07
MISCELLANEOUS_CoolantFlood = M08
MISCELLANEOUS_CoolantThru = M50
MISCELLANEOUS_CoolantTap = M51
MISCELLANEOUS_CompensationOff = G40
MISCELLANEOUS_CompensationLeft = G41
MISCELLANEOUS_CompensationRight = G42
MISCELLANEOUS_CompensationLength = G43


//--------------------------------------------------------------------------------------------------
// STARTUP DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
STARTUP_ProgramCodeStart
[START_CHAR]

[SEQ_PRECHAR][SEQNUM][DELIMITER]G17[DELIMITER][OUTPUT_UNITS_CODE][DELIMITER]G40[DELIMITER][OUTPUT_MODE_CODE][DELIMITER]
STARTUP_ProgramCodeEnd


//--------------------------------------------------------------------------------------------------
// TOOLCHANGE DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
TOOLCHANGE_AdjustRegister = H
TOOLCHANGE_FirstMacroStart
[SEQ_PRECHAR][SEQNUM][DELIMITER]T[TOOL_NUM] M06
TOOLCHANGE_FirstMacroEnd
TOOLCHANGE_MacroStart
[SEQ_PRECHAR][SEQNUM][DELIMITER]T[TOOL_NUM] M06
TOOLCHANGE_MacroEnd
TOOLCHANGE_CutComLeftStart
G41
TOOLCHANGE_CutComLeftEnd
TOOLCHANGE_CutComRightStart
G42
TOOLCHANGE_CutComRightEnd
TOOLCHANGE_CutComOffStart
G40
TOOLCHANGE_CutComOffEnd


//--------------------------------------------------------------------------------------------------
// CYCLES DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
CYCLES_DrillDwell = G82
CYCLES_DrillNoDwell = G81
CYCLES_Deep = G83
CYCLES_BreakChip = 
CYCLES_CounterSink = G82
CYCLES_TapClockwise = 
CYCLES_TapCClockwise = 
CYCLES_BoreDragDwell = G89
CYCLES_BoreDragNoDwell = G85
CYCLES_BoreNoDragDwellOrient = 
CYCLES_BoreNoDragDwellNoOrient = G86
CYCLES_BoreNoDragNoDwellOrient = 
CYCLES_BoreNoDragNoDwellNoOrient = G86
CYCLES_BoreManualDwell = G87
CYCLES_BoreManualNoDwell = G87
CYCLES_BoreReverseDwell = G88
CYCLES_BoreReverseNoDwell = G88
CYCLES_CycleOff = G80
CYCLES_RigidTapClockwise = T00
CYCLES_RigidTapCClockwise = T01
CYCLES_UDDrill01 = 
CYCLES_UDDrill02 = 
CYCLES_UDTap01 = 
CYCLES_UDTap02 = 
CYCLES_UDBore01 = 
CYCLES_UDBore02 = 
CYCLES_UDRBore01 = 
CYCLES_UDRBore02 = 
CYCLES_ScaleFactor = 1.000000
CYCLES_Optimize = 0
CYCLES_FeedrateRegister = F
CYCLES_IncRegister = Q
CYCLES_DwellRegister = P
CYCLES_ClearRegister = R
CYCLES_OrientRegister = Q
CYCLES_DrillDwellCodeStart
[SEQ_PRECHAR][SEQNUM][DELIMITER][OUTPUT_UNITS_CODE][SPINDLE_BLK]

[SEQ_PRECHAR][SEQNUM][DELIMITER][G_CODE][DELIMITER]X[NEXT_NONMDL_X][DELIMITER]Y[NEXT_NONMDL_Y][DELIMITER]Z[CYCL_Z-DEPTH][DELIMITER]R[CYCL_Z+CLEAR][DELIMITER]P[CYCL_SCALED_DWELL][DELIMITER]F[CYCL_IPM]
CYCLES_DrillDwellCodeEnd
CYCLES_DrillNoDwellCodeStart
[SEQ_PRECHAR][SEQNUM][DELIMITER][OUTPUT_UNITS_CODE][SPINDLE_BLK]

[SEQ_PRECHAR][SEQNUM][DELIMITER][G_CODE][DELIMITER]X[NEXT_NONMDL_X][DELIMITER]Y[NEXT_NONMDL_Y][DELIMITER]Z[CYCL_Z-DEPTH][DELIMITER]R[CYCL_Z+CLEAR][DELIMITER]F[CYCL_IPM]
CYCLES_DrillNoDwellCodeEnd
CYCLES_DeepCodeStart
[SEQ_PRECHAR][SEQNUM][DELIMITER][OUTPUT_UNITS_CODE][SPINDLE_BLK]

[SEQ_PRECHAR][SEQNUM][DELIMITER][G_CODE][DELIMITER]X[NEXT_NONMDL_X][DELIMITER]Y[NEXT_NONMDL_Y][DELIMITER]Z[CYCL_Z-DEPTH][DELIMITER]R[CYCL_Z+CLEAR][DELIMITER]Q[CYCL_INCR][DELIMITER]F[CYCL_IPM]
CYCLES_DeepCodeEnd
CYCLES_BreakChipCodeStart
[SEQ_PRECHAR][SEQNUM][OUTPUT_UNITS_CODE][SPINDLE_BLK]

[SEQ_PRECHAR][SEQNUM][G_CODE]X[NEXT_NONMDL_X]Y[NEXT_NONMDL_Y]Z[CYCL_Z-DEPTH]R[CYCL_Z+CLEAR]F[CYCL_IPM]Q[CYCL_INCR]
CYCLES_BreakChipCodeEnd
CYCLES_TapCWCodeStart
[SEQ_PRECHAR][SEQNUM][OUTPUT_UNITS_CODE][SPINDLE_BLK]

[SEQ_PRECHAR][SEQNUM]G95[G_CODE]X[NEXT_NONMDL_X]Y[NEXT_NONMDL_Y]Z[CYCL_Z-DEPTH]R[CYCL_Z+CLEAR]F[CYCL_1/TPI]
CYCLES_TapCWCodeEnd
CYCLES_CounterSinkCodeStart
[SEQ_PRECHAR][SEQNUM][OUTPUT_UNITS_CODE][SPINDLE_BLK]

[SEQ_PRECHAR][SEQNUM][G_CODE]X[NEXT_NONMDL_X]Y[NEXT_NONMDL_Y]Z[CYCL_CSINK_DEPTH]R[CYCL_Z+CLEAR]P[CYCL_SCALED_DWELL]F[CYCL_IPM]
CYCLES_CounterSinkCodeEnd
CYCLES_TapCCWodeStart
[SEQ_PRECHAR][SEQNUM][OUTPUT_UNITS_CODE][SPINDLE_BLK]

[SEQ_PRECHAR][SEQNUM]G95[G_CODE]X[NEXT_NONMDL_X]Y[NEXT_NONMDL_Y]Z[CYCL_Z-DEPTH]R[CYCL_Z+CLEAR]F[CYCL_1/TPI]
CYCLES_TapCCWodeEnd
CYCLES_BoreDragDwellCodeStart
[SEQ_PRECHAR][SEQNUM][DELIMITER][OUTPUT_UNITS_CODE][SPINDLE_BLK]

[SEQ_PRECHAR][SEQNUM][DELIMITER][G_CODE][DELIMITER]X[NEXT_NONMDL_X][DELIMITER]Y[NEXT_NONMDL_Y][DELIMITER]Z[CYCL_Z-DEPTH][DELIMITER]R[CYCL_Z+CLEAR][DELIMITER]P[CYCL_SCALED_DWELL][DELIMITER]F[CYCL_IPM]
CYCLES_BoreDragDwellCodeEnd
CYCLES_BoreDragNoDwellCodeStart
[SEQ_PRECHAR][SEQNUM][DELIMITER][OUTPUT_UNITS_CODE][SPINDLE_BLK]

[SEQ_PRECHAR][SEQNUM][DELIMITER][G_CODE][DELIMITER]X[NEXT_NONMDL_X][DELIMITER]Y[NEXT_NONMDL_Y][DELIMITER]Z[CYCL_Z-DEPTH][DELIMITER]R[CYCL_Z+CLEAR][DELIMITER]F[CYCL_IPM]
CYCLES_BoreDragNoDwellCodeEnd
CYCLES_BoreNoDragDOCodeStart
[SEQ_PRECHAR][SEQNUM][OUTPUT_UNITS_CODE][SPINDLE_BLK]

[SEQ_PRECHAR][SEQNUM][G_CODE]X[NEXT_NONMDL_X]Y[NEXT_NONMDL_Y]Z[CYCL_Z-DEPTH]R[CYCL_Z+CLEAR]F[CYCL_IPM]Q[CYCL_ORIENT]
CYCLES_BoreNoDragDOCodeEnd
CYCLES_BoreNoDragDNOCodeStart
[SEQ_PRECHAR][SEQNUM][OUTPUT_UNITS_CODE][SPINDLE_BLK]

[SEQ_PRECHAR][SEQNUM][G_CODE]X[NEXT_NONMDL_X]Y[NEXT_NONMDL_Y]Z[CYCL_Z-DEPTH]R[CYCL_Z+CLEAR]F[CYCL_IPM]L[CYCL_DWELL]
CYCLES_BoreNoDragDNOCodeEnd
CYCLES_BoreNoDragNDOCodeStart
[SEQ_PRECHAR][SEQNUM][OUTPUT_UNITS_CODE][SPINDLE_BLK]

[SEQ_PRECHAR][SEQNUM][G_CODE]X[NEXT_NONMDL_X]Y[NEXT_NONMDL_Y]Z[CYCL_Z-DEPTH]R[CYCL_Z+CLEAR]F[CYCL_IPM]Q[CYCL_ORIENT]
CYCLES_BoreNoDragNDOCodeEnd
CYCLES_BoreNoDragNDNOCodeStart
[SEQ_PRECHAR][SEQNUM][OUTPUT_UNITS_CODE][SPINDLE_BLK]

[SEQ_PRECHAR][SEQNUM][G_CODE]X[NEXT_NONMDL_X]Y[NEXT_NONMDL_Y]Z[CYCL_Z-DEPTH]R[CYCL_Z+CLEAR]F[CYCL_IPM]L[CYCL_DWELL]
CYCLES_BoreNoDragNDNOCodeEnd
CYCLES_BoreManualDwellCodeStart
[SEQ_PRECHAR][SEQNUM][OUTPUT_UNITS_CODE][SPINDLE_BLK]

[SEQ_PRECHAR][SEQNUM][G_CODE]X[NEXT_NONMDL_X]Y[NEXT_NONMDL_Y]Z[CYCL_Z-DEPTH]R[CYCL_Z+CLEAR]F[CYCL_IPM]L[CYCL_DWELL]
CYCLES_BoreManualDwellCodeEnd
CYCLES_BoreManualNoDwellCodeStart
[SEQ_PRECHAR][SEQNUM][OUTPUT_UNITS_CODE][SPINDLE_BLK]

[SEQ_PRECHAR][SEQNUM][G_CODE]X[NEXT_NONMDL_X]Y[NEXT_NONMDL_Y]Z[CYCL_Z-DEPTH]R[CYCL_Z+CLEAR]F[CYCL_IPM]L[CYCL_DWELL]
CYCLES_BoreManualNoDwellCodeEnd
CYCLES_BoreReverseDwellCodeStart
[SEQ_PRECHAR][SEQNUM][OUTPUT_UNITS_CODE][SPINDLE_BLK]

[SEQ_PRECHAR][SEQNUM][G_CODE]X[NEXT_NONMDL_X]Y[NEXT_NONMDL_Y]Z[CYCL_Z-DEPTH]R[CYCL_Z+CLEAR]P[CYCL_SCALED_DWELL]F[CYCL_IPM]
CYCLES_BoreReverseDwellCodeEnd
CYCLES_BoreReverseNoDwellCodeStart
[SEQ_PRECHAR][SEQNUM][OUTPUT_UNITS_CODE][SPINDLE_BLK]

[SEQ_PRECHAR][SEQNUM][G_CODE]X[NEXT_NONMDL_X]Y[NEXT_NONMDL_Y]Z[CYCL_Z-DEPTH]R[CYCL_Z+CLEAR]P[CYCL_SCALED_DWELL]F[CYCL_IPM]
CYCLES_BoreReverseNoDwellCodeEnd
CYCLES_RigidTapClockwiseCodeStart
CYCLES_RigidTapClockwiseCodeEnd
CYCLES_RigidTapCClockwiseCodeStart
CYCLES_RigidTapCClockwiseCodeEnd
CYCLES_UDDrill01CodeStart

CYCLES_UDDrill01CodeEnd
CYCLES_UDDrill02CodeStart

CYCLES_UDDrill02CodeEnd
CYCLES_UDTap01CodeStart

CYCLES_UDTap01CodeEnd
CYCLES_UDTap02CodeStart

CYCLES_UDTap02CodeEnd
CYCLES_UDBore01CodeStart

CYCLES_UDBore01CodeEnd
CYCLES_UDBore02CodeStart

CYCLES_UDBore02CodeEnd
CYCLES_UDRBore01CodeStart

CYCLES_UDRBore01CodeEnd
CYCLES_UDRBore02CodeStart

CYCLES_UDRBore02CodeEnd
CYCLES_CycleOffCodeStart
[SEQ_PRECHAR][SEQNUM][DELIMITER][G_CODE]
CYCLES_CycleOffCodeEnd


//--------------------------------------------------------------------------------------------------
// END DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
END_ProgramCodeStart
[SEQ_PRECHAR][SEQNUM][DELIMITER]M30

[STOP_CHAR]
END_ProgramCodeEnd

nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Поворотная ось (статуэтки, балясины).

Сообщение nkp »

вот здесь на подобный вопрос есть ответ (можно почитать всю ветку)
и здесь
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Поворотная ось (статуэтки, балясины).

Сообщение solo »

спасибо за подсказки буду дерзать. :thinking: но с ангийским туго :hammer: гугел в помоч.
Но меня всетаки не покидает надежда доработать ЕМС так как мне хочетсяг
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Поворотная ось (статуэтки, балясины).

Сообщение Nick »

насколько я понял проблема была в том, что если написать
G01 X100 A100 F100
станок ехал с небольшой скоростью, а если
G01 A100 F100
станок летел с максимальной скоростью по A.

Или я что-то не правильно понял?
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Поворотная ось (статуэтки, балясины).

Сообщение solo »

если мы задаем перемещение только по А на пример G1A360F999 то станок отрабатыват команду нормально
если мы задаем в программе
x25A0
G1X26A360F999
то при выполнении последней строки когда станку необходимо выполнить перемещение по двум координатам то получается, что в этом случае поворотная начинает врачатся с максимальной скоростью :tongue: которая заданна в конфигурации оси, а не с заданной скоростью "F" из Ж кода.
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Поворотная ось (статуэтки, балясины).

Сообщение solo »

Для частичного решения проблемы (смотри выше) появилась идея незначительной доработки хел
Есть у нас два пина
1)axis.3.joint-vel-cmd текущая скорость поворотной оси
2) motion.current-vel заданная скорость F которая установленная с программы
Если мы с абсолютных величины пин0 вычесть пин1 и результат получится меньше какого то установленного значения то это значит, что поворотную ось надо тормозить. Если данное событие не наступает то ЕМС работает в с установленной первоначально конфигурацией.
Или другими словами если поворотная ось работает на большей скорости чем в Ж коде то ее МАХ скорость становится равной заданной Ж кодом.
Дописываю в хел

Код: Выделить всё


loadrt abs count=1
loadrt comp count=1

addf comp.0 servo-thread
addf abs.0 servo-thread

net aabs abs.0.in axis.3.joint-vel-cmd 

setp comp.0.hyst5.0
net vaaxis comp.0.in0 abs.0.out
net vmot comp.0.in1 motion.current-vel 
net alimup comp.0.out halui.max-velocity.increase 
net alimdn comp.0.equal halui.max-velocity.decrease
Прошу подсказать будет ли это работать, :wik: а то я с своими экспериментами заморился переустанавливать Lcnc (другого способа востановления работоспособности системы пока не освоил) :oops:
Последний раз редактировалось solo 22 фев 2013, 18:25, всего редактировалось 1 раз.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Поворотная ось (статуэтки, балясины).

Сообщение Nick »

эммм странно... надо попробовтаь
solo писал(а):Прошу подсказать будет ли это работать, а то я с своими экспериментами заморился переустанавливать Lcnc (другого способа востановления работоспособности системы пока не освоил)
А зачем переустанавливать??? Ты же только конфиг своего станка меняешь? Тем более его можно просто в отдельную папку скопировать и там извращаться.
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Поворотная ось (статуэтки, балясины).

Сообщение solo »

Nick писал(а):А зачем переустанавливать??? Ты же только конфиг своего станка меняешь? Тем более его можно просто в отдельную папку скопировать и там извращаться.
А я иногда с своими эксперементами получаю такое, :idiot: что приводит к зависанию ЕМС и как правело после этого Убинта :tongue: у меня не грузится короче я чайник :monkey: но надеюсь не много, постепенно подучится благодаря форуму.
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Поворотная ось (статуэтки, балясины).

Сообщение solo »

попробовал изменения к хел не работает , буду думать дальше.
MihailCarib
Новичок
Сообщения: 19
Зарегистрирован: 22 июл 2013, 15:31
Репутация: 0
Контактная информация:

Re: Поворотная ось (статуэтки, балясины).

Сообщение MihailCarib »

Здравствуйте уважаемые! Перешел на ЕМЦ с Мача, ну в основном по причине той же проблемы - различная скорость по линейным и ангулярным осям.
Так там (В маче) проблема решена вводом коррекции скорости поворотной оси по радиусу. Т.е. есть окошко, в котором надо ввести радиус заготовки, в зависимости от этого мач вычисляет коэффициент, на который домножает текущую скорость привода. В результате резать получается хорошо, но где-то у них в программе ошибка и при холостом ходе по линейным осям не учитываются ограничения скоростей линейных осей... В общем, если заготовка малого диаметра, все ОК, если большого - пропуски при холостых перемещениях. Я с ЕМЦ только начинаю, подскажите, опытные, может попробовать как-то тоже сделать радиусную коррекцию?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Поворотная ось (статуэтки, балясины).

Сообщение Nick »

В каком смысле радиусную коррекцию? Не совсем понял, на что она должна влиять?
И как у тебя выглядит Gкод?
MihailCarib
Новичок
Сообщения: 19
Зарегистрирован: 22 июл 2013, 15:31
Репутация: 0
Контактная информация:

Re: Поворотная ось (статуэтки, балясины).

Сообщение MihailCarib »

В смысле так: Есть заданная скорость резания, допустим 600мм/мин. Линейные оси с такой скоростью и двигаются, снимая в секунду объем материала N с заготовки. Скорость движения поворотной оси имеет размерность не мм/мин, а град/мин. В маче сделано так, что если есть код
G01 X0.000 Y0.0000 Z34.0000 A0.000 F300.
Z30.0000 A0.000
Y2.0000 A-360.000 F600.
Y4.0000 A0.000
то со скоростью F600 изменяется и XYZ и А, т.е. получается 600 град/мин. Теперь, если у меня фреза поднята над осью заготовки на 10 мм (не придирайтесь к цифрам, не считал, просто для примера) и снимает материал на оборотах(поворотной оси) 600град/мин, то она обеспечивает заданный съем материала N за секунду. А если заготовка большим радиусом, а фреза стоит, скажем, на 50 мм от центра оси, то при тех же оборотах 600град/мин, съем будет гораздо больше, пропорционально отношению длин окружности заготовки (ну т.е. отношению диаметров). Без коррекции - результат плачевный, есть подача на зуб фрезы, которую она не может прожевать на большой заготовке и по мере уменьшения подача может упасть ниже допустимой.
Что делает МАЧ: он знает, что скорость 600 мм/мин обеспечивается при диаметре заготовки 10мм (условно). Получает длину окружности L1. Просит пользователя ввести диаметр заготовки, получает длину окружности L2. Делит L2/L1=n, где n - радиусный коэффициет. Далее он не правит сам G- код, а при команде, допустим
Y2.0000 A-360.000 F600.
выставляет на ось Y ограничение по скорости 600 мм/мин, а на ось А - "600/n" град/мин. Причем при уменьшении диаметра обработки (опускании фрезы) автоматически изменение радиуса не учитывается, но если вручную поменять диаметр заготовки без остановки программы - при следующей строчке кода с указанием на скорость он пересчитается.
И все были бы довольны. Но где-то это не совсем корректно работает на ХХ.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Поворотная ось (статуэтки, балясины).

Сообщение Nick »

Можно вот как хитро поступить - завести пин положения по оси Y на пин feedoverride - тогда скорость подачи будет сама уменьшаться пророцционально диаметру...

Ну или ограничивать скорость по оси A параметрами... хотя... так наверное не выйдет - этипараметры меняются в компоненте motion, т.е. планировщике траекторий, а этот компонент загружается при загрузке LinuxCNC.
Но вот с feedoverride - это выход... но правда, там тоже будут ньансы...
Ответить

Вернуться в «LinuxCNC»