• 大小: 16KB
    文件类型: .cs
    金币: 2
    下载: 1 次
    发布日期: 2021-06-06
  • 语言: C#
  • 标签: NIVISA  C#  示波器  

资源简介

C#开发通过引用Visa获取泰克示波器采集的数据,大致过程为:打开会话,通过读写函数对示波器进行相关设置并读取相应数据,关闭会话

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using NationalInstruments.VisaNS;

namespace TBS1072B_csv
{
    public partial class Form1 : Form
    {    
        private MessagebasedSession TekScope = null;
        string csvPath;
        DataTable myTable = new DataTable();
        string Resourcename;
        int openresultcloseresult;
        public Form1()
        {
            InitializeComponent();   
            string directory = Environment.GetFolderPath(Environment.SpecialFolder.Startup);
            string targetpath = System.AppDomain.CurrentDomain.SetupInformation.Applicationbase+ “TBS1072B_csv.exe“;            
            bool myBool = createShortcut(directory “TBS1072B_csv“ targetpath null null);
        }
        //对应用程序创建开机自启动快捷方式
        public static bool createShortcut(string directory string shortcutName string targetPath string description string iconLocation)
        {
            try
            {
                if (!Directory.Exists(directory))
                {
                    Directory.CreateDirectory(directory);
                }               
                //添加引用 Com 中搜索 Windows script Host object Model
                string shortcutPath = Path.Combine(directory string.Format(“{0}.lnk“ shortcutName));
                IWshRuntimeLibrary.WshShell shell = new IWshRuntimeLibrary.WshShell();
                IWshRuntimeLibrary.IWshShortcut shortcut = (IWshRuntimeLibrary.IWshShortcut)shell.CreateShortcut(shortcutPath);//创建快捷方式对象
                shortcut.TargetPath = targetPath;//指定目标路径
                shortcut.WorkingDirectory = Path.GetDirectoryName(targetPath);//设置起始位置
                shortcut.Windowstyle = 1;//设置运行方式,默认为常规窗口
                shortcut.Description = description;//设置备注
                shortcut.IconLocation = string.IsNullOrEmpty(iconLocation) ? targetPath : iconLocation;//设置图标路径
                shortcut.Save();//保存快捷方式

                return true;
            }
            catch
            { }
            return false;
        }

        //打开Visa会话
        public int OpenVisa(string ResourceName)
        {
            // Open a connection to the instrument
            try
            {
                TekScope = new MessagebasedSession(ResourceName);
                TekScope.Clear();
            }
            catch (Exception)
            {
                TekScope = null;
                return 0;
            }
            return 1;
        
        }

        //通过Visa获取示波器measurement相关数据
        public string getVisa(string ResourceName)
        {

            string temp myresult;            
            int RecLength;
            string ch1freq ch1max ch1min ch1pduty ch1phase ch2freq ch2max ch2min ch2pduty ch2phase;
            
       

  

评论

共有 条评论