Функции для разработки фоновых макросов
bool PinGetState (number periphId)
Получение текущего состояния входа или выхода.
Параметры:
- number periphId – идентификатор входа или выхода (в качестве этого параметра должна передаваться одна из констант, определённых в списке Inputs или Outputs).
Возвращаемое значение:
- текущее состояние входа (выхода): true – активен, false – неактивен (если в настройках выходов установлен флажок «Инвертировать», активному выходу соответствует физический уровень сигнала 0, и наоборот).
bool MotorPinGetState (number motorId, number motorPeriphId)
Получение текущего состояния входа или выхода, назначенного для двигателя.
Параметры:
- number motorId – номер двигателя, начиная с 0, в порядке назначения двигателей в списке «Параметры двигателей»;
- number motorPeriphId – идентификатор входа или выхода для указанного двигателя (в качестве этого параметра должна передаваться одна из констант, определённых в списке MotorInputs или MotorOutputs).
Возвращаемое значение:
- текущее состояние входа (выхода) двигателя: true – активен, false – неактивен (если в настройках выходов установлен флажок «Инвертировать», активному выходу соответствует физический уровень сигнала 0, и наоборот).
void PinSetState (number periphId, bool state)
Установка состояния выхода.
Параметры:
- number periphId – идентификатор выхода (в качестве этого параметра должна передаваться одна из констант, определённых в списке Outputs);
- bool state – состояние выхода, которое необходимо установить: true – активен, false – неактивен (если в настройках выходов установлен флажок «Инвертировать», активному выходу соответствует физический уровень сигнала 0, и наоборот).
bool IsGCodeRunning ()
Позволяет проверить, находится ли PUMOTIX в режиме выполнения G-кода.
Возвращаемое значение:
- true – если PUMOTIX находится в режиме выполнения G-кода;
bool IsMDIRunning ()
Позволяет проверить, находится ли PUMOTIX в режиме выполнения команды ручного ввода.
Возвращаемое значение:
- true – если PUMOTIX находится в режиме выполнения команды ручного ввода;
bool IsRunning ()
Позволяет проверить, находится ли PUMOTIX в режиме выполнения G-кода или команды ручного ввода.
Возвращаемое значение:
- true – если активен любой из двух режимов IsGCodeRunning() или IsMDIRunning();
bool IsIdle ()
Позволяет проверить, находится ли PUMOTIX в режиме ожидания (состояние Вкл кнопки включения).
Возвращаемое значение:
- true – если PUMOTIX находится в режиме ожидания;
bool IsEStop ()
Позволяет проверить, находится ли PUMOTIX в режиме EStop (состояние Выкл кнопки включения).
Возвращаемое значение:
- true – если PUMOTIX находится в режиме EStop;
number AxisGetPos (number axisId)
Получение текущей рабочей координаты указанной оси.
Параметры:
- number axisId – номер оси, целое число от 0 до 8 (в качестве этого параметра может передаваться одна из констант, определённых в списке Axis).
Возвращаемое значение:
- значение текущей рабочей координаты указанной оси.
number AxisGetMachinePos (number axisId)
Получение текущей машинной координаты указанной оси.
Параметры:
- number axisId – номер оси, целое число от 0 до 8 (в качестве этого параметра может передаваться одна из констант, определённых в списке Axis).
Возвращаемое значение:
- значение текущей машинной координаты указанной оси.
number GetCurFeedrate ()
Получение текущей скорости перемещения.
Возвращаемое значение:
- модуль вектора скорости перемещения в пространстве XYZ.
number GetGCodeFeedrate ()
Получение скорости перемещения, заданной в G-коде.
Возвращаемое значение:
- скорость перемещения, заданная в G-коде.
number GetFeedrateOverridePercent ()
Получение процента переопределения текущей скорости перемещения.
Возвращаемое значение:
- процент фактической скорости перемещения от заданной.
void SetFeedrateOverridePercent (number value)
Задание процента переопределения текущей скорости перемещения.
Параметры:
- number value – желаемый процент переопределения текущей скорости перемещения.
number GetRapidrateOverridePercent ()
Получение процента переопределения текущей скорости холостых переездов.
Возвращаемое значение:
- процент фактической скорости холостых переездов от заданной.
void SetRapidrateOverridePercent (number value)
Задание процента переопределения текущей скорости холостых переездов.
Параметры:
- number value – желаемый процент переопределения текущей скорости холостых переездов.
bool IsAxisReferenced (number axisId)
Позволяет проверить, выполнен ли поиск базы по указанной оси.
Параметры:
- number axisId – номер оси, целое число от 0 до 8 (в качестве этого параметра может передаваться одна из констант, определённых в списке Axis).
Возвращаемое значение:
- true – если поиск базы выполнен:
- false – если поиск базы не выполнен.
bool IsAxesMaskReferenced (number axesMask)
Позволяет проверить, выполнен ли поиск базы для всех осей, заданных маской axesMask.
Параметры:
- number axesMask – маска осей, целое число, в котором биты от 0 до 8 обозначают, выбраны ли соответствующие оси.
Возвращаемое значение:
- true – если поиск базы выполнен;
- false – если поиск базы не выполнен.
number GetCurSpindleRPM ()
Получение текущей скорости вращения шпинделя.
Возвращаемое значение:
- текущая скорость вращения шпинделя, об/мин.
number GetGCodeSpindleRPM ()
Получение скорости вращения шпинделя, заданной в G-коде.
Возвращаемое значение:
- Скорость вращения шпинделя, заданная в G-коде, об/мин.
number GetSpindleSpeedOverridePercent ()
Получение процента переопределения текущей скорости вращения шпинделя.
Возвращаемое значение:
- процент, который фактическая скорость вращения шпинделя составляет от заданной.
void SetSpindleSpeedOverridePercent (number value)
Задание процента переопределения текущей скорости вращения шпинделя.
Параметры:
- number value – желаемый процент переопределения текущей скорости вращения шпинделя.
void FloodEnable ()
Включение подачи охлаждающей жидкости поливом.
void FloodDisable ()
Выключение подачи охлаждающей жидкости поливом.
void MistEnable ()
Включение подачи охлаждающей жидкости распылением.
void MistDisable ()
Выключение подачи охлаждающей жидкости распылением.
void Sleep (number milliseconds)
Ожидание в течение указанного количества миллисекунд.
Параметры:
- number milliseconds – количество миллисекунд, в течение которых выполнение фонового макроса будет приостановлено.
void DisplayMessage (string message)
Отображение в пользовательском интерфейсе сообщения от фонового макроса. Для корректного отображения символов национальных алфавитов файл макроса должен быть сохранён в кодировке UTF-8.
Параметры:
- string message – текст сообщения, которое должно быть показано пользователю.
void Stop ()
Остановка выполнения G-кода.
void EStop ()
Экстренная остановка выполнения G-кода и перевод системы в режим Выкл.
void SetUserVariable (number index, number value)
Установка значения пользовательской переменной. Данное значение может быть прочитано при выполнении другого макроса, в том числе после перезапуска PUMOTIX.
Параметры:
- number index – номер переменной, целое число от 0 до 99;
- number value – значение пользовательской переменной (вещественное число), которое необходимо установить.
number GetUserVariable (number index)
Получение значения пользовательской переменной.
Параметры:
- number index – номер переменной, целое число от 0 до 99.
Возвращаемое значение:
- текущее значение пользовательской переменной (вещественное число).
string str (number value)
Преобразование вещественного числа в строку.
Язык Lua поддерживает неявное преобразование числа в строку, но по умолчанию для очень маленького вещественного числа результат преобразования может иметь экспоненциальный формат, что не позволяет использовать строку как часть строки G-кода. Для удобства можно использовать функцию str, которая гарантирует, что число будет иметь десятичное представление.
Параметры:
- number value – вещественное число, которое необходимо преобразовать.
Возвращаемое значение:
- строковое представление заданного числа.
number GetSystemTickCount ()
Получение количества миллисекунд, прошедшего с момента запуска операционной системы. Может использоваться для замера интервалов времени. Для получения текущих календарных даты и времени в UnixTime необходимо использовать стандартную функцию Lua os.time().
Возвращаемое значение:
- количество миллисекунд, прошедшее с момента запуска операционной системы.
bool Is_THC_Mode ()
Позволяет проверить, находится ли PUMOTIX в режиме плазменной резки.
Возвращаемое значение:
- true – если PUMOTIX находится в режиме плазменной резки;
- false – если активен другой режим.
number GetCurrentVoltage ()
Получение текущего значения напряжения в режиме плазменной резки.
Возвращаемое значение:
- текущее напряжение, В.
number GetDesiredVoltage ()
Получение установленного значения желаемого напряжения в режиме плазменной резки.
Возвращаемое значение:
- желаемое напряжение, В.
void SetDesiredVoltage (number value)
Установка значения желаемого напряжения в режиме плазменной резки.
Параметры:
- number value – желаемое напряжение, В.
bool GetThcTorchOn ()
Позволяет проверить, включен ли факел в режиме плазменной резки.
Возвращаемое значение:
- true – если факел в режиме плазменной резки включен;
bool Is_Oxy_Mode ()
Позволяет проверить, находится ли PUMOTIX в режиме газовой резки.
Возвращаемое значение:
- true – если PUMOTIX находится в режиме газовой резки;
- false – если активен другой режим.
bool GetOxyCuttingOn ()
Позволяет проверить, включен ли режущий факел в режиме газовой резки.
Возвращаемое значение:
- true – если режущий факел в режиме газовой резки включен.
bool GetOxyPreheatOn ()
Позволяет проверить, включен ли прогрев в режиме газовой резки.
Возвращаемое значение:
- true – если прогрев в режиме газовой резки включен.
number, bool ReadModbusRegister (string name)
Получение значения Modbus-регистра.
Параметры:
- string name – имя регистра, настроенного в меню Настройка Modbus.
Возвращаемые значения:
- value - значение Modbus-регистра. Возвращает последнее успешно прочитанное значение из кеша, обновляющегося с интервалом 100 мс (периодичность обновления может изменяться в зависимости от определённых условий). Если значение ни разу не было успешно прочитано, возвращается 0.
- is_online - логическое значение, определяющее, была ли последняя попытка прочитать значение Modbus-регистра успешной.
number, bool ReadModbusRegisterUpdated (string name)
Получение значения Modbus-регистра без использования кеша. Значение регистра запрашивается каждый раз при вызове команды.
Параметры:
- string name – имя регистра, настроенного в меню Настройка Modbus.
Возвращаемые значения:
- value - значение Modbus-регистра.
- is_online - логическое значение, определяющее, была ли последняя попытка прочитать значение Modbus-регистра успешной.
bool WriteModbusRegister (string name, number value)
Установка значения Modbus-регистра.
Параметры:
- string name – имя регистра, настроенного в меню Настройка Modbus.
- number value - значение регистра, которое необходимо установить (16-битное целое число).
Возвращаемое значение:
- true - если установка значения Modbus-регистра выполнена успешно.
bool IsRealDeviceConnected ()
Позволяет проверить, установлено ли подключение к контроллеру.
Возвращаемое значение:
- true – если выбрано реальное устройство (не симулятор) и подключение к нему установлено.
number GetJogOverridePercent (void)
Получение процента переопределения текущей скорости ручных перемещений.
Возвращаемое значение:
- процент переопределения скорости ручных перемещений.
void SetJogOverridePercent (number value)
Установка процента переопределения текущей скорости ручных перемещений.
Параметры:
- number value – процент фактической скорости перемещения от заданной.
double GetAnalogInput (number index)
Получить значение аналогового входа (от 0 до 1) в виде вещественного числа.
Параметры:
- number index – номер аналогового входа (начиная с 0).
Возвращаемое значение:
- значение аналогового входа (от 0 до 1)
int GetAnalogInputsCount ()
Получить количество аналоговых входов, доступных для используемого контроллера перемещений.
Возвращаемое значение:
- количество доступных аналоговых входов
number GetExecutingMCode ()
Возвращает номер, выполняющегося макроса. Если макрос не запущен возвращает -1.
Возвращаемое значение:
- номер макроса.
bool GetLedUserValue (number index)
Выводит значение пользовательской переменной.
Параметры:
- number index – номер переменной, целое число от 0 до 29.
Возвращаемое значение:
- bool - значение пользовательской переменной.
void SetLedUserValue (number index, bool a_value)
Установка значения пользовательской переменной. Данное значение может быть прочитано при выполнении другого макроса, в том числе после перезапуска PUMOTIX.
Параметры:
- number index – номер переменной, целое число от 0 до 29;
- bool a_value – значение пользовательской переменной.
number GetNumUserValue (number index)
Выводит значения пользовательской переменной.
Параметры:
- number index – номер переменной, целое число от 0 до 29.
Возвращаемое значение:
- number - значение пользовательской переменной.
void SetNumUserValue (number index, number value)
Установка значения пользовательской переменной. Данное значение может быть прочитано при выполнении другого макроса, в том числе после перезапуска PUMOTIX.
Параметры:
- number index – номер переменной, целое число от 0 до 29;
- number value – значение пользовательской переменной (вещественное число), которое необходимо установить.
string GetStrUserValue (number index)
Выводит значения пользовательской переменной.
Параметры:
- number index – номер переменной, целое число от 0 до 29.
Возвращаемое значение:
- string- значение пользовательской переменной.
void SetNumUserValue (number index, string value)
Установка значения пользовательской переменной. Данное значение может быть прочитано при выполнении другого макроса, в том числе после перезапуска PUMOTIX.
Параметры:
- number index – номер переменной, целое число от 0 до 29;
- string value - значение пользовательской переменной (строка), которое необходимо установить.
string Get_Message (number messageId)
Получение одного из предопределённых локализованных текстовых сообщений.
Параметры:
- number messageId – идентификатор сообщения (в качестве этого параметра должна передаваться одна из констант, определённых в списке Messages).
Возвращаемое значение:
- локализованное текстовое сообщение.
void RunGCode ()
Запуск выполнения G-кода (аналогично нажатию кнопки Старт).
void RunMDI (string command)
Выполнение заданной строки G-кода. Функция сразу же после вызова возвращает управление и выполнение фонового макроса продолжается.
Параметры:
- string command – строка G-кода, которая должна быть выполнена.
bool UseOmichSensor ()
Позволяет проверить, включено ли в настройках использование омического датчика PLL-R2.
Возвращаемое значение:
- true – если использование омического датчика PLL-R2 включено.
number GetOmichSensorDelta ()
Получение заданного в настройках омического датчика значения поправки dZ.
Возвращаемое значение:
- значение поправки dZ, заданное в настройках омического датчика.
void SetOmichSensorDelta (number value)
Установка значения поправки dZ для омического датчика.
Параметры:
- number value – значение поправки dZ для омического датчика.
number1, ... , numberN, bool ReadModbusMultipleRegistersUpdated (string name, number count)
Получение значений нескольких расположенных подряд Modbus-регистров без использования кеша.
Параметры:
- string name – имя регистра, настроенного в меню Настройка Modbus.
- number count – количество запрашиваемых регистров.
Возвращаемые значения:
- value1, ... , valueN – значения Modbus-регистров.
- is_online – логическое значение, определяющее, была ли попытка прочитать значения Modbus-регистров успешной.
bool WriteModbusMultipleRegisters (string name, number count, number value1, ... , number valueN)
Установка значений нескольких расположенных подряд Modbus-регистров.
Параметры:
- string name – имя регистра, настроенного в меню Настройка Modbus.
- number count – количество записываемых регистров.
- number value1, ... , number valueN – значения регистров, которые необходимо установить (16-битные целые числа).
Возвращаемое значение:
- true - если установка значений Modbus-регистров выполнена успешно.
void WeldOscillatorEnable ()
Включение колебателя.
void WeldOscillatorDisable ()
Выключение колебателя.