1、2023 年第 7 期36计算机应用信息技术与信息化基于 LABVIEW 的多设备控制系统设计罗 萍1 谌佳庆1LUO Ping CHEN Jiaqing 摘要 针对多设备手动设置复杂、多路数据显示不直观、数据不易存储的问题,设计了一套基于 LabVIEW 的上位机控制系统程序。通过 RS232 串口协议和调用 DLL 与风速仪、功率计、示波器建立通信连接,实现对上述设备的参数设置与控制,并读取数据进行存储。经过测试,上位机运行期间,LABVIEW 运行未出现崩溃等情况,程序设置简单,数据显示直观,数据存储稳定可靠,提高了测试的效率。关键词 LABVIEW;控制系统;RS232;DLLdoi:
2、10.3969/j.issn.1672-9528.2023.07.0090 引言随着虚拟仪器技术的发展,虚拟仪器在各个领域的应用越来越广泛。虚拟仪器利用高性能的模块化硬件,结合高效灵活的软件完成各种测试、测量和自动化应用,是现代计算机技术和测量技术相结合产物,在许多方面冲破了传统仪器的概念1。在光伏测试领域中,对光伏产品进行测试往往需要多种测量仪器2,系统集成控制测试系统孕育而生,目前大型光伏精密仪器集成了各项设备的功能,能够满足产品测试的各项要求,但是成本极高、重量大、移动性不强。人工测量使用的设备多,测量的数据多,设置比较复杂且容易设置出错,检查起来比较费力,效率不高且不易存储。针对上述问
3、题,设计一套基于 LABVIEW 软件开发平台的多设备控制系统。LABVIEW 基于图形化的编程语言,利用 LABVIEW 集成的仪器硬件库和编程接口对仪器进行通信连接与控制。数字风速仪、示波器、功率计是光伏电站检测中常用测试仪器3,根据不同的设备采取不同的通信方式,对风速仪和功率计采用 RS232 标准接口4与 PC 机进行通信,安捷伦示波器采用调用仪器提供的 DLL 与 PC 机进行通信。完成对风速仪的参数设置与读取,读取示波器设备参数,对波形进行显示与分析,读取功率计设备参数,设置功率平均时间参数等功能,并读取回传设置的功率参数。将三种仪器的功能集成到一个控制面板上,实现对多设备的集中控
4、制与显示。1 系统硬件组成数字风速仪、示波器、功率计集成的系统由计算机、示波器、数字风速仪、功率计和测试点组成,计算机通过 HL-340 线与数字风速仪建立连接,通过通用网线与示波器的 LAN 接口进行连接,通过 USB-圆头 8 针线与功率计进行连接。计算机通过指令同时控制三台设备,数字风速仪、功率计和示波器为测量仪器对测试点进行测量。系统硬件连接如图 1 所示。图 1 系统硬件连接图2 系统控制程序设计实现计算机对数字风速仪、功率计、示波器的控制等功能,首先建立计算机与数字风速仪、功率计、示波器之间的通信,然后通过 LABVIEW 上位机程序写入控制指令到相应的设备中,设备根据写入内存的指
5、令执行相应的动作。在写入操作之后计算机将读取此时各设备的参数和波形情况,并进行显示。可以随时对当前的数据进行表格写入进行存储。数字风速仪、功率计、示波器实现功能采用的方式不同,数字风速仪和功率计是利用 LABVIEW 软件的 visa 函数实现通信和控制与查询功能。示波器采用是德科技公司自主研发的仪器驱动AgInfi niiVision IVI驱动,驱动内函数能够实现通信、波形分析等功能。2.1 前面板的设计前面板设计主要针对设备的连接与控制,展示各设备部分功能,该前面板的设计包括数字风速仪、示波器、功率计三部分,可以分为开关区、通信连接区和数据显示区,开关区包括数字风速仪、功率计、示波器三种
6、设备的退出运行程1.重庆邮电大学 重庆 404100 2023 年第 7 期37计算机应用信息技术与信息化序开关。通信连接区主要是数字风速仪、功率计、示波器建立通信连接所需要设置的参数,此外显示示波器型号信息、测试功能和测试值也包括在内,也包括部分功率计采集的显示数据。数据显示区是数字风速仪写入功能和读取的功能数据显示和示波器波形和功率计监测图。在程序运行前设置数字风速仪的串口名、波特率、数据位、停止位,设置功率计端口号和波特率,设置安捷伦示波器通道和资源名等参数,根据数字风速仪通用通信协议可知串口波特率为19200 bps、无校验码、8位数据位、1个停止位。功率计串口波特率为 9600 bp
7、s。两个设备端口名根据硬件连接端口而定。多设备控制系统的前面板如图 2 所示。图 2 多设备控制系统前面板2.2 程序框图的设计2.2.1 数字风速仪程序框图设计GM8904 数字式风速仪采用串行通信 RS232 标准接口协议进行通信。串口通信采用 LABVIEW 的 VISA 资源函数5,接口采用 CH340 进行驱动。具体步骤如下。利用 LABVIEW 软件中的 Instrument I/O 的 Serial 类中Confi gure Port 函数将 VISA 资源名指定的串口初始化为指定的设置,配置波特率、数据位、奇偶校验位、超时时间等参数。通过 Instr 类节点设置终止符,保证每一
8、次写入和读取为有效字符段。利用 VISA Set I/O Buffer Size Function 函数设置 I/O口缓冲区和接收缓冲区的大小。在 While 循环内通过 VISA Read Function 函数和 VISA Read Function 函数进行连续读写操作。程序结束时通过 VISA Close Function 函数释放缓冲区。数字风速仪程序框图如图 3 所示。While 循环里采用顺序结构进行读写操作,程序先执行写操作,然后进行读操作,写入的指令由长度、命令、信息域,校验码组成,通过连接成字符串的方式将多个字节串联起来送入到 VISA Read Function 函数的
9、write buffer 中。每一次写入参数的修改将会改变指令字符串由此控制数字风速仪的各项参数。写入操作中的子 vi 的作用是将各项参数进行数值转换,使用字符串连接函数、数值字符处理函数等方式形成标准的 16 进制的数字风速仪控制指令。图 4 为写入操作中的16 进制写入子 vi 的部分程序框图。图 4 16 进制写入子 vi 的部分程序框图读取指令是由数字风速仪发送到上位机,发送的格式为8 个字节数据帧格式。读取操作中的子 vi 是将 16 进制字符串编程单个参数的数值形式。通过条件结构将各一个字节选出来转换成字符形式,经过 for 循环将 8 字节串联起来,通过索引将需要的参数选取出来。
10、图 5 为读取操作中的 16 进制读取子 vi 的程序框图。图 5 16 进制读取子 vi 程序框图2.2.2 示波器程序框图设计是德科技公司研发的 AgInfi niiVision IVI 仪器驱动函数库支持 National Instruments LabView,采用 AgInfi niiVision IVI仪器驱动函数库对示波器进行开发,具体步骤如下。(1)驱动函数库中的 Initialize With Options.vi 根据输入完整的 IP 地址访问指令“USB0:0 x0957:0 x1796:MY50513653:0:INSTR”与示波器建立通信。(2)通过驱动函数库的Get
11、AttributeViString.vi 获取示波器参数信息,包括驱动程序版本、驱动程序供应商、驱动程序描述、设备型号、器件版本、序列号。(3)通过 Measurements Auto Setup.vi 自动配置所有基于输入信号的示波器所有设置。(4)初始化波形获取函数为 Measurements Initiate.vi,示波器脱离理想状态等待触发。(5)设置波形获取通道,获取示波器当前通道的波形,对应的仪器驱动函数库的Measurement Fetch Waveform.vi。(6)图 3 数字风速仪程序框图2023 年第 7 期38计算机应用信息技术与信息化设置分析波形的功能,分析波形的功
12、能包括上升时间、下降时间、频率、周期等功能。用到仪器库中的 Fetch Waveform Measurement.vi 函数。(7)判断程序是否出现错误,如果有错误则返回指定错误信息退出程序,没有错误则继续进行循环,对应驱动函数库中的 Error-Query.vi。(8)结束程序操作释放内存,关闭通信会话的函数为 Close.vi。在通过驱动函数库的GetAttribute-ViString.vi 获取示波器参数信息中采取 For 循环对示波器参数信息进行循环索引得到示波器参数信息表。步骤 5-7 是在 While 循环中执行的操作,Measurement Fetch Waveform.vi
13、设置通道,获取的波形大小为 2048 个点。测试功能根据 meaasurement function 将对应功能罗列在前面板上,程序框图对应输入的是相应的 Value 值。LABVIEW是基于数据流为基本思考过程的编程语言,在设置获取通道后,每一次获取的波形都是前一时刻获取的数据6。其部分程序框图如图 6 所示。图 6 示波器部分程序框图2.2.3 功率计程序框图设计Ophir公司提供了完整的User Commands结合LABVIEW的 VISA 资源函数实现控制功率计设备7。在建立通信时,通过字符串连接的方式将输入的端口号、ASRL、:INSTR三个字符串联作为 VISA Session,
14、将其输入到 VISA Open Function 函数中,经过 Instr 类节点设置波特率和溢出时间,将类节点的输出作为 duo Visa Session。所有的命令和响应都是 ASCII 字符串,所有命令的前缀都是“$”,后缀是,当进行 232 通信时8,命令的后缀还必须包含,响应的后缀也将包含。在获取功率计设备信息中,“II”“HI”分别为获取设备的信息和头文件信息。整个程序所有命令依靠 SendReceive.vi 子程序,用 VISA write 和 VISA read 函数实现。读写操作采对功率计设备进行配置采用的命令为“FP”“SI”,这两种命令分别为强制仪器进入当前配置的照度屏
15、幕和查询仪器当前测量模式并返回单个字符。在设置功率平均时间和获取功率参数使用的命令为“AQ”“SP”主循环是获取功率和设置功率,平均时间实现实时设置和获取的唯一方式,功率计主循环程序框图如图 7 所示。图 7 功率计主循环程序框图数据存储功能9将数字风速仪和示波器的数据输出保存在.txt 文本中,每次保存的文本文件名格式为“年/月/日/时/分.txt”,保存的风速仪数据为控制指令中的 4 个可调参数,示波器保存的数据位示波器的参数信息和测试功能参数的信息。其中,Write to Text File Function 是 LABVIEW 写入文件函数,通过一个 For 循环和 Event Str
16、ucture 条件结构即可在前面板每按一下开关就可以保存文件10。文件保存的程序框图如图 8。图 8 文件保存的程序框图3 测试验证采用虚拟串口驱动(confi gure virtual serial port driver)和串口调试助手 UartAssist 对数字风速仪与功率计做虚拟仿真实验,验证串口通信有效性。对示波器采用一起自带的仿真函数,忽略通信程序部分,直接测试程序运行是否正常。根据上述介绍各设备控制指令采用 2 对虚拟串口同时与数字风速仪和功率计建立通信连接并发出控制指令。数字风速仪为 COM1,对应的虚拟串口为 COM5,COM1 与 COM5为一对,建立通信后上位机发送 0
17、38 083 控制指令,指令发出会自动附加 6 A 作为结束标志。虚拟机下位机则发送0380000C0102F38A6A 指令作为响应。指令信息为当前风速 2023 年第 7 期39计算机应用信息技术与信息化1.2 m/s,蒲氏风级 1 级,风温为华氏 75.5,并重置最大大风速值,平均风速值,最小风速值为当前风速值。风速仪控制指令仿真结果如图 9 所示。图 9 风速仪控制指令仿真结果图功率计为 COM3,虚拟串口为 COM6,COM3 与 COM6位一对。功率计上位机发送指令以$为开头标志,根据指令发送$ii 获取设备信息,下位机以*USBD 113217 SH2USB作为响应,其中回应以*
18、为响应标志,输入$hi 获取传感器信息,下位机返回*TH 12345 03AP 00000183。在此不再赘述通信命令。功率计的串口虚拟仿真分别见图 10。图 10 功率计控制指令仿真结果图验证指令控制程序正确性,图 11 为虚拟仿真界面图。虚拟仿真测试表明,该系统能够对多设备的指令控制,能够实时读取各设备相应功能参数数据并进行保存,实现了数据可视化,系统界面操作简单,达到了设计的预期效果。4 结束语本文完成了基于 RS232 协议和 DLL 通信的多设备控制系统的设计,实现对数字风速仪模式、风温、风速模式、风速单位参数的控制和风速值、风温值、风级值查询,和对示波器波形的获取和分析,对功率计设
19、置功率平均时间,获取功率并进行分析。提高了多种设备同时操作测试的效率,且可扩展其他设备在此上位机进行测试,扩展性强。解决了设备能显示但不易存储的问题,随时可以保存当前数字风速仪、示波器、功率计测试的数据。参考文献:1 杨华,李洁,贺奇,等.基于 LabVIEW 的多种测试仪器集成控制系统设计 J.电子制作,2021(11):61-63.2 张安莉,谢檬,苏晨,等.基于 LabVIEW 的太阳能光伏发电监控系统设计 J 计算机测量与控制,2021,29(06):74-78+113.3 涂希,张佳伟,朱文欢.基于 LabVIEW 的智能化分布式光伏发电监控系统设计 J.电子制作,2021,(21)
20、:23-26.4 刘建河,赵玉丹,张玉强.基于 LABVIEW 串口通信的电机控制技术 J.制造业自动化,2013,35(22):135-137.5 赵 常 寿,陈 征 祥,樊 蓉.基 于 LabVIEW 和 NI-VISA的 RS232 串口通信程序设计 J.电脑编程技巧与维护,2015(01):68-70.6 王许鹏,邱力军,张世清.基于 LabVIEW 的示波器采集系统设计 J.无线互联科技,2021,18(02):29-30+47.7 张华春,吕继宇,禹卫东.基于虚拟仪器的功率计控制设计 J.测试技术学报,2016,30(06):517-523.8 蔡燕,孙流斌,姜文涛,等.基于 LabVIEW 的电机实时在线监测系统设计 J.仪表技术与传感器,2017(10):70-73.9 孙冲冲,王增才.基于 LabVIEW 的 AMT 数据采集处理系统设计 J.仪表技术与传感器,2016(11):62-66.10 孙毅刚,何进.基于 LabVIEW 的高精度多通道温度测量系统 J.仪表技术与传感器,2017(01):96-100.【作者简介】罗萍(1971),女,贵州贵阳人,硕士,副教授,研究方向:控制工程与仪器仪表技术。谌佳庆(1998),男,湖南益阳人,硕士在读,研究方向:仪器仪表技术。(收稿日期:2022-12-08 修回日期:2023-02-15)图 11 虚拟仿真结果图