CSM-FileSyncWindow 是一个 CSM 模块,用于展示文件同步的实时状态。
本模块是 CSM-FileSync 的可选 UI 展示模块,通过订阅 CSM-FileSync 模块的状态广播,实时显示文件同步进度、待上传文件列表和服务器连接状态。
| 属性 | 值 |
|---|---|
| LabVIEW 版本 | ≥ 2020 |
| 支持的操作系统 | Windows / Linux |
| 支持 RT | ✅ 支持 |
| 支持 64-bit | ✅ 支持 |
| 所属模块组 | CSM-FileSync.lvlib |
| 依赖 | 类型 |
|---|---|
| Communicable-State-Machine | 必须 |
| CSM-FileSync | 必须 |
| NEVTOP-Programming-Palette | 必须 |
| MGI | 必须 |
以下是外部调用者可以发送给本模块的消息。
将 FileSyncWindow 链接到指定的 FileSync 引擎,建立状态订阅关系。
- 参数:
APIString:FileSync 模块名称 - 响应:N/A
更新界面中的待上传文件列表显示。
- 参数:
APIString:待上传文件列表 - 响应:N/A
更新界面中的服务器连接状态显示。
- 参数:
APIString:状态描述字符串 - 响应:N/A
更新界面底部状态栏信息。
- 参数:
APIString:状态栏文本 - 响应:N/A
控制本模块前面板的显示状态。
- 参数:
APIString—Enum:Open、Close或Minimize - 响应:N/A
设置前面板光标样式。
- 参数:
APIString—Enum:光标类型名称(如Busy、Default) - 响应:N/A
| 类型 | 说明 |
|---|---|
HexStr |
将 LabVIEW Variant 序列化为十六进制字符串,内置支持 |
SafeStr |
将特殊字符编码为 %[HEXCODE],内置支持 |
ErrStr |
将错误信息编码为字符串,内置支持 |
APIString |
支持嵌套键值对的纯文本字符串,需要 CSM API String Arguments Support 插件 |
MassData |
内存映射缓冲区,传递 Start:N,Size:M,需要 CSM MassData Parameter Support 插件 |
| 用户自定义 | 由模块自行解析的字符串,无需额外插件,但是要说明具体的解析规则和格式 |
注意:接口文档中对
String类型数据统一使用APIString标注(不直接写SafeStr),因为SafeStr正是APIString针对String类型的内部实现。
可以通过 CSM-FileSync.lvlib 中的 External API VI 进行配置:
| External API VI | 说明 |
|---|---|
Link UI.vi |
将 FileSyncWindow 链接到 FileSync 引擎,等同于调用 API: Link to Sync Engine |
Important
- 本模块必须与
CSM-FileSync模块配合使用。 - 需要通过
API: Link to Sync Engine或Link UI.vi建立与 FileSync 引擎的连接。 - 建立连接后会自动订阅 FileSync 的
Status Change和Uploading List Change状态。 - 本模块为可选的 UI 展示模块,FileSync 可以在没有本模块的情况下独立运行。
将
CSM-FileSyncWindow和CSM-FileSync替换为启动模块 VI 时实际使用的名称。
// 启动 FileSync 引擎
API: Start -> CSM-FileSync
// 启动 FileSyncWindow 并链接到 FileSync
API: Link to Sync Engine >> CSM-FileSync -> CSM-FileSyncWindow
使用 Link UI.vi 将 FileSyncWindow 链接到 FileSync:
// FileSync 已启动,使用 Link UI.vi 建立 UI 连接
// Link UI.vi 会自动建立状态订阅关系
如果需要手动建立状态订阅关系:
// 将 FileSync 的状态广播路由到 FileSyncWindow
Status Change@CSM-FileSync >> API: Update Connected Status@CSM-FileSyncWindow -><register>
Uploading List Change@CSM-FileSync >> API: Update List@CSM-FileSyncWindow -><register>
// 取消订阅
Status Change@CSM-FileSync >> API: Update Connected Status@CSM-FileSyncWindow -><unregister>
Uploading List Change@CSM-FileSync >> API: Update List@CSM-FileSyncWindow -><unregister>
- 本模块是可选的 UI 展示模块,CSM-FileSync 可以在没有本模块的情况下独立运行
- 通过 CSM 的状态订阅机制与 CSM-FileSync 建立松耦合连接
- 调用
API: Link to Sync Engine或Link UI.vi后会自动订阅 FileSync 的状态广播 - 实时显示文件同步进度、待上传文件列表和服务器连接状态
- 另见
CSM-FileSync.md了解 FileSync 引擎模块的详细信息