脚本快速上手
Lua 5.4 脚本是可重复的台架流程。先从一个 DID 读取开始,然后扩展为例程、内存操作或刷写方案。
运行脚本
- 打开 Tools → Lua Scripts。
- 在工作区(
<workspace>/scripts/*.lua)或项目(<project>/scripts/*.lua)中创建脚本。项目脚本优先。 - 粘贴下面的示例。
- 按 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
-- 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)
endlua
-- 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 中启用,危险操作会要求确认。每次工具调用都可以在日志中看到。
