自由工作区
自由工作区
概述

自由工作区用于把多个可视化控件放在同一个可拖拽布局中,适合做项目专用的调试面板。你可以把数值、滑块、按钮、开关、选择框、曲线和图像卡片组合在一起,把“看数据”和“发控制命令”放到同一个工作台。
工作区控件大体分为两类:
控件如何绑定数据

显示类控件通常通过“通道组”和“通道编号”绑定数据。通道组对应协议解析出来的一组数据来源,通道编号对应这组数据里的第几个值。
例如下位机持续发送三路数据:
{motor}1200,24.5,0.8
如果协议把 motor 作为一个窗口或通道组,那么:
1 可绑定转速 1200。2 可绑定电压 24.5。3 可绑定电流 0.8。文本控件支持在文本内容中使用 %1、%2 等占位符展示多个编号。例如配置编号序列为 1,2,3,文本写成:
转速:%1 rpm
电压:%2 V
电流:%3 A
控件刷新时会把 %1、%2、%3 替换为当前通道值。
控件发送数据格式
控制类控件可以按两种方式发送数据:协议发送和绑定命令面板。
协议发送模式下,控件按自身配置生成一包数据:
Unify 工作区控制包的数据段为 5 字节:
byte0: 指令 ID
byte1..byte4: 控件值,小端序
整数控件会构造 WORKSPACE_INT32_TO_DEVICE 数据包,浮点控件会构造 WORKSPACE_FLOAT_TO_DEVICE 数据包。帧头包含数据类型、窗口 ID、序号、数据长度、数据校验和帧头校验。
TEXT 协议模式更适合人眼可读控制命令,例如:
{workspace}set_pwm:300
Unify 模式更适合下位机按二进制协议稳定解析,尤其是控件较多、需要指令 ID 区分来源时。
绑定命令面板命令

绑定命令面板时,工作区控件本身不直接构造协议包,而是等同于点击命令面板中的某条命令或某个命令组。配置窗口里可以从下拉框选择:
如果绑定的是分组,触发控件时会按命令面板的组内顺序发送。绑定目标失效时,控件会显示绑定异常提示,需要重新选择命令或命令组。
命令内容可以使用占位符读取控件当前值:
set_pwm:%d
set_voltage:%.2f
AA 55 %ID %LE CC
AA 55 %ID %BE CC
TEXT 模式下 %ID 表示指令名称;HEX 模式下 %ID 表示指令 ID。%LE 和 %BE 用于把控件当前值按小端或大端写入 HEX 命令。
推荐工作流
注意事项
> 本文为 AI 辅助生成内容