功能能力详解#
本章详细说明 VI Generator 当前版本支持的全部功能能力。
编程能手:代码生成能力#
🔷 基础程序构建#
当前版本已经支持较为完整的基础程序构建能力:
| 能力类别 | 支持情况 | 详细说明 |
|---|---|---|
| 数值运算 | ✅ 完整支持 | 加减乘除、幂运算、取模等 |
| 数组处理 | ✅ 完整支持 | 初始化、索引、替换、搜索、排序 |
| 簇的操作 | ✅ 完整支持 | 创建、解绑、替换元素 |
| 常用数学运算 | ✅ 完整支持 | 指数、对数、三角函数、复数运算 |
| 字符串操作 | ✅ 完整支持 | 拼接、解析、格式化、转换 |
| 循环结构 | ✅ 完整支持 | For 循环、While 循环 |
| 条件结构 | ✅ 完整支持 | Case 结构、选择函数 |
| 枚举与自定义控件 | ✅ 完整支持 | 创建和使用自定义类型 |
🔷 程序框架生成#
已支持的框架类型#
| 框架类型 | 支持程度 | 适用场景 |
|---|---|---|
| 简单顺序结构 | ⭐⭐⭐⭐⭐ | 基本流程控制 |
| For/While 循环 | ⭐⭐⭐⭐⭐ | 迭代计算、数据采集 |
| Case 条件结构 | ⭐⭐⭐⭐⭐ | 多分支逻辑判断 |
| 状态机框架(标准) | ⭐⭐⭐⭐ | 顺序状态流转 |
| 事件超时状态机 | ⭐⭐⭐⭐ | 工业界面交互 |
| 事件结构 | ⭐⭐⭐⭐ | UI 交互响应 |
| 主循环 + 结构控制框架 | ⭐⭐⭐⭐ | 中小型工程 |
💡 对于常规算法验证、小型工程结构以及教学实验场景,已经具备较好的生成效果
🔷 子 VI 与模块化编程#
✅ 子 VI 的生成
✅ 主 VI 调用子 VI
✅ 多文件工程组织
示例 Prompt:
生成一个数据处理的子VI,功能是计算数组的平均值和标准差,然后在主VI中调用这个子VI,并显示结果
🔷 控件属性设置#
支持对控件属性进行精细调整:
| 属性类别 | 示例 |
|---|---|
| 大小和位置 | 设置控件尺寸、坐标位置 |
| 颜色样式 | 背景色、前景色、边框颜色 |
| 可见性 | 控制控件的显示/隐藏 |
| 启用/禁用 | 动态启用或禁用控件 |
| 字体设置 | 字体、大小、粗体、斜体 |
🔷 图形显示功能#
支持多种专业图形控件:
| 控件类型 | 应用场景 |
|---|---|
| 波形图 (Waveform Graph) | 时域信号显示 |
| 波形图表 (Waveform Chart) | 实时数据滚动显示 |
| XY 图 (XY Graph) | 函数曲线、李萨如图等 |
| 强度图 (Intensity Graph) | 二维数据显示 |
| 数字波形图 | 数字信号显示 |
| 混合信号图 | 多种信号叠加显示 |
🔥 工程级能力(2.5+ 版本新增)#
🔷 DAQ 数据采集 ⭐#
VI Generator 已开始支持 DAQ 相关代码生成!
支持的功能:#
✅ DAQmx 通道创建与配置
✅ Timing 配置(采样率、采样数)
✅ 循环读取数据
✅ 波形实时显示
✅ 错误处理连接
✅ 停止按钮集成
示例 Prompt:#
帮我用状态机做个有工业质感的DAQmx采集的界面,需要有控件可以配置通道、最大值最小值、接线方式、采样率采样数。我能随时开始、停止数据采集。界面要用深蓝色的,控件上的文字与界面要有区分度。
这让 AI 不再只是生成演示程序,而是开始具备生成真实测控应用骨架的能力。
🔷 TCP / UDP 通信 ⭐#
工业现场的设备接入离不开网络通信。最新版本的通信能力得到全面增强:
TCP 通信#
✅ 自动完成连接建立
✅ 发送/接收逻辑
✅ 断开连接与资源释放
✅ 错误处理机制
✅ 超时处理
UDP 通信#
✅ Receiver 监听指定端口
✅ 接收字符串并显示
✅ Sender 发送数据
✅ 广播模式支持
示例 Prompt:#
# TCP 示例
生成一个TCP Client范例,连接到服务器192.168.1.100:8080,发送"Hello"消息并等待回复
# UDP 示例
生成一个UDP Receiver,监听5000端口,接收字符串并显示到前面板
🔷 事件超时状态机 ⭐#
真实的工业软件既要响应用户点击,又要周期性执行后台任务(如超时周期读取)。
典型应用场景:#
点击 Start 后开始采集
点击 Stop 后停止程序
Timeout 分支中周期读取数据
根据状态切换执行 Init、Idle、Acquire、Save、Stop 等流程
这类程序非常适合使用事件超时状态机。
本次更新中已支持:#
✅ While Loop + Event Structure
✅ Timeout 分支配置
✅ 状态枚举自动创建
✅ 移位寄存器进行状态保持
✅ 基于事件触发的条件跳转逻辑
AI 不只是会生成某个节点,而是开始理解 LabVIEW 工程程序的运行架构。
🔷 队列操作 ⭐#
队列是 LabVIEW 多循环架构中的重要基础能力:
支持的基础队列操作:#
✅ Obtain Queue - 获取队列引用
✅ Enqueue Element - 入队操作
✅ Dequeue Element - 出队操作
✅ Release Queue - 释放队列
应用场景:#
生产者 / 消费者模式
UI 与后台任务解耦
采集与保存解耦
多模块消息传递
为后续生成更复杂的多循环、多任务、多模块 LabVIEW 工程打下了基础。
🔷 公式节点生成 ⭐#
在处理复杂数学计算、物理模型和信号处理时,公式节点可以让框图更简洁。
支持的能力:#
✅ 自然语言描述算法逻辑
✅ 自动生成对应的 Formula Node
✅ 配置好输入输出变量
✅ Python/C 代码逻辑无缝迁移到 LabVIEW
示例:#
描述需求:倒立摆的控制算法 → VI Generator 会自动生成公式节点并配置变量
🔷 串口通信(Serial/VISA)#
完整支持串口通信的全套逻辑:
| 步骤 | 支持情况 |
|---|---|
| VISA 初始化 | ✅ 自动配置资源名、波特率 |
| 参数配置 | ✅ 校验位、数据位、停止位 |
| 读写循环 | ✅ VISA Read / Write |
| 数据解析 | ✅ 字符串/二进制数据处理 |
| 资源关闭 | ✅ VISA Close + 错误处理 |
示例 Prompt:#
生成一个串口通信程序:
- COM3口,波特率9600,8N1
- 每100ms读取一次数据
- 将接收到的数据显示在前面板
- 添加停止按钮
📚 知识驱动能力#
🔷 文档理解与代码生成 ⭐#
✅ 读取 API 文档 / 通信协议 / 设备手册(.md / .txt)
✅ AI 自动理解参数定义
✅ 自动生成对应 LabVIEW 程序
✅ 基于 LabVIEW 范例自动生成新程序
🔷 VI 解析与重构 ⭐#
✅ 解析已有 VI(结构 / 数据流 / 输入输出)
✅ 对已有 VI 进行理解、修改与重构
✅ 支持 VI 转译为 Python / C# 等文本语言
🎨 界面大师:UI 优化能力#
支持的界面优化功能:#
| 功能类别 | 详细内容 |
|---|---|
| 界面翻译 | 中文 ↔ 英文互译,保持布局不变 |
| 布局结构优化 | 控件重新排列、分组、对齐 |
| 控件样式优化 | 颜色、字体、大小、风格调整 |
| 图形控件外观优化 | 波形图、XY图属性配置 |
| 添加标题与说明文字 | 自由文本、装饰元素 |
| 区域划分与分组 | Tab控件、分隔线、装饰框 |
| 动态界面优化 | 基于状态的动态变化 |
🚫 当前不支持的功能(重要说明)#
以下功能当前版本尚不支持,但可通过定制实现:
| 功能 | 状态 | 说明 |
|---|---|---|
| 事件结构 | ⚠️ 部分支持 | 基础事件已支持,复杂组合需进一步优化 |
| 操作者框架 | ❌ 不支持 | 复杂度较高,后续版本考虑 |
| 生产者/消费者完整框架 | ⚠️ 基础支持 | 单队列已支持,完整框架待完善 |
| 更高级的工程模板 | ⚠️ 定制开发 | 可联系技术团队定制 |
| XControl | ❌ 不支持 | 复杂度极高 |
| LVOOP(面向对象) | ❌ 不支持 | 后续路线图中 |
⚠️ 重要提示:VI Generator 目前生成的代码仅用于参考和学习,请勿直接用于正式项目或其他商业用途。
版本路线图#
近期优化方向(3.x 系列)#
[ ] 视觉工具包(AI Vision Toolkit)适配
[ ] 工业视觉检测领域自动化
[ ] 更复杂的事件结构组合
[ ] 生产者/消费者完整框架
[ ] 更多工程模板库
中长期规划#
[ ] 操作者框架支持
[ ] LVOOP 面向对象编程
[ ] 更深度的 DAQmx 集成
[ ] 实时系统(RT)目标支持
[ ] FPGA 代码生成探索
下一步:常见问题解答#
使用过程中遇到问题?查看:
→ FAQ