add_txt #
在控制台输出文本信息
语法 #
add_txt(文本) add_txt(文本, 是否警告)
参数 #
- 文本 – 要输出的内容(必填)
- 是否警告 – true 显示警告, false 普通消息(选填,默认 false)
警告模式会让底部的 <设置> 按钮红色闪动,提示用户有新的信息输出
示例 #
-- 普通消息
add_txt("开始执行程序")
-- 警告消息
add_txt("温度过高!", true)
send_gcode #
发送G代码到命令队列(不等待执行完成)
语法 #
send_gcode(G代码)
参数 #
- G代码 – 要发送的G代码字符串(必填)
示例 #
-- 发送移动指令
send_gcode("G0 X10 Y20")
-- 发送多条指令(不等待)
send_gcode("G0 X0 Y0")
send_gcode("G1 Z-5 F100")
-- 程序会继续执行,不等待G代码完成
注意: 此函数发送后立即返回,不会等待G代码执行完成
send_gcode_wait #
发送G代码并等待执行完成
语法 #
send_gcode_wait(G代码)
参数 #
- G代码 – 要发送的G代码字符串(必填)
示例 #
-- 发送移动指令并等待完成
send_gcode_wait("G0 X10 Y20")
add_txt("移动完成") -- 等G代码执行完才会执行这句
-- 顺序执行多条指令
send_gcode_wait("G0 X0 Y0") -- 等待完成
send_gcode_wait("G1 Z-5 F100") -- 等待完成
add_txt("所有指令执行完成")
注意: 此函数会等待命令队列清空并且机器状态变为 IDLE 才返回
get_language #
获取当前系统语言
语法 #
get_language()
参数 #
无参数
返回值 #
- “zh” – 中文
- “en” – 英文
示例 #
-- 获取当前语言
local lang = get_language()
-- 根据语言显示不同消息
if lang == "zh" then
add_txt("这是中文提示")
elseif lang == "en" then
add_txt("This is English message")
end
message_box #
显示消息对话框
语法 #
message_box(消息内容) message_box(消息内容, 确认按钮文本) result = message_box(消息内容, 确认按钮文本, 取消按钮文本)
参数 #
- 消息内容 – 对话框显示的主要信息(必填)
- 确认按钮文本 – 确认按钮的显示文字(选填,默认”确认”)
- 取消按钮文本 – 取消按钮的显示文字(选填,不填则只显示确认按钮)
返回值 #
- 1 – 用户点击了确认按钮
- 0 – 用户点击了取消按钮
示例 #
-- 简单提示
message_box("换刀完成!")
-- 确认对话框
local result = message_box("是否继续执行?", "是", "否")
if result == 1 then
add_txt("用户选择继续")
else
add_txt("用户选择取消")
end
sys_shutdown #
系统关机或重启
语法 #
sys_shutdown(是否重启) sys_shutdown(是否重启, 倒计时秒数)
参数 #
- 是否重启 – true 重启系统, false 关机(必填)
- 倒计时秒数 – 确认对话框倒计时,范围3-30秒(选填,默认10秒)
示例 #
-- 关机(默认10秒倒计时) sys_shutdown(false) -- 重启(默认10秒倒计时) sys_shutdown(true) -- 关机(5秒倒计时) sys_shutdown(false, 5) -- 重启(15秒倒计时) sys_shutdown(true, 15)
注意: 倒计时超出3-30秒范围会自动修正到边界值。用户可在倒计时结束前点击取消按钮取消操作。
get_pos #
获取指定轴的当前工件坐标(受 G54/G92 等坐标系偏移影响)。
语法 #
get_pos(轴索引)
参数 #
- 轴索引 – X_AXIS / Y_AXIS / Z_AXIS / A_AXIS / B_AXIS(必填)
返回值 #
- 当前工件坐标值(浮点数)
示例 #
-- 读取所有 5 轴的工件坐标
local wx = get_pos(X_AXIS)
local wy = get_pos(Y_AXIS)
local wz = get_pos(Z_AXIS)
local wa = get_pos(A_AXIS)
local wb = get_pos(B_AXIS)
add_txt(string.format("工件坐标 X=%.3f Y=%.3f Z=%.3f A=%.3f B=%.3f",
wx, wy, wz, wa, wb))
get_machine_pos #
获取指定轴的当前机械坐标(不受工件坐标系偏移影响)。
语法 #
get_machine_pos(轴索引)
参数与返回值同 get_pos。
示例 #
local mx = get_machine_pos(X_AXIS)
local my = get_machine_pos(Y_AXIS)
local mz = get_machine_pos(Z_AXIS)
add_txt(string.format("机械坐标 X=%.3f Y=%.3f Z=%.3f", mx, my, mz))
轴索引常量 #
- X_AXIS = 0
- Y_AXIS = 1
- Z_AXIS = 2
- A_AXIS = 3
- B_AXIS = 4
注意: 坐标值由下位机状态行实时回报(约 5Hz),刚发完 G38.2 等运动指令不能立即读坐标,会拿到运动前的旧值。务必先用
send_gcode_wait 等待运动结束(队列空 + IDLE)后再读取。
