<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Михаил Васильев</title>
    <description>The latest articles on DEV Community by Михаил Васильев (@promtaiga).</description>
    <link>https://dev.to/promtaiga</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3842477%2F7bef13e7-2096-4508-8c0d-e48461e0429d.png</url>
      <title>DEV Community: Михаил Васильев</title>
      <link>https://dev.to/promtaiga</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/promtaiga"/>
    <language>en</language>
    <item>
      <title>G-код как язык программирования: разбор синтаксиса и логики для веб-разработчиков</title>
      <dc:creator>Михаил Васильев</dc:creator>
      <pubDate>Wed, 25 Mar 2026 04:43:10 +0000</pubDate>
      <link>https://dev.to/promtaiga/g-kod-kak-iazyk-proghrammirovaniia-razbor-sintaksisa-i-loghiki-dlia-vieb-razrabotchikov-39e6</link>
      <guid>https://dev.to/promtaiga/g-kod-kak-iazyk-proghrammirovaniia-razbor-sintaksisa-i-loghiki-dlia-vieb-razrabotchikov-39e6</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx6yl5tmvu38597hurm8v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx6yl5tmvu38597hurm8v.png" alt=" " width="800" height="339"&gt;&lt;/a&gt;Станок с ЧПУ — это компьютер, который исполняет код для резки металла. G-код работает по тем же принципам, что и Python или JavaScript: последовательные команды, циклы, переменные и условия. Разница в том, что ошибка в одной цифре стоит не упавшего сервера, а сломанного шпинделя за $5000.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://promtaiga.ru/blog/g-kod-dlya-novichkov-kak-chitat-programmu-dlya-chpu-i-ne-dopuskat-opasnyh-oshibok" rel="noopener noreferrer"&gt;Что такое G-код&lt;/a&gt; на самом деле&lt;/strong&gt;&lt;br&gt;
G-код (ISO 6983) — язык управления станками с ЧПУ. Каждая строка это инструкция: куда двигаться, с какой скоростью, какой инструмент использовать.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Базовая структура команды:&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;N10 G01 X100.5 Y50.0 F1500 S2400 M03&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;N10 — номер строки (как номер линии в коде)&lt;/li&gt;
&lt;li&gt;G01 — команда линейного перемещения (как функция)&lt;/li&gt;
&lt;li&gt;X100.5 Y50.0 — координаты цели (параметры)&lt;/li&gt;
&lt;li&gt;F1500 — скорость подачи мм/мин (переменная)&lt;/li&gt;
&lt;li&gt;S2400 — обороты шпинделя (переменная)&lt;/li&gt;
&lt;li&gt;M03 — включение шпинделя по часовой (модификатор)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Параллели с веб-разработкой&lt;/strong&gt;&lt;br&gt;
G-код и языки программирования имеют общую логику. Функциям в Python или JS соответствуют G-команды перемещения. Циклы реализуются через вызов подпрограмм с повторами (M98 P1000 L10). Переменные хранятся в макропеременных системы (#100, #101 и далее). Условия выполняются через операторы IF с переходом GOTO. Комментарии заключаются в скобки — аналог // в современных языках.&lt;br&gt;
Системы Fanuc и Siemens поддерживают макропрограммирование — это фактически полноценное программирование с переменными, условиями и циклами.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Пример из практики: одна цифра = $5000 убытка&lt;/strong&gt;&lt;br&gt;
При обработке корпусной детали из алюминиевого сплава 6061 оператор допустил ошибку в координате Z:&lt;br&gt;
&lt;code&gt;N240 G01 Z-5.0 F800  (должно быть Z-0.5)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Фреза ушла на 4.5 мм глубже расчётного. Результат:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Сломан шпиндель (замена ~$3200)&lt;/li&gt;
&lt;li&gt;Повреждена заготовка (материал + обработка ~$1800)&lt;/li&gt;
&lt;li&gt;Простой линии 8 часов&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Итог: $5000+ убытков из-за одной цифры.&lt;/p&gt;

&lt;p&gt;В веб-разработке аналог — опечатка в SQL-запросе, которая удаляет продакшен-базу. Только здесь последствия видны сразу и в металле.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Типичные ошибки и как их избежать&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Отсутствие симуляции перед запуском&lt;br&gt;
Всегда проверяйте программу в CAM-системе или симуляторе. Запускайте первый экземпляр в режиме «сухого хода» без детали.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Игнорирование системы координат&lt;br&gt;
Проверяйте точку нуля (G54-G59) перед каждым запуском. Ошибка в привязке означает деталь в утиль.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Неверные режимы резания&lt;br&gt;
Подача и обороты должны соответствовать материалу. Для алюминия 6061: S2000-4000, F800-1500. Для нержавеющей стали 304: S800-1500, F300-600.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Отсутствие комментариев в программе&lt;br&gt;
Комментируйте ключевые переходы и смены инструмента. Через месяц вы не вспомните, что делает строка N450.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Зачем разработчику знать про G-код&lt;/strong&gt;&lt;br&gt;
Понимание принципов ЧПУ открывает двери в смежные области. IoT и Индустрия 4.0 — подключение станков к сетям мониторинга. CAD/CAM разработка — создание ПО для генерации управляющих программ. Робототехника — кинематика станков близка к роботам-манипуляторам. Автоматизация — скрипты для постпроцессинга и оптимизации траекторий.&lt;br&gt;
G-код — это мост между цифровым и физическим миром. Код, который можно потрогать.&lt;/p&gt;

</description>
      <category>gcode</category>
    </item>
  </channel>
</rss>
