Перейти к содержанию
  • Лента
  • Популярные
  • Последние
  • Теги
  • Пользователи
  • Калькуляторы
Свернуть
Логотип бренда
Категории
  1. Промышленная социальная сеть
  2. Категории
  3. ПO для чпу
  4. Программирование ЧПУ | CNC
  5. Siemens Sinumerik 828D: программирование и циклы для ЧПУ-станков

Siemens Sinumerik 828D: программирование и циклы для ЧПУ-станков

Запланировано Прикреплена Закрыта Перенесена Программирование ЧПУ | CNC
новости
8 Сообщения 2 Постеры 651 Просмотры 1 Отслеживают
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • kirilljsxK Не в сети
    kirilljsxK Не в сети
    kirilljsx
    Модератор
    написал в отредактировано
    #1

    Siemens Sinumerik 828D — это стойка ЧПУ для фрезерных и токарных станков. Она упрощает программирование сложных деталей и повышает точность обработки. В этой статье разберем основы программирования и циклы, чтобы вы могли быстро настроить станок.

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

    Основы программирования на Sinumerik 828D

    Программирование на Sinumerik 828D строится вокруг языка ShopMill или ShopTurn для базовых операций и ISO-кода для продвинутых задач. Эти языки позволяют описывать траектории инструмента, скорости и подачи простыми командами. Например, для фрезерования пластины с множеством отверстий вместо копипаста блоков кода используется одна подпрограмма, вызываемая с разными координатами.

    Суть в том, чтобы разбить программу на главную часть и подпрограммы. Главная программа задает последовательность, а подпрограмма выполняет повторяющуюся операцию, как фрезеровка канавки или сверление. Это экономит время и снижает риск ошибок. Логично перейти к ключевым элементам: переменным и структурам управления, которые делают код гибким.

    • Переменные пользователя (R-параметры): Хранят координаты, скорости подачи. Пример: R1=10 задает глубину, потом вызывается в цикле.
    • Управляющие структуры: IF-ELSE, WHILE, FOR для ветвлений и циклов. Полезно для условной обработки в зависимости от толщины заготовки.
    • Косвенное программирование: Позволяет обращаться к переменным динамически, типа TOOL[R5] для смены инструмента по номеру.
    Элемент Описание Пример использования
    R-параметры Предопределенные переменные R10=X100; для смещения по X
    Локальные переменные Временные в подпрограмме LOC1=5; глубина прохода
    Системные переменные Чтение/запись статуса станка $P_TOOLNO — номер инструмента

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

    Работа с подпрограммами и TRANS

    Подпрограммы — основа эффективного программирования на 828D. Они позволяют обработать множество одинаковых позиций без дублирования кода. Например, фрезеровка двух окружностей на разных участках плиты: пишете код один раз, вызываете с новыми координатами через TRANS.

    Команда TRANS перемещает систему координат, сохраняя ориентацию инструмента. В главной программе указываете TRANS X50 Y30, выполняете подпрограмму, потом снова TRANS для следующей позиции. Без этого станок не вернется в главную программу — просто зависнет. В конце подпрограммы ставьте M30 или RET для возврата. Это удобно для серийного производства, где позиции меняются параметрами.

    • Создание подпрограммы: Начинайте с шапки (заготовка, инструмент), описывайте одну операцию, заканчивайте RET.
    • Вызов из главной: CALL P10 или LBL с номером, плюс TRANS перед и после.
    • Пропуск позиций: Используйте точки (.) перед CALL, чтобы станок их игнорировал.
    Ситуация Команда в главной В подпрограмме
    Первая позиция TRANS X0 Y0; CALL P1 … RET
    Вторая с пропуском . TRANS X100 Y0; CALL P1 … M30
    Возврат TRANS X0 Y0 после цикла Обязателен RET или M17

    Нюанс: после подпрограммы всегда проверяйте координаты — TRANS кумулятивный.

    Циклы обработки: от базовых до сложных

    Циклы в Sinumerik 828D автоматизируют повторяющиеся операции вроде сверления, расточки или нарезки. Базовые циклы вызываются одной командой с параметрами, например CYCLE832 для контурной фрезеровки. Они берут глубину, подачу и траекторию из R-параметров, упрощая код.

    Для токарки подойдут CYCLE95 (резьба), для фрезеровки — CYCLE832 (карман). Аргумент: вместо 20 строк ручного кода цикл запишете в 5. Логично перейти к примерам и настройкам, чтобы увидеть, как интегрировать с подпрограммами.

    1. Сверление (CYCLE81): Укажите начальную точку, глубину, подачу. Пример: CYCLE81(50, 5, 2) — дырка глубиной 5 мм.
    2. Фрезеровка канавки (CYCLE832): Радиус, количество проходов, зачистка. Идеально с TRANS для массива канавок.
    3. Расточка (CYCLE95): Для внутренних контуров с автоматическим отводом.
    Цикл Тип станка Ключевые параметры
    CYCLE81 Фрезер/Токарный G331=начало; Q200=глубина; Q210=подача
    CYCLE832 Фрезерный Q200=R; Q206=проходы; Q220=финиш
    CYCLE95 Токарный Q241=диаметр; Q242=шаг резьбы

    Совет: используйте Q-параметры для тонкой настройки, но начните с дефолтных.

    Гибкие возможности: макросы и переменные в практике

    Макросы и переменные расширяют циклы, делая программы адаптивными. Техника макросов позволяет подставлять блоки кода по условию, а переменные — менять параметры на лету. Пример: цикл WHILE R1>0 с уменьшением R1 внутри для послойной обработки.

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

    • Тригонометрические функции: SIN, COS для расчетов углов в R-параметрах.
    • Логические операции: AND, OR в IF для выбора инструмента.
    • Строки и команды HMI: Вывод сообщений оператору через MSG.
    Функция Синтаксис Пример
    SIN SIN(R1) R2=SIN(90)=1 для поворота
    IF-THEN IF R1>10 GOTO L1 Переход по условию толщины
    WHILE WHILE R1 DO … ENDWHILE Послойная подача

    Особенность: системные переменные вроде $P_ACTTOOLNO читаются только для чтения в базовой версии.

    Что скрывают продвинутые циклы 828D

    В Sinumerik 828D есть циклы для измерений и компенсаций, которые автоматизируют настройку. Автоматическое измерение инструмента и нулевой точки упрощает реферинг, но требует точных датчиков. Остается за кадром глубокая интеграция с Sinamics S120 для динамики шпинделя.

    Подумайте над комбинацией циклов с подпрограммами для многоосевой обработки — это следующий уровень. Также стоит изучить ShopMill для графического программирования на панели.

    1 ответ Последний ответ
    0
    • kirilljsxK kirilljsx переместил эту тему из Новости в
    • ktotambyK Не в сети
      ktotambyK Не в сети
      ktotamby
      написал отредактировано
      #2
      Это сообщение удалено!
      1 ответ Последний ответ
      0
      • ktotambyK Не в сети
        ktotambyK Не в сети
        ktotamby
        написал отредактировано
        #3

        Добрый день!

        В рабочей подпрограмме станка нужно проверить состояние дискретного входа. В отладчике он прописан как i10.5 (db9000.dbx17.2) Inp.Hor_In_Sk_Ls.

        Подскажите как к нему обратиться в операторе IF()?

        kirilljsxK 1 ответ Последний ответ
        0
        • ktotambyK ktotamby

          Добрый день!

          В рабочей подпрограмме станка нужно проверить состояние дискретного входа. В отладчике он прописан как i10.5 (db9000.dbx17.2) Inp.Hor_In_Sk_Ls.

          Подскажите как к нему обратиться в операторе IF()?

          kirilljsxK Не в сети
          kirilljsxK Не в сети
          kirilljsx
          Модератор
          написал отредактировано
          #4

          @ktotamby Доброго дня!

          Для проверки состояния дискретного входа i10.5 в условии IF() на стойке Sinumerik 828D синтаксис должен быть следующим:

          IF $A_IN[10] == 1 GOTOF ... ; проверка наличия сигнала (единицы)
          IF $A_IN[10] == 0 GOTOF ... ; проверка отсутствия сигнала (ноля)
          

          стандартный синтаксис IF I10.5 = 1 GOTO ..., к сожалению, не работает и вызовет синтаксическую ошибку. Вместо этого в системных переменных адрес i10.5 кодируется как быстрый вход NCK с номером 10 (запись $A_IN[10]).

          Перед запуском любой программы с прямым обращением к дискретным входам (например, IF $A_IN[10] == 1 ...) обязательно тестируйте код в безопасном режиме!!!

          ktotambyK 1 ответ Последний ответ
          0
          • kirilljsxK kirilljsx

            @ktotamby Доброго дня!

            Для проверки состояния дискретного входа i10.5 в условии IF() на стойке Sinumerik 828D синтаксис должен быть следующим:

            IF $A_IN[10] == 1 GOTOF ... ; проверка наличия сигнала (единицы)
            IF $A_IN[10] == 0 GOTOF ... ; проверка отсутствия сигнала (ноля)
            

            стандартный синтаксис IF I10.5 = 1 GOTO ..., к сожалению, не работает и вызовет синтаксическую ошибку. Вместо этого в системных переменных адрес i10.5 кодируется как быстрый вход NCK с номером 10 (запись $A_IN[10]).

            Перед запуском любой программы с прямым обращением к дискретным входам (например, IF $A_IN[10] == 1 ...) обязательно тестируйте код в безопасном режиме!!!

            ktotambyK Не в сети
            ktotambyK Не в сети
            ktotamby
            написал отредактировано
            #5

            @kirilljsx

            @kirilljsx said:

            i10.5 кодируется как быстрый вход NCK с номером 10

            Подскажите, пожалуйста, как закодировать быстрый вход с номером 10?

            kirilljsxK 1 ответ Последний ответ
            0
            • ktotambyK ktotamby

              @kirilljsx

              @kirilljsx said:

              i10.5 кодируется как быстрый вход NCK с номером 10

              Подскажите, пожалуйста, как закодировать быстрый вход с номером 10?

              kirilljsxK Не в сети
              kirilljsxK Не в сети
              kirilljsx
              Модератор
              написал отредактировано
              #6

              @ktotamby Для кодирования быстрого входа №10 в управляющей программе используйте системную переменную $A_IN[10].

              Пример проверки сигнала:

              • IF $A_IN[10] == 1 GOTOF ... - сигнал есть.
              • IF $A_IN[10] == 0 GOTOF ... - сигнала нет.
              1 ответ Последний ответ
              0
              • ktotambyK Не в сети
                ktotambyK Не в сети
                ktotamby
                написал отредактировано
                #7

                Просто есть еще дискретные входы i10.2, i10.3…i10.6. У них же должны быть уникальные имена переменных.

                1 ответ Последний ответ
                1
                • ktotambyK Не в сети
                  ktotambyK Не в сети
                  ktotamby
                  написал отредактировано
                  #8

                  Есть входы i10.1 - i10.6 к ним же должен быть доступ по уникальному имени, где-то можно проверить какому входу присвоено имя?

                  1 ответ Последний ответ
                  1

                  Здравствуйте! Похоже, вас заинтересовал этот пост, но у вас ещё нет аккаунта.

                  Надоело каждый раз пролистывать одни и те же посты? Зарегистрировав аккаунт, вы всегда будете возвращаться на ту же страницу, где были раньше, и сможете выбирать, получать ли уведомления о новых ответах (по электронной почте или в виде push-уведомлений). Вы также сможете сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.

                  С вашими комментариями этот пост мог бы стать ещё лучше 💗

                  Зарегистрироваться Войти

                  • kirilljsxK

                    G66 макрос для G82 на Siemens 828D: параметрический цикл сверления

                    Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена Программирование ЧПУ | CNC g66 макрос g82 сверление siemens 828d
                    1
                    1
                    0 Голоса
                    1 Сообщения
                    45 Просмотры
                    Нет ответов
                  • kirilljsxK

                    Программирование Heidenhain iTNC: диалоговый язык для ЧПУ-станков

                    Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена Программирование ЧПУ | CNC heidenhain диалоговый язык itnc
                    1
                    0 Голоса
                    1 Сообщения
                    45 Просмотры
                    Нет ответов
                  • kirilljsxK

                    Программирование Siemens Sinumerik: основы для начинающих на ЧПУ-станках

                    Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена Программирование ЧПУ | CNC sinumerik программирование чпу g-коды
                    1
                    0 Голоса
                    1 Сообщения
                    301 Просмотры
                    Нет ответов
                  • locolizatorL

                    ЧПУ Fanuc: программирование фрезерования конического отверстия

                    Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена Новости новости
                    1
                    0 Голоса
                    1 Сообщения
                    348 Просмотры
                    Нет ответов
                  • LizaL

                    ГОСТ 31385-2023: сварка резервуаров, режимы, температура металла, скорость ветра

                    Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена Новости новости
                    1
                    0 Голоса
                    1 Сообщения
                    65 Просмотры
                    Нет ответов
                  • locolizatorL

                    Что относится к технологическому оборудованию на производстве: виды и примеры

                    Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена Новости новости
                    1
                    0 Голоса
                    1 Сообщения
                    556 Просмотры
                    Нет ответов
                  • locolizatorL

                    Роботы с машинным зрением для сборки металлоконструкций: точность и эффективность

                    Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена Новости новости
                    1
                    0 Голоса
                    1 Сообщения
                    75 Просмотры
                    Нет ответов
                  • kirilljsxK

                    Программирование станков с ЧПУ на Python: Полный цикл от кода до запуска

                    Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена Программирование ЧПУ | CNC
                    1
                    0 Голоса
                    1 Сообщения
                    978 Просмотры
                    Нет ответов

                  Категории

                  • Главная
                  • Новости
                  • Объявления
                  • ПО и ЧПУ
                  • Обсуждение

                  Контакты

                  • Сотрудничество
                  • forum@investsteel.ru

                  © 2022 - 2026 InvestSteel, Inc. Все права защищены.

                  Политика конфиденциальности
                  • Войти

                  • Нет учётной записи? Зарегистрироваться

                  • Войдите или зарегистрируйтесь для поиска.
                  • Первое сообщение
                    Последнее сообщение
                  0
                  • Лента
                  • Популярные
                  • Последние
                  • Теги
                  • Пользователи
                  • Калькуляторы