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

параметр в подпрограмме


kopatych

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

возможно вопрос не в тему, но

кто-нибудь знает, какой командой можно вывести информационное сообщение на экран?

например, для проверки вычисленного значения какой то переменной, на этапе отладки макроса

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


возможно вопрос не в тему, но

кто-нибудь знает, какой командой можно вывести информационное сообщение на экран?

например, для проверки вычисленного значения какой то переменной, на этапе отладки макроса

Скорее всего так 

IF [#3EQ#0] THEN #3000=4 (Сообщение)
IF [#4EQ#0] THEN #3000=5 (Сообщение)
IF [#5EQ#0] THEN #3000=6 (Сообщение)
Ссылка на сообщение
Поделиться на других сайтах

 

IF [#3EQ#0] THEN #3000=4 (Сообщение)
IF [#4EQ#0] THEN #3000=5 (Сообщение)
IF [#5EQ#0] THEN #3000=6 (Сообщение)

 

 

 

спасибо, пошел пробовать

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

%
G91 G28 Z0
G49 H0
T21 M6 (SVERLO D13)
G55 G90
S700 M3
G43 Z100.0 H21 M8
G01 Z90.0 M08 F100
#50=6.0(KOL-VO OTVERSTII)
#51=360.0/#50(UGOL)
#52=230.0(DIAMETR)
#53=1.0(SCHETCHIK)
#54=0.0(UPREGDENIE)
G00 X[#52/2*COS[#54+#51*#53]] Y[#52/2*SIN[#54+#51*#53]]  <== ошибка на этом кадре
N100
G83 X[#52/2*COS[#54+#51*#53]] Y[#52/2*SIN[#54+#51*#53]] Z-50.0 Q10.0 R3.0 F100.0
G80
Z100.0
#53=#53+1
IF[#53LE#50] GOTO 100
G00 Z50.0
M5
G91 G28 Y0
G49 H0
G90
M30
%

 

что я делаю не так?

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

Если будем все подпрограммы в общиим файле соединять нужно зарезервировать букву для выбора обращения к подпрограмме например "М" она не занята пока

и вообще на будущее описать все зарезервированные переменные.

 

я напишу предварительно как это примерно будет примерно выглядить... но позже..

 

кто будет постоянно в этом учавствовать, отпишитесь сколько времени вы можете этому уделять

когда заведем отдельную тему и попросим ее закрепить

то.. первые два поста должны будут идти от этого участника

в первом посте будет тело программы

во втором посте описание

 

это все предварительно, жду ваших коментариев

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...
Здесь упоминался пример из документации подпрограммы для обработки отверстий по окружности O9100.
Ее недостаток заключается в том, что она применима только для сверления по циклу G81.
Предлагаю, для того, чтобы была возможность применять с этой подпрограммой другие циклы - глубокое сверление, нарезание резьбы и т.д., ее изменить, удалив часть кода (и переименовать в O9050):
 
%
O9050
#3=#4003
G81Z#26R#18F#9K0
IF[#3EQ90]GOTO3
#24=#5001+#24
#25=#5002+#25
N3WHILE[#11GT0]DO1 
#5=#24+#4*COS[#1]
#6=#25+#4*SIN[#1]
G90X#5Y#6
#1=#1+#2 
#11=#11-1
END1 
G#3G80
M99
%
 
Тогда вызывать эту подпрограмму следует так:
 
K0G81R2Z-10 (или любой другой G81-G86-цикл)
G65P9050X0Y0I50A0B20H5
... (можно еще координаты отверстий указать, впрямую или также через G65P9050)
G80 (Отменить обязательно, так как отмену из цикла мы убрали)
 

K0 - подавляет выполнение цикла до перемещения в нужные координаты.

Эта схема повторяет схему обработку отверстий в Sinumerik, которая, я считаю, идеальная (как и сам Sinumerik), напомню:

 

mcall cycle81(...)

holes2(...)

mcall

 

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

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

Пользуюсь этой подпрограммой , мне удобно. Для расточки просверленных отверстий одной фрезой, разные диаметры, на разную глубину. Может кому-то пригодится.
Шаг делаю кратным глубине.

G65 P9500 A2 B60 C30
А=#1=2(шаг)
В=#2=60(-Z-глубина)
С=#3=30(-X-)
значения А,В,С к примеру.


%
O9500(-SPIRALL-)
N0103 #5=#1
N0105 S700M03F300
N0110 G90G0X0Y0B0
N0115 G0Z0
N0120 G0X-#3
N0125 WHILE[#5LE#2]DO1
N0130 G3I#3Z-#5
N0132 #5=#5+#1
N0140 END1
N0142 G3I#3
N0145 G90G0X0Y0
N0150 G90G0Z100
N0155 M30

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Alexey8107
      Всем доброго дня. Имеется ивановский обрабатывающий центр ИС-800, в нем установлены: PSM-45HVi A06B-6120-H045 SPM-30HVi A06B-6121-H030#H550 Возникла авария 9030 Overcurrent in the converter input circuit. Если смотреть В-65285 в этом случае на PSM должна отображаться 1, а на SPM - 30. Так оно и есть на самом деле. Документ ссылается на пункт 3.1.1, в свою очередь этот пункт говорит о неисправности PSM и следует проверить Входящее питание. Скорее всего здесь имеется ввиду питание управления, оно 240 В и стабильно Рекомендуют проверить реактор. Сразу откидываем, т.к. дело до включения силового питания еще даже не доходит, МСС отключен. Да и реактор штатный, всю жизнь работал с этим реактором. Проверить IGBT. Проверить проверил как мог, на КЗ, но дело до силовухи еще не доходит, ее питания еще нет и физически включиться не может из за MCC(ну это естественно, блок в аварии). Принципиально все рекомендации. На LEADWELL была похожая ситуация, на торможении шпинделя на PSM помнится выпадала авария 1, а на шпинделе не помню уже что. Тоже думали на PSM, а судя по всему мозг вынимал рекуператор в SPM. Т.к. на шине 500 вольт на торможении шпинделя напряжение вылетало далеко за 500 вольт выше. Здесь тоже нечто подобное, SPM опрокидывает PSM в аварию. Вобщем при включении питания станка, запитывается только управление на PSM, а он в свою очередь раздает 24 вольта на все остальные блоки по CXA2A, если все нормально и ЧПУ включена, замыкается контакт МСС, разрешая подачу силового питания на PSM. Шаги загрузки на полностью исправном станке PSM    SPM   -          A   -         50   -         12(или 18)   -         -- После включения ЧПУ и подачи силового питания   0         0 У нас PSM    SPM   -          A   -         50   -         12(или 18)   1         30 Включение силовухи невозможно. Что было сделано: 1. Проверены все питания, 240 СХ1А, 24 СХА2А, силовое питание, везде порядок. 2. Проверены IGBT на PSM и SPM, явного замыкания нет. 3. Проверены обмотки серво двигателя шпинделя. На всех 0,4 ома(сопротивление щупов 0,2 + обмотки 0,2 ома). Сравнил с заведомо исправным таким же двигателем(он стоит в другом таком же станке и работает), все тоже самое, На массу КЗ нет. Да и силовухи тоже нет, так что это бессмысленно. 4. Откинул от PSM разъем СХА2А(тупо обесточил остальные блоки от 24 вольт), включил питание управления, PSM перестал опрокидываться в ошибку, на дисплее "-". Ждал долго, не опрокидывается. Силовое питание подавать не стал, ибо чревато для остальных блоков, а скидывать шинку постоянного тока честно говоря поленился. 5. С соседнего станка снял плату управления SPM и переставил в неисправный станок, по номерам они идентичные. Станок включился и даже подал силовое питание на PSM без всяких аварий. Гонял пару минут в холостую, все было нормально, но после опрокинулся с той же ошибкой 1 и 30 на PSM и SPM соответственно. 6. Взял плату управления SPM с неисправного станка и установил в исправный. Станок включился и сколько бы не гонял, и даже шпинделем крутил, не опрокидывается. Т.е. к обоим платам претензий ноль. После вернул все обратно. Исправный станок работает как ни в чем не бывало, неисправный сразу опрокидывается в аварию почти сразу после включения управляющего питания. На ЧПУ ошибка 9030 и какие то еще по осям, но они связаны с отсутствием питания на шине постоянного тока если не ошибаюсь, так что это нормально. Итого, силовуха явных признаков неисправности не имеет, и даже на какое то время с другой платой включает силовое питание(скорее всего это связано с разбросом параметров защит на разных платах). К самому PSM тоже вроде претензий не должно быть, хотя В-65285 указывает именно на него. В истории с LEADWELL точно помню, что тоже все указывало на PSM(в том числе 1 на дисплее), и даже сервисный инженер FANUC был уверен в неисправности именно PSM. По факту, неисправен был как раз SPM. К платам управления тоже никаких претензий, обе работают в исправном станке. Единственное логическое объяснение, неисправность силовухи SPM. НО!!! Шина постоянного тока даже не думает запитываться, так что и тут с опрокидыванием сразу после включения есть засада! Ну не тестирует же SPM и PSM силовую часть напряжением 24 вольта??? Ведь до включения силового питания в этом случае даже не доходит из-за аварии! Может у кого есть еще идеи или опыт устранения таких дефектов? Помнится у фанука была типовуха на платах А16В-2203-0623 с датчиками тока, они отгорали и привод отваливался в аварию по одной из фаз. Это были привода шпинделя и двух осей в одном корпусе, были такие у нас на токарных. Сервисники фанука тогда их тучами меняли... Хотя тут я думаю не наш случай
    • Kelny
      Даже при всём при этом оно не всегда корректно работало, так что даже в старых версиях было быстрее удалить размер и потом вставить заново, чем искать эти точки размеров, а потом пытаться их привязать к новому месту.   Возможно это всего лишь глюк новой версии, в последних версиях они похоже штатно закладываются.
    • maxx2000
      @davidovka я их сразу ссыпаю в TEMP,  в тех что живы нет отметок о создании current_session.pro. Интересно что сам current_session.pro создаётся, но не обновляется дата в отличии от даты модели. Может быть и вправду менял какие нить настройки и забывал сохранить
    • Ahito
    • maxx2000
      т.е. доверять разработчикам оснований нет. Ясно-понятно
    • clavr
      все так и было до 2024 версии. размеры не импортировались. теперь вот в 2024 так нельзя. может где-то в настройках поменять что нужно? все перерыл, пока не нашел
    • arsenev
      Первый свободный номер инструмента   int list $toolnumblist = extract(folder('TOOL'), 'Tool.Number.Value') int $newToolNumb = 1 while member( $toolnumblist, $newToolNumb) {     $newToolNumb = $newToolNumb + 1 } Message Info 'Первый свободный номер инструмента - ' + $newToolNumb     Инструменты с повторяющимися номерами   int list $toolnumbers = extract(folder('tool'),'Number.Value') int $i = remove_duplicates($toolnumbers) string $op = '' foreach $n in $toolnumbers {     string list $names = extract(filter(folder('tool'),'this.Number.Value == "' + $n + '"'),'Name')     if size($names) > 1 {         $op = $op + 'Инструменты с повторяющимся номером T ' + $n + CRLF         foreach $name in $names {             $op = $op + $name + CRLF         }         $op = $op + CRLF     } } message info $op     Удаление выбранного   Макрос, который проверяет тип объекта, а затем позволяет выбрать один и удалять выбранные части. Я связал это с ctrl+d.   string list $rootTypes = {'toolpath','featureset','pattern','boundary','model'} string list $selectedTypes = {} foreach $rt in $rootTypes {     if entity_exists(entity($rt,'')) {         entity $ent = entity($rt,'')         if number_selected($ent.RootType, $ent.Name) > 0 {             int $i = add_last($selectedTypes,$rt)         }     } } if size($selectedTypes) <= 0 {     return } int $index = -1 if size($selectedTypes) == 1 {     $index = 0 } else {     $index = input choice $selectedTypes 'Wich Type to remove?' } if $index != -1 {     String $cmd = 'DELETE ' + $selectedTypes[$index] + ' "' + entity($selectedTypes[$index],'').Name + '" SELECTED'         DoCommand $cmd }
    • PETR_1
      Можно переназначить правую и центральную (колесо) кнопки с помощью бесплатной программы X-Mouse Button Control (есть портабельная версия). Это переназначение будет работать только для компаса.
    • Kelny
      Может изменяемый вами размер импортирован из модели?  Обычно переносилось удержанием левой кнопки мыши, а если сделать двойной клик, то нужно потом выбрать новый объект уже без удержания кнопок мыши.
    • Kelny
      Отключить галочки режима большой сборки. Инструменты-Параметры...-Настройки пользователя-Сборки
×
×
  • Создать...