Поворотная ось (статуэтки, балясины).
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
Попробуй выполнить программу или мди
G1X25A0F999
G1X26A360F999
И посмотри какая в данный момент скорость на оси А. У меня она имеет мах значение которое заложено в ини файле только в мм\сек.(40)
G1X25A0F999
G1X26A360F999
И посмотри какая в данный момент скорость на оси А. У меня она имеет мах значение которое заложено в ини файле только в мм\сек.(40)
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
запустил - посмотрел...
скорости расчитываются для всех осей сразу чтоб успеть переместиться в расчетную точку
если какая то ось медленная - то о неё и будут плясать все остальные
а как иначе???
а что значит посмотреть скорость на оси А ???solo писал(а):скорость на оси А
скорости расчитываются для всех осей сразу чтоб успеть переместиться в расчетную точку
если какая то ось медленная - то о неё и будут плясать все остальные
а как иначе???
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
Я точно не помню как этот пин называется в хал метре но мне кажется что это пин отражает именно ту скорость с которой в данный момент вращается ось
-axis.3.joint-vel-cmd
И если выполнять программу как выше то с мне кажется что данная скорость должна быль около 16 приF999, а не 40 ( F2400) как у меня с данной проблемой.
-axis.3.joint-vel-cmd
И если выполнять программу как выше то с мне кажется что данная скорость должна быль около 16 приF999, а не 40 ( F2400) как у меня с данной проблемой.
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
как по мне - проблемы нетsolo писал(а):как у меня с данной проблемой.
сейчас поставил моксимальную - 16 вместо 40
ну и соответственно - получил 16
а там можем ставить F хоть 5000 - но больше 16 одна ось не может поехать - значит обрезаем остальные
поставить вместо 40 - больше - будет больше
если допустим по X скорость окажеться меньше - то думаю по X будет обрезать...
чем это мешает в работе???
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
Проблема заключается в том что при загрузке каждой управляющей проги необходимо корректировать мах скорость поворотной оси в ини , а если в программе встретися
G..... A0
G0A36000
то выполнение данно строки с F15 займет
Я сдесь встречал и FAQ и http://cnc-club.ru/forum/viewtopic.php? ... 3&start=80 темы в которой обсуждался ворос управление с помошу "пинопараметр" или "пинопеременных" может можно использовать данную идею применительно к поворотной оси но пока полностью не вкурил все что там написано внимательно читаю пояснялку от "Ворон226 "
G..... A0
G0A36000
то выполнение данно строки с F15 займет
Я сдесь встречал и FAQ и http://cnc-club.ru/forum/viewtopic.php? ... 3&start=80 темы в которой обсуждался ворос управление с помошу "пинопараметр" или "пинопеременных" может можно использовать данную идею применительно к поворотной оси но пока полностью не вкурил все что там написано внимательно читаю пояснялку от "Ворон226 "
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
а если настройки выбрать оптимальные - а для "чужих" программок сделать постпроцессорsolo писал(а):при загрузке каждой управляющей проги необходимо корректировать
ну как бы любые программы не всегда подходят к любым станкам (в смысле - даже если станки одного типа)
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
Я пока в том что здесь разжовано и по много раз в разных вариантах описано не разобрался, а с такими "постпроцесорами" .... для меня это вощее?!
САМ пользуюсь VisualMill
САМ пользуюсь VisualMill
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
по моему для емс там даже есть готовые постпроцессоры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
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
спасибо за подсказки буду дерзать. но с ангийским туго гугел в помоч.
Но меня всетаки не покидает надежда доработать ЕМС так как мне хочетсяг
Но меня всетаки не покидает надежда доработать ЕМС так как мне хочетсяг
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
насколько я понял проблема была в том, что если написать
G01 X100 A100 F100
станок ехал с небольшой скоростью, а если
G01 A100 F100
станок летел с максимальной скоростью по A.
Или я что-то не правильно понял?
G01 X100 A100 F100
станок ехал с небольшой скоростью, а если
G01 A100 F100
станок летел с максимальной скоростью по A.
Или я что-то не правильно понял?
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
если мы задаем перемещение только по А на пример G1A360F999 то станок отрабатыват команду нормально
если мы задаем в программе
x25A0
G1X26A360F999
то при выполнении последней строки когда станку необходимо выполнить перемещение по двум координатам то получается, что в этом случае поворотная начинает врачатся с максимальной скоростью которая заданна в конфигурации оси, а не с заданной скоростью "F" из Ж кода.
если мы задаем в программе
x25A0
G1X26A360F999
то при выполнении последней строки когда станку необходимо выполнить перемещение по двум координатам то получается, что в этом случае поворотная начинает врачатся с максимальной скоростью которая заданна в конфигурации оси, а не с заданной скоростью "F" из Ж кода.
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
Для частичного решения проблемы (смотри выше) появилась идея незначительной доработки хел
Есть у нас два пина
1)axis.3.joint-vel-cmd текущая скорость поворотной оси
2) motion.current-vel заданная скорость F которая установленная с программы
Если мы с абсолютных величины пин0 вычесть пин1 и результат получится меньше какого то установленного значения то это значит, что поворотную ось надо тормозить. Если данное событие не наступает то ЕМС работает в с установленной первоначально конфигурацией.
Или другими словами если поворотная ось работает на большей скорости чем в Ж коде то ее МАХ скорость становится равной заданной Ж кодом.
Дописываю в хелПрошу подсказать будет ли это работать, а то я с своими экспериментами заморился переустанавливать Lcnc (другого способа востановления работоспособности системы пока не освоил)
Есть у нас два пина
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
Последний раз редактировалось solo 22 фев 2013, 18:25, всего редактировалось 1 раз.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
эммм странно... надо попробовтаь
А зачем переустанавливать??? Ты же только конфиг своего станка меняешь? Тем более его можно просто в отдельную папку скопировать и там извращаться.solo писал(а):Прошу подсказать будет ли это работать, а то я с своими экспериментами заморился переустанавливать Lcnc (другого способа востановления работоспособности системы пока не освоил)
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
А я иногда с своими эксперементами получаю такое, что приводит к зависанию ЕМС и как правело после этого Убинта у меня не грузится короче я чайник но надеюсь не много, постепенно подучится благодаря форуму.Nick писал(а):А зачем переустанавливать??? Ты же только конфиг своего станка меняешь? Тем более его можно просто в отдельную папку скопировать и там извращаться.
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
попробовал изменения к хел не работает , буду думать дальше.
-
- Новичок
- Сообщения: 19
- Зарегистрирован: 22 июл 2013, 15:31
- Репутация: 0
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
Здравствуйте уважаемые! Перешел на ЕМЦ с Мача, ну в основном по причине той же проблемы - различная скорость по линейным и ангулярным осям.
Так там (В маче) проблема решена вводом коррекции скорости поворотной оси по радиусу. Т.е. есть окошко, в котором надо ввести радиус заготовки, в зависимости от этого мач вычисляет коэффициент, на который домножает текущую скорость привода. В результате резать получается хорошо, но где-то у них в программе ошибка и при холостом ходе по линейным осям не учитываются ограничения скоростей линейных осей... В общем, если заготовка малого диаметра, все ОК, если большого - пропуски при холостых перемещениях. Я с ЕМЦ только начинаю, подскажите, опытные, может попробовать как-то тоже сделать радиусную коррекцию?
Так там (В маче) проблема решена вводом коррекции скорости поворотной оси по радиусу. Т.е. есть окошко, в котором надо ввести радиус заготовки, в зависимости от этого мач вычисляет коэффициент, на который домножает текущую скорость привода. В результате резать получается хорошо, но где-то у них в программе ошибка и при холостом ходе по линейным осям не учитываются ограничения скоростей линейных осей... В общем, если заготовка малого диаметра, все ОК, если большого - пропуски при холостых перемещениях. Я с ЕМЦ только начинаю, подскажите, опытные, может попробовать как-то тоже сделать радиусную коррекцию?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
В каком смысле радиусную коррекцию? Не совсем понял, на что она должна влиять?
И как у тебя выглядит Gкод?
И как у тебя выглядит Gкод?
-
- Новичок
- Сообщения: 19
- Зарегистрирован: 22 июл 2013, 15:31
- Репутация: 0
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
В смысле так: Есть заданная скорость резания, допустим 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" град/мин. Причем при уменьшении диаметра обработки (опускании фрезы) автоматически изменение радиуса не учитывается, но если вручную поменять диаметр заготовки без остановки программы - при следующей строчке кода с указанием на скорость он пересчитается.
И все были бы довольны. Но где-то это не совсем корректно работает на ХХ.
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: Поворотная ось (статуэтки, балясины).
Можно вот как хитро поступить - завести пин положения по оси Y на пин feedoverride - тогда скорость подачи будет сама уменьшаться пророцционально диаметру...
Ну или ограничивать скорость по оси A параметрами... хотя... так наверное не выйдет - этипараметры меняются в компоненте motion, т.е. планировщике траекторий, а этот компонент загружается при загрузке LinuxCNC.
Но вот с feedoverride - это выход... но правда, там тоже будут ньансы...
Ну или ограничивать скорость по оси A параметрами... хотя... так наверное не выйдет - этипараметры меняются в компоненте motion, т.е. планировщике траекторий, а этот компонент загружается при загрузке LinuxCNC.
Но вот с feedoverride - это выход... но правда, там тоже будут ньансы...