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

IMSpost Как заставить работать цикл G81 ?


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

Вроде в настройках поставил отображать G81, а УП всё равно выводится без цикла. Кто хорошо знает IMSpost, подскажите пожалуйста??? :helpsmilie:

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


Вроде в настройках поставил отображать G81, а УП всё равно выводится без цикла. Кто хорошо знает IMSpost, подскажите пожалуйста??? :helpsmilie:

Если внимательно почитать некоторые темы (включая этот же самый раздел) то можно разглядеть-выявить некоторых рьяных IMS-шников, ну и, естессно, написать в личку, коль не видят глас вопиющего. :)

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

Надо поглядеть какие данные входят в IMS. Из разных систем разные данные. А там уже анализировать в дебагере, что где какой параметр не срабатывает. Ну или так хотя бы наискосок глянуть.

Уж больно размыто вы описали:"У меня машина не едет, а колеса вроде на месте".

Без сапорта самому разобраться будет очень сложно, времени будет потрачено немало, особенно если опыта "общения" с такими штуками немного.

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

Надо поглядеть какие данные входят в IMS. Из разных систем разные данные. А там уже анализировать в дебагере, что где какой параметр не срабатывает. Ну или так хотя бы наискосок глянуть.

Уж больно размыто вы описали:"У меня машина не едет, а колеса вроде на месте".

Без сапорта самому разобраться будет очень сложно, времени будет потрачено немало, особенно если опыта "общения" с такими штуками немного.

В меню IMS сказано отображать цикл G81, и в function codes стоит галочка output G81,а вот что содержит дебагер относительно цикла:

0001 INIT/*

0002 *

0003 * Setup cycle globals

*==> GLOBAL.LASTCYCLE = 'OFF'

0005 GLOBAL.CYCLE_LAST_PLANE = 0.0

0006 GLOBAL.CYCLE_LAST_DEPTH = 0.0

0007 GLOBAL.CYCLE_FEED_MODE = "FPM"

0008 GLOBAL.CYCLE_FEED_VAL = 100.0

0009 GLOBAL.FEDTO = 0.0

0010 GLOBAL.RAPTO = 0.0

0011 GLOBAL.RTRCTO = 0.0

0012 GLOBAL.CYINCR = 0.1

0013 GLOBAL.CYINCRD = 0

0014 GLOBAL.CYINCRE = 0.001

0015 GLOBAL.DWELL = 0.0

0016 GLOBAL.FCYCLE = 1

0017 *

0018 * Setup tool globals

0019 GLOBAL.TOOLCNT = 0

0020 *

0021 * Setup feedrate globals

0022 GLOBAL.FEEDMODE = "FPM"

0023 *

0024 * Save modality

0025 GLOBAL.FORCE = 0

0026 *

0027 * Setup subroutine globals

0028 GLOBAL.SUBDEFINE = 0

0029 GLOBAL.SUBREPEAT = 1

0030 GLOBAL.SUBMAX = 0

0031 GLOBAL.SETUPID = 0

0032 *

0033 * Menu-generated code start (do not remove this line)

0034 GLOBAL.CUTCOM_DIR = 'RIGHT'

0035 SYSTEM.CONTROLLER_RAPID_TYPE = 0

0036 SYSTEM.CIRCLE_MAX_CHORD = 0.000000

0037 OPTIMIZE(NURBS,0)

0038 * Setup auto_retract functions definition parameters

0039 SYSTEM.AUTO_RETRACT_ANGLE = 30.000000

0040 SYSTEM.AUTO_RETRACT_SAFE = 100.0

0041 SYSTEM.AUTO_RETRACT_OUT = 10.000000

0042 SYSTEM.AUTO_RETRACT = 0

0043 SYSTEM.FORCE_WAY = ""

0044 SYSTEM.COORD_RTCP = 0

0045 GLOBAL.RAPID_BEST_SOLUTION = 0

0046 *

0047 * Setup g/m functions definition parameters

0048 SYSTEM.MAX_MCODE = 1

0049 SYSTEM.MAX_GCODE = 0

0050 *

0051 * Setup origin globals

0052 GLOBAL.ORIGIN_LOCAL = 1

0053 GLOBAL.ORIGIN[1] = 0.0

0054 GLOBAL.ORIGIN[2] = 0.0

0055 GLOBAL.ORIGIN[3] = 0.0

Вы не в курсе, в чём тут дело?

Изменено пользователем Andrewcnc
Ссылка на сообщение
Поделиться на других сайтах

Это Вы линканули часть тела макроса INIT в IMSPost. Этих макросов в IMSPost много. Здесь просто идет задание значений переменным IMSа...

Сам же цикл скорее всего описывается макросами CYCLE и CYCLMOTN. Надо в них ковыряться...

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

А кто пост собирал?

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

Это Вы линканули часть тела макроса INIT в IMSPost. Этих макросов в IMSPost много. Здесь просто идет задание значений переменным IMSа...

Сам же цикл скорее всего описывается макросами CYCLE и CYCLMOTN. Надо в них ковыряться...

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

А кто пост собирал?

Собирал видимо мой предшественник. С циклами вроде разобрался, сейчас худо-бедно работают, правда надо ещё подшаманить.

Вот почему-то не выводит то, что должно быть в конце операции. Что бы в этом поле не писал - в УП ничего из этого не попадает. Вы не вкурсе, как это исправить?

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

мм.. не совсем понятно чт оне попадает.. Что должно быть в конце операции?

Если во входящем файле есть команда END_OP/, то в этом макросе можно сделать то, что вы хотите видеть в конце каждой операции (процедуры если точнее)

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

мм.. не совсем понятно чт оне попадает.. Что должно быть в конце операции?

Если во входящем файле есть команда END_OP/, то в этом макросе можно сделать то, что вы хотите видеть в конце каждой операции (процедуры если точнее)

В конце операции хотелось бы прописать возврат в референтную точку. Вы правы, в CL файле END_OP нет, но есть END_PROCEDURE. Я прописываю G53 Z0, а в УП это почему-то не выводится. Не могу понять, в чём дело?

P.S. Нашёл макрос END_PROCEDURE и прописал там вручную OUTPUT ('G53 Z0', NEWLIN), вроде заработало. А за что отвечает END_PROCEDURE в принципе - не очень понял, там много всего содержится.

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

мм.. не совсем понятно чт оне попадает.. Что должно быть в конце операции?

Если во входящем файле есть команда END_OP/, то в этом макросе можно сделать то, что вы хотите видеть в конце каждой операции (процедуры если точнее)

Здравствуйте!

А вы не в курсе, как сделать чтобы комменты выводились в скобках и в ковычках, например ("коммент") ? Пробовал и в макросе так писать, всё равно не выводит.

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

END_PROCEDURE/*

* Set individual procedure time and running time variables

GLOBAL.TOTAL_TIME = SYSTEM.MTIME_CUT

GLOBAL.PROC_TIME = GLOBAL.TOTAL_TIME - GLOBAL.PREV_TIME

GLOBAL.PREV_TIME = GLOBAL.PREV_TIME + GLOBAL.PROC_TIME

Здесь определяются системные переменные по времени, которые расчитываются в различных макросах.

Этими переменными можно оперировать (выводить через output итд)

* Convert cut times to minutes and seconds

A0 = INT(GLOBAL.PROC_TIME)

A1 = GLOBAL.PROC_TIME - A0

A1 = A1 * 60

GLOBAL.TEXTPROC_TIME = A0 + " MINUTES AND " + A1 + " SECONDS"

A0 = INT(GLOBAL.TOTAL_TIME )

A1 = GLOBAL.TOTAL_TIME - A0

A1 = A1 * 60

GLOBAL.TEXTTOTAL_TIME = A0 + " MINUTES AND " + A1 + " SECONDS"

Здесь идет конвертация минутного времени в секундное.

*Read ahead for first moves in the next procedure

A=CLREAD("FROM/*",1,1,0)

IF(A)

GLOBAL.FROMX_NEXTPROC = CLREADN.1

GLOBAL.FROMY_NEXTPROC = CLREADN.2

GLOBAL.FROMZ_NEXTPROC = CLREADN.3

ENDIF

Здесь задаются параметры перемещения, если в строке есть команда FROM.

*Get first GOTO info

A=CLREAD("GOTO/*",1,1,0)

IF(A)

GLOBAL.FIRSTMOVEX_NEXTPROC = CLREADN.1

GLOBAL.FIRSTMOVEY_NEXTPROC = CLREADN.2

GLOBAL.FIRSTMOVEZ_NEXTPROC = CLREADN.3

ENDIF

Здесь задаются параметры перемещения, из первой строки с командой GOTO.

*Get second GOT info

B=CLREAD("GOTO/*",2,1,0)

IF(B)

GLOBAL.SECONDMOVEX_NEXTPROC = CLREADN.1

GLOBAL.SECONDMOVEY_NEXTPROC = CLREADN.2

GLOBAL.SECONDMOVEZ_NEXTPROC = CLREADN.3

ENDIF

Здесь задаются параметры перемещения, из второй строки с командой GOTO.

*Get third GOTO info

C=CLREAD("GOTO/*",3,1,0)

IF©

GLOBAL.THIRDMOVEX_NEXTPROC = CLREADN.1

GLOBAL.THIRDMOVEY_NEXTPROC = CLREADN.2

GLOBAL.THIRDMOVEZ_NEXTPROC = CLREADN.3

ENDIF

RETURN

Здесь задаются параметры перемещения, из третей строки с командой GOTO.

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

Если только где то будут использоваться вот системные переменные, коотрые были определены..

То что вы дописали OUTPUT и сказали что выводить - это в принипепрально.

Правда при каждом окончании процедуры он будет вам выводить станочные координаты (G53) и выезд в точку Z0 в указанных координатах на действующем (рабочем или ускоренном) перемещении

За вывод комментариев отвечает макрос PPRINT/

Если в apt файле есть такой оператор и после него текст

PPRINT/Превед!

То в прогу будет выводиться к примеру

;ПРЕВЕД!

Да.. И еще в макросе Init должно быть присвоено значени равное единице параметру GLOBAL.COMMENT. По умолчанию там стоит равно нулю.

То есть в макро INIT надо найти строку с параметром и поставить значение 1, например

GLOBAL.COMMENT = 1

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Sivolap36
      Нет ли у Fanuc диагностики, где было бы видно, что сейчас  ждёт привод?
    • mamomot
      Сегодня знакомимся с первым Параграфом Раздела 3 Токарная обработка Главы 8 Механическая обработка. ***** Оправка для расточки 8_3_1 Оправка для расточки.pdf
    • gudstartup
      это называется i2t перегрузка которая включает в себя 2 составляющие ток и температуру за единицу времени. не факт что ваш модуль кипит но предположительно если воздействие фактора перегрузки продолжиться то это может случиться и привод отрубается
    • Alexey8107
      Тут ключевое, "привод в сборе". Я же писал что запитывал голую плату  Ну и трактовать английский можно ну очень широко, а если уж писали японцы, да еще на англицком, то вообще трактовка становится безграничной  А если серьезно, то как по мне здесь имеется ввиду перегрузка, вычисленная по температурному датчику на большом радиаторе, ибо сейчас мы точно знаем какая авария возникает именно при токовой перегрузке "1." И кстати. Где то там еще прописано, что "1" это варнинг, а "1." это авария... Вобщем в этом руководстве можно мозг выломать пока поймешь что имеется ввиду 
    • fenics555
      на нормальных гидравлических пинолях стоят регулируемые датчики положения, и при вдавливании они выдадут ошибку, типа "патрон не разжат/зажат" или "пиноль не зажата/разжата". станок не вьедет в пиноль. На сервоприводе просто нагрузка упадет в 0 и все.  Но стойка ничего не выдаст. В авторежиме можно нашинковать много материала зря.
    • Sivolap36
      Обнаружил то, что если ввести G0 g53 A50, то едет. В рабочих не едет, а в машинных едет 
    • gudstartup
      @Alexey8107 изначально написано про перегрузку   у фанука читайте между строк этой ошибки не должно быть если привод в сборе
    • Alexey8107
      Так у меня тоже самое. Просто вы уже полезли в причины и способы устранения "Cause and troubleshooting", а я привел общее описание, что она обозначает "Meaning". А означает она именно перегрев большого радиатора, остальное это причины и способы устранения, например смахнуть пыль  Вот если они глючат, тогда будет большой БАРАБАХ. У меня такое было, сразу замена платы, ибо ну его нафиг всю обвязку перетряхивать. Плата управления, там да, далеко все не очевидно, но очевидно большую часть платы занимает импульсный источник питания на кучу напряжений, остальная часть боюсь что вообще бесполезно разбираться, ибо там на одном большом контроллере стоит страшная надпись "FANUC". Можно сушить весла...
    • gudstartup
      @Alexey8107 i2t это называется займитесь еще платой управления без нее картина маслом не получится. а вот когда драйверы управления ключами глючат все не так очевидно
    • Alexey8107
      Неееее, тут настолько все элементарно на силовой плате, все элементы чуть ли не по даташитам включены. Вот если бы мне кто нибудь скинул такую картинку и по работе еще не мешали бы, за пару часов бы выловил бы эту неисправность. А так было интересно еще понять где что и за что отвечает. В принципе стройная картина... 
×
×
  • Создать...