面板
新建和打开
在“主页 → 面板”打开管理窗口。点击“新建面板”创建画布并打开设计窗口;点击列表中的名称打开对应运行面板,布局只能查看。选中面板后可编辑、重命名或删除。多个面板可以同时打开,也可通过窗口标题的菜单切换停靠、浮动和独立窗口。
面板名称、画布、控件、图像及绑定保存在独立的 .blpanel 文件中,.blproj 工程记录文件路径。保存工程时会写入已修改的面板文件。旧工程中的内嵌面板会在保存时迁移为独立文件。
导入和导出
在面板管理窗口点击“导入面板”,可选择 BeiniLink .blpanel、CANoe .xvp 或 BeiniLink .blproj 工程。导入会新增面板,重名时追加序号,并将工程标记为已修改。
.blproj 导入工程内的所有面板、关联面板和用户变量定义。同名同类型变量复用当前定义,类型冲突时拒绝导入。控件变量绑定和“打开其他面板”按钮的目标会随新 ID 更新。新增变量需要先停止测量;当前工程的硬件和数据库配置保持不变。
选中面板后点击“导出面板”,生成独立的 .blpanel XML 文件,包含布局、控件、图像、绑定、HTML 和内联脚本。工程引用面板文件路径;移动工程时需同时保留对应面板文件。导入 .xvp 前,若面板绑定了系统变量,需先导入对应的 .vsysvar。

运行中的面板显示绑定到信号和变量的控件。示例数据。
编辑布局
在面板管理窗口选中面板并点击“编辑”,会打开与“新建面板”相同的独立设计窗口。左侧控件库提供文本、数值显示、数值输入、Hex/Text 编辑器、路径选择、复选框、单选组、按钮、测量启停、开关、LED、滑块、下拉框、进度条、仪表盘、图像、分组、标签页和 HTML。
左栏分为“组件 / 图层 / 数据”。点击组件添加控件,或直接拖到画布上的目标位置;拖进分组或标签页会放入该容器的当前页。在画布上拖动控件移动位置,使用四角和四边共八个手柄调整尺寸;属性中也可直接输入坐标、宽高、字体、颜色及数值设置。
从空白处拖动可以框选,Shift 或 Ctrl 点击增减选择。多个控件可一起拖动,同级控件可通过工具栏对齐、分布、统一宽高或编组。“图层”页可以选择控件、拖动改变容器;属性中也可选择容器和页面。拖动过程只在松开时生成一条撤销记录。
拖动左右分隔条可调整侧栏宽度,分隔条获得焦点后也可使用方向键。没有选择控件时,属性栏编辑面板名称和画布尺寸。底部显示选择数量、吸附开关和缩放比例。开启吸附后显示对齐参考线;缩放支持 50%、75%、100%、125%、150%、200%,也可使用 Ctrl+滚轮。侧栏宽度只保存在本机,缩放不改变控件坐标。
运行面板以画布原始尺寸显示,不提供缩放;画布超出窗口时可滚动查看。
画布右边、下边和右下角的手柄可调整画布尺寸;开启吸附时步长为 8,最小尺寸为 160,不能小于已有控件范围。松开鼠标生成一条撤销记录,Esc 取消当前拖动。
容器移动时子控件随之移动。锁定控件或容器后,位置和属性不可改;解锁后继续编辑。标签页支持新增、重命名、删除和设置默认页面。删除有锁定控件的页面前需要先解锁。
撤销/重做支持工具栏或 Ctrl+Z、Ctrl+Y,复制使用 Ctrl+D,删除使用 Delete。编辑器按初始值显示控件;点击“预览”可在本地试用,退出时清空试用值,不修改实际变量、不发送总线数据或执行文件和测量操作。点击“保存”将编辑结果写入工程,再保存工程文件。关闭停靠窗口、删除面板或关闭工程时,未保存的面板修改会弹出保存确认,可选择保存、不保存或取消。
绑定和写值
“数据”页可以搜索并筛选信号和变量。双击或按 Enter 添加绑定好的数值显示;拖到画布空白处在落点添加,拖到兼容控件上则重新绑定。文本、图像和 HTML 控件不接受绑定;不兼容的来源在 Write 窗口显示错误。
选中控件,点击“绑定”,从工程 DBC、LDF、用户变量和系统变量中选择兼容来源。首次绑定变量时带入范围、单位和枚举。数值显示可显示枚举名称;下拉框和单选组使用枚举选项。缺失来源以虚线边框标记。
编辑器中已绑定控件的右上角显示 V(变量)或 S(信号),悬停可查看绑定全名;缺失绑定显示红色标记。
测量运行时可写控件才能修改数据。信号写入更新该报文的仿真数据,并在相应节点仿真激活时更新总线;该操作遵循当前工程的节点、报文和调度设置。系统变量始终只读。
数值输入支持十进制、十六进制、二进制、物理值/原始值及报警颜色。Hex/Text 编辑器按文本或字节编辑字符串和数组。LED 支持六种形状、开启/关闭值及颜色;进度条支持方向、起点、百分比、数值位置和上下限;仪表盘使用配置的范围和单位。
按钮和文件
按钮支持按下/释放写值、切换、启动测量、停止测量、打开工程内的另一个面板和打开文件。打开文件支持文件夹、PDF、文本、CSV 及常见图片。路径选择控件将文件、文件夹或保存路径写入绑定字符串。
图像控件选择本机图片后将内容嵌入工程。
HTML 控件
从组件库添加 HTML,在属性栏的 HTML 和 Script 多行框编辑内容,两者随工程保存。HTML 填页面片段和内联样式,Script 填 JavaScript,不需要包裹 script 标签。编辑模式不执行 Script;预览可读取数据,但不能写入变量或信号。
页面在隔离的 iframe 中运行,不能读取主窗口 DOM 或使用 Node.js,也不能访问网络或加载外部脚本。需要通信时使用异步 panel API;写入只在测量运行且控件非只读时有效:
<button id="raise">50%</button><span id="level"></span>(async () => {
const display = value => document.querySelector('#level').textContent = value;
display(await panel.getVar('Lamp.Level'));
const unsubscribe = await panel.onVar('Lamp.Level', display);
document.querySelector('#raise').onclick = async () => {
try { await panel.setVar('Lamp.Level', 50); }
catch (error) { display(error.message); }
};
window.addEventListener('unload', unsubscribe);
})();panel.getSignal(name) 返回 { name, value, rawValue, physicalValue };panel.setSignal(name, value) 接受有限的原始数值或物理值/枚举名称字符串,遵循面板的仿真发送规则。还提供 panel.onSignal(name, callback) 和 panel.isRunning();订阅接口需 await,返回取消函数,控件卸载也会自动清理订阅。
信号使用“PC 端脚本”章节的命名规则;变量优先匹配全名,也支持唯一的叶子名。.blproj 导入包含用户变量定义。面板绑定的信号和外部 PC 脚本仍需在当前工程中配置。HTML 的颜色由其内联样式决定,不自动改写页面的主题。
