[C#源代码]使用SCPI指令对通信端口(RS232/USB/GPIB/LAN)进行仪器编程

 本文为原创文章、源代码为原创代码,如转载/复制,请在网页/代码处明显位置标明原文名称、作者及网址,谢谢!

本软件是基于NI-VISA/VISA32(Virtual Instrument Software Architecture)的仪器编程,支持RS232、USB、GPIB及LAN通信的SCPI仪器编程。

一、本软件是使用VS2017开发(也可以使用VS2015打开,但有些特性可能不支持),基于DotnetFrameWork4.0,如需运行该软件,从以下网站下载:

软件下载地址:点击此处下载

二、需要开发该软件,必须安装VISA-Runtime运行时

如下图所示:

软件下载地址:点击此处下载

或者到NI官方网站(http://www.ni.com)下载最新的VISA-Runtime

三、通过RS232、USB、GPIB及LAN并使用SCPI指令对仪器进行通信,如下图:

如不懂SCPI指令,请执行进行百度。

四、软件源代码:

https://github.com/cnxy/VISAInstrument

请自行克隆C#源代码 或 从

https://github.com/cnxy/VISAInstrument/releases

下载Release版本,以获得单独运行的EXE文件。

五、其他

RS232:支持常见的RS232串口编程,一般地址为“ASRL1::INSTR”

USB:支持常见的USB接口编程,一般地址类似为“USB0::0x2A8D::0x0101::MY57501899::INSTR”

GPIB:支持常见的USB接口编程,一般地址类似为“GPIB0::0x2A8D::0x0101::MY57501899::INSTR” 此处要求安装GPIB卡驱动程序,推荐使用NI-GPIB卡(需要驱动程序,驱动程序可以从NI官方网站下载)

LAN:支持常见的USB接口编程,一般地址类似为“TCPIP0::34465A-01899::inst0::INSTR”或“TCPIP0::192.168.0.26::inst0::INSTR”

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

LINQ via C# 系列文章

LINQ via C# Recently I am giving a series of talk on LINQ. the name “LINQ via C...

2635
来自专栏闻道于事

js登录滑动验证,不滑动无法登陆

js的判断这里是根据滑块的位置进行判断,应该是用一个flag判断 <%@ page language="java" contentType="text/html...

6768
来自专栏陈仁松博客

ASP.NET Core 'Microsoft.Win32.Registry' 错误修复

今天在发布Asp.net Core应用到Azure的时候出现错误InvalidOperationException: Cannot find compilati...

4838
来自专栏一个会写诗的程序员的博客

Spring Reactor 项目核心库Reactor Core

Non-Blocking Reactive Streams Foundation for the JVM both implementing a Reactiv...

2142
来自专栏落花落雨不落叶

canvas画简单电路图

60911
来自专栏java 成神之路

使用 NIO 实现 echo 服务器

4597
来自专栏转载gongluck的CSDN博客

cocos2dx 打灰机

#include "GamePlane.h" #include "PlaneSprite.h" #include "BulletNode.h" #include...

5406
来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

3985
来自专栏pangguoming

Spring Boot集成JasperReports生成PDF文档

由于工作需要,要实现后端根据模板动态填充数据生成PDF文档,通过技术选型,使用Ireport5.6来设计模板,结合JasperReports5.6工具库来调用渲...

1.2K7
来自专栏Golang语言社区

【Golang语言社区】GO1.9 map并发安全测试

var m sync.Map //全局 func maintest() { // 第一个 YongHuomap := make(map[st...

4708

扫码关注云+社区