LabVIEW软件需求开发文档参考
在项目开发的工作历程中,精准把握项目需求无疑是成功打造整个项目的首要关键步骤,同时也是一个至关重要且不可忽视的核心环节。明确且详尽的项目需求就如同建筑的基石,为后续的设计、开发、测试等一系列工作提供了坚实的支撑和清晰的指引。倘若需求理解出现偏差或需求本身模糊不清,极有可能导致项目方向的偏离、资源的浪费,甚至最终项目无法达成预期目标。
在此,特意给出一份需求参考内容。这份参考资料凝聚了过往项目的经验和智慧,无论是对于开发者而言,能够依据其更好地规划开发方案、合理分配资源以及把控开发进度;还是对于用户来说,可以借助它更清晰地表达自身期望和实际需求,确保项目成果能够最大程度地契合自身业务需求和使用场景。故而,这份需求参考资料具备较高的参考价值,期望开发者和用户都能从中受益。

一、引言
本文详细阐述一款工业测控软件的需求,该软件基于 LabVIEW 开发,主要应用于某特定工业场景中的设备控制与数据采集,具备多种功能,如温度校准、数据记录与查询等。通过明确软件的通讯参数、功能特性、硬件实现方式以及控制流程等方面的需求,为软件的开发、测试和维护提供全面的指导。
二、通讯参数
| 仪表 | 硬件接口 | 协议 | 波特率 | 数据位 | 发送 |
|---|---|---|---|---|---|
| PLC | 232 | host link | 115200 | 7,2,E | |
| 标准温度采集 | 232 | 无协议 | 19200 | 8,1,O | 4D543F0A |
| 真空计 | 485 | Modbus RTU | 9600 | 8,N,1 | |
| Lake Shore | USB 串口 | LabVIEW | |||
| 量程选择开关 | |||||
| 数字万用表 |
三、软件功能
3.1 总体功能概述
本软件采用 LabVIEW 与其他仪表通讯,实现数据采集和设备控制功能。具备温度校准、数据记录与查询、故障报警及安全联锁保护等功能。支持用户设置多点或单点温度校准流程,可自动或半自动完成校准过程。提供友好的操作界面,方便用户进行系统维护。同时,软件配置远程以太网接口和 USB 接口,支持远程监测和控制。
3.2 具体功能模块
3.2.1 操作画面
操作画面包含真空操作、标准偶测温数据波形图、指标数据显示、校准温度点选择以及通讯状态显示等功能。用户可在画面中设定校准温度点,点击 “开始” 按钮,程序将自动按照设定温度进行校准。若校准过程中需要人工干预,可点击 “校准继续” 按钮继续下一个温度点的校准。
| 选择温度点 | 温度点名称 |
|---|---|
| 温度 1 | 77K |
| 温度 2 | 87K |
| … | … |
| 温度 6 | 323K |
3.2.2 标准偶测温
标准偶测量画面主要展示波形图和指标的详细数据,包括准度、均匀性和波动度。波形图参考标准偶采集仪表官方软件的样式绘制,纵坐标为温度,其最大值为采集温度加上 0.5,最小值为采集温度减去 0.5;横轴为时间,随着时间增加,横轴时间范围会扩大,最左侧的开始时间固定。曲线颜色设定为:C1 为红色,C2 为绿色,C3 为黄色,温度显示保留四位小数。
-
准度计算:T 准度是 C1、C2、C3 与设定目标值(Set_C)的差值的绝对值。软件界面将显示三个准度计算值和一个最大值。
-
\(T_{偏差\_C1}= C1 - Set_C\)
-
\(T_{偏差\_C2}= C2 - Set_C\)
-
\(T_{偏差\_C3}= C3 - Set_C\)
-
\(T_{准度\_C1}= Abs(C1 - Set_C)\)
-
\(T_{准度\_C2}= Abs(C2 - Set_C)\)
-
\(T_{准度\_C3}= Abs(C3 - Set_C)\)
-
\(T_{准度\_max}= Max(T_{准度\_C1}, T_{准度\_C2}, T_{准度\_C3})\)
-
-
均匀性计算:T 均匀性是每次采集 C1、C2、C3 三个值中最大值与最小值的差值,实时计算并显示在画面中。软件界面将显示一个均匀性值和一个 20 分钟内的最大值。
-
\(T_{均匀性}= Max(C1, C2, C3) - Min(C1, C2, C3)\)
-
\(T_{均匀性\_max}= Max(T_{均匀性}, 20min)\)
-
-
波动度计算:T 波动度是计算时间段内(20 分钟)的温度点(每分钟采四个点)最大值与最小值之间的差值。20 分钟后的波动度计算是以当前采集的温度点往前推算 20 分钟内的温度点进行计算,并实时显示计算数据。软件界面将显示三个波动度值和一个最大值。
-
\(T_{波动度\_C1}= C1_{Max} - C1_{Min}\)
-
\(T_{波动度\_C2}= C2_{Max} - C2_{Min}\)
-
\(T_{波动度\_C3}= C3_{Max} - C3_{Min}\)
-
\(T_{波动度\_max}= Max(T_{波动度\_C1}, T_{波动度\_C2}, T_{波动度\_C3})\)
-
3.2.3 数据记录查询
数据报表画面用于记录温度和真空度等相关实验数据,包括标准偶三个温度(C1、C2、C3)、LS 仪表的实时温度四个 PV 值和输出功率、PLC 采集的一个压力值以及两个真空度。数据记录周期默认 2 秒。用户可按照时间段和查询周期进行数据查询,查询结果可导出为 EXCEL 格式,并以当前的年月日时分秒命名保存在电脑硬盘中(例如:Data_20211226_183800)。查询周期是指在数据库提取数据的间隔时间。
3.2.4 温度曲线设置
待详细定义,需进一步与用户沟通明确具体需求。
3.2.5 校准点设置
用户可在软件中设定校准温度点,每个温度点绑定三个预先设定好的温度值。当执行到该温度点时,对应三个温度值可分别下载到仪表中;用户也可手动选择温度点并确定后下载到仪表中。同时,被检信息表用于将电阻测量的九个通道与编号绑定,编号作为测量电阻的唯一标识,记录在 EXCEL 表格中。
| 校准点 | Lake A | Lake B | 2704 |
|---|---|---|---|
| 77K | 77.2℃ | 77.4℃ | 77.5℃ |
| 87K | 87.3℃ | 87.1℃ | 87.4℃ |
| … | … | … | … |
| 电阻测量通道 | 编号 |
|---|---|
| CH1 | 1001 |
| CH2 | 1002 |
| CH3 | 1003 |
| … | … |
| CH9 | 1009 |
四、硬件实现
4.1 PLC
操作画面中的真空操作按钮和指示、模拟量数据显示采用 PLC 的 W 区,软件只需对应相关变量即可。数字量写入使用 W80 的 16 个位,数字量输出使用 W81 的 16 个位,模拟量写入使用 D80、D82、D84,模拟量采集使用 D90、D92、D94。
| 名称 | 写入地址 操作 | 读取地址 指示 |
|---|---|---|
| 机械泵 | W80.00 | W81.00 |
| 分子泵 | W80.01 | W81.01 |
| 前级阀 | W80.02 | W81.02 |
| 主抽阀 | W80.03 | W81.03 |
| 抽空阀 | W80.04 | W81.04 |
| 充气阀 | W80.05 | W81.05 |
| 放气阀 | W80.06 | W81.06 |
| 自动开 | W80.07 | W81.07 |
| 自动关 | W80.08 |
| 写入(备用) | 地址 | 数据类型 | 读取 | 地址 | 数据类型 |
|---|---|---|---|---|---|
| 1 | D80 | Real | 压力 | D90 | Real |
| 2 | D82 | Real | 1 备用 | D92 | Real |
| 3 | D84 | Real | 2 备用 | D94 | Real |
4.2 真空计
真空计通过 COM1 串口通讯,设备地址为 1、2(对应两个真空度数据),读取地址为 107,读取寄存器数量为 4。返回数据(如 12592、11061(DEC)即 3130、2B35 (HEX))在软件界面以 1.0E+5 的形式显示,两个真空度数据需存储到数据库中。
4.3 标准偶温度采集
标准偶温度采集采用 232 接口,无协议,COM4 端口,波特率 19200,数据位 8,1,O,发送码为 4D543F0A。返回数据需解析,三个颜色分别对应三个温度值,以实数形式显示,保留四个小数位,转换为开尔文温度(采集温度加上 273.15)后显示在界面并存储到数据库中。
4.4 Lake Shore
Lake Shore 设备可实现以下功能:
-
控制三路温度 ABC 加热。
-
设定 PID 参数。
-
设定温度和速率。
-
控制加热使能。
-
实时读取温度和功率。
4.5 开关
待详细定义,需进一步明确开关的具体功能和与软件的交互方式。
4.6 8558A
8558A 数字万用表配合开关的档位测试电阻值,需要获取测试命令、电阻数据返回值以及测量完成值。
五、控制流程
5.1 控制规则
-
设定温度动态调整:设定温度 20 分钟后,若指标的波动度和均匀性满足要求,但准度不满足,则将三个偏差值的平均值与三个当前设定的温度相加,再下置到控温表中作为动态调整温度。
-
校准温度点设置:用户可在软件界面手动输入六个校准温度点,软件将按照设定顺序执行校准过程。
-
指标计算与判断:标准偶温度采集的三个温度(C1、C2、C3)参与准确度、均匀性和波动度的计算。在 20 分钟内,准确度和均匀性每分钟采集四个温度点进行计算,波动度在 20 分钟结束后计算。合格指标可设定,默认准确度、均匀性和波动度均小于 10mK 为合格。
-
电阻测量:当温度指标满足条件后,软件控制量程转换开关选择不同量程(CH1 - CH9)测量电阻值。每个量程测量一次电阻,每次测量前先测量一次标准偶的三个值,并将所有数据记录到 EXCEL 表格中。CH1 - CH9 循环测量 4 次。
5.2 控制流程步骤
-
初始化:系统启动后进行初始化操作,确保各设备和参数处于正常状态。
-
设定校准温度点:用户手动输入校准温度点,如 77K、97K、137K、323K 等。当第一个温度点校准完成后,可手动或自动进入下一个温度点的校准。
-
指标计算与调整:根据标准偶采集的三个温度计算指标。若准度指标不合格,按照设定温度动态调整规则调整设定值。
-
电阻测量:当指标合格后,开始测量电阻。具体步骤如下:
-
软件控制量程转换到需要的量程,测量一次电阻(CH1),将电阻值记录到 EXCEL 表格(使用固定格式模板)。
-
选择下一个量程(CH1 - CH9),测量电阻值并记录,同时每次测量前先测量一次标准偶的三个值并记录到 EXCEL 表格。
-
重复上述步骤,CH1 - CH9 循环测量 4 次,所有数据记录到 EXCEL 表格。
-
六、非功能需求
6.1 性能需求
-
数据记录周期默认 2 秒,确保数据采集的及时性和准确性。
-
系统响应时间应满足用户操作的实时性要求,避免出现明显的延迟。
6.2 可靠性需求
-
具备完善的故障和报警检测功能,及时发现并处理系统故障。
-
提供安全联锁保护功能,确保设备和人员的安全。
6.3 易用性需求
-
操作界面友好,布局合理,方便用户进行各种操作和设置。
-
提供清晰的提示信息和帮助文档,使用户能够快速上手和解决问题。
6.4 可维护性需求
-
软件架构设计应具有良好的模块化和可扩展性,便于后续的功能升级和维护。
-
代码应具有良好的可读性和注释,方便开发人员进行代码维护和修改。
6.5 安全性需求
-
对数据进行加密存储和传输,确保数据的安全性和保密性。
-
提供用户权限管理功能,不同用户具有不同的操作权限,防止非法操作。
七、需求变更管理
在项目开发过程中,可能会出现需求变更的情况。为了确保项目的顺利进行,需要建立有效的需求变更管理机制。具体步骤如下:
-
需求变更提出:任何涉及需求变更的人员(如用户、开发人员等)应填写需求变更申请表,详细说明变更的内容、原因和影响。
-
需求变更评估:由项目团队对需求变更进行评估,包括变更的可行性、对项目进度和成本的影响等。
-
需求变更审批:根据评估结果,由项目负责人或相关决策人员对需求变更进行审批。
-
需求变更实施:若需求变更获得审批,项目团队应按照变更要求对软件进行修改和测试,并更新相关文档。
-
需求变更确认:变更实施完成后,由用户对变更结果进行确认,确保满足其需求。
八、附录
8.1 术语表
-
LabVIEW:一种图形化编程环境,广泛应用于工业自动化、测试测量等领域。
-
PID 参数:比例(P)、积分(I)、微分(D)参数,用于控制系统的稳定性和响应速度。
-
开尔文温度:热力学温度单位,与摄氏度的换算关系为:开尔文温度 = 摄氏度 + 273.15。
8.2 参考文档
-
标准偶采集仪表官方软件使用手册
-
PLC 设备说明书
-
真空计设备说明书
-
Lake Shore 设备说明书
-
8558A 数字万用表说明书
8.3 相关图表
-
真空流程图(待补充详细说明)
-
标准偶温度曲线示意图(待补充)
-
控制流程框图(待绘制)
-
EXCEL 表格记录模板(待提供)在操作画面中添加一个新的功能,用于显示系统的实时运行状态。提供一些具体的步骤,帮助用户完成数据记录与查询功能的配置。如何确保软件的安全性和稳定性?
相关文章:
LabVIEW软件需求开发文档参考
在项目开发的工作历程中,精准把握项目需求无疑是成功打造整个项目的首要关键步骤,同时也是一个至关重要且不可忽视的核心环节。明确且详尽的项目需求就如同建筑的基石,为后续的设计、开发、测试等一系列工作提供了坚实的支撑和清晰的指引。倘…...
MYSQL批量UPDATE的两种方式
工作中遇到批量更新的场景其实是比较常见的。 但是该如何正确的进行批量UPDATE,很多时候往往有点头大。 这里列2种可用的方式,供选择(请选择方式一,手动狗头。)。 如果使用了MyBatis增强组件MyBatisPlus 如果使用了MyBatisPlus,…...
【Viper】配置格式与支持的数据源与go案例
Viper 是一个用于 Go 应用程序的配置管理库,支持多种配置格式和数据源。 安装依赖 go get github.com/spf13/viper go get github.com/spf13/viper/remote go get go.etcd.io/etcd/client/v3"github.com/spf13/viper/remote"要写在etcd客户端import里 1…...
C++17 中的 std::reduce:详细教程
文章目录 1. 简介2. 函数签名3. 使用场景3.1 简单的累加操作3.2 自定义归并操作3.3 并行计算的性能优势 4. 注意事项4.1 归并操作的结合律和交换律4.2 默认值的使用 5. 总结 1. 简介 std::reduce 是 C17 标准库中引入的一个算法,用于对范围内的元素进行归并操作。它…...
解决 paddle ocr 遇到 CXXABI_1.3.13 not found 的问题
ImportError: /lib/x86_64-linux-gnu/libstdc.so.6: version CXXABI_1.3.13 not found (required by /home/hum/anaconda3/envs/ipc/lib/python3.11/site-packages/paddle/base/libpaddle.so) 通过命令检查 strings /lib/x86_64-linux-gnu/libstdc.so.6|grep CXXABI 而实际上我…...
探索 Text-to-SQL 技术:从自然语言到数据库查询的桥梁
亲爱的小伙伴们😘,在求知的漫漫旅途中,若你对深度学习的奥秘、Java 与 Python 的奇妙世界,亦或是读研论文的撰写攻略有所探寻🧐,那不妨给我一个小小的关注吧🥰。我会精心筹备,在未来…...
mac搭建环境
从0-1搭建mac环境 先查看自己的芯片信息 bash uname -mbash-3.2$ uname -m arm64这里是自己的型号安装brew xcode-select --install xcode-select -p /bin/zsh -c “$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)” source /Users/lanren/.…...
算法学习笔记之贪心算法
导引(硕鼠的交易) 硕鼠准备了M磅猫粮与看守仓库的猫交易奶酪。 仓库有N个房间,第i个房间有 J[i] 磅奶酪并需要 F[i] 磅猫粮交换,硕鼠可以按比例来交换,不必交换所有的奶酪 计算硕鼠最多能得到多少磅奶酪。 输入M和…...
Docker 镜像标签使用
写在前面 当使用命令 docker pull mysql 拉取镜像时,其实等价于如下命令 docker pull mysql:latest latest 是默认的标签,字面上理解为最新版本的镜像,实质上 latest 只是镜像的标签名称,跟具体某个版本号地位一样,…...
STM32之SG90舵机控制
目录 前言: 一、硬件准备与接线 1.1 硬件清单 1.2 接线 二、 SG90舵机简介 1.1 外观 1.2 基本参数 1.3 引脚说明 1.4 控制原理 1.5 特点 1.6 常见问题 三、 单片机简介 四、 程序设计 4.1 定时器配置 4.2 角度控制函数 4.3 主函数调用 五、 总结 …...
VSCode Error Lens插件介绍(代码静态检查与提示工具)(vscode插件)
文章目录 VSCode Error Lens 插件介绍**功能概述****开发背景****使用方法****适用场景** VSCode Error Lens 插件介绍 功能概述 Error Lens 是一款增强 VS Code 错误提示的扩展工具,通过 内联显示错误和警告信息,直接定位代码问题,提升开发…...
list_for_each_entry_safe 简介
list_for_each_entry_safe 是 Linux 内核中用于遍历链表的一个宏,特别适用于在遍历过程中可能需要删除链表节点的场景。它的设计保证了在删除当前节点时,不会影响后续节点的访问,从而实现安全的遍历。 定义 #define list_for_each_entry_sa…...
微软AutoGen高级功能——Memory
介绍 大家好,博主又来给大家分享知识了。这次又要给大家分享什么呢?哈哈。这次要给大家分享的是微软AutoGen框架的高级且重要的功能:Memory。在微软AutoGen中,Memory(记忆)是一个重要概念,它主要用于存储和管理智能体…...
【鸿蒙开发】第三十六章 状态管理 - V1V2混用和迁移指导
目录 1 自定义组件混用场景指导 1.1 概述 1.2 状态管理装饰器总览 状态管理V1的装饰器 状态管理V2的装饰器 状态管理装饰器支持的数据类型总览 1.3 限制条件 1.3.1 V1和V2的装饰器不允许混用 1.V1的自定义组件中不可以使用V2的装饰器 2.V2的自定义组件…...
轮子项目--消息队列的实现(3)
上一篇文章中我把一些关键的类以及表示出来,如何对这些类对应的对象进行管理呢?管理分为硬盘和内存上,硬盘又分为数据库(管理交换机,队列和绑定)和文件(管理消息),本文就…...
一文深入了解DeepSeek-R1:模型架构
本文深入探讨了 DeepSeek-R1 模型架构。让我们从输入到输出追踪 DeepSeek-R1 模型,以找到架构中的新发展和关键部分。DeepSeek-R1 基于 DeepSeek-V3-Base 模型架构。本文旨在涵盖其设计的所有重要方面。 📝 1. 输入上下文长度 DeepSeek-R1的输入上下文长…...
秘密信息嵌入到RGB通道的方式:分段嵌or完整嵌入各通道
目录 1. 将秘密信息分为三部分的理由 (1)均匀分布负载 (2)提高鲁棒性 (3)容量分配 2. 不将秘密信息分为三部分的情况 (1)嵌入容量 (2)视觉质量 &#…...
Ai人工智能的未来:趋势、挑战与机遇
Ai人工智能的未来:趋势、挑战与机遇 引言 人工智能(AI)已经成为当代科技发展的核心驱动力,其影响力渗透到各个行业,并塑造了我们未来的社会结构。无论是在医疗、金融、制造业,还是在自动驾驶、智能客服、…...
理解WebGPU 中的 GPUDevice :与 GPU 交互的核心接口
在 WebGPU 开发中, GPUDevice 是一个至关重要的对象,它是与 GPU 进行交互的核心接口。通过 GPUDevice ,开发者可以创建和管理 GPU 资源(如缓冲区、纹理、管线等),并提交命令缓冲区以执行渲染和计算任…...
Java 设计模式之桥接模式
文章目录 Java 设计模式之桥接模式概述UML代码实现 Java 设计模式之桥接模式 概述 桥接模式(Bridge):将抽象部分与它的实现部分分离,使它们都可以独立地变化。通过桥接模式,可以避免类爆炸问题,并提高系统的可扩展性。 UML 核心…...
Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...
什么是VR全景技术
VR全景技术,全称为虚拟现实全景技术,是通过计算机图像模拟生成三维空间中的虚拟世界,使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验,结合图文、3D、音视频等多媒体元素…...
【SpringBoot自动化部署】
SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...
stm32wle5 lpuart DMA数据不接收
配置波特率9600时,需要使用外部低速晶振...
