Изменения документа Организация цикла в G-коде
Редактировал(а) Edgar Allan Poe 2024/02/29 19:08
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,23 +1,20 @@ 1 1 Иногда бывает необходимость зациклить часть или всю управляющую программу. Другой типичный пример обращения к циклу - необходимость изменять значения параметров обработки. 2 2 3 3 В этой ситуации иногда можно применять конструкцию цикла с переменными. 4 - 5 -**Определения:** 4 +\\**Определения:** 6 6 Цикл — разновидность управляющей конструкции в программировании, 7 7 предназначенная для организации многократного исполнения набора инструкций (команд). 8 8 \\Переменная — поименованная, либо адресуемая иным способом область памяти, 9 9 адрес которой можно использовать для осуществления доступа к данным. 10 10 Данные, находящиеся в переменной называются значением этой переменной. 11 - 12 -**Обозначения:** 10 +\\**Обозначения:** 13 13 O100 do - начало тела цикла 14 14 O100 while [условие выхода] - конец тела цикла с условием выхода 15 15 #n - (n номер) обозначение переменной 16 16 пример уменьшение значения переменной на 1, #1 = [#1 - 1] 17 - 18 -**Пример конструкции цикла:** 15 +\\**Пример конструкции цикла:** 19 19 20 -{{code title="Простая УП" linenumbers="true"}}17 +{{code linenumbers="true" title="**Простая УП**"}} 21 21 #1 = 20 (В переменную #1 записывается число итераций, значение 20) 22 22 #2 = 1 (В переменную #2 записывается значение 1) 23 23 G0 X0 Y0 Z0 ... ... @@ -34,10 +34,9 @@ 34 34 35 35 36 36 **Результат/вывод:** как мы видим на примере управляющей программы конструкция цикла, состоящая из 8 строк, заменяет около 40 команд линейной интерполяции, но так же заметим, что использование циклов и переменных считается устаревшим и официально не поддерживается многими производителями. В PUMOTIX это работает, но можно применять более изящные конструкции с помощью [[макросов на языке LUA>>doc:Руководство пользователя.Описание M-кодов.Описание функций макроязыка.WebHome]]. 37 - 38 -Исходный код примера. Он будет доступен для скачивания в виде файла, который впоследствии можно загрузить в ЧПУ систему. 34 +\\Исходный код примера. Он будет доступен для скачивания в виде файла, который впоследствии можно загрузить в ЧПУ систему. 39 39 40 -{{code title="Исходный код примера доступен в виде файла в конце статьи" linenumbers="true"}}36 +{{code linenumbers="true" title="**Исходный код примера доступен в виде файла в конце статьи**"}} 41 41 G21 (Metric) 42 42 G40 G90 G91.1 43 43 G64 P0.1 ... ... @@ -59,20 +59,34 @@ 59 59 M30 60 60 {{/code}} 61 61 62 -\\ 63 - 64 64 [[image:attach:image2019-11-27_8-14-46.png]] 65 65 66 66 Исходный код управляющей программы: 67 67 62 +{{code}} 63 +G21 (Metric) 64 +G40 G90 G91.1 65 +G64 P0.1 66 +M03 67 +S20000 68 +F750 69 +#1 = 20 70 +#2 = 1 71 +G00 X0 Y0 Z0 72 +O100 do 73 +G1 X#1 74 +G1 Y#1 75 +G1 X#2 76 +G1 Y#2 77 +#1 = [#1 - 1] 78 +#2 = [#2 + 1] 79 +O100 while [#1 GT 10] 80 +M05 81 +M30 82 +{{/code}} 68 68 69 - 70 -{{view-file att--filename="cycle_test.tap" name="" height="150"/}} 71 - 72 72 Более сложный пример с возможностью ввода параметров в начале файла УП: 73 73 74 -\\ 75 - 76 76 {{code linenumbers="true"}} 77 77 (Программа выборки кармана для фрезерного станка, окружности) 78 78 (Начало настройки, ввод параметров) ... ... @@ -119,7 +119,4 @@ 119 119 {{/code}} 120 120 121 121 (% class="auto-cursor-target" %) 122 -\\ 123 - 124 -(% class="auto-cursor-target" %) 125 125 [[image:attach:image2019-11-27_12-3-35.png]]