面板
自由布局面板
从面板菜单创建面板,将控件拖到画布上,并在属性编辑器中配置绑定。使用组、标签页、对齐、调整大小和撤销/重做来排列界面。编辑器预览会检查布局;在运行时视图中启动测量以与变量和信号交互。
将布局保存为 .ecpanel 文件。 .ecb 项目会保留其文件引用,因此请共享这两个文件。导入现有的 .ecpanel 以复用布局;移动文件后重新链接丢失的文件。重新链接使用所选文件中存储的名称。当每个项都受支持时,旧版嵌入式面板会自动转换;否则编辑器会显示迁移报告,并将转换后的控件保存为新的 .ecpanel 副本。
打开 resources/examples/panel_showcase/PanelShowcase.ecb 查看使用两个模拟 CAN 通道的演示。将滑块、数字和进度控件绑定到同一个用户变量,以查看它们同步更新。信号写入会更新数据库值;启动相应的周期性报文以将其发送到总线上。
HTML 控件
打开 resources/examples/panel_html/HtmlControl.ecb 查看独立的 HTML 示例。 HTML 字段接受标记、样式和内联脚本;Script 字段在该标记之后运行。两者都可以访问异步 panel API:
const level = await panel.getVar('HtmlLevel')
await panel.setVar('HtmlLevel', level + 1)
await panel.setSignal('HtmlDemo.Target', '45')
const unsubscribe = await panel.onVar('HtmlLevel', value => console.log(value))
// 当不再需要该订阅时,调用 unsubscribe()。将异步代码放入脚本字段时,请将其包装在 async 函数中。 setSignal 接受有限数字(原始值)或字符串(物理值或枚举标签)。写入需要正在运行的测量。信号写入在失败时会被拒绝。 HTML 框架无法直接访问 Node.js、本地文件或网络连接。
面板 Open file 按钮支持文件夹以及 PDF、TXT、Markdown、CSV、PNG、JPEG、GIF、BMP 和 WebP 文件。可执行文件、快捷方式、脚本和其他文件类型在打开前会被拒绝。
getSignal() 返回当前测量中最新解码的发送或接收帧样本,与 HTML 订阅无关。没有样本时,它会回退到项目数据库值,该值可能未设置。 setSignal() 更新发送数据库;成功并不确认发送或 ECU 处理。因此,写入后立即读取并不能保证获得新写入的值。信号记录随测量一起开始,因此第一次读取或新打开的窗口可以检索到更早的单次样本。
记住值
写入用户变量的控件默认启用 Remember value。当测量停止时,变量的最后一个值会被写回项目;保存项目以将其保留在 .ecb 中,下一次测量将从该值开始。将其关闭可让每次测量都从控件的 Initial value 开始(默认值为 0,输入和路径控件则为空文本)。如果多个控件写入同一变量,且其中任一控件将其关闭,则使用该控件的初始值。
仅存储由面板控件写入的用户变量;系统变量和 CAN/LIN 信号值不会被存储。 CLI 从 .ecb 中保存的值开始,不应用面板初始值。
面板功能
面板功能为快速构建各种演示或测试平台提供了卓越的灵活性:
- 为具有图形界面的用户创建转换工具
- 为生产线工人构建具有简单、基于点击界面的测试流水线
- 将组件连接到 DBC/LDF 文件信号,使 UI 更改能够触发相应的信号更改,请参阅 数据库
- 将组件绑定到用户定义或系统变量以显示或修改其值,请参阅 变量
- 还有更多功能等待您发现!
