{"id":4387,"date":"2024-01-15T09:00:55","date_gmt":"2024-01-15T08:00:55","guid":{"rendered":"https:\/\/cncgraf.com\/?p=4387"},"modified":"2024-02-02T19:35:05","modified_gmt":"2024-02-02T18:35:05","slug":"programowanie-cnc-nauka-kodu-g-czesc-2","status":"publish","type":"post","link":"https:\/\/cncgraf.com\/pl\/2024\/01\/15\/cnc-programmierung-g-code-lernen-teil2\/","title":{"rendered":"Nauka kodu G, cz\u0119\u015b\u0107 2\/2: Zaawansowane programowanie CNC"},"content":{"rendered":"<div class=\"wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h1 class=\"wp-block-heading alignfull has-text-align-center has-base-background-color has-background has-large-font-size\" id=\"g-code-lernen-teil-2-2-fortgeschrittene-cnc-programmierung\">Nauka G-Code Cz\u0119\u015b\u0107 2\/2: <br>Zaawansowane programowanie CNC<\/h1>\n\n\n\n<p>W pierwszej cz\u0119\u015bci serii \u201e<a href=\"https:\/\/cncgraf.com\/pl\/2023\/12\/20\/programowanie-cnc-kod-g-nauka-polecen\/\" data-type=\"post\" data-id=\"3742\">Programowanie CNC: poznaj kod G - szybko i \u0142atwo<\/a>\u201c poznali\u015bmy podstawy kodu G. W tym artykule poznasz wi\u0119cej polece\u0144, takich jak podprogramy, p\u0119tle, instrukcje IF i parametry R.<\/p>\n\n\n\n<p><strong>Motywacja<\/strong>W produkcji CNC cz\u0119sto konieczne jest wytwarzanie podobnych cz\u0119\u015bci z niewielkimi r\u00f3\u017cnicami. Tworzenie nowego pliku G-code dla ka\u017cdej niewielkiej zmiany przy u\u017cyciu oprogramowania CAD\/CAM mo\u017ce by\u0107 czasoch\u0142onne. Dobrym rozwi\u0105zaniem jest u\u017cycie konfigurowalnego pliku G-code. Dzi\u0119ki parametrom zmiany w pliku G-code mo\u017cna wprowadza\u0107 szybko i \u0142atwo, co oszcz\u0119dza czas i zwi\u0119ksza elastyczno\u015b\u0107. W tym artykule dowiesz si\u0119, w jaki spos\u00f3b sparametryzowane programowanie G-code zwi\u0119ksza wydajno\u015b\u0107 proces\u00f3w CNC.<\/p>\n\n\n\n<p>Do programowania CNC (G-code) u\u017cywamy naszego oprogramowania steruj\u0105cego CNC jako darmowego symulatora G-code. Kliknij tutaj <a href=\"https:\/\/cncgraf.com\/pl\/pobierz-cncgraf-oprogramowanie-cnc\/\" data-type=\"page\" data-id=\"24\">tutaj<\/a>, aby pobra\u0107 cncGraF za darmo.<\/p>\n\n\n\n<p>Aby dowiedzie\u0107 si\u0119 wi\u0119cej o darmowym symulatorze G-Code, kliknij artyku\u0142 na blogu <br>\u201e<a href=\"https:\/\/cncgraf.com\/pl\/2023\/12\/20\/darmowy-symulator-kodu-g-emulator-cnc\/\" data-type=\"post\" data-id=\"3822\">cncGraF: Darmowy symulator kodu G i emulator maszyny CNC<\/a>\u201e.<\/p>\n\n\n\n<div class=\"wp-block-rank-math-toc-block\" id=\"rank-math-toc\"><h4>Przegl\u0105d: Zaawansowane programowanie CNC<\/h4><nav><ul><li class=\"\"><a href=\"#g-code-unterprogramme\">G-Code: Podprogramy<\/a><ul><li class=\"\"><a href=\"#unterprogramm-verwaltung\">Zarz\u0105dzanie podprogramami<\/a><\/li><\/ul><\/li><li class=\"\"><a href=\"#g-code-schleifen\">G-Code: P\u0119tle<\/a><\/li><li class=\"\"><a href=\"#was-ist-ein-r-parameter\">Co to jest parametr R?<\/a><\/li><li class=\"\"><a href=\"#was-ist-eine-if-anweisung\">Co to jest instrukcja IF?<\/a><\/li><li class=\"\"><a href=\"#komplettes-g-code-beispiel\">Kompletny przyk\u0142ad kodu G<\/a><\/li><li class=\"\"><a href=\"#zusammenfassung\">Podsumowanie<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading has-large-font-size\" id=\"g-code-unterprogramme\">G-Code: Podprogramy<\/h2>\n\n\n\n<p>Najpierw dodajemy podprogram. U\u017cyjemy przyk\u0142adu kodu G z pierwszej cz\u0119\u015bci tej serii \u201e<a href=\"https:\/\/cncgraf.com\/pl\/2023\/12\/20\/programowanie-cnc-kod-g-nauka-polecen\/\" data-type=\"post\" data-id=\"3742\">Programowanie CNC: poznaj kod G - szybko i \u0142atwo<\/a>\u201e. Rozszerzone linie kodu G s\u0105 oznaczone kolorami w <strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">Jasnoczerwony <\/mark><\/strong>pod\u015bwietlony. Kod G wygl\u0105da wtedy nast\u0119puj\u0105co:<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group alignfull has-tertiary-background-color has-background has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<hr class=\"wp-block-separator alignfull has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background\"\/>\n\n\n\n<p><em>; Plik G-code: Produkcja prostok\u0105ta w dniu 22.12.2023 r.<\/em><br><em>; Aktualizacja z 23.01.2024<\/em><br><em><br>; Wybrano narz\u0119dzie numer 1<\/em><br><strong>T1<br><\/strong><em>; Podnie\u015b\u0107 narz\u0119dzie z du\u017c\u0105 pr\u0119dko\u015bci\u0105 na wysoko\u015b\u0107 Z = 10 mm powy\u017cej punktu zerowego.<\/em><strong><br>G00 Z10<br><\/strong><em>; Przej\u015bcie do pozycji X = 10 i Y = 10 z du\u017c\u0105 pr\u0119dko\u015bci\u0105<\/em><strong><br>G00 X10 Y10<\/strong><br><em>; W\u0142\u0105cz wrzeciono robocze z M3 z pr\u0119dko\u015bci\u0105 2000 obr.<\/em><br><strong>M3 S20000<br><\/strong><em>; Odczeka\u0107 5 sekund do osi\u0105gni\u0119cia pr\u0119dko\u015bci wrzeciona.<\/em><strong><br>G04 H5<\/strong><br><br><em>; Wymiarowanie wzgl\u0119dne <em>(wymiar \u0142a\u0144cucha)<\/em>, Polecenie G91 jest aktywne<\/em><br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">G91<\/mark><br><br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">P1 <\/mark><\/strong><em>; Wywo\u0142ywany jest podprogram 1<\/em><br><strong><br><\/strong><em>; Koniec programu<\/em><strong><br>M5 M30<br><br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\"> <\/mark><\/strong><em>; Pocz\u0105tek podprogramu 1 <\/em><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\"><br>M99 P1<br><\/mark><\/strong><em>; Przesu\u0144 do \u015brodka prostok\u0105ta<\/em><strong><br>G00 X50 Y30<br><\/strong><em>; zag\u0142\u0119bianie 2 mm w obrabiany przedmiot z pr\u0119dko\u015bci\u0105 posuwu 600 mm na minut\u0119<\/em><strong><br>G01 Z-12 F600<br><\/strong><em>; Okr\u0105g (d=20 mm, \u015brodek 60\u00d760) zgodnie z ruchem wskaz\u00f3wek zegara<br>; posuw z pr\u0119dko\u015bci\u0105 600 mm na minut\u0119<\/em><strong><br>G02 I0 J20<br><\/strong><em>; Podnoszenie narz\u0119dzia z du\u017c\u0105 pr\u0119dko\u015bci\u0105: Z = 10 mm powy\u017cej punktu zerowego<\/em><strong><br>G00 Z12<br><\/strong><em>; Przej\u015bcie do pozycji X = 10 i Y = 10 z du\u017c\u0105 pr\u0119dko\u015bci\u0105<\/em><strong><br>G00 X-50 Y-30<br><\/strong><em>; zag\u0142\u0119bianie 2 mm w obrabiany przedmiot z pr\u0119dko\u015bci\u0105 posuwu 600 mm na minut\u0119<\/em><strong><br>G01 Z-12<br><\/strong><em>; Trawers prostok\u0105ta 100\u00d7100 mm z pr\u0119dko\u015bci\u0105 posuwu 600 mm na minut\u0119<\/em><strong><br>G01 X100<br>G01 Y100<br>G01 X-100<br>G01 Y-100<br><\/strong><em>; Podnoszenie narz\u0119dzia z du\u017c\u0105 pr\u0119dko\u015bci\u0105: Z = 10 mm powy\u017cej punktu zerowego<\/em><strong><br>G00 Z12<br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">M99<\/mark> <\/strong><em>; Koniec podprogramu 1<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"270\" height=\"279\" src=\"https:\/\/cncgraf.com\/wp-content\/uploads\/2024\/01\/g-code-teil2-datei-unterprogramm.jpg\" alt=\"Plik G-code: Prostok\u0105t i okr\u0105g\" class=\"wp-image-4993\" srcset=\"https:\/\/cncgraf.com\/wp-content\/uploads\/2024\/01\/g-code-teil2-datei-unterprogramm.jpg 270w, https:\/\/cncgraf.com\/wp-content\/uploads\/2024\/01\/g-code-teil2-datei-unterprogramm-12x12.jpg 12w\" sizes=\"auto, (max-width: 270px) 100vw, 270px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator alignfull has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background\"\/>\n<\/div>\n\n\n\n<div class=\"wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<p>Kod G (patrz wy\u017cej) opisuje przetwarzanie prostok\u0105ta i okr\u0119gu, przy czym oba kszta\u0142ty s\u0105 opisane w podprogramie <strong>1 <\/strong>s\u0105 zdefiniowane. Podprogram jest uruchamiany poleceniem <strong>P1 <\/strong>w programie g\u0142\u00f3wnym. <\/p>\n\n\n\n<p>Definicja podprogramu rozpoczyna si\u0119 od polecenia <strong>M99 P1<\/strong> i ko\u0144czy si\u0119 na <strong>M99<\/strong>. Wszystkie podprogramy znajduj\u0105 si\u0119 na ko\u0144cu programu g\u0142\u00f3wnego, tj. po poleceniu <strong>M30<\/strong>, kt\u00f3ry oznacza koniec programu g\u0142\u00f3wnego. Numer podprogramu jest oznaczony cyfr\u0105 po\u201a<strong>P<\/strong>\u201a oznaczone - w tym przypadku <strong>1<\/strong>.<\/p>\n\n\n\n<p>Podprogramy G-code maj\u0105 nast\u0119puj\u0105c\u0105 struktur\u0119:<br><br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">G91<\/mark> <\/strong><em>; Wymiarowanie wzgl\u0119dne (wymiarowanie przyrostowe) jest aktywne<\/em><br><em>; Program g\u0142\u00f3wny<\/em><br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">P1 <\/mark><\/strong><em>; Wywo\u0142ywany jest podprogram 1<\/em><br><em>; Program g\u0142\u00f3wny<\/em><br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">M30<\/mark><em><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\"> <\/mark><\/em><\/strong><em>; Koniec programu g\u0142\u00f3wnego<\/em><\/p>\n\n\n\n<p><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">M99 P1<\/mark><\/strong><br><em>; Tre\u015b\u0107 podprogramu<\/em> 1<br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">M99<\/mark><\/strong><\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" width=\"24\" height=\"24\" class=\"wp-image-1775\" style=\"width: 24px;\" src=\"https:\/\/cncgraf.com\/wp-content\/uploads\/2023\/08\/info.png\" alt=\"\"> <strong>Wskaz\u00f3wka:<\/strong> Nale\u017cy pami\u0119ta\u0107, \u017ce na pocz\u0105tku programu g\u0142\u00f3wnego polecenie <strong>G91 <\/strong>musi by\u0107 ustawiona, aby aktywowa\u0107 wymiarowanie wzgl\u0119dne (wymiar przyrostowy). Wszystkie kolejne specyfikacje wsp\u00f3\u0142rz\u0119dnych s\u0105 zatem warto\u015bciami wzgl\u0119dnymi. Jest to konieczne, aby podprogramy mog\u0142y by\u0107 umieszczane w dowolnej pozycji.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-large-font-size\" id=\"unterprogramm-verwaltung\">Zarz\u0105dzanie podprogramami<\/h3>\n\n\n\n<p>Oprogramowanie steruj\u0105ce CNC <a href=\"https:\/\/cncgraf.com\/pl\/cncgraf-8-funkcje-oprogramowania-sterujacego-cnc\/\" data-type=\"page\" data-id=\"8\">cncGraF<\/a> posiada zintegrowan\u0105 funkcj\u0119 zarz\u0105dzania podprogramami. Wszystkie podprogramy mog\u0105 by\u0107 tam zapisywane. W takim przypadku podprogram nie musi by\u0107 zawarty w pliku G-code; zamiast tego podprogram w programie g\u0142\u00f3wnym jest wywo\u0142ywany tylko za pomoc\u0105 polecenia G-code\u201a<strong>P<\/strong>\u201a i numer podprogramu (tutaj <strong>P1<\/strong>).<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"967\" height=\"769\" src=\"https:\/\/cncgraf.com\/wp-content\/uploads\/2024\/01\/g-code-unterprogramm-verwaltung.jpg\" alt=\"Programowanie CNC: zarz\u0105dzanie podprogramami G-code zintegrowane z systemem sterowania CNC\" class=\"wp-image-4704\" srcset=\"https:\/\/cncgraf.com\/wp-content\/uploads\/2024\/01\/g-code-unterprogramm-verwaltung.jpg 967w, https:\/\/cncgraf.com\/wp-content\/uploads\/2024\/01\/g-code-unterprogramm-verwaltung-600x477.jpg 600w, https:\/\/cncgraf.com\/wp-content\/uploads\/2024\/01\/g-code-unterprogramm-verwaltung-300x239.jpg 300w, https:\/\/cncgraf.com\/wp-content\/uploads\/2024\/01\/g-code-unterprogramm-verwaltung-768x611.jpg 768w, https:\/\/cncgraf.com\/wp-content\/uploads\/2024\/01\/g-code-unterprogramm-verwaltung-15x12.jpg 15w\" sizes=\"auto, (max-width: 967px) 100vw, 967px\" \/><\/figure>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" width=\"24\" height=\"24\" class=\"wp-image-1775\" style=\"width: 24px;\" src=\"https:\/\/cncgraf.com\/wp-content\/uploads\/2023\/08\/info.png\" alt=\"\"> <strong>Wskaz\u00f3wka:<\/strong> Je\u015bli podprogram z tym samym numerem podprogramu (numer po\u201a<strong>P<\/strong>\u201a) jest obecny zar\u00f3wno w pliku G-code, jak i w zarz\u0105dzaniu podprogramami, u\u017cywany jest podprogram z pliku G-code. Oprogramowanie najpierw wyszukuje podprogram w pliku, a dopiero potem w G-code management. Umo\u017cliwia to \u201anadpisanie\u2018 podprogramu w administracji.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading has-large-font-size\" id=\"g-code-schleifen\">G-Code: P\u0119tle<\/h2>\n\n\n\n<p>Aby powieli\u0107 kszta\u0142ty zdefiniowane w podprogramie, podprogram musi zosta\u0107 wywo\u0142any kilka razy. Odbywa si\u0119 to za pomoc\u0105 polece\u0144 kodu G<strong> G25 Q<\/strong> i <strong>G26 <\/strong>zrealizowane dla p\u0119tli. <br>Sekcja G-code w g\u0142\u00f3wnym programie wygl\u0105da nast\u0119puj\u0105co: <\/p>\n\n\n\n<p><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">G25 Q4<\/mark><\/strong><br><strong>P1<\/strong><em><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\"><strong> <\/strong><\/mark>; Wywo\u0142ywany jest podprogram 1<\/em><br><strong>G00 X110<\/strong><br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">G26<\/mark><\/strong><\/p>\n\n\n\n<p>Z <strong>G25 Q<\/strong> i <strong>G26 <\/strong>zaprogramowana jest p\u0119tla. <strong>G25 <\/strong>definiuje pocz\u0105tek p\u0119tli, a z <strong>G26 <\/strong>p\u0119tla zostanie zako\u0144czona. Parametr <strong>Q<\/strong> okre\u015bla liczb\u0119 przebieg\u00f3w. W naszym przyk\u0142adzie <strong>4<\/strong> s\u0105 zdefiniowane. Po ka\u017cdym wywo\u0142aniu podprogramu nast\u0119puje wzgl\u0119dne przesuni\u0119cie pozycji w X dla nast\u0119pnego podprogramu z lini\u0105: <strong>G00 X110<\/strong>.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading has-large-font-size\" id=\"was-ist-ein-r-parameter\">Co to jest parametr R?<\/h2>\n\n\n\n<p><strong>Parametr R to symbol zast\u0119pczy (zmienna) w zakresie od R1 do R999, w kt\u00f3rym zapisywana jest warto\u015b\u0107. <\/strong>Przyk\u0142ad: <strong>R10 <\/strong>= Ten wiersz definiuje parametr <strong>R10<\/strong>, kt\u00f3ra reprezentuje warto\u015b\u0107 <strong>99.567<\/strong> zawiera. <br>Poprzez wywo\u0142anie parametru R (tutaj <strong>R10<\/strong>), jego warto\u015b\u0107 jest dost\u0119pna w kodzie G. Podczas korzystania z parametr\u00f3w R nale\u017cy pami\u0119ta\u0107 o nast\u0119puj\u0105cych kwestiach:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Podstawowe operacje arytmetyczne Dodawanie, odejmowanie, mno\u017cenie i dzielenie<\/strong> mo\u017cna wykona\u0107 w ramach parametru. Podczas obliczania warto\u015bci, regu\u0142a \u201e<strong><mark style=\"background-color:#ff7d7d\" class=\"has-inline-color has-custom-hintergrund-1-b-5-e-3-ff-color\">Kropka przed my\u015blnikiem<\/mark><\/strong>\u201c jest stosowany. Nawiasy nie s\u0105 obs\u0142ugiwane. <br>Przyk\u0142ad:<br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">R56<\/mark> <\/strong><em>= 10\/2 - 2<\/em>*2<br>Wynik jest nast\u0119puj\u0105cy <strong>1<\/strong><\/li>\n\n\n\n<li>W obliczeniach mo\u017cna wykorzysta\u0107 parametry R. <br>Przyk\u0142ad:<br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">R55<\/mark><\/strong> = 10 <br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\"><strong>R56<\/strong> = <strong>R55<\/strong><\/mark>\/2 - 2*2<br>Wynik jest nast\u0119puj\u0105cy <strong>1<\/strong><\/li>\n\n\n\n<li>Parametry R mo\u017cna przypisa\u0107 w nast\u0119puj\u0105cych miejscach w kodzie G:<br>Polecenie G00, przyk\u0142ad G00 X<strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">=R10<\/mark><\/strong><br>Polecenie G01, przyk\u0142ad G01 X<strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">=R10<\/mark><\/strong> Y<strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">=R11 + 6 \/ 2<\/mark><\/strong><br>Polecenie G02\/G03 X\/Y (polecenia \u0142uku), przyk\u0142ad: G02 I20 J20 X<strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">=R10<\/mark><\/strong> Y<strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">=R10<\/mark><\/strong><br>Polecenie G25 Q (p\u0119tla), przyk\u0142ad: G25 Q<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">=<strong>R4<\/strong><\/mark><br>Polecenie G53-G60 X\/Y\/Z, przyk\u0142ad G54 X<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">=<strong>R20<\/strong><\/mark><br>Polecenie instrukcji IF, przyk\u0142ad: $IF <strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">R100<\/mark><\/strong>==1<\/li>\n\n\n\n<li>Parametry R s\u0105 parametrami globalnymi, tzn. je\u015bli s\u0105 zdefiniowane na pocz\u0105tku pliku G-code, s\u0105 dost\u0119pne dla ca\u0142ego pliku.<\/li>\n\n\n\n<li>Parametry R mog\u0105 by\u0107 r\u00f3wnie\u017c u\u017cywane w podprogramach.<\/li>\n\n\n\n<li>Warto\u015bci parametr\u00f3w R s\u0105 wy\u015bwietlane w dolnej cz\u0119\u015bci paska stanu edytora tekstu (patrz zrzut ekranu poni\u017cej).<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"923\" height=\"352\" src=\"https:\/\/cncgraf.com\/wp-content\/uploads\/2024\/01\/g-code-parameter.jpg\" alt=\"\" class=\"wp-image-4734\" srcset=\"https:\/\/cncgraf.com\/wp-content\/uploads\/2024\/01\/g-code-parameter.jpg 923w, https:\/\/cncgraf.com\/wp-content\/uploads\/2024\/01\/g-code-parameter-600x229.jpg 600w, https:\/\/cncgraf.com\/wp-content\/uploads\/2024\/01\/g-code-parameter-300x114.jpg 300w, https:\/\/cncgraf.com\/wp-content\/uploads\/2024\/01\/g-code-parameter-768x293.jpg 768w, https:\/\/cncgraf.com\/wp-content\/uploads\/2024\/01\/g-code-parameter-18x7.jpg 18w\" sizes=\"auto, (max-width: 923px) 100vw, 923px\" \/><\/figure>\n\n\n\n<p>Poni\u017cej dodajemy parametry do naszej p\u0119tli. Nast\u0119pnie fragment kodu G wygl\u0105da nast\u0119puj\u0105co w g\u0142\u00f3wnym programie:<br><br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">R4=4<\/mark><\/strong><em> ; <em>R4<\/em><\/em> <em>Parametr (symbol zast\u0119pczy) z warto\u015bci\u0105 4 jako liczb\u0105 przebieg\u00f3w<\/em> <em>tworzy\u0107<\/em><br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">R5=110<\/mark><\/strong> <em>; Parametr R5 (symbol zast\u0119pczy) z warto\u015bci\u0105 110 dla nowej pozycji X podprogramu<\/em><br><br><em>; Przypisanie warto\u015bci przez parametr R4<\/em><br><strong>G25 Q<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">=R4<\/mark><\/strong><br><strong>P1<\/strong><em><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\"><strong> <\/strong><\/mark>; Wywo\u0142ywany jest podprogram 1<\/em><br><strong>G00 X<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">=R5<\/mark><\/strong> <em>; Wzgl\u0119dne przemieszczenie, zdefiniowane w parametrze R5<\/em><br><strong>G26<\/strong><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading has-large-font-size\" id=\"was-ist-eine-if-anweisung\">Co to jest instrukcja IF?<\/h2>\n\n\n\n<p>The <strong>instrukcja IF <\/strong>s\u0142u\u017cy do sprawdzania warunku. Je\u015bli warunek jest spe\u0142niony, wykonywane s\u0105 polecenia zawarte w warunku. Dost\u0119pne s\u0105 nast\u0119puj\u0105ce operacje:<br>r\u00f3wny <strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">==<\/mark><\/strong> <br>nier\u00f3wny<strong> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">!=<\/mark><\/strong> <br>wi\u0119ksza lub r\u00f3wna <strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">&gt;=<\/mark><\/strong> <br>mniejsza lub r\u00f3wna <strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">&lt;=<\/mark><\/strong><\/p>\n\n\n\n<p>Instrukcja IF sk\u0142ada si\u0119 z nast\u0119puj\u0105cych polece\u0144 <strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">$IF $ENDIF $ELSE $ELSEIF<\/mark><\/strong>. Instrukcja IF musi wyst\u0119powa\u0107 samodzielnie w wierszu. Instrukcja IF mo\u017ce by\u0107 zawarta w programie g\u0142\u00f3wnym i w podprogramie.<\/p>\n\n\n\n<p><strong>Przyk\u0142ad 1: $IF $ENDIF<\/strong><\/p>\n\n\n\n<p><strong>R57=10<\/strong> <em>; Utw\u00f3rz parametr R57 (symbol zast\u0119pczy) z warto\u015bci\u0105 10<\/em><br><br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">$IF R57== 10<\/mark><\/strong><br><em>; Ta zawarto\u015b\u0107 kodu G jest wykonywana, poniewa\u017c parametr R57 ma warto\u015b\u0107 10 (r\u00f3wno\u015b\u0107 jest spe\u0142niona)<\/em><br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">$ENDIF<\/mark><\/strong><\/p>\n\n\n\n<p><strong>Przyk\u0142ad 2: $IF $ELSEIF $ENDIF<\/strong><\/p>\n\n\n\n<p><strong>R57=9<\/strong><br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\"><strong>$IF<\/strong> <strong>R57<\/strong>&lt;=9<\/mark><br><em>; Ta tre\u015b\u0107 jest wykonywana, poniewa\u017c parametr R57=9 (mniejszy lub r\u00f3wny jest spe\u0142niony)<\/em><br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">$ELSEIF R57&gt;=10<\/mark><\/strong><br><em>; Ta tre\u015b\u0107 NIE jest wykonywana, poniewa\u017c parametr R57 ma warto\u015b\u0107 9.<\/em><br><em>; Zmiana warto\u015bci parametru R57 na 10 lub wy\u017csz\u0105 oznacza, \u017ce <\/em><br>; <em>ta zawarto\u015b\u0107 jest wykonywana<\/em>.<br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">$ENDIF<\/mark><\/strong><\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" width=\"24\" height=\"24\" class=\"wp-image-1775\" style=\"width: 24px;\" src=\"https:\/\/cncgraf.com\/wp-content\/uploads\/2023\/08\/info.png\" alt=\"\"> <strong>Wskaz\u00f3wka!<\/strong> Instrukcja IF wewn\u0105trz innej instrukcji IF nie jest obs\u0142ugiwana (patrz tabela poni\u017cej).<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><thead><tr><th>B\u0141\u0104D<\/th><th>PRAWDA<\/th><\/tr><\/thead><tbody><tr><td><strong><mark style=\"background-color:#ffd57c\" class=\"has-inline-color\">$IF R200==0<\/mark><\/strong><br><em>; G-Code: Zawarto\u015b\u0107<\/em><br><mark style=\"background-color:#ffd57c\" class=\"has-inline-color\"><strong>$IF R1==1<\/strong> <br><em>; G-Code: Zawarto\u015b\u0107<\/em><br><strong>$ENDIF<\/strong><\/mark><br><em>; G-Code: Zawarto\u015b\u0107<\/em><br><strong><mark style=\"background-color:#ffd57c\" class=\"has-inline-color\">$ENDIF<\/mark><\/strong><\/td><td><strong>$IF R200==0<\/strong><br><em>; G-Code: Zawarto\u015b\u0107<\/em><br><strong>$ENDIF<\/strong><br><strong>$IF R1==1<\/strong><br><em>; G-Code: Zawarto\u015b\u0107<\/em><br><strong>$ENDIF<\/strong><\/td><\/tr><tr><td><\/td><td><\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Instrukcja IF wewn\u0105trz innej instrukcji IF jest niedozwolona!<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-group alignfull has-tertiary-background-color has-background has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<hr class=\"wp-block-separator alignfull has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-tertiary-background-color has-background has-large-font-size\" id=\"komplettes-g-code-beispiel\">Kompletny przyk\u0142ad kodu G<\/h2>\n\n\n\n<p>Teraz, gdy nauczyli\u015bmy si\u0119 programowania podprogram\u00f3w, p\u0119tli, parametr\u00f3w R i instrukcji IF, rozszerzymy nasz przyk\u0142ad o te polecenia. <br>Nasz kod G wygl\u0105da zatem nast\u0119puj\u0105co:<\/p>\n\n\n\n<p><em>; Plik G-code: Produkcja prostok\u0105ta w dniu 15\/01\/2024 r.<\/em><br><em>; Aktualizacja z 23.01.2024<\/em><br><br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">R3=3<\/mark> <\/strong><em><strong>;<\/strong> Ustaw liczb\u0119 przebieg\u00f3w w Y<\/em><br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">R4=4<\/mark> <\/strong><em>; ustawiona liczba przebieg\u00f3w w X<\/em><br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">R5=110<\/mark><\/strong> <em>; X Przesuni\u0119cie dla nowego podprogramu<\/em> zestaw<br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">R6=110<\/mark><\/strong>; <em>Y Przesuni\u0119cie dla nowego podprogramu<\/em> zestaw<br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">R7=1<\/mark><\/strong> <em>; Okre\u015bla, czy ma zosta\u0107 utworzony okr\u0105g, 1 - tak, 0 - nie.<\/em><\/p>\n\n\n\n<p><em>; Wybrano narz\u0119dzie numer 1<\/em><br><strong>T1<\/strong><br><em>; Podnie\u015b\u0107 narz\u0119dzie z du\u017c\u0105 pr\u0119dko\u015bci\u0105 na wysoko\u015b\u0107 Z = 10 mm powy\u017cej punktu zerowego.<\/em><br><strong>G00 Z10<\/strong><br><em>; Przej\u015bcie do pozycji X = 10 i Y = 10 z du\u017c\u0105 pr\u0119dko\u015bci\u0105<\/em><br><strong>G00 X10 Y10<\/strong><br><em>; W\u0142\u0105cz wrzeciono robocze z M3 z pr\u0119dko\u015bci\u0105 2000 obr.<\/em><br><strong>M3 S2000<\/strong><br><em>; Odczeka\u0107 5 sekund do osi\u0105gni\u0119cia pr\u0119dko\u015bci wrzeciona.<\/em><br><strong>G04 H5<\/strong><br><br><em>; Wymiarowanie wzgl\u0119dne (wymiarowanie przyrostowe) jest aktywne<\/em><br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">G91<\/mark><\/strong><br><br><em>; Przypisanie warto\u015bci przez parametr R3<\/em><br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">G25 Q=R3<\/mark><\/strong><br><em>; Przypisanie warto\u015bci przez parametr R4<\/em><br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">G25 Q=R4<\/mark><\/strong><br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">P1<\/mark><em> <\/em><\/strong><em>; Wywo\u0142ywany jest podprogram 1<\/em><br><strong>G00 X<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">=R5<\/mark><\/strong> <em>; Wzgl\u0119dne przemieszczenie, zdefiniowane w parametrze R5<\/em><br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">G26<\/mark><\/strong><br><strong>G00 Y<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">=R6<\/mark><\/strong> <em>; Wzgl\u0119dne przemieszczenie w X, zdefiniowane w parametrze R6<\/em><br><strong>G00 X<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">=-R5*R4<\/mark><\/strong> <em>; Wzgl\u0119dne przemieszczenie w X do pozycji pocz\u0105tkowej<\/em><br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">G26<\/mark><\/strong><\/p>\n\n\n\n<p><em>; Koniec programu<\/em><br><strong>M5 M30<\/strong><\/p>\n\n\n\n<p><em>; Pocz\u0105tek podprogramu 1<\/em><br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">M99 P1<\/mark><\/strong><br><br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">$IF R7==1<\/mark><\/strong><br><em>; Przesu\u0144 do \u015brodka prostok\u0105ta<\/em><br><strong>G00 X50 Y30<\/strong><br><em>; zag\u0142\u0119bianie 2 mm w obrabiany przedmiot z pr\u0119dko\u015bci\u0105 posuwu 600 mm na minut\u0119<\/em><br><strong>G01 Z-12 F600<\/strong><br><em>; Okr\u0105g (d=20 mm, \u015brodek 60\u00d760) zgodnie z ruchem wskaz\u00f3wek zegara<br>; posuw z pr\u0119dko\u015bci\u0105 600 mm na minut\u0119<\/em><br><strong>G02 I0 J20<\/strong><br><em>; Podnoszenie narz\u0119dzia z du\u017c\u0105 pr\u0119dko\u015bci\u0105: Z = 10 mm powy\u017cej punktu zerowego<\/em><br><strong>G00 Z12<\/strong><br><em>; Przej\u015bcie do pozycji X = 10 i Y = 10 z du\u017c\u0105 pr\u0119dko\u015bci\u0105<\/em><br><strong>G00 X-50 Y-30<\/strong><br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">$ENDIF<\/mark><\/strong><br><br><em>; zag\u0142\u0119bianie 2 mm w obrabiany przedmiot z pr\u0119dko\u015bci\u0105 posuwu 600 mm na minut\u0119<\/em><br><strong>G01 Z-12<\/strong><br><em>; Trawers prostok\u0105ta 100\u00d7100 mm z pr\u0119dko\u015bci\u0105 posuwu 600 mm na minut\u0119<\/em><br><strong>G01 X100<br>G01 Y100<br>G01 X-100<br>G01 Y-100<\/strong><br><em>; Podnoszenie narz\u0119dzia z du\u017c\u0105 pr\u0119dko\u015bci\u0105: Z = 10 mm powy\u017cej punktu zerowego<\/em><br><strong>G00 Z12<\/strong><br><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">M99<\/mark> <\/strong><em>; Koniec podprogramu 1<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"836\" src=\"https:\/\/cncgraf.com\/wp-content\/uploads\/2023\/12\/g-code-teil2-datei-komplette-g-code-datei-1024x836.jpg\" alt=\"Symulator G-Code cncGraF: Wykorzystanie podprogram\u00f3w w G-Code\" class=\"wp-image-4998\" srcset=\"https:\/\/cncgraf.com\/wp-content\/uploads\/2023\/12\/g-code-teil2-datei-komplette-g-code-datei-1024x836.jpg 1024w, https:\/\/cncgraf.com\/wp-content\/uploads\/2023\/12\/g-code-teil2-datei-komplette-g-code-datei-600x490.jpg 600w, https:\/\/cncgraf.com\/wp-content\/uploads\/2023\/12\/g-code-teil2-datei-komplette-g-code-datei-300x245.jpg 300w, https:\/\/cncgraf.com\/wp-content\/uploads\/2023\/12\/g-code-teil2-datei-komplette-g-code-datei-768x627.jpg 768w, https:\/\/cncgraf.com\/wp-content\/uploads\/2023\/12\/g-code-teil2-datei-komplette-g-code-datei-15x12.jpg 15w, https:\/\/cncgraf.com\/wp-content\/uploads\/2023\/12\/g-code-teil2-datei-komplette-g-code-datei.jpg 1045w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator alignfull has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background\"\/>\n<\/div>\n\n\n\n<div class=\"wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<p>Kilka parametr\u00f3w R, p\u0119tle i instrukcje IF s\u0105 u\u017cywane w kodzie G (patrz wy\u017cej). Plik kodu G mo\u017cna bardzo \u0142atwo zmieni\u0107 za pomoc\u0105 parametr\u00f3w R. Parametry R <strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">R3 <\/mark><\/strong>i <strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">R4 <\/mark><\/strong>okre\u015blaj\u0105 liczb\u0119 cz\u0119\u015bci w X i Y. Parametry R <strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">R5 <\/mark><\/strong>i <strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\">R6 <\/mark><\/strong>okre\u015bla odleg\u0142o\u015b\u0107 mi\u0119dzy cz\u0119\u015bciami w X i Y, a ostatni parametr, <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color\"><strong>R7<\/strong><\/mark>, okre\u015bla, czy okr\u0105g ma by\u0107 wyprowadzany, czy nie (patrz instrukcja IF w podprogramie).<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading has-large-font-size\" id=\"zusammenfassung\">Podsumowanie<\/h2>\n\n\n\n<p>W tym artykule na blogu przyjrzeli\u015bmy si\u0119 r\u00f3\u017cnym aspektom programowania CNC. Zaczynaj\u0105c od podstaw, kt\u00f3re zosta\u0142y wyja\u015bnione w artykule <br>\u201a<a href=\"https:\/\/cncgraf.com\/pl\/2023\/12\/20\/programowanie-cnc-kod-g-nauka-polecen\/\" data-type=\"post\" data-id=\"3742\">Programowanie CNC: poznaj kod G - szybko i \u0142atwo<\/a>\u201a do zaawansowanych temat\u00f3w, takich jak parametry R, p\u0119tle i instrukcje IF. W ten spos\u00f3b obj\u0119li\u015bmy zakres i g\u0142\u0119bi\u0119 programowania CNC.<br><br>Mamy nadziej\u0119, \u017ce ten artyku\u0142 na blogu pomo\u017ce ci osi\u0105gn\u0105\u0107 po\u017c\u0105dany sukces.<br>Z serdecznymi pozdrowieniami, Tw\u00f3j zesp\u00f3\u0142 BOENIGK-electronics<br><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.cnc-controller.eu\/\" target=\"_blank\" rel=\"noopener\">Do sklepu internetowego<\/a><\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>W pierwszej cz\u0119\u015bci serii \u201eProgramowanie CNC: nauka G-code - szybko i \u0142atwo\u201c poznali\u015bmy podstawy G-code. W tym artykule poznasz wi\u0119cej polece\u0144, takich jak podprogramy, p\u0119tle, instrukcje IF i parametry R.<\/p>","protected":false},"author":1,"featured_media":4996,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[32,1],"tags":[34,14,30],"class_list":["post-4387","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-g-code","category-allgemein","tag-cnc-programmierung","tag-g-code","tag-g-code-simulator"],"_links":{"self":[{"href":"https:\/\/cncgraf.com\/pl\/wp-json\/wp\/v2\/posts\/4387","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cncgraf.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cncgraf.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cncgraf.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cncgraf.com\/pl\/wp-json\/wp\/v2\/comments?post=4387"}],"version-history":[{"count":0,"href":"https:\/\/cncgraf.com\/pl\/wp-json\/wp\/v2\/posts\/4387\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cncgraf.com\/pl\/wp-json\/wp\/v2\/media\/4996"}],"wp:attachment":[{"href":"https:\/\/cncgraf.com\/pl\/wp-json\/wp\/v2\/media?parent=4387"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cncgraf.com\/pl\/wp-json\/wp\/v2\/categories?post=4387"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cncgraf.com\/pl\/wp-json\/wp\/v2\/tags?post=4387"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}