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

Программирование с переменными


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

В 30.11.2019 в 16:17, nomed сказал:

а кто подскажет макрос на фрезерование любой конусной резьбы?)

http://212.235.101.240/

http://212.235.101.236/ToolRecommed.aspx

 

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


В 02.12.2019 в 08:18, kamaz сказал:

спасибо , но так и CAM программы умеют , хотелось бы макрос увидеть 

Ссылка на сообщение
Поделиться на других сайтах
В 30.11.2019 в 17:17, nomed сказал:

а кто подскажет макрос на фрезерование любой конусной резьбы?)

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

Конус  

5231463545.png.a62507f3282ee9d40ba6476cec1d8579.png

Hide  
Макро  
%
o1
#20=5(Rt)
#21=30(D)
#22=-10(Z)
#23=40(Angle)
#24=1(step Z)
#25=0.3(step CIRC)
#33=-1(G2-1 G3+1)
(****************)
G90 G0 Z0
#11=#5041
#12=#5042
#13=#5043
#26=ROUND[3.142*#21/#25](N)
#27=#21/2-#20
#31=#27
#28=0
#29=#24*TAN[#23]
#30=#29/#26
#32=360/#26
N1
#1=#11+#27*COS[#28]
#2=#12+#27*SIN[#28]
#3=#13+[#27-#31]/TAN[#23]
IF [#3 LT #22] GOTO2
G1 X#1 Y#2 Z#3
#27=#27-#30
#28=#28+#32*#33(G2 or G3)
IF [ABS[#28] GE 360] THEN #28=0
IF [#27 LE 0.1] GOTO3
GOTO1
N2
X#1 Y#2
G2 I[#11-#1] J[#12-#2]
N3
G0 Z[#13+5]
X#11 Y#12
M99
%

 

Hide  

 

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

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

спасибо, сгодится )

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

Одна из задач курса параметрического программирования станков с системой управления FANUC:

 

В #1 находится положительное целое число. Напишите программу, которая вычислит сумму всех целых чисел от 1 до этого числа включительно и результат сохранит в #2

Например: #1=3. Программа должна рассчитать и записать в #2 число 6 (6 = 1 + 2 + 3).

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

Программа должна рассчитать и записать

#include <iostream>
using namespace std;

int main()
{
    int a;
    int b=0;

    cout << "Введите число\t";
    cin  >> a;

    while (0 < a)
        {
            b = a + b;
            a = a - 1;
        }
    cout << b << "\n";

    return 0;
}

 

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

#include <iostream>
using namespace std;

int main()
{
    int a;
    int b=0;

    cout << "Введите число\t";
    cin  >> a;

    while (0 < a)
        {
            b = a + b;
            a = a - 1;
        }
    cout << b << "\n";

    return 0;
}

 

Наврятли фанук такое скушает 

Ссылка на сообщение
Поделиться на других сайтах
В 25.02.2020 в 18:56, A_1 сказал:

Одна из задач курса параметрического программирования станков с системой управления FANUC:

 

В #1 находится положительное целое число. Напишите программу, которая вычислит сумму всех целых чисел от 1 до этого числа включительно и результат сохранит в #2

Например: #1=3. Программа должна рассчитать и записать в #2 число 6 (6 = 1 + 2 + 3).

O0001
#1=3
#2=[#1*[#1+1]/2]
M30

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

Я то прикидывал, как в цикле такое организовать...

А тут так изящно! И что, в любых случаях работает? Даже для отрицательных?

Просто сейчас единственный комп под рукой - телефон. А мне влом по экрану тыкать...

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

И что, в любых случаях работает? Даже для отрицательных?

"В #1 находится положительное целое число"

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

Ой!

Пардон, невнимателен был.

Но задача какая то академическая. Как применить эту формулу в реальных условиях - не представляю. Хотя... Знания лишними не бывают.

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

Здравствуйте. Буду признателен за ответы на эту задачу. Они нужны для тестирования системы проверки ответов. Можно применять логические операторы AND, OR, можно - без них. Это одна из задач курса параметрического программирования станков с системой FANUC.

https://stepik.org/59162

 

Пусть в #1 и #2 хранятся значения длины и ширины основания прямоугольного параллелепипеда, а в #3 - его высота. Напишите программу, в результате выполнения которой #10 будет присвоено значение 1, если этот параллелепипед можно переложить на другую грань, так чтобы его устойчивость повысилась, и 0, если так переложить его невозможно.

47929370-5842-400b-b79b-0b2f197cdc2f

 

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

Добрый день! Помогите разобраться с макровызовом подпрограммы. Идея была такова чтобы фрезерный центр  со стойкой FANUC 0i-MD, сверлил технологическое отверстие в заготовке, сразу со смещением под паз и потом по этим же координатам которые указываешь после G65P2221 делал фрезой пазик. На деле выходит что отверстия он сверлит четко, а дальше меняет инструмент на фрезу выходит на первое отверстие делает его, а остальные которые указаны после G65P2221 игнорирует. Запустил на стойке программы которые брал с этой темы ну там растачивание кармана и так далее, где есть несколько координат после макровызова он их так же игнорирует и делает только первую координату. В чем может быть проблема?

O2221 O2222

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

B.pdf

Надо вместо простого вызова, сделать модальный

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

B.pdf 235 \u043a\u0411 · 5 загрузок

Надо вместо простого вызова, сделать модальный

Благодарю за помощь все вышло. 

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

Всем привет. Стойка Fanuc 32i model B (Обрабатывающий центр). На стойке есть функция исправления (ремонта?) резьбы. Там ориентирутся шпиндель, затем резец заводится, в ручную, во впадину резьбы и выполняется синхронизация, чтобы попадать в шаг. Может кто знает какие переменные за это отвечают. Хочу составить программку, для такой синхронизации, чтобы можно было выставить положение (ориентацию? попадание в шаг?), для последующей работы по программе...

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

Добавлю для коллекции свой рабочий макро для фрезерования отверстия -

(несколько проходов с припуском по диаметру, врезания дугой)

см. скин станет ясно

N21(FREZ OTV S PRIPUSKOM PO DIA);
N21(============================);
N21#1=50(DIA CHIST OTV);
N21#2=16(DIA FREZY);
N21#3=4(K-ST PROHODOV);
N21#4=2(PRIPUSK NA RAD);
N21(============================);
N21#1=#1-#4*#3*2(DIA CHORNO1 OTV);
N21G01Z+1.000F1000;
N21G01Z-12M8(GLUBINA);

N21(KOD REZANIJA)
N21(============================);
N25WHILE[#3GE0]DO1;
N21G91G01G41D07X[#1*0.15/2]Y-[#1*0.75/2]F2000;
N21G03X[#1*0.85/2]Y[#1*0.75/2]R[#1*0.765/2]F250;
N21G03X0Y0I-[#1/2]J0F600;
N21G03X-[#1*0.85/2]Y[#1*0.75/2]R[#1*0.765/2]F1000;
N21G91G01G40X-[#1*0.15/2]Y-[#1*0.75/2]F2000;
N21#3=#3-1;
N21#1=#1+#4*2;
N21END1;
N21M09;
N21G0G90Z50;

 

Bezymiannyi_500.jpgi.gif

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

Здравствуйте. Очень хотелось бы почитать книгу по Macro B на русском языке.( с переводом). У кого нибуть есть? 

CNC Programming Using Fanuc Custom Macro B" (S. K. Sinha) Очень хотелосьвот эту книгу прочесть.

Ссылка на сообщение
Поделиться на других сайтах
56 минут назад, Зеленый Человек сказал:

Здравствуйте. Очень хотелось бы почитать книгу по Macro B на русском языке.( с переводом). У кого нибуть есть? 

CNC Programming Using Fanuc Custom Macro B" (S. K. Sinha) Очень хотелосьвот эту книгу прочесть.

Именно этой нету, но есть такая:

https://cloud.mail.ru/public/GSP1/8rkF9Pz51

Со страницы 434

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • 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? это все понятно но почему оно продолжает проверять это после завершения ориентации мне непонятно
    • Александр1979
      SP9047 SSPA:47 ILLEGAL SIGNAL OF POSITION CODER "The relationship between the A/B phase and 1-rotation signal is incorrect (Pulse interval mismatch)." "Неправильное значение счетчика импульсов сигнала на энкодере ALPHAi. На фазах A и B энкодера за один оборот шпинделя насчитывается 4096 импульсов обратной связи. Программное обеспечение по управлению шпинделем проверяет количество импульсов на фазах A и B, соответствующее энкодеру, при каждой генерации сигнала одного оборота. Данный аварийный сигнал срабатывает, если регистрируется число импульсов, нарушающее заданный диапазон."
×
×
  • Создать...