使用C# 编写VISA相关的代码控制 keysight 34461A万用表

news2024/11/28 23:34:01

使用C# 编写VISA相关的代码控制 keysight 34461A万用表

  • 1. 获取设备
  • 2. 开始编程
    • 2.1 创建项目
    • 2.2 编程
    • 2.3 全部工程代码

软件控制仪器仪表的教程在网上相对比较少,都是一段一段的代码,没有从头开始带初学者来进行操作的一个完整流程,整个方案难度不高,跟着教程走的话,大家都可以开始自己的仪表编程。

希望给后来者一些帮助

1. 获取设备

我这使用的是keysight的万用表,可以使用它配套的软件 keysight connection expert 来获取设备信息

如果没有安装的话,需要安装这个软件
在这里插入图片描述

2. 开始编程

2.1 创建项目

我这使用的软件版本是:Visual Studio 2022,如果你是之前的版本,推荐更换成我这个
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 编程

给界面上放置一个按键,后续代码就写在这个按键中去。
在这里插入图片描述
在这里插入图片描述
可以看到,添加了Visa相关的信息。
在这里插入图片描述

2.3 全部工程代码

下面就是完整的 Form1.cs文件下的代码
如果需要开发其他的功能,可以自行在代码中添加功能
其中你的设备号,需要根据第一章节的提示获取

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace VISA
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {


            //申明一个设备
            var session = (Ivi.Visa.IMessageBasedSession)
                Ivi.Visa.GlobalResourceManager.Open("你的设备号");


            //发送指令,并且读取返回值
            session.FormattedIO.WriteLine("*IDN?");
            string idName = session.FormattedIO.ReadLine();
            Console.WriteLine($"*IDN? = {idName}");

            //电压
            //session.RawIO.Write(":MEASure:VOLTage:DC?\n");
            // idName = session.FormattedIO.ReadString();
            //Console.WriteLine($"DC? = {idName}");

            //电流
            session.RawIO.Write(":MEASure:CURRent:DC?\n");
            idName = session.FormattedIO.ReadString();
            Console.WriteLine($"CURRent = {idName}");

            //频率
            session.RawIO.Write(":MEASure:FREQuency?\n");
            idName = session.FormattedIO.ReadString();
            Console.WriteLine($"频率? = {idName}");

            //释放 session
            session.Dispose();
            session = null;
        }
    }
}

下面就是打印出来的log信息
在这里插入图片描述

PS: 控制仪器设备,确实是比较冷门的操作,但学会了却能很大的提升工作效率,希望能对各位带来帮助

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1168510.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity中Shader的GI相关数据的准备

文章目录 前言一、把 Unity 中用到的 GI 的函数移植到我们自定义的 cginc 文件中二、开始使用和 GI 相关的方法1、了解 UnityGI 结构体的内容,并且准备 UnityGI 的数据2、了解 SurfaceOutput 结构体,并且准备数据3、了解并准备 UnityGIInput 结构体,并且…

Flutter笔记:发布一个模块 scale_design - (移动端)设计师尺寸适配工具

Flutter笔记 发布一个模块scale_design设计师尺寸适配工具与常用组件库 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/a…

词向量模型Word2Vec

Word2Vec CBOW连续词袋模型例子CBOW模型的embeddings层CBOW模型的线性层 总结 skip-gram跳字模型例子Skip-Gram模型的结构 CBOW和skip-gram的目标都是迭代出词向量字典(嵌入矩阵)——embeddings CBOW连续词袋模型 根据上下文词汇预测目标词汇 例子 使…

【FastCAE源码阅读3】几何模型显示:从OCC对象到VTK对象

从几何到显示还是比较麻烦的,需要将几何对象转换成渲染对象,涉及几何建模、面的三角化、图形渲染等学科,阅读本文需了解一些基本的OCC、VTK编程 一、几何体显示基本流程 FastCAE几何内核使用的是OCC,显示渲染用的VTK,…

Leetcode—111.二叉树的最小深度【简单】

2023每日刷题(十八) Leetcode—111.二叉树的最小深度 DFS实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ int minDepth(struct TreeNode* root…

NCL颜色索引表---全平台可用

NCL颜色索引表—全平台可用

三维向量旋转

三维向量旋转 问题描述问题分析 v ⃗ ∣ ∣ \vec{v}_{||} v ∣∣​的旋转 v ⃗ ⊥ \vec{v}_{\bot} v ⊥​的旋转 v ⃗ \vec{v} v 的旋转结论致谢 问题描述 如图1所示,设一个向量 v ⃗ \vec{v} v 绕另一个向量 u ⃗ [ x , y , z ] T \vec{u}[x,y,z]^{T} u [x,y,z]T…

【电路笔记】-相位差和相移

相位差和相移 文章目录 相位差和相移1、概述2、相位差2.1 同频信号2.2 电流与电压信号2.3 相似频率的信号 3、干扰4、总结 当我们听歌曲时,我们将正弦声音波形感知为音乐。 它们的振幅告诉我们信号有多大,频率告诉我们声音是低音还是高音。 然而&#xf…

vue学习part01

02_Vue简介_哔哩哔哩_bilibili Vue.js - 渐进式 JavaScript 框架 | Vue.js (vuejs.org) 1.简介 2.常用用法 新项目一般vue3,老项目vue2 3.vue两种风格:选项式api(vue2)和组合式api(vue3) 两种方式实现累…

JS异常处理——throw和try、catch以及debugger

让我为大家介绍一下异常处理吧! 异常处理是指预估代码执行过程中可能发生的错误,然后最大程度的避免错误的发生导致整个程序无法继续运行 throw 抛异常 第一种写法 function fun(x, y) {// undefined是false 但取反就是trueif (!x || !y) {// 第一种写…

实习记录--(海量数据如何判重?)--每天都要保持学习状态和专注的状态啊!!!---你的未来值得你去奋斗

海量数据如何判重? 判断一个值是否存在?解决方法: 1.使用哈希表: 可以将数据进行哈希操作,将数据存储在相应的桶中。 查询时,根据哈希值定位到对应的桶,然后在桶内进行查找。这种方法的时间复…

在线词典项目-项目介绍及框架搭建

项目介绍 通过代码实现词典的注册、登录、单词注释查询、历史查询、查询记录。 有道词典分析图 客户端流程图 注释:首先开始-->创建流式套接字-->连接服务器-->输入需要执行的命令代码-->创建循环,判断需要执行的函数(如果登录…

基于深度学习的行人重识别(person reid) 计算机竞赛

文章目录 0 前言1 技术背景2 技术介绍3 重识别技术实现3.1 数据集3.2 Person REID3.2.1 算法原理3.2.2 算法流程图 4 实现效果5 部分代码6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 基于深度学习的行人重识别 该项目较为新颖,适合…

AIGC | 如何用“Flow”,轻松解决复杂业务问题

随着LLM(大语言模型)的爆火,不少企业都在寻找通过LLM解决企业业务问题的方法,以达到降本增效的效果。但是,当面对较为复杂的业务问题(如:背景资料多、问题分类多、条件判断复杂、涉及模块多等&a…

Java高级互联网架构师之路:垃圾回收器的介绍

本文重点 从本文开始我们将开启垃圾回收器的介绍了,我们知道垃圾回收算法是逻辑改变,而垃圾回收器是具体的实现。我们前面介绍的垃圾回收器有7个,本文将在添加三个,但是这三个目前来看不是很常用,我们只了解一下,我们主要还是讲解这7个垃圾回收器。 十个垃圾回收器 目…

天空卫士为集度智能汽车系上“安全带”

10月27日,集度汽车在北京正式发布了旗下首款量产车型——极越 01 SUV。极越 01 SUV 是一款集科技、智能、美学于一身的纯电动中大型SUV,号称全球首款“AI 汽车机器人”。作为集度的合作伙伴,天空卫士第一时间送上祝福,祝愿极越大卖…

鸿蒙应用开发取消标题栏

在config.json中的module下添加如下内容: "metaData": {"customizeData": [{"name": "hwc-theme","extra": "","value": "androidhwext:style/Theme.Emui.Light.NoTitleBar"}] }…

深度学习_4 数据训练之线性回归

训练数据 线性回归 基本原理 比如我们要买房,机器学习深度学习来预测房价。房价的影响因素有:卧室数量,卫生间数量,居住面积。此外,还需要加上偏差值来计算。我们要找到一个正确率高的计算方法来计算。 首先&#…

web3 React dapp中编写balance组件从redux取出并展示用户资产

好啊 上文WEB3 在 React搭建的Dapp中通过redux全局获取并存储用户ETH与自定义token与交易所存储数量中 我们拿到了用户的一个本身 和 交易所token数量 并放进了redux中做了一个全局管理 然后 我们继续 先 起来ganache的一个模拟环境 ganache -d然后 我们启动自己的项目 顺手发…

SaveToDisk属性

大家好,才是真的好。 Domino Designer的帮助文档里面充满了宝藏,最近就发现一个notesitem对象的SaveToDisk属性,你可以设置它为false,这样,虽然文档保存了,但这个字段本身可以不用保存,不仅可以…