安捷伦or是德信号源+频谱仪操作:从程控到自动测试(五)频谱仪截屏到U盘的程控实现

一、概述
目前,对于射频模块的调试与测试,国内大多数的厂商(特别是中小型企业)均是通过最原始的手工调测方式,需要调试人员手动设置和操作仪器(信号源和频谱仪),并通过肉眼观察仪器上的显示数值并读写分析模块性能,来确定所调试的通信模块是否符合指标要求。
在射频模块的研发调试过程中,研发人员往往需要将频谱仪的屏幕图像进行截图,以形成测试报告。而正常的操作是通过按键保存频谱仪的截图,截图则是保存在频谱仪本地硬盘内,还需要使用鼠标和U盘将截图拷贝到本地电脑上。基于信号源和频谱仪的程控功能,本文给出一种一键实现将频谱仪截图保存在U盘中的功能。将所需截图保存到U盘之后,可直接将截图通过U盘拷贝到本地电脑中,同时通过一键实现的功能极大的简化了频谱仪截图的操作步骤,提高工作效率。

二、频谱仪截图保存到U盘
如何使用程控将频谱仪截图保存到U盘,从而提高测试人员操作效率?首先需要将U盘插入频谱仪中的USB接口,推荐使用USB2.0接口的U盘。
在硬件连接完成之后,则可通过发送程控指令的方式,对频谱仪进行操作。将频谱仪截图保存到U盘可分为简单的两步,第一步为:截图频谱仪屏幕;第二步为:将截图从本地硬盘复制到U盘。表1给出了需要使用到的重要程控指令。(信号源和频谱仪程控的实现,请参考【VISA+SCPI实现安捷伦/是德信号源和频谱仪的程控】
本文中程控使用VISA+SCPI指令集实现,操作界面使用C#实现,实现方式还有其他的,可依据自身的熟悉程度进行选择。表1给出了信号源校准程控指令及界面实例,频谱仪的程控指令可参考https://download.csdn.net/download/qq_27424533/80233490,界面实例可与信号源一致。信号源的其他程控指令可参考https://download.csdn.net/download/qq_27424533/80233370
在这里插入图片描述
给出实现代码如下:

private void Button_Save2U_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                string SaveFileName, Scrpath;
                string Upan = "F:";
                string CDIR = parentWindow.PPCMDread(":MMEM:CDIR?", "");
                string Mname = parentWindow.PPCMDread(":INST:SEL?", "");
                if (TextBox_SaveFileName.Text.Trim() == "")
                {
                    string strTime = DateTime.Now.ToString("yyyyMMddhhmm");
                    SaveFileName = string.Concat("\"", strTime, ".png", "\"");
                    Scrpath = string.Concat("\"", CDIR.Replace("\"", "").Trim(), "\\", Mname.Trim(), "\\screen\\", strTime, ".png", "\"");
                    Upan = string.Concat("\"", Upan, "\\", strTime, ".png", "\"");
                }
                else
                {
                    SaveFileName = string.Concat("\"", TextBox_SaveFileName.Text, ".png", "\"");
                    Scrpath = string.Concat("\"", CDIR.Replace("\"", "").Trim(), "\\", Mname.Trim(), "\\screen\\", TextBox_SaveFileName.Text, ".png", "\"");
                    Upan = string.Concat("\"", Upan, "\\", TextBox_SaveFileName.Text, ".png", "\"");
                }
                parentWindow.ioArbPP.WriteString(string.Concat(":MMEM:STOR:SCR ", SaveFileName));
                parentWindow.ioArbPP.WriteString(string.Concat(":MMEM:COPY ", Scrpath, ",", Upan));
                parentWindow.ioArbPP.WriteString(string.Concat(":MMEM:DELete ", Scrpath));
                parentWindow.LogInfo(LogMsgType.Normal, SaveFileName + " 已保存至U盘!");
            }
            catch
            {
                parentWindow.LogDebug(LogMsgType.Normal, "请检查U盘是否插入频谱仪。");
                return;
            }
        }

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐