Перейти к содержанию

Передача строки или сообщения из G-code в макрос VB

Программирование ЧПУ | CNC
1 1 96
  • Недавно столкнулся с вопросом: как передать строку или сообщение из G-code в макрос VB для дальнейшей обработки? Поделюсь своим опытом — возможно, кому-то пригодится.

    Суть задачи: нужно, чтобы текст, заданный в G-code, «доходил» до макроса и обрабатывался там. Например, вывод сообщения на экран или работа с данными.


    Первый способ — через параметры P, Q, R.
    Здесь используется передача ASCII-кодов символов. Допустим, в G-code пишем:

    M1234 P72 Q101 R108  
    

    В макросе VB эти значения преобразуются в символы:

    Dim Char1 As String  
    Char1 = Chr(Param1())  ' Получим "H" (ASCII 72)  
    

    Метод рабочий, но подходит для коротких сообщений — параметров всего три.


    Второй вариант — через файлы.
    Если система позволяет, можно сохранить текст в файл из G-code, а затем считать его в макросе. Например:

    M1000 (Запись в файл)  
    

    В макросе M1000:

    Open "C:\message.txt" For Output As #1  
    Print #1, "Ваш текст"  
    Close #1  
    

    Позже этот файл читается другим макросом. Удобно для длинных сообщений, но требует доступа к файловой системе.


    Третий путь — диалоговые окна.
    Просто и интерактивно:

    Dim Input As String  
    Input = AskTextQuestion("Введите данные:")  
    Message "Вы ввели: " & Input  
    

    Правда, это уже не автоматизация, а ручной ввод.

    Важно: Не забывайте о системных переменных (если ваша ЧПУ их поддерживает). Например, через #500 можно передавать значения напрямую.

    Каждый метод имеет свои нюансы. Для автоматизации коротких команд подойдут параметры P/Q/R, для сложных задач — файлы. А если нужен диалог с оператором, то AskTextQuestion— ваш выбор.

  • Что такое ЧПУ | CNC

    Программирование ЧПУ | CNC чпу cnc
    1
    1 Голоса
    1 Сообщения
    34 Просмотры
    Нет ответов
  • Постпроцессор FANUC 0i-mf Plus — скачать

    Fanuc fanuc cnc чпу постпроцессор
    1
    0 Голоса
    1 Сообщения
    564 Просмотры
    Нет ответов
  • Universal g code sender — где скачать

    Программирование ЧПУ | CNC gcode чпу
    1
    3 Голоса
    1 Сообщения
    93 Просмотры
    Нет ответов
  • Можно ли воссоздать 3D-модель из G-кода? Спойлер: Да, но не всегда просто 🔄

    Программирование ЧПУ | CNC gcode чпу
    1
    1
    2 Голоса
    1 Сообщения
    61 Просмотры
    Нет ответов
  • GOTO в ЧПУ-программировании: что это и как работает?

    Программирование ЧПУ | CNC fanuc чпу
    1
    1 Голоса
    1 Сообщения
    800 Просмотры
    Нет ответов
  • G-код примеры для фрезерования карманов: от простого к сложному

    Программирование ЧПУ | CNC
    1
    3 Голоса
    1 Сообщения
    283 Просмотры
    Нет ответов
  • Компилятор G-code: что это, зачем нужен и как работает?

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

    Перенесена Программирование ЧПУ | CNC чпу cnc
    3
    1
    0 Голоса
    3 Сообщения
    264 Просмотры
    kirilljsxK
    Определение входных данных После того как мы определили нашу функциональность и стандартизировали использование таблицы переменных, нам нужно определить входные данные для нашей программы, необходимые для получения желаемых результатов функциональности. Мой метод заключается в том, чтобы поместить входные данные в отдельную подпрограмму от основной рабочей программы. Это помогает предотвратить ошибки при редактировании из-за любопытства или случайных изменений в основном макросе. Входные данные, которые нам нужны для выполнения сверления, следующие: #500: Количество отверстий для сверления #501: Диаметр окружности болтов #502: Угол первого отверстия вдоль оси X при угле координат машины 0. Обычно это направление X+. #503: Абсолютная позиция по оси X для центра окружности болтов #504: Абсолютная позиция по оси Y для центра окружности болтов #505: Глубина отверстия #506: Глубина захода (Pecking Depth) #507: Высота плоскости R (R plane clearance) #508: Скорость подачи (Feedrate) для сверления #509: Высота зазора (над частью Z0) для быстрых перемещений между отверстиями #510: Скорость шпинделя для сверления #511: Функция W в цикле сверления G82 #512: Функция E в цикле сверления G82 #513: Функция V в цикле сверления G82 #514: Функция L в цикле сверления G82 Это все, что я могу придумать на данный момент, что нам нужно для достижения нашей заявленной функциональности. Если кто-то заметит что-то пропущенное, дайте мне знать, так как я пишу это и обдумываю по ходу. Кстати, я пишу это, основываясь на реализации Fanuc на Brother B00.