Skip to content

Latest commit

 

History

History
170 lines (110 loc) · 6.02 KB

File metadata and controls

170 lines (110 loc) · 6.02 KB

CSM-FileSyncWindow — CSM 模块接口文档


功能简述

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 必须

API 接口(消息接口)

以下是外部调用者可以发送给本模块的消息。

API: Link to Sync Engine

将 FileSyncWindow 链接到指定的 FileSync 引擎,建立状态订阅关系。

  • 参数APIString:FileSync 模块名称
  • 响应:N/A

API: Update List

更新界面中的待上传文件列表显示。

  • 参数APIString:待上传文件列表
  • 响应:N/A

API: Update Connected Status

更新界面中的服务器连接状态显示。

  • 参数APIString:状态描述字符串
  • 响应:N/A

API: Update Statusbar

更新界面底部状态栏信息。

  • 参数APIString:状态栏文本
  • 响应:N/A

UI: Front Panel State

控制本模块前面板的显示状态。

  • 参数APIStringEnumOpenCloseMinimize
  • 响应:N/A

UI: Cursor Set

设置前面板光标样式。

  • 参数APIStringEnum:光标类型名称(如 BusyDefault
  • 响应: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 类型的内部实现。


配置说明

External API VI 配置

可以通过 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 EngineLink UI.vi 建立与 FileSync 引擎的连接。
  • 建立连接后会自动订阅 FileSync 的 Status ChangeUploading List Change 状态。
  • 本模块为可选的 UI 展示模块,FileSync 可以在没有本模块的情况下独立运行。

使用示例

CSM-FileSyncWindowCSM-FileSync 替换为启动模块 VI 时实际使用的名称。

基本生命周期

// 启动 FileSync 引擎
API: Start -> CSM-FileSync

// 启动 FileSyncWindow 并链接到 FileSync
API: Link to Sync Engine >> CSM-FileSync -> CSM-FileSyncWindow

使用 Link UI.vi 建立连接

使用 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 EngineLink UI.vi 后会自动订阅 FileSync 的状态广播
  • 实时显示文件同步进度、待上传文件列表和服务器连接状态
  • 另见 CSM-FileSync.md 了解 FileSync 引擎模块的详细信息