Перейти к публикации

Вопрос про пост


Ashmonin

Рекомендованные сообщения

Так, как вы использовали этот код - это не есть обработчик вашего события. Это есть процедура пользователя ("Команда пользователя" по терминологии русифицированного PostBuilder-а), которую вы вставили в обработчик события MOM_first_tool ("Первый инструмент" в PostBuilder-е).

Этот код выполняется не тогда, когда в постпроцессор поступает ваше событие xhome, а тогда, когда туда поступает событие MOM_first_tool.

"Последовательность в начале операции" (как она называется в генераторе постпроцессоров) заключается в обработке целого ряда событий. Когда вы в NX помещаете событие xhome в "События в начале траектории", потом при генерации программы NX вклинивает его куда-то в середину этой последовательности (а может, ставит его в самый конец - я не знаю), причём так, что оно оказывается после события MOM_first_tool. Таким образом, на момент обработки MOM_first_tool, а значит и вашего кода который вы в этот обработчик вставили, событие xhome ещё в постпроцессор не передавалось, а значит еще и не существует переменной, которую вы пытаетесь использовать, потому что переменные передаются вместе с событием, которому они принадлежат.

Tool Change Marker и несколько других подобных - это "фиктивные" события. Можно сказать, это и не события вовсе. Они не вызывают никаких обработчиков и не передают никаких переменных. Постпроцессор, я так думаю, вообще о них ничего не знает. Они лишь меняют, на стороне NX, порядок выдачи событий в постпроцессор. Если нужно обеспечить, чтобы событие xhome выдалось перед событием MOM_first_tool - ставите Tool Change Marker после xhome.

В оригинальном хелпе эти маркеры описываются здесь:

Home > CAM > Manufacturing General > CAM Customization > User-defined events > Event placement markers

Эппическая сила - век живи - век учись.... Я про маркеры не знал. Обходился обязательной вставкой пустой операции типа Mill_Control... Буду знать :) Сенькс!

Ссылка на сообщение
Поделиться на других сайтах


Эппическая сила - век живи - век учись.... Я про маркеры не знал. Обходился обязательной вставкой пустой операции типа Mill_Control... Буду знать :) Сенькс!

Ага тож так делал...

для того чтоб сработало нужно чтоб в этой пустой операции был инструмент(можно же поставить инструмент NONE).

Ссылка на сообщение
Поделиться на других сайтах
  • 8 лет спустя...

Уважаемые, профессионалы.  Помогите решить проблему. Мне нужно что бы постпроцессор обработал событие которое я создаю UDE. Раньше был старый UDE с этим событием и все работало, но он потерялся. Теперь же мое событие не обрабатывается. подозреваю что ошибка всего лишь в одном/нескольких словах. думаю Что ошибка после слова EVENT, но что туда писать не пойму 

вот мое событие

 

EVENT initial_move

{

POST_EVENT "initial_move"

 UI_LABEL "Separate Linear"

PARAM command_status

{

TYPE o

DEFVAL "Active"

OPTIONS "Active","Inactive"

UI_LABEL "Separator"

}

PARAM Cut_Step_value

{

TYPE d

DEFVAL "0.0000"
TOGGLE OFF
UI_LABEL "Cut Step"

}

}

##########

 

вот процедура которую я хочу получить.

#=============================================================
proc PB_CMD_separated_linear_move { } {
#=============================================================
global mom_motion_type mom_pos mom_prev_pos mom_motion_distance
global cut_step sep_sw

  if {$mom_motion_type == "ENGAGE" || $mom_motion_type == "CUT"} {
    if {$sep_sw == 1} {
      set vect_1 [expr ($mom_pos(1) - $mom_prev_pos(1))]
          set vect_2 [expr ($mom_pos(2) - $mom_prev_pos(2))]
        if {$mom_motion_distance != 0.0 && $cut_step != 0.0 && $mom_motion_distance > $cut_step} {
        set n_steps [expr int($mom_motion_distance/$cut_step)]
        #MOM_output_literal "NUM_OF_STEPS: $n_steps"
        set cut_dir(0) [expr ($vect_1/$mom_motion_distance)] 
        set cut_dir(1) [expr ($vect_2/$mom_motion_distance)]
        set incr_l [expr ($mom_motion_distance/$n_steps)] 
        #MOM_output_literal "CUT_ DIR: $cut_dir(0), $cut_dir(1), $incr_l"
        for { set i 0 } { $i < $n_steps } { incr i } {
           set mom_pos(1) [expr ($mom_prev_pos(1) + ($cut_dir(0)*$incr_l))]
           set mom_pos(2) [expr ($mom_prev_pos(2) + ($cut_dir(1)*$incr_l))]
            MOM_output_literal "M12"
              MOM_do_template linear_move
              MOM_output_literal "G4 F1"
              MOM_output_literal "M13"
           set mom_prev_pos(1) $mom_pos(1)
           set mom_prev_pos(2) $mom_pos(2)                
        }
      } else {     
         MOM_output_literal "M12"
         MOM_do_template linear_move
         MOM_output_literal "G4 F1"
         MOM_output_literal "M13" }
    } else {     
         MOM_output_literal "M12"
         MOM_do_template linear_move
         MOM_output_literal "G4 F1"
         MOM_output_literal "M13" }
}
}
############################

вот что я хочу получить на выходе

  EXECUTION      DATE    : Tue Oct 05 11:07:16 2021 
; UG PARTNAME : C:\Users\User\Desktop\test\test_linear_angle.prt
; ----------------------------------------------------------
N5 G94 G642 G90 G710
N10 ; 
N15 ; OPERATION: FC_LINEAR_PROFILE_SEP  TOOL(WHEEL): WHEEL_1V1_360
N20 ; GRINDING WHEEL D = 360.000 mm
N25 R1=200  ;ENGAGE FEEDRATE
N30 R2=250  ;CUT FEEDRATE
N35 R3=1000 ;APPROACH FEEDRATE
N40 R4=500  ;RETRACT FEEDRATE
N45 R5=1000 ;DEPARTURE FEEDRATE
N50 G54
N55 G0 Z50.
N60 Y250.
N65 Y195.284
N70 Z9.996
N75 G1 Y187.284 F=R3
N80 M12
N85 Y186.784 F=R1
N90 G4 F1
N95 M13
N100 M12
N105 Y186.284
N110 G4 F1
N115 M13
N120 M12
N125 Y185.784
N130 G4 F1
N135 M13
N140 M12
N145 Y185.284
N150 G4 F1
N155 M13
N160 M12
N165 Y184.784
N170 G4 F1
N175 M13
N180 M12
N185 Y184.284

 

 

 

Ссылка на сообщение
Поделиться на других сайтах

Суть пророблемы заключается в том что мне нужно что бы мое событие разбивало кривую на заданные участки. сейчас этого не происходит

Ссылка на сообщение
Поделиться на других сайтах

@LEXA1988 Само по себе событие успешно добавляется, никаких ошибок в таком виде не получил.

Скрытый текст

EVENT initial_move
{
    POST_EVENT "initial_move"
    UI_LABEL "Separate Linear"
    PARAM command_status
    {
        TYPE o
        DEFVAL "Active"
        OPTIONS "Active","Inactive"
        UI_LABEL "Separator"
    }
    PARAM Cut_Step_value
    {
        TYPE d
        DEFVAL "0.0000"
        TOGGLE OFF
        UI_LABEL "Cut Step"
    }
}

 

Ссылка на сообщение
Поделиться на других сайтах

событие добавляется но не работает. я думаю что вместо  EVENT initial_move  должно быть что то другое. постпроцессор это событие просто игнорирует

 

@mr_Voden событие добавляется но не работает. я думаю что вместо  EVENT initial_move  должно быть что то другое. постпроцессор это событие просто игнорирует

Ссылка на сообщение
Поделиться на других сайтах

@mr_Voden  Яне могу понять как прикрепить сюда файл. я бы мог скинуть файлы постпроцессора. дело в том что я не смогу вам ответить на ваш вопрос по причине неопытности. Могу ли я вам скинуть на почту файлы. может вы посмотрите и сможете помочь?

Ссылка на сообщение
Поделиться на других сайтах

@mr_Voden  Спасибо, Вам огромное. все работает. Теперь я уже сам постараюсь разобраться в принципе написания этой надписи.  Еще раз спасибо! Мир не без добрых людей

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

Добрый день, Уважаемые профессионалы! Подскажите пожалуйста ответ по процедуре helix_move. за что отвечает выделенные строки? если их убрать(закоментировать) может ли это привести к плохим последствиям в других операциях. дело в том что при наличии этого кадра у меня программа выдает ошибку при использовании коректора. Те после хеликса при переходе на эту сттрочку(линейное перемещение) ошибка. Зачем она вообще нужна.

 

global mom_pos_arc_plane

   global mom_sys_cir_vector

   global mom_sys_helix_pitch_type

   global mom_helix_pitch

   global mom_prev_pos mom_pos_arc_center

   global PI

   global mom_cutcom_status

   global mom_from_pos

 

   switch $mom_sys_helix_pitch_type {

      none { }

      rise_revolution { set pitch $mom_helix_pitch }

      rise_radian { set pitch [expr $mom_helix_pitch / ($PI * 2.0)]}

      other {

        #

        #    Place your custom helix pitch code here

        #

      }

      default { set mom_sys_helix_pitch_type "none" }

   }

 

   global mom_pos

   global helix_angle

   global helix_height

   global mom_helix_direction

   global mom_arc_angle

   global hel_dir

   global hel_ang

   global hel_ang_rep

   global call_lbl_counter

   global hel_hei

   global hel_hei_end

   global mom_feed_cut_value

   global z_dir

 

   switch $mom_pos_arc_plane {

      XY { MOM_force Once I J; MOM_suppress Once K; set cir_index 2 }

      YZ { MOM_force Once J K; MOM_suppress Once I; set cir_index 0 }

      ZX { MOM_force Once K I; MOM_suppress Once J; set cir_index 1 }

   }

 

   set helix_height [expr $mom_pos($cir_index) - $mom_prev_pos($cir_index)]

   if { $mom_pos($cir_index) < $mom_prev_pos($cir_index) } { set z_dir -1 } { set z_dir 1 }

#MOM_output_literal "pos=$mom_pos($cir_index) prev=$mom_prev_pos($cir_index) z_dir=$z_dir"

 

   switch $mom_helix_direction {

      CLW     { set helix_direction -1 ; set hel_dir "DR-"}

      CCLW    { set helix_direction 1 ; set hel_dir "DR+" }

      default { }

   }

 

   set helix_angle [expr 360*$helix_direction*$helix_height/$mom_helix_pitch]

   #set helix_angle [expr $mom_arc_angle * $helix_direction]

 

 

  #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  # You will need to construct the required block templates and

  # revise the lines below accordingly.

 

  if {![info exists call_lbl_counter]} {set call_lbl_counter 1} {set call_lbl_counter [expr $call_lbl_counter + 1]}

 

 

#MOM_output_literal "$helix_angle"

  if {abs($helix_angle) > 5400.0} {

  set hel_ang_rep [expr int(abs($helix_angle) / 5400.0)]

  set hel_ang_end [expr abs($helix_angle) - [expr $hel_ang_rep * 5400]]

  set hel_hei [expr (5400.0 * $mom_helix_pitch) / (360 * $helix_direction) * $z_dir]

  if {$z_dir > 0} {set hel_hei_end [expr abs($helix_height) - abs($hel_hei * $hel_ang_rep)]} {set hel_hei_end [expr -1.0 * (abs($helix_height) - abs($hel_hei * $hel_ang_rep))]}

  set hel_ang_rep [expr $hel_ang_rep - 1]

  set hel_ang [expr $helix_direction * 5400.0]

  set hel_ang_end [expr $helix_direction * $hel_ang_end]

 

  if {$hel_hei >= 0 && $z_dir < 0} {set hel_hei [expr -1 * $hel_hei]}

  if {$hel_hei <= 0 && $z_dir > 0} {set hel_hei [expr -1 * $hel_hei]}

 

   if {$hel_ang_rep == 0} {

   #MOM_output_literal "$mom_cutcom_status"

   MOM_do_template circular_move

   MOM_output_literal "CP IPA[format "%3.3f" $hel_ang] IZ[format "%3.3f" $hel_hei] $hel_dir F[format "%3.1f" $mom_feed_cut_value]"

   MOM_output_literal "CP IPA[format "%3.3f" $hel_ang_end] IZ[format "%3.3f" $hel_hei_end] $hel_dir"

   #MOM_output_literal "L X[format "%3.3f" $mom_pos(0)] Y[format "%3.3f" $mom_pos(1)] Z[format "%3.3f" $mom_pos(2)]"

     } {

  #MOM_output_literal "$mom_cutcom_status"

  MOM_do_template circular_move

  MOM_output_literal "LBL$call_lbl_counter"

  MOM_output_literal "CP IPA[format "%3.3f" $hel_ang] IZ[format "%3.3f" $hel_hei] $hel_dir F[format "%3.1f" $mom_feed_cut_value]"

  MOM_output_literal "CALL LBL$call_lbl_counter REP$hel_ang_rep"

   if {$hel_ang_end == 0.0} {MOM_output_literal "L X[format "%3.3f" $mom_pos(0)] Y[format "%3.3f" $mom_pos(1)] Z[format "%3.3f" $mom_pos(2)]"} {

  MOM_output_literal "CP IPA[format "%3.3f" $hel_ang_end] IZ[format "%3.3f" $hel_hei_end] $hel_dir"

  #MOM_output_literal "L X[format "%3.3f" $mom_pos(0)] Y[format "%3.3f" $mom_pos(1)] Z[format "%3.3f" $mom_pos(2)]"

}}

} {

  # MOM_do_template coolant_on

  #MOM_output_literal "$mom_cutcom_status"

  MOM_do_template circular_move

  MOM_output_literal "CP IPA[format "%3.3f" $helix_angle] IZ[format "%3.3f" $helix_height] $hel_dir F[format "%3.1f" $mom_feed_cut_value]"

  #MOM_output_literal "L X[format "%3.3f" $mom_pos(0)] Y[format "%3.3f" $mom_pos(1)] Z[format "%3.3f" $mom_pos(2)]"

  # MOM_force Once circle_direction

  # MOM_do_template helix_move

}

#MOM_output_literal "################### end helix ######################"

 

Ссылка на сообщение
Поделиться на других сайтах

@LEXA1988 Этот код отвечает за вывод определенного типа движения (не за операцию) - helix (из той же серии linear и circular). То есть если Вы закомментите эти строки, то везде где NX будет встречать этот тип движения не будет производиться вывод этих строк. Может стоит просто проверять включена ли коррекция и исходя из этого уже решать выводить строку или нет? Нужны они или нет - другой вопрос, с хайдом не встречался.

Ссылка на сообщение
Поделиться на других сайтах
15.10.2021 в 11:49, LEXA1988 сказал:

Добрый день, Уважаемые профессионалы! Подскажите пожалуйста ответ по процедуре helix_move. за что отвечает выделенные строки? если их убрать(закоментировать) может ли это привести к плохим последствиям в других операциях. дело в том что при наличии этого кадра у меня программа выдает ошибку при использовании коректора. Те после хеликса при переходе на эту сттрочку(линейное перемещение) ошибка. Зачем она вообще нужна.

Здравствуйте. Это похоже мой старый пост, который я потом ещё неоднократно допиливал. Вы случайно не на Союзе в Электростали работаете? Если да, то у вас там точно моя недопиленная версия осталась и рабочего поста нет.

Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, vicebear сказал:

Здравствуйте. Это похоже мой старый пост, который я потом ещё неоднократно допиливал. Вы случайно не на Союзе в Электростали работаете? Если да, то у вас там точно моя недопиленная версия осталась и рабочего поста нет.

Здравствуйте. Нет пост стандартный но процедура вставлена из интернетовского поста, не помнию из какого, т.к. сачал я их миллион и допиливаю свой по тихоньку. По причине неопытности все идет не медленно и ценой проб и ошибок. 

PS. Нет работаю не на Союзе.

Ссылка на сообщение
Поделиться на других сайтах

Доброго времени суток, уважаемые. Появился вопрос о редактировании поста  под синумерик 840D в постбилдере. Понимаю что во всех мануалах советуют не пользоваться заготовками, но очень уж мне понравилась сама структура УП и то что много параметров можно менять прямо со стойки (например цикл глубокого сверления выводится отдельной настройкой ShopTurn с возможностью править все параметры).

Но есть и ложка дёгтя. Пост не выводит круговую интерполяцию. просто разбивает дуги на отрезки. и соответственно размер кода увеличивается в разы, хотя в постбилдере она включена.

Может кто-то правил пост по 840d и сталкивался с такой проблемой? Я думаю что проблема в последующих преднастройках поста и я вроде как все проверил, но не могу найти где проблема

7Ctr2fS9Rm2Tb8x7Ctr2fS

Ссылка на сообщение
Поделиться на других сайтах

@ventel1987 Значит где-то переменная mom_kin_arc_output_mode  получает значение "LINEAR". Ищите, по моему с этим была связана mom_siemens_compressor.

Ссылка на сообщение
Поделиться на других сайтах

всё что мог найти это PB_CMD_init_helix

 

 

uplevel #0 {
#
# This ommand will be executed automatically at the start of program and
# anytime it is loaded as a slave post of a linked post.
#
# This procedure can be used to enable your post to output helix.
# You can choose from the following options to format the circle
# block template to output the helix parameters.
#

set mom_sys_helix_pitch_type    "rise_radian"

#
# The default setting for mom_sys_helix_pitch_type is ."rise_radian"
# This is the most common.  Other choices are:
#
#    "rise_radian"              Measures the rise over one radian.
#    "rise_revolution"          Measures the rise over 360 degrees.
#    "none"                     Will suppress the output of pitch.
#    "other"                    Allows you to calculate the pitch
#                               using your own formula.
#
# This custom command uses the block template circular_move to output
# the helix block.  If your post uses a block template with a different
# name, you must edit the line that outputs the helix block.

#
#  The following variable deines the output mode for helical records.
#
#  FULL_CIRCLE  -- This mode will output a helix record for each 360
#                  degrees of the helix.
#  QUADRANT  --    This mode will output a helix record for each 90
#                  degrees of the helix.
#  LINEAR  --      This mode will output the entire helix as linear gotos.
#  END_POINT --    This mode will assume the control can define an entire
#                  helix in a single block.

   set mom_kin_helical_arc_output_mode END_POINT

   MOM_reload_kinematics

#=============================================================
proc MOM_helix_move { } {
#=============================================================
   global mom_pos_arc_plane
   global mom_sys_cir_vector
   global mom_sys_helix_pitch_type
   global mom_helix_pitch
   global mom_prev_pos mom_pos_arc_center
   global PI

   switch $mom_pos_arc_plane {
      XY { MOM_suppress once K ; set cir_index 2 }
      YZ { MOM_suppress once I ; set cir_index 0 }
      ZX { MOM_suppress once J ; set cir_index 1 }
   }

   switch $mom_sys_helix_pitch_type {
      none { }
      rise_revolution { set pitch $mom_helix_pitch }
      rise_radian { set pitch [expr $mom_helix_pitch / ($PI * 2.0)]}
      other {
#
#    Place your custom helix pitch code here
#
      }
      default { set mom_sys_helix_pitch_type "none" }
   }

   MOM_force once X Y Z

   if { [string compare "none" $mom_sys_helix_pitch_type] } {
      MOM_force once I J K

#<08-01-06 gsl>
      switch $mom_sys_cir_vector {
         "Vector - Arc Center to Start" {
            set mom_prev_pos($cir_index) $pitch
            set mom_pos_arc_center($cir_index) 0.0
         }
         "Vector - Arc Start to Center" -
         "Unsigned Vector - Arc Start to Center" {
            set mom_prev_pos($cir_index) 0.0
            set mom_pos_arc_center($cir_index) $pitch
         }
         "Vector - Absolute Arc Center" {
            set mom_pos_arc_center($cir_index) $pitch
         }
      }
   }


#
# You may need to edit this line if you output more than one block
# or if you have changed the name of your circular_move block template
#
   global mom_pos
   global mom_prev_pos
   global mom_helix_turn_number
   set pitch [expr abs($mom_helix_pitch)]
   set feed_distance [expr abs($mom_pos($cir_index) - $mom_prev_pos($cir_index))]
   if {[EQ_is_zero $pitch]} {
      set mom_helix_turn_number 0
   } else {
      set mom_helix_turn_number [expr floor($feed_distance/$pitch)]
      if {[EQ_is_equal $feed_distance [expr $mom_helix_turn_number * $pitch]]} {
            set mom_helix_turn_number [expr $mom_helix_turn_number - 1]
        }
   }
   MOM_force Once helix_turn
   switch $mom_pos_arc_plane {
      XY { MOM_suppress once K ; MOM_force Once I J }
      YZ { MOM_suppress once I ; MOM_force Once J K }
      ZX { MOM_suppress once J ; MOM_force Once I K }
   }
   MOM_do_template circular_move
   unset mom_helix_turn_number


} ;# MOM_helix_move


} ;# uplevel
 

Ссылка на сообщение
Поделиться на других сайтах

Товарищи, подскажите по моему вопросу заданному выше. Почему если я в NX ставлю галочку добавить проходы дообработки в операции расфрезеровывания отверстия по спирали с корекцией на инструмент. станок мне выдает ошибку в кадре окружности после хеликса( ругается именно на эту зачистную окружность.) если корекцию не ставлю все работает без нареканий. видимо дело в расхождении координат при переходе с хеликса на окружность( возможно ошибка всего лишь в микроне) но все же. Как это можно исправить?

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, LEXA1988 сказал:

Товарищи, подскажите по моему вопросу заданному выше. Почему если я в NX ставлю галочку добавить проходы дообработки в операции расфрезеровывания отверстия по спирали с корекцией на инструмент. станок мне выдает ошибку в кадре окружности после хеликса( ругается именно на эту зачистную окружность.) если корекцию не ставлю все работает без нареканий. видимо дело в расхождении координат при переходе с хеликса на окружность( возможно ошибка всего лишь в микроне) но все же. Как это можно исправить?

Так может станку не хватает расстояния что бы отключить коррекцию. Попробуй поменять радиус фрезы в меньшую сторону.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • lem_on
      ну с дуру известно что сломать можно.
    • Viktor2004
      руку привязки так сломать легко
    • lem_on
      По моему вполне логично если станок вывалится в ошибку если рука не доехала до места. У меня так же если кулачки или деталь на пути, просто пихаеш ее до места и станок опять активен. Но нынешние пановья даже не могут написать модель станка.
    • Viktor2004
      Я согласен что скорее всего проблема механическая Но если логика прописана криво и возможно не предусмотрела остановку в промежуточном состоянии, разве не логично будет попробовать принудительно подав напряжение дернуть эту руку вверх-вниз? Возможно то что туда попало выпадет  
    • Guhl
      Если оставить за скобками вопрото том, что до м19 работает нормально, а после нет, то вы не считали сколько у него реально импульсов на оборот? с помощью стороннего плк, например  А если ориентацию м5 снимать, а не м20?
    • lem_on
      Что это за станок такой в котором сразу ладер ковырять надо, даже не смотря на возможность механической проблемы? Или профдеформация?
    • Viktor2004
      не сразу я понял в чем вопрос. Долго соображал что такое режим управления скоростью. При завершении ориентации PMC снимает сигнал G70.6 ? И если он после снятия сигнала продолжает удерживать шпиндель, при каких условиях эта ориентация все же снимается? После нажатия аварийного грибка или еще как?
    • Viktor2004
      Ладдер пришлите. Будем принудительно пробовать поднимать и опускать
    • streamdown
      Коллеги приветствую! IPS 8. Подскажите пожалуйста, кто какое серверное железо использует? Интересуют параметры при одновременной работе, ну например, 400 пользователей онлайн
    • gudstartup
      так он так и позиционируется по m19 pmc выдает g70.6 а чпу отвечает f45.7 но ориентацию и смещение в 4077 он отрабатывает нормально шпиндель встает ровно и смена происходит хорошо. вопрос почему после ввода команды управления скоростью он все еще продолжает контролировать число импульсов между нуль метками хотя в принципе уже должен отменить позиционный контроль и просто считать обороты по 0 метке как он это делает без М19? это все понятно но почему оно продолжает проверять это после завершения ориентации мне непонятно
×
×
  • Создать...