интерпретатор linuxcnc
Добавлено: 16 сен 2013, 07:34
...тут соседняя тема натолкнула на мысль(а как впоследствии оказалось - уже немного обсуждалось) - использовать вывод интерпретатора для рестарта с любой точки траектории в программах с циклами и о-кодами, для реверса Gкода , ... .
Сразу оговорюсь - решение пока не найдено, поэтому данная тема для попытки немного глубже разобраться в процессах
Интерпретатор в емс (называется RS274/NGC) - это программа, получающая на вход строки с G-кодом (из файла или построчно с клавиатуры) ,
и преобразующая их в команды (canonical machining functions) для планировщика траектории , контроллера IO : Интерпретатор RS274/NGC был разработан NIST при создании проекта ЕМС как отдельный модуль . Поэтому ,как правило,может работать сомостоятельно (“Stand-Alone Interpreter”(SAI)) на разных платформах: В системе с установленным емс в терминале пишем :
rs274
видим приглашение ввести вариант требуемого продолжения: вводим "1" (непосредственная интерпретация)
программа требует путь к файлу инструментов (скармливаем ей путь из любого конфига емс)
и вот :
READ =>
предложение ввести любую строку с Gкодом...
при безошибочном вводе тут же происходит интерпретация : при чтении из файла :
указываем исходный файл с прграммой и путь для вывода (также путь с файлу инструментов): получили выход:
исходным был код :
список опций:
документация:
Сразу оговорюсь - решение пока не найдено, поэтому данная тема для попытки немного глубже разобраться в процессах
Интерпретатор в емс (называется RS274/NGC) - это программа, получающая на вход строки с G-кодом (из файла или построчно с клавиатуры) ,
и преобразующая их в команды (canonical machining functions) для планировщика траектории , контроллера IO : Интерпретатор RS274/NGC был разработан NIST при создании проекта ЕМС как отдельный модуль . Поэтому ,как правило,может работать сомостоятельно (“Stand-Alone Interpreter”(SAI)) на разных платформах: В системе с установленным емс в терминале пишем :
rs274
видим приглашение ввести вариант требуемого продолжения: вводим "1" (непосредственная интерпретация)
программа требует путь к файлу инструментов (скармливаем ей путь из любого конфига емс)
и вот :
READ =>
предложение ввести любую строку с Gкодом...
при безошибочном вводе тут же происходит интерпретация : при чтении из файла :
указываем исходный файл с прграммой и путь для вывода (также путь с файлу инструментов): получили выход:
Код: Выделить всё
1 N..... USE_LENGTH_UNITS(CANON_UNITS_MM)
2 N..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
3 N..... SET_G92_OFFSET(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
4 N..... SET_XY_ROTATION(0.0000)
5 N..... SET_FEED_REFERENCE(CANON_XYZ)
6 N..... COMMENT("количество отверстий в ряду")
7 N..... COMMENT("количество рядов")
8 N..... COMMENT("шаг по X")
9 N..... COMMENT("шаг по Y")
10 N..... SET_G92_OFFSET(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
11 N..... SET_FEED_RATE(300.0000)
12 N..... COMMENT("interpreter: distance mode changed to incremental")
13 N..... MESSAGE(" 0.000000 , 0.000000 ")
14 N..... STRAIGHT_FEED(0.0000, 0.0000, -5.0000, 0.0000, 0.0000, 0.0000)
15 N..... STRAIGHT_FEED(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
16 N..... STRAIGHT_FEED(0.0000, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
17 N..... STRAIGHT_FEED(0.0000, 1.0000, -5.0000, 0.0000, 0.0000, 0.0000)
18 N..... STRAIGHT_FEED(0.0000, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
19 N..... STRAIGHT_FEED(0.0000, 2.0000, 0.0000, 0.0000, 0.0000, 0.0000)
20 N..... STRAIGHT_FEED(0.0000, 2.0000, -5.0000, 0.0000, 0.0000, 0.0000)
21 N..... STRAIGHT_FEED(0.0000, 2.0000, 0.0000, 0.0000, 0.0000, 0.0000)
22 N..... STRAIGHT_FEED(0.0000, 3.0000, 0.0000, 0.0000, 0.0000, 0.0000)
23 N..... STRAIGHT_FEED(0.0000, 3.0000, -5.0000, 0.0000, 0.0000, 0.0000)
24 N..... STRAIGHT_FEED(0.0000, 3.0000, 0.0000, 0.0000, 0.0000, 0.0000)
25 N..... STRAIGHT_FEED(0.0000, 4.0000, 0.0000, 0.0000, 0.0000, 0.0000)
26 N..... STRAIGHT_FEED(0.0000, 4.0000, -5.0000, 0.0000, 0.0000, 0.0000)
27 N..... STRAIGHT_FEED(0.0000, 4.0000, 0.0000, 0.0000, 0.0000, 0.0000)
28 N..... STRAIGHT_FEED(0.0000, 5.0000, 0.0000, 0.0000, 0.0000, 0.0000)
29 N..... STRAIGHT_FEED(0.0000, 5.0000, -5.0000, 0.0000, 0.0000, 0.0000)
30 N..... STRAIGHT_FEED(0.0000, 5.0000, 0.0000, 0.0000, 0.0000, 0.0000)
31 N..... STRAIGHT_FEED(0.5000, 4.5000, 0.0000, 0.0000, 0.0000, 0.0000)
32 N..... STRAIGHT_FEED(0.5000, 4.5000, -5.0000, 0.0000, 0.0000, 0.0000)
33 N..... STRAIGHT_FEED(0.5000, 4.5000, 0.0000, 0.0000, 0.0000, 0.0000)
34 N..... STRAIGHT_FEED(0.5000, 3.5000, 0.0000, 0.0000, 0.0000, 0.0000)
35 N..... STRAIGHT_FEED(0.5000, 3.5000, -5.0000, 0.0000, 0.0000, 0.0000)
36 N..... STRAIGHT_FEED(0.5000, 3.5000, 0.0000, 0.0000, 0.0000, 0.0000)
37 N..... STRAIGHT_FEED(0.5000, 2.5000, 0.0000, 0.0000, 0.0000, 0.0000)
38 N..... STRAIGHT_FEED(0.5000, 2.5000, -5.0000, 0.0000, 0.0000, 0.0000)
39 N..... STRAIGHT_FEED(0.5000, 2.5000, 0.0000, 0.0000, 0.0000, 0.0000)
40 N..... STRAIGHT_FEED(0.5000, 1.5000, 0.0000, 0.0000, 0.0000, 0.0000)
41 N..... STRAIGHT_FEED(0.5000, 1.5000, -5.0000, 0.0000, 0.0000, 0.0000)
42 N..... STRAIGHT_FEED(0.5000, 1.5000, 0.0000, 0.0000, 0.0000, 0.0000)
43 N..... STRAIGHT_FEED(0.5000, 0.5000, 0.0000, 0.0000, 0.0000, 0.0000)
44 N..... STRAIGHT_FEED(0.5000, 0.5000, -5.0000, 0.0000, 0.0000, 0.0000)
45 N..... STRAIGHT_FEED(0.5000, 0.5000, 0.0000, 0.0000, 0.0000, 0.0000)
46 N..... STRAIGHT_FEED(1.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
47 N..... MESSAGE(" 1.000000 , 0.000000 ")
48 N..... STRAIGHT_FEED(1.0000, 0.0000, -5.0000, 0.0000, 0.0000, 0.0000)
49 N..... STRAIGHT_FEED(1.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
50 N..... STRAIGHT_FEED(1.0000, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
51 N..... STRAIGHT_FEED(1.0000, 1.0000, -5.0000, 0.0000, 0.0000, 0.0000)
52 N..... STRAIGHT_FEED(1.0000, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
53 N..... STRAIGHT_FEED(1.0000, 2.0000, 0.0000, 0.0000, 0.0000, 0.0000)
54 N..... STRAIGHT_FEED(1.0000, 2.0000, -5.0000, 0.0000, 0.0000, 0.0000)
55 N..... STRAIGHT_FEED(1.0000, 2.0000, 0.0000, 0.0000, 0.0000, 0.0000)
56 N..... STRAIGHT_FEED(1.0000, 3.0000, 0.0000, 0.0000, 0.0000, 0.0000)
57 N..... STRAIGHT_FEED(1.0000, 3.0000, -5.0000, 0.0000, 0.0000, 0.0000)
58 N..... STRAIGHT_FEED(1.0000, 3.0000, 0.0000, 0.0000, 0.0000, 0.0000)
59 N..... STRAIGHT_FEED(1.0000, 4.0000, 0.0000, 0.0000, 0.0000, 0.0000)
60 N..... STRAIGHT_FEED(1.0000, 4.0000, -5.0000, 0.0000, 0.0000, 0.0000)
61 N..... STRAIGHT_FEED(1.0000, 4.0000, 0.0000, 0.0000, 0.0000, 0.0000)
62 N..... STRAIGHT_FEED(1.0000, 5.0000, 0.0000, 0.0000, 0.0000, 0.0000)
63 N..... STRAIGHT_FEED(1.0000, 5.0000, -5.0000, 0.0000, 0.0000, 0.0000)
64 N..... STRAIGHT_FEED(1.0000, 5.0000, 0.0000, 0.0000, 0.0000, 0.0000)
65 N..... STRAIGHT_FEED(1.5000, 4.5000, 0.0000, 0.0000, 0.0000, 0.0000)
66 N..... STRAIGHT_FEED(1.5000, 4.5000, -5.0000, 0.0000, 0.0000, 0.0000)
67 N..... STRAIGHT_FEED(1.5000, 4.5000, 0.0000, 0.0000, 0.0000, 0.0000)
68 N..... STRAIGHT_FEED(1.5000, 3.5000, 0.0000, 0.0000, 0.0000, 0.0000)
69 N..... STRAIGHT_FEED(1.5000, 3.5000, -5.0000, 0.0000, 0.0000, 0.0000)
70 N..... STRAIGHT_FEED(1.5000, 3.5000, 0.0000, 0.0000, 0.0000, 0.0000)
71 N..... STRAIGHT_FEED(1.5000, 2.5000, 0.0000, 0.0000, 0.0000, 0.0000)
72 N..... STRAIGHT_FEED(1.5000, 2.5000, -5.0000, 0.0000, 0.0000, 0.0000)
73 N..... STRAIGHT_FEED(1.5000, 2.5000, 0.0000, 0.0000, 0.0000, 0.0000)
74 N..... STRAIGHT_FEED(1.5000, 1.5000, 0.0000, 0.0000, 0.0000, 0.0000)
75 N..... STRAIGHT_FEED(1.5000, 1.5000, -5.0000, 0.0000, 0.0000, 0.0000)
76 N..... STRAIGHT_FEED(1.5000, 1.5000, 0.0000, 0.0000, 0.0000, 0.0000)
77 N..... STRAIGHT_FEED(1.5000, 0.5000, 0.0000, 0.0000, 0.0000, 0.0000)
78 N..... STRAIGHT_FEED(1.5000, 0.5000, -5.0000, 0.0000, 0.0000, 0.0000)
79 N..... STRAIGHT_FEED(1.5000, 0.5000, 0.0000, 0.0000, 0.0000, 0.0000)
80 N..... STRAIGHT_FEED(2.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
81 N..... MESSAGE(" 2.000000 , 0.000000 ")
82 N..... STRAIGHT_FEED(2.0000, 0.0000, -5.0000, 0.0000, 0.0000, 0.0000)
83 N..... STRAIGHT_FEED(2.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
84 N..... STRAIGHT_FEED(2.0000, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
85 N..... STRAIGHT_FEED(2.0000, 1.0000, -5.0000, 0.0000, 0.0000, 0.0000)
86 N..... STRAIGHT_FEED(2.0000, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
87 N..... STRAIGHT_FEED(2.0000, 2.0000, 0.0000, 0.0000, 0.0000, 0.0000)
88 N..... STRAIGHT_FEED(2.0000, 2.0000, -5.0000, 0.0000, 0.0000, 0.0000)
89 N..... STRAIGHT_FEED(2.0000, 2.0000, 0.0000, 0.0000, 0.0000, 0.0000)
90 N..... STRAIGHT_FEED(2.0000, 3.0000, 0.0000, 0.0000, 0.0000, 0.0000)
91 N..... STRAIGHT_FEED(2.0000, 3.0000, -5.0000, 0.0000, 0.0000, 0.0000)
92 N..... STRAIGHT_FEED(2.0000, 3.0000, 0.0000, 0.0000, 0.0000, 0.0000)
93 N..... STRAIGHT_FEED(2.0000, 4.0000, 0.0000, 0.0000, 0.0000, 0.0000)
94 N..... STRAIGHT_FEED(2.0000, 4.0000, -5.0000, 0.0000, 0.0000, 0.0000)
95 N..... STRAIGHT_FEED(2.0000, 4.0000, 0.0000, 0.0000, 0.0000, 0.0000)
96 N..... STRAIGHT_FEED(2.0000, 5.0000, 0.0000, 0.0000, 0.0000, 0.0000)
97 N..... STRAIGHT_FEED(2.0000, 5.0000, -5.0000, 0.0000, 0.0000, 0.0000)
98 N..... STRAIGHT_FEED(2.0000, 5.0000, 0.0000, 0.0000, 0.0000, 0.0000)
99 N..... STRAIGHT_FEED(2.5000, 4.5000, 0.0000, 0.0000, 0.0000, 0.0000)
100 N..... STRAIGHT_FEED(2.5000, 4.5000, -5.0000, 0.0000, 0.0000, 0.0000)
101 N..... STRAIGHT_FEED(2.5000, 4.5000, 0.0000, 0.0000, 0.0000, 0.0000)
102 N..... STRAIGHT_FEED(2.5000, 3.5000, 0.0000, 0.0000, 0.0000, 0.0000)
103 N..... STRAIGHT_FEED(2.5000, 3.5000, -5.0000, 0.0000, 0.0000, 0.0000)
104 N..... STRAIGHT_FEED(2.5000, 3.5000, 0.0000, 0.0000, 0.0000, 0.0000)
105 N..... STRAIGHT_FEED(2.5000, 2.5000, 0.0000, 0.0000, 0.0000, 0.0000)
106 N..... STRAIGHT_FEED(2.5000, 2.5000, -5.0000, 0.0000, 0.0000, 0.0000)
107 N..... STRAIGHT_FEED(2.5000, 2.5000, 0.0000, 0.0000, 0.0000, 0.0000)
108 N..... STRAIGHT_FEED(2.5000, 1.5000, 0.0000, 0.0000, 0.0000, 0.0000)
109 N..... STRAIGHT_FEED(2.5000, 1.5000, -5.0000, 0.0000, 0.0000, 0.0000)
110 N..... STRAIGHT_FEED(2.5000, 1.5000, 0.0000, 0.0000, 0.0000, 0.0000)
111 N..... STRAIGHT_FEED(2.5000, 0.5000, 0.0000, 0.0000, 0.0000, 0.0000)
112 N..... STRAIGHT_FEED(2.5000, 0.5000, -5.0000, 0.0000, 0.0000, 0.0000)
113 N..... STRAIGHT_FEED(2.5000, 0.5000, 0.0000, 0.0000, 0.0000, 0.0000)
114 N..... STRAIGHT_FEED(3.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
115 N..... MESSAGE(" 3.000000 , 0.000000 ")
116 N..... STRAIGHT_FEED(3.0000, 0.0000, -5.0000, 0.0000, 0.0000, 0.0000)
117 N..... STRAIGHT_FEED(3.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
118 N..... STRAIGHT_FEED(3.0000, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
119 N..... STRAIGHT_FEED(3.0000, 1.0000, -5.0000, 0.0000, 0.0000, 0.0000)
120 N..... STRAIGHT_FEED(3.0000, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
121 N..... STRAIGHT_FEED(3.0000, 2.0000, 0.0000, 0.0000, 0.0000, 0.0000)
122 N..... STRAIGHT_FEED(3.0000, 2.0000, -5.0000, 0.0000, 0.0000, 0.0000)
123 N..... STRAIGHT_FEED(3.0000, 2.0000, 0.0000, 0.0000, 0.0000, 0.0000)
124 N..... STRAIGHT_FEED(3.0000, 3.0000, 0.0000, 0.0000, 0.0000, 0.0000)
125 N..... STRAIGHT_FEED(3.0000, 3.0000, -5.0000, 0.0000, 0.0000, 0.0000)
126 N..... STRAIGHT_FEED(3.0000, 3.0000, 0.0000, 0.0000, 0.0000, 0.0000)
127 N..... STRAIGHT_FEED(3.0000, 4.0000, 0.0000, 0.0000, 0.0000, 0.0000)
128 N..... STRAIGHT_FEED(3.0000, 4.0000, -5.0000, 0.0000, 0.0000, 0.0000)
129 N..... STRAIGHT_FEED(3.0000, 4.0000, 0.0000, 0.0000, 0.0000, 0.0000)
130 N..... STRAIGHT_FEED(3.0000, 5.0000, 0.0000, 0.0000, 0.0000, 0.0000)
131 N..... STRAIGHT_FEED(3.0000, 5.0000, -5.0000, 0.0000, 0.0000, 0.0000)
132 N..... STRAIGHT_FEED(3.0000, 5.0000, 0.0000, 0.0000, 0.0000, 0.0000)
133 N..... STRAIGHT_FEED(3.5000, 4.5000, 0.0000, 0.0000, 0.0000, 0.0000)
134 N..... STRAIGHT_FEED(3.5000, 4.5000, -5.0000, 0.0000, 0.0000, 0.0000)
135 N..... STRAIGHT_FEED(3.5000, 4.5000, 0.0000, 0.0000, 0.0000, 0.0000)
136 N..... STRAIGHT_FEED(3.5000, 3.5000, 0.0000, 0.0000, 0.0000, 0.0000)
137 N..... STRAIGHT_FEED(3.5000, 3.5000, -5.0000, 0.0000, 0.0000, 0.0000)
138 N..... STRAIGHT_FEED(3.5000, 3.5000, 0.0000, 0.0000, 0.0000, 0.0000)
139 N..... STRAIGHT_FEED(3.5000, 2.5000, 0.0000, 0.0000, 0.0000, 0.0000)
140 N..... STRAIGHT_FEED(3.5000, 2.5000, -5.0000, 0.0000, 0.0000, 0.0000)
141 N..... STRAIGHT_FEED(3.5000, 2.5000, 0.0000, 0.0000, 0.0000, 0.0000)
142 N..... STRAIGHT_FEED(3.5000, 1.5000, 0.0000, 0.0000, 0.0000, 0.0000)
143 N..... STRAIGHT_FEED(3.5000, 1.5000, -5.0000, 0.0000, 0.0000, 0.0000)
144 N..... STRAIGHT_FEED(3.5000, 1.5000, 0.0000, 0.0000, 0.0000, 0.0000)
145 N..... STRAIGHT_FEED(3.5000, 0.5000, 0.0000, 0.0000, 0.0000, 0.0000)
146 N..... STRAIGHT_FEED(3.5000, 0.5000, -5.0000, 0.0000, 0.0000, 0.0000)
147 N..... STRAIGHT_FEED(3.5000, 0.5000, 0.0000, 0.0000, 0.0000, 0.0000)
148 N..... STRAIGHT_FEED(4.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
149 N..... MESSAGE(" 4.000000 , 0.000000 ")
150 N..... STRAIGHT_FEED(4.0000, 0.0000, -5.0000, 0.0000, 0.0000, 0.0000)
151 N..... STRAIGHT_FEED(4.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
152 N..... STRAIGHT_FEED(4.0000, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
153 N..... STRAIGHT_FEED(4.0000, 1.0000, -5.0000, 0.0000, 0.0000, 0.0000)
154 N..... STRAIGHT_FEED(4.0000, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
155 N..... STRAIGHT_FEED(4.0000, 2.0000, 0.0000, 0.0000, 0.0000, 0.0000)
156 N..... STRAIGHT_FEED(4.0000, 2.0000, -5.0000, 0.0000, 0.0000, 0.0000)
157 N..... STRAIGHT_FEED(4.0000, 2.0000, 0.0000, 0.0000, 0.0000, 0.0000)
158 N..... STRAIGHT_FEED(4.0000, 3.0000, 0.0000, 0.0000, 0.0000, 0.0000)
159 N..... STRAIGHT_FEED(4.0000, 3.0000, -5.0000, 0.0000, 0.0000, 0.0000)
160 N..... STRAIGHT_FEED(4.0000, 3.0000, 0.0000, 0.0000, 0.0000, 0.0000)
161 N..... STRAIGHT_FEED(4.0000, 4.0000, 0.0000, 0.0000, 0.0000, 0.0000)
162 N..... STRAIGHT_FEED(4.0000, 4.0000, -5.0000, 0.0000, 0.0000, 0.0000)
163 N..... STRAIGHT_FEED(4.0000, 4.0000, 0.0000, 0.0000, 0.0000, 0.0000)
164 N..... STRAIGHT_FEED(4.0000, 5.0000, 0.0000, 0.0000, 0.0000, 0.0000)
165 N..... STRAIGHT_FEED(4.0000, 5.0000, -5.0000, 0.0000, 0.0000, 0.0000)
166 N..... STRAIGHT_FEED(4.0000, 5.0000, 0.0000, 0.0000, 0.0000, 0.0000)
167 N..... STRAIGHT_FEED(4.5000, 4.5000, 0.0000, 0.0000, 0.0000, 0.0000)
168 N..... STRAIGHT_FEED(4.5000, 4.5000, -5.0000, 0.0000, 0.0000, 0.0000)
169 N..... STRAIGHT_FEED(4.5000, 4.5000, 0.0000, 0.0000, 0.0000, 0.0000)
170 N..... STRAIGHT_FEED(4.5000, 3.5000, 0.0000, 0.0000, 0.0000, 0.0000)
171 N..... STRAIGHT_FEED(4.5000, 3.5000, -5.0000, 0.0000, 0.0000, 0.0000)
172 N..... STRAIGHT_FEED(4.5000, 3.5000, 0.0000, 0.0000, 0.0000, 0.0000)
173 N..... STRAIGHT_FEED(4.5000, 2.5000, 0.0000, 0.0000, 0.0000, 0.0000)
174 N..... STRAIGHT_FEED(4.5000, 2.5000, -5.0000, 0.0000, 0.0000, 0.0000)
175 N..... STRAIGHT_FEED(4.5000, 2.5000, 0.0000, 0.0000, 0.0000, 0.0000)
176 N..... STRAIGHT_FEED(4.5000, 1.5000, 0.0000, 0.0000, 0.0000, 0.0000)
177 N..... STRAIGHT_FEED(4.5000, 1.5000, -5.0000, 0.0000, 0.0000, 0.0000)
178 N..... STRAIGHT_FEED(4.5000, 1.5000, 0.0000, 0.0000, 0.0000, 0.0000)
179 N..... STRAIGHT_FEED(4.5000, 0.5000, 0.0000, 0.0000, 0.0000, 0.0000)
180 N..... STRAIGHT_FEED(4.5000, 0.5000, -5.0000, 0.0000, 0.0000, 0.0000)
181 N..... STRAIGHT_FEED(4.5000, 0.5000, 0.0000, 0.0000, 0.0000, 0.0000)
182 N..... STRAIGHT_FEED(5.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
183 N..... SET_G92_OFFSET(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
184 N..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
185 N..... SET_XY_ROTATION(0.0000)
186 N..... SET_FEED_MODE(0)
187 N..... SET_FEED_RATE(0.0000)
188 N..... STOP_SPINDLE_TURNING()
189 N..... SET_SPINDLE_MODE(0.0000)
190 N..... PROGRAM_END()Код: Выделить всё
#<x-num> = 5 (количество отверстий в ряду)
#<y-num> = 6 (количество рядов)
#<x-step> = 1 (шаг по X)
#<y-step> = 1 (шаг по Y)
G92 X0 Y0
F300
G91
o100 REPEAT [#<x-num>]
(DEBUG, #5420 , #5421 )
#<y-num1> = #<y-num>
o101 REPEAT [#<y-num1>]
G1 z-5
G1 z5
o121 IF [#<y-num1> NE 1]
G1 Y#<y-step>
#<y-num1>= [#<y-num1> - 1]
o121 ENDIF
o101 ENDREPEAT
G1 X[#<x-step>/2] Y-[#<y-step>/2]
#<y-num2> = #<y-num>
o102 REPEAT [#<y-num2>-1]
G1 z-5
G1 z5
o122 IF [#<y-num2> NE 2]
G1 Y-[#<y-step>]
#<y-num2>= [#<y-num2> - 1]
o122 ENDIF
o102 ENDREPEAT
G1 X[#<x-step>/2] Y-[#<y-step>/2]
o100 ENDREPEAT
G92.1
M2Код: Выделить всё
rs274 [-p interp.so] [-t tool.tbl] [-v var-file.var] [-n 0|1|2]
[-b] [-s] [-g] [input file [output file]]
-p: Specify the pluggable interpreter to use
-t: Specify the .tbl (tool table) file to use
-v: Specify the .var (parameter) file to use
-n: Specify the continue mode:
0: continue
1: enter MDI mode
2: stop (default)
-b: Toggle the 'block delete' flag (default: OFF)
-s: Toggle the 'print stack' flag (default: OFF)
-g: Toggle the 'go (batch mode)' flag (default: OFF)
-i: specify the .ini file (default: no ini file)
-T: call task_init()
-l: specify the log_level (default: -1)