Исходный код вики Функции для разработки фоновых макросов
Версия 20.1 от knetyaga на 2022/02/15 10:50
Последние авторы
author | version | line-number | content |
---|---|---|---|
1 | === === | ||
2 | |||
3 | {{children style="h4"/}} | ||
4 | |||
5 | === bool IsGCodeRunning () === | ||
6 | |||
7 | Позволяет проверить, находится ли PUMOTIX в режиме выполнения G-кода. | ||
8 | |||
9 | Возвращаемое значение: | ||
10 | |||
11 | * true – если PUMOTIX находится в режиме выполнения G-кода; | ||
12 | |||
13 | === bool IsMDIRunning () === | ||
14 | |||
15 | Позволяет проверить, находится ли PUMOTIX в режиме выполнения команды ручного ввода. | ||
16 | |||
17 | Возвращаемое значение: | ||
18 | |||
19 | * true – если PUMOTIX находится в режиме выполнения команды ручного ввода; | ||
20 | |||
21 | === bool IsRunning () === | ||
22 | |||
23 | Позволяет проверить, находится ли PUMOTIX в режиме выполнения G-кода или команды ручного ввода. | ||
24 | |||
25 | Возвращаемое значение: | ||
26 | |||
27 | * true – если активен любой из двух режимов IsGCodeRunning() или IsMDIRunning(); | ||
28 | |||
29 | === bool IsIdle () === | ||
30 | |||
31 | Позволяет проверить, находится ли PUMOTIX в режиме ожидания (состояние Вкл кнопки включения). | ||
32 | |||
33 | Возвращаемое значение: | ||
34 | |||
35 | * true – если PUMOTIX находится в режиме ожидания; | ||
36 | |||
37 | === bool IsEStop () === | ||
38 | |||
39 | Позволяет проверить, находится ли PUMOTIX в режиме EStop (состояние Выкл кнопки включения). | ||
40 | |||
41 | Возвращаемое значение: | ||
42 | |||
43 | * true – если PUMOTIX находится в режиме EStop; | ||
44 | |||
45 | === number AxisGetPos (number axisId) === | ||
46 | |||
47 | Получение текущей рабочей координаты указанной оси. | ||
48 | |||
49 | Параметры: | ||
50 | |||
51 | * number axisId – номер оси, целое число от 0 до 8 (в качестве этого параметра может передаваться одна из констант, определённых в списке **[[Axis>>url:http://doc.pumotix.ru/pages/viewpage.action?pageId=5180766#id-%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%D0%BE%D1%81%D1%8F%D0%BC%D0%B8-Axis(%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80%D1%8B%D0%BE%D1%81%D0%B5%D0%B9)||style="text-decoration: none;" rel="nofollow" shape="rect"]]**). | ||
52 | |||
53 | Возвращаемое значение: | ||
54 | |||
55 | * значение текущей рабочей координаты указанной оси. | ||
56 | |||
57 | === number AxisGetMachinePos (number axisId) === | ||
58 | |||
59 | Получение текущей машинной координаты указанной оси. | ||
60 | |||
61 | Параметры: | ||
62 | |||
63 | * number axisId – номер оси, целое число от 0 до 8 (в качестве этого параметра может передаваться одна из констант, определённых в списке **[[Axis>>url:http://doc.pumotix.ru/pages/viewpage.action?pageId=5180766#id-%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%D0%BE%D1%81%D1%8F%D0%BC%D0%B8-Axis(%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80%D1%8B%D0%BE%D1%81%D0%B5%D0%B9)||rel="nofollow" style="text-decoration: none;" shape="rect"]]**). | ||
64 | |||
65 | Возвращаемое значение: | ||
66 | |||
67 | * значение текущей машинной координаты указанной оси. | ||
68 | |||
69 | === number GetCurFeedrate () === | ||
70 | |||
71 | Получение текущей скорости перемещения. | ||
72 | |||
73 | Возвращаемое значение: | ||
74 | |||
75 | * модуль вектора скорости перемещения в пространстве XYZ. | ||
76 | |||
77 | === number GetGCodeFeedrate () === | ||
78 | |||
79 | Получение скорости перемещения, заданной в G-коде. | ||
80 | |||
81 | Возвращаемое значение: | ||
82 | |||
83 | * скорость перемещения, заданная в G-коде. | ||
84 | |||
85 | === number GetFeedrateOverridePercent () === | ||
86 | |||
87 | Получение процента переопределения текущей скорости перемещения. | ||
88 | |||
89 | Возвращаемое значение: | ||
90 | |||
91 | * процент фактической скорости перемещения от заданной. | ||
92 | |||
93 | === void SetFeedrateOverridePercent (number value) === | ||
94 | |||
95 | Задание процента переопределения текущей скорости перемещения. | ||
96 | |||
97 | Параметры: | ||
98 | |||
99 | * number value – желаемый процент переопределения текущей скорости перемещения. | ||
100 | |||
101 | === number GetRapidrateOverridePercent () === | ||
102 | |||
103 | Получение процента переопределения текущей скорости холостых переездов. | ||
104 | |||
105 | Возвращаемое значение: | ||
106 | |||
107 | * процент фактической скорости холостых переездов от заданной. | ||
108 | |||
109 | === void SetRapidrateOverridePercent (number value) === | ||
110 | |||
111 | Задание процента переопределения текущей скорости холостых переездов. | ||
112 | |||
113 | Параметры: | ||
114 | |||
115 | * number value – желаемый процент переопределения текущей скорости холостых переездов. | ||
116 | |||
117 | === bool IsAxisReferenced (number axisId) === | ||
118 | |||
119 | Позволяет проверить, выполнен ли поиск базы по указанной оси. | ||
120 | |||
121 | Параметры: | ||
122 | |||
123 | * number axisId – номер оси, целое число от 0 до 8 (в качестве этого параметра может передаваться одна из констант, определённых в списке **[[Axis>>url:http://doc.pumotix.ru/pages/viewpage.action?pageId=5180766||style="text-decoration: none;" shape="rect"]]**). | ||
124 | |||
125 | Возвращаемое значение: | ||
126 | |||
127 | * true – если поиск базы выполнен: | ||
128 | * false – если поиск базы не выполнен. | ||
129 | |||
130 | === bool IsAxesMaskReferenced (number axesMask) === | ||
131 | |||
132 | Позволяет проверить, выполнен ли поиск базы для всех осей, заданных маской axesMask. | ||
133 | |||
134 | Параметры: | ||
135 | |||
136 | * number axesMask – маска осей, целое число, в котором биты от 0 до 8 обозначают, выбраны ли соответствующие оси. | ||
137 | |||
138 | Возвращаемое значение: | ||
139 | |||
140 | * true – если поиск базы выполнен; | ||
141 | * false – если поиск базы не выполнен. | ||
142 | |||
143 | === number GetCurSpindleRPM () === | ||
144 | |||
145 | Получение текущей скорости вращения шпинделя. | ||
146 | |||
147 | Возвращаемое значение: | ||
148 | |||
149 | * текущая скорость вращения шпинделя, об/мин. | ||
150 | |||
151 | === number GetGCodeSpindleRPM () === | ||
152 | |||
153 | Получение скорости вращения шпинделя, заданной в G-коде. | ||
154 | |||
155 | Возвращаемое значение: | ||
156 | |||
157 | * Скорость вращения шпинделя, заданная в G-коде, об/мин. | ||
158 | |||
159 | === number GetSpindleSpeedOverridePercent () === | ||
160 | |||
161 | Получение процента переопределения текущей скорости вращения шпинделя. | ||
162 | |||
163 | Возвращаемое значение: | ||
164 | |||
165 | * процент, который фактическая скорость вращения шпинделя составляет от заданной. | ||
166 | |||
167 | === void SetSpindleSpeedOverridePercent (number value) === | ||
168 | |||
169 | Задание процента переопределения текущей скорости вращения шпинделя. | ||
170 | |||
171 | Параметры: | ||
172 | |||
173 | * number value – желаемый процент переопределения текущей скорости вращения шпинделя. | ||
174 | |||
175 | === void FloodEnable () === | ||
176 | |||
177 | Включение подачи охлаждающей жидкости поливом. | ||
178 | |||
179 | === void FloodDisable () === | ||
180 | |||
181 | Выключение подачи охлаждающей жидкости поливом. | ||
182 | |||
183 | === void MistEnable () === | ||
184 | |||
185 | Включение подачи охлаждающей жидкости распылением. | ||
186 | |||
187 | === void MistDisable () === | ||
188 | |||
189 | Выключение подачи охлаждающей жидкости распылением. | ||
190 | |||
191 | === void Sleep (number milliseconds) === | ||
192 | |||
193 | Ожидание в течение указанного количества миллисекунд. | ||
194 | |||
195 | Параметры: | ||
196 | |||
197 | * number milliseconds – количество миллисекунд, в течение которых выполнение фонового макроса будет приостановлено. | ||
198 | |||
199 | === void DisplayMessage (string message) === | ||
200 | |||
201 | Отображение в пользовательском интерфейсе сообщения от фонового макроса. Для корректного отображения символов национальных алфавитов файл макроса должен быть сохранён в кодировке UTF-8. | ||
202 | |||
203 | Параметры: | ||
204 | |||
205 | * string message – текст сообщения, которое должно быть показано пользователю. | ||
206 | |||
207 | === void Stop () === | ||
208 | |||
209 | Остановка выполнения G-кода. | ||
210 | |||
211 | === void EStop () === | ||
212 | |||
213 | Экстренная остановка выполнения G-кода и перевод системы в режим Выкл. | ||
214 | |||
215 | === void SetUserVariable (number index, number value) === | ||
216 | |||
217 | Установка значения пользовательской переменной. Данное значение может быть прочитано при выполнении другого макроса, в том числе после перезапуска PUMOTIX. | ||
218 | |||
219 | Параметры: | ||
220 | |||
221 | * number index – номер переменной, целое число от 0 до 99; | ||
222 | * number value – значение пользовательской переменной (вещественное число), которое необходимо установить. | ||
223 | |||
224 | === number GetUserVariable (number index) === | ||
225 | |||
226 | Получение значения пользовательской переменной. | ||
227 | |||
228 | Параметры: | ||
229 | |||
230 | * number index – номер переменной, целое число от 0 до 99. | ||
231 | |||
232 | Возвращаемое значение: | ||
233 | |||
234 | * текущее значение пользовательской переменной (вещественное число). | ||
235 | |||
236 | === string str (number value) === | ||
237 | |||
238 | Преобразование вещественного числа в строку. | ||
239 | |||
240 | Язык Lua поддерживает неявное преобразование числа в строку, но по умолчанию для очень маленького вещественного числа результат преобразования может иметь экспоненциальный формат, что не позволяет использовать строку как часть строки G-кода. Для удобства можно использовать функцию str, которая гарантирует, что число будет иметь десятичное представление. | ||
241 | |||
242 | Параметры: | ||
243 | |||
244 | * number value – вещественное число, которое необходимо преобразовать. | ||
245 | |||
246 | Возвращаемое значение: | ||
247 | |||
248 | * строковое представление заданного числа. | ||
249 | |||
250 | === number GetSystemTickCount () === | ||
251 | |||
252 | Получение количества миллисекунд, прошедшего с момента запуска операционной системы. Может использоваться для замера интервалов времени. Для получения текущих календарных даты и времени в UnixTime необходимо использовать стандартную функцию Lua (% style="color: rgb(36,39,41);" %)**os.time()**. | ||
253 | |||
254 | Возвращаемое значение: | ||
255 | |||
256 | * количество миллисекунд, прошедшее с момента запуска операционной системы. | ||
257 | |||
258 | === bool Is_THC_Mode () === | ||
259 | |||
260 | Позволяет проверить, находится ли PUMOTIX в режиме плазменной резки. | ||
261 | |||
262 | Возвращаемое значение: | ||
263 | |||
264 | * true – если PUMOTIX находится в режиме плазменной резки; | ||
265 | * false – если активен другой режим. | ||
266 | |||
267 | === number GetCurrentVoltage () === | ||
268 | |||
269 | Получение текущего значения напряжения в режиме плазменной резки. | ||
270 | |||
271 | Возвращаемое значение: | ||
272 | |||
273 | * текущее напряжение, В. | ||
274 | |||
275 | === number GetDesiredVoltage () === | ||
276 | |||
277 | Получение установленного значения желаемого напряжения в режиме плазменной резки. | ||
278 | |||
279 | Возвращаемое значение: | ||
280 | |||
281 | * желаемое напряжение, В. | ||
282 | |||
283 | === void SetDesiredVoltage (number value) === | ||
284 | |||
285 | Установка значения желаемого напряжения в режиме плазменной резки. | ||
286 | |||
287 | Параметры: | ||
288 | |||
289 | * number value – желаемое напряжение, В. | ||
290 | |||
291 | === bool GetThcTorchOn () === | ||
292 | |||
293 | Позволяет проверить, включен ли факел в режиме плазменной резки. | ||
294 | |||
295 | Возвращаемое значение: | ||
296 | |||
297 | * true – если факел в режиме плазменной резки включен; | ||
298 | |||
299 | === bool Is_Oxy_Mode () === | ||
300 | |||
301 | Позволяет проверить, находится ли PUMOTIX в режиме газовой резки. | ||
302 | |||
303 | Возвращаемое значение: | ||
304 | |||
305 | * true – если PUMOTIX находится в режиме газовой резки; | ||
306 | * false – если активен другой режим. | ||
307 | |||
308 | === bool GetOxyCuttingOn () === | ||
309 | |||
310 | Позволяет проверить, включен ли режущий факел в режиме газовой резки. | ||
311 | |||
312 | Возвращаемое значение: | ||
313 | |||
314 | * true – если режущий факел в режиме газовой резки включен. | ||
315 | |||
316 | === bool GetOxyPreheatOn () === | ||
317 | |||
318 | Позволяет проверить, включен ли прогрев в режиме газовой резки. | ||
319 | |||
320 | Возвращаемое значение: | ||
321 | |||
322 | * true – если прогрев в режиме газовой резки включен. | ||
323 | |||
324 | === number, bool ReadModbusRegister (string name) === | ||
325 | |||
326 | Получение значения Modbus-регистра. | ||
327 | |||
328 | Параметры: | ||
329 | |||
330 | * string name – имя регистра, настроенного в меню Настройка Modbus. | ||
331 | |||
332 | Возвращаемые значения: | ||
333 | |||
334 | * value - значение Modbus-регистра. Возвращает последнее успешно прочитанное значение из кеша, обновляющегося с интервалом 100 мс (периодичность обновления может изменяться в зависимости от определённых условий). Если значение ни разу не было успешно прочитано, возвращается 0. | ||
335 | * is_online - логическое значение, определяющее, была ли последняя попытка прочитать значение Modbus-регистра успешной. | ||
336 | |||
337 | === number, bool ReadModbusRegisterUpdated (string name) === | ||
338 | |||
339 | Получение значения Modbus-регистра без использования кеша. Значение регистра запрашивается каждый раз при вызове команды. | ||
340 | |||
341 | Параметры: | ||
342 | |||
343 | * string name – имя регистра, настроенного в меню Настройка Modbus. | ||
344 | |||
345 | Возвращаемые значения: | ||
346 | |||
347 | * value - значение Modbus-регистра. | ||
348 | * is_online - логическое значение, определяющее, была ли последняя попытка прочитать значение Modbus-регистра успешной. | ||
349 | |||
350 | === bool WriteModbusRegister (string name, number value) === | ||
351 | |||
352 | Установка значения Modbus-регистра. | ||
353 | |||
354 | Параметры: | ||
355 | |||
356 | * string name – имя регистра, настроенного в меню Настройка Modbus. | ||
357 | * number value - значение регистра, которое необходимо установить (16-битное целое число). | ||
358 | |||
359 | Возвращаемое значение: | ||
360 | |||
361 | * true - если установка значения Modbus-регистра выполнена успешно. | ||
362 | |||
363 | === bool IsRealDeviceConnected () === | ||
364 | |||
365 | Позволяет проверить, установлено ли подключение к контроллеру. | ||
366 | |||
367 | Возвращаемое значение: | ||
368 | |||
369 | * true – если выбрано реальное устройство (не симулятор) и подключение к нему установлено. | ||
370 | |||
371 | === number GetJogOverridePercent (void) === | ||
372 | |||
373 | Получение процента переопределения текущей скорости ручных перемещений. | ||
374 | |||
375 | Возвращаемое значение: | ||
376 | |||
377 | * процент переопределения скорости ручных перемещений. | ||
378 | |||
379 | === void SetJogOverridePercent (number value) === | ||
380 | |||
381 | Установка процента переопределения текущей скорости ручных перемещений. | ||
382 | |||
383 | Параметры: | ||
384 | |||
385 | * number value – процент фактической скорости перемещения от заданной. | ||
386 | |||
387 | === number GetExecutingMCode () === | ||
388 | |||
389 | Возвращает номер, выполняющегося макроса. Если макрос не запущен возвращает -1. | ||
390 | |||
391 | Возвращаемое значение: | ||
392 | |||
393 | * номер макроса. | ||
394 | |||
395 | === bool GetLedUserValue (number index) === | ||
396 | |||
397 | Выводит значение пользовательской переменной. | ||
398 | |||
399 | Параметры: | ||
400 | |||
401 | * number index – номер переменной, целое число от 0 до 29. | ||
402 | |||
403 | Возвращаемое значение: | ||
404 | |||
405 | * bool - значение пользовательской переменной. | ||
406 | |||
407 | === void SetLedUserValue (number index, bool a_value) === | ||
408 | |||
409 | Установка значения пользовательской переменной. Данное значение может быть прочитано при выполнении другого макроса, в том числе после перезапуска PUMOTIX. | ||
410 | |||
411 | Параметры: | ||
412 | |||
413 | * number index – номер переменной, целое число от 0 до 29; | ||
414 | * bool a_value – значение пользовательской переменной. | ||
415 | |||
416 | === number GetNumUserValue (number index) === | ||
417 | |||
418 | Выводит значения пользовательской переменной. | ||
419 | |||
420 | Параметры: | ||
421 | |||
422 | * number index – номер переменной, целое число от 0 до 29. | ||
423 | |||
424 | Возвращаемое значение: | ||
425 | |||
426 | * number - значение пользовательской переменной. | ||
427 | |||
428 | === void SetNumUserValue (number index, number value) === | ||
429 | |||
430 | Установка значения пользовательской переменной. Данное значение может быть прочитано при выполнении другого макроса, в том числе после перезапуска PUMOTIX. | ||
431 | |||
432 | Параметры: | ||
433 | |||
434 | * number index – номер переменной, целое число от 0 до 29; | ||
435 | * number value – значение пользовательской переменной (вещественное число), которое необходимо установить. | ||
436 | |||
437 | === string GetStrUserValue (number index) === | ||
438 | |||
439 | Выводит значения пользовательской переменной. | ||
440 | |||
441 | Параметры: | ||
442 | |||
443 | * number index – номер переменной, целое число от 0 до 29. | ||
444 | |||
445 | Возвращаемое значение: | ||
446 | |||
447 | * string- значение пользовательской переменной. | ||
448 | |||
449 | === void SetNumUserValue (number index, string value) === | ||
450 | |||
451 | Установка значения пользовательской переменной. Данное значение может быть прочитано при выполнении другого макроса, в том числе после перезапуска PUMOTIX. | ||
452 | |||
453 | Параметры: | ||
454 | |||
455 | * number index – номер переменной, целое число от 0 до 29; | ||
456 | * string value - значение пользовательской переменной (строка), которое необходимо установить. | ||
457 | |||
458 | === string Get_Message (number messageId) === | ||
459 | |||
460 | Получение одного из предопределённых локализованных текстовых сообщений. | ||
461 | |||
462 | Параметры: | ||
463 | |||
464 | * number messageId – идентификатор сообщения (в качестве этого параметра должна передаваться одна из констант, определённых в списке Messages). | ||
465 | |||
466 | Возвращаемое значение: | ||
467 | |||
468 | * локализованное текстовое сообщение. | ||
469 | |||
470 | === void RunGCode () === | ||
471 | |||
472 | Запуск выполнения G-кода (аналогично нажатию кнопки Старт). | ||
473 | |||
474 | === void RunMDI (string command) === | ||
475 | |||
476 | Выполнение заданной строки G-кода. Функция сразу же после вызова возвращает управление и выполнение фонового макроса продолжается. | ||
477 | |||
478 | Параметры: | ||
479 | |||
480 | * string command – строка G-кода, которая должна быть выполнена. | ||
481 | |||
482 | === bool UseOmichSensor () === | ||
483 | |||
484 | Позволяет проверить, включено ли в настройках использование омического датчика PLL-R2. | ||
485 | |||
486 | Возвращаемое значение: | ||
487 | |||
488 | * true – если использование омического датчика PLL-R2 включено. | ||
489 | |||
490 | === number GetOmichSensorDelta () === | ||
491 | |||
492 | Получение заданного в настройках омического датчика значения поправки dZ. | ||
493 | |||
494 | Возвращаемое значение: | ||
495 | |||
496 | * значение поправки dZ, заданное в настройках омического датчика. | ||
497 | |||
498 | === void SetOmichSensorDelta (number value) === | ||
499 | |||
500 | Установка значения поправки dZ для омического датчика. | ||
501 | |||
502 | Параметры: | ||
503 | |||
504 | * number value – значение поправки dZ для омического датчика. | ||
505 | |||
506 | === number1, ... , numberN, bool ReadModbusMultipleRegistersUpdated (string name, number count) === | ||
507 | |||
508 | Получение значений нескольких расположенных подряд Modbus-регистров без использования кеша. | ||
509 | |||
510 | Параметры: | ||
511 | |||
512 | * string name – имя регистра, настроенного в меню Настройка Modbus. | ||
513 | * number count – количество запрашиваемых регистров. | ||
514 | |||
515 | Возвращаемые значения: | ||
516 | |||
517 | * value1, ... , valueN – значения Modbus-регистров. | ||
518 | * is_online – логическое значение, определяющее, была ли попытка прочитать значения Modbus-регистров успешной. | ||
519 | |||
520 | === bool WriteModbusMultipleRegisters (string name, number count, number value1, ... , number valueN) === | ||
521 | |||
522 | Установка значений нескольких расположенных подряд Modbus-регистров. | ||
523 | |||
524 | Параметры: | ||
525 | |||
526 | * string name – имя регистра, настроенного в меню Настройка Modbus. | ||
527 | * number count – количество записываемых регистров. | ||
528 | * number value1, ... , number valueN – значения регистров, которые необходимо установить (16-битные целые числа). | ||
529 | |||
530 | Возвращаемое значение: | ||
531 | |||
532 | * true - если установка значений Modbus-регистров выполнена успешно. | ||
533 | |||
534 | === void WeldOscillatorEnable () === | ||
535 | |||
536 | Включение колебателя. | ||
537 | |||
538 | === void WeldOscillatorDisable () === | ||
539 | |||
540 | Выключение колебателя. |