Skip to content

脚本快速上手 ​

Lua 5.4 脚本是可重复的台架流程。先从一个 DID 读取开始,然后扩展为例程、内存操作或刷写方案。

运行脚本 ​

  1. 打开 Tools → Lua Scripts。
  2. 在工作区(<workspace>/scripts/*.lua)或项目(<project>/scripts/*.lua)中创建脚本。项目脚本优先。
  3. 粘贴下面的示例。
  4. 按 Run 并读取编辑器下方的输出;错误也会写入应用日志。
lua
-- Read one DID and print the decoded value
local ecu = 0x100 -- txid; a unit string such as "ENGINE" also works
local p = bm.ecu.read_did(ecu, 0xF190)
print(string.format("%04X", 0xF190), p.value or p.hex)

单元选择器是 ECU 单元名称或其发送 ID。显式传入它;不存在隐藏的“选中 ECU”。

带控制台输出的 Lua 脚本编辑器

常用模式 ​

lua
-- Read all parameters and report each DID
local unit = "ENGINE"
for _, item in ipairs(bm.ecu.list_parameters(unit)) do
  local p = bm.ecu.read_did(unit, item.did)
  bm.log(string.format("%04X", item.did), p.value or p.hex)
end
lua
-- Fault count with a toast
local dtcs = bm.ecu.read_dtcs("ENGINE")
bm.log("DTC count:", #dtcs)
bm.toast("DTC read: " .. #dtcs)
lua
-- Routine and raw request
bm.ecu.routine_start("ENGINE", 0x0203, "00")
bm.sleep(1000)
bm.ecu.routine_stop("ENGINE", 0x0203)
bm.ecu.raw_uds("ENGINE", "3E00")

Lua 在沙箱中运行,没有任意文件、进程或操作系统访问权限。实时操作需要自动化权限并会要求确认。

操作按钮 ​

File → Load Actions 加载一个包含按钮的 JSON 文件:

json
{
  "tab_name": "Actions",
  "action_buttons": [
    { "name": "Session 03", "comment": "Extended session", "group": "Session", "data": "10 03" },
    { "name": "Read VIN", "comment": "Lua action", "group": "Scripts", "script": "read_vin.lua" }
  ]
}

data 是原始 UDS 请求;script 是来自项目或工作区 scripts/ 文件夹的 .lua 文件。带有 data 的按钮会要求确认。

AI 与 MCP ​

聊天后端是 OpenAI 兼容的 HTTP 或 OpenCode ACP;API 密钥存储在 Windows 凭据管理器中。项目更改和实时 ECU 写入分别在 Settings → Automation 中启用,危险操作会要求确认。每次工具调用都可以在日志中看到。

相关 ​

免费核心。本地工作区。无需云端。