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

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 пользователей

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




  • Сообщения

    • maximus111
      Коллеги, доброго дня. Такая ситуация. Было разработано изделие в 2 исполнениях, у которого был номер *****.001. Исполнения соответственно *****.001-00 и *****.001-01. Но потом были разработаны еще 2 исполнения: *****.001-02 и *****.001-03. Но эти 2 последних очень сильно отличались от 2 предыдущих, поэтому на эти 2 исполнения был оформлен отдельный документ, где в спецификации фигурирует только  -02 и -03. Но теперь получается, что есть 2 документа с одинаковым именем и номером: в в одном документе исполнения -00 и -01, а в другом -02 и 03. Вопрос. Можно ли вообще так или неможно (подозреваю, что неможно), и как выходить из этой ситуации?
    • green346
      Добрый день, ситуация: На изделие разработано КД по варианту Б (Как пример: Упаковочный чертеж АБВГ.466229.001УЧ и Упаковка АБВГ.466926.001) Заказчик просит разработать КД на то, как эта упаковка штабелируется и крепится на паллете. 1 Как это сделать правильно в рамках ЕСКД? Если укажу на упаковочном чертеже паллета упаковываемое изделие АБВГ.466926.001, то не получится, как будто это просто пустая коробка без устройств? 2 Вопрос, не связанный с предыдущим текстом, не нужно ли в графе "Документация" в упаковке указывать упаковочный чертеж? По гост 2.418 сказано только, что его нужно заносить в спецификацию упаковываемого изделия, а про упаковку ни слова.
    • Viktor2004
      Смотрите все что посажено на цепи питания чпу. Включите чпу и замерьте питание на нем. У меня однажды было 20 вольт. На него был посажен неисправный грибок который его просаживал
    • mannul
      Извиняюсь за оффтоп, но интересно, как резьба нарезается в закаленном после лазера отверстии? Долго живут метчики?
    • ANT0N1DZE
      даже немного обидно стало
    • ANT0N1DZE
      ГОСТ 2.305-68, п.5 У вас нормально все изображено. 
    • Kelny
      Просто в этих организациях старая гвардия, где ранее под номером ГОСТ значилось:  НЕСОБЛЮДЕНИЕ СТАНДАРТА ПРЕСЛЕДУЕТСЯ ПО ЗАКОНУ   Но теперяча ГОСТы носят исключительно рекомендательный характер, а значит можно от них отступать, правда в этом случае предписано создать свой стандарт предприятия, но не все готовы это делать и просто игнорируют стандарты.   Старый стандарт 60-80 годов может не учитывать современных технологий.   Регламентируется недорез, если отверстие не сквозное, но так же надо учитывать возможности инструмента. В некоторых случаях целесообразнее сделать сквозное отверстие, а резьбу резать на нужную длину. В других случаях, если требуется минимальное глухое отверстие, то стоит проконсультироваться с технологами предприятия, где будет точиться деталь, что бы указали свои ограничения по недорезу резьбы. Так же зависит от размера резьбы и технологии изготовления детали.   Если нужно просто резьба, а не что-то ответственное под конкретные цели, можно про фаски вообще ни чего не упоминать, сделают без фаски или как принято на предприятии изготовителе.   Если это иновационные изделия, то в некоторых случаях просто необходимо отклоняться от стандартизованных деталей и стандартов, т.к. привязка к стандарту или технологии может затормозить инновацию или вообще её угробить. Поди следелай наручные часы на машиностроительном оборудовании, ведь не получится, а так сначала делают не возможное и в последствии разрабатывают не возможное оборудование и технологии для изготовления не возможных деталей.
    • Ветерок
      Резьба в сборке? Это сваренные детали и резьба сразу в нескольких сваренных деталях? Тогда логичнее и сверлить уже после сварки. А то заранее просверленные отверстия не совпадут под резьбу с вероятностью 90%. Для вставки крепежа расхождение допустимо, а для нарезки резьбы вряд ли.   Был такой вопрос. Погасить слой с поверхностями. Не забыть сохранить статус отображения слоев.
    • felena
      Добавлю картинки для понимания. Солид дает возможность делать так. У компаса по-другому. Но такой профиль выносного элемента сделать нельзя. Как правильно то? Нормоконтроль докопался....
    • РоманВ
      Спасибо! Все же есть польза от заданного тут вопроса)
×
×
  • Создать...