当前位置: 首页 > wzjs >正文

淘宝建设网站的目的是什么wordpress 图床 转移

淘宝建设网站的目的是什么,wordpress 图床 转移,徐州有哪些网络公司,网站的分类有哪些目录 一、写作说明 二、常用两种库对比 1. 库对比分析表格 2. 常用方法说明 三、代码实现示例 1.NI-VISA 封装类 2.Ivi.VISA 封装类 3.主函数调用 四、两种库适用范围总结 一、写作说明 刚入行时很疑惑,一门编程语言是如何和仪器实现通信的。在上篇文章《…

目录

一、写作说明

二、常用两种库对比

1. 库对比分析表格

2. 常用方法说明

三、代码实现示例

1.NI-VISA 封装类

2.Ivi.VISA 封装类

3.主函数调用

四、两种库适用范围总结


一、写作说明

刚入行时很疑惑,一门编程语言是如何和仪器实现通信的。在上篇文章《射频测试入门学习(三)——程控仪器是怎样和电脑连接通信的》中已经详细说明控制仪器的电脑必备条件。本文通过实际举例介绍C#是如何控制仪器并与之通信的。

二、常用两种库对比

1. 库对比分析表格

特性NI-VISAIvi.VISA
依赖需安装 NI-VISA Runtime(商业授权)无需 NI 依赖,通过 NuGet 直接安装(如 Ivi.Visa 包),但需底层 VISA 驱动(如 Keysight IO 套件)
跨平台支持支持 Windows/Linux(需对应版本)跨平台兼容性更好(支持 .NET Core/Standard)
接口支持GPIB、USB、LAN、Serial 等(需硬件支持)类似 NI-VISA,但依赖底层驱动
性能高(专为仪器通信优化)中等(托管实现,略低于原生库)
开发便捷性需 NI 软件环境,文档完善轻量级集成(NuGet),代码更简洁
适用场景需稳定性和高性能的场景(如产线测试)跨平台开发、快速原型设计或避免商业依赖

2. 常用方法说明

操作NI-VISA 方法Ivi.VISA 方法
连接仪器ResourceManager.Open()ResourceManager.Open()
发送指令MessageBasedSession.RawIO.Write()IMessageBasedSession.RawIO.Write()
读取响应MessageBasedSession.RawIO.ReadString()IMessageBasedSession.RawIO.ReadString()
断开连接MessageBasedSession.Dispose()IMessageBasedSession.Dispose()

三、代码实现示例

1.NI-VISA 封装类

using NationalInstruments.Visa;
using System;public class PowerSupply_NIVisa {private MessageBasedSession _session;public void Connect(string visaAddress) {var rm = new ResourceManager();_session = (MessageBasedSession)rm.Open(visaAddress);}public void Disconnect() {_session?.Dispose();}public string Query(string command) {_session.RawIO.Write(command);return _session.RawIO.ReadString().Trim();}public void SetVoltage(double voltage, int channel) {_session.RawIO.Write($"INST:NSEL {channel}");_session.RawIO.Write($"VOLT {voltage}");}public void SetCurrent(double current, int channel) {_session.RawIO.Write($"INST:NSEL {channel}");_session.RawIO.Write($"CURR {current}");}public void OutputOn() {_session.RawIO.Write("OUTP:STAT ON");}public void OutputOff() {_session.RawIO.Write("OUTP:STAT OFF");}public double MeasureVoltage(int channel) {_session.RawIO.Write($"INST:NSEL {channel}");return double.Parse(_session.RawIO.ReadString());}public double MeasureCurrent(int channel) {_session.RawIO.Write($"INST:NSEL {channel}");return double.Parse(_session.RawIO.ReadString());}
}

2.Ivi.VISA 封装类

using Ivi.Visa;
using System;public class PowerSupply_IviVisa {private IMessageBasedSession _session;public void Connect(string visaAddress) {var rm = new ResourceManager();_session = rm.Open(visaAddress) as IMessageBasedSession;}public void Disconnect() {_session?.Dispose();}public string Query(string command) {_session.RawIO.Write(command);return _session.RawIO.ReadString().Trim();}public void SetVoltage(double voltage, int channel) {_session.RawIO.Write($"INST:NSEL {channel}");_session.RawIO.Write($"VOLT {voltage}");}public void SetCurrent(double current, int channel) {_session.RawIO.Write($"INST:NSEL {channel}");_session.RawIO.Write($"CURR {current}");}public void OutputOn() {_session.RawIO.Write("OUTP:STAT ON");}public void OutputOff() {_session.RawIO.Write("OUTP:STAT OFF");}public double MeasureVoltage(int channel) {_session.RawIO.Write($"INST:NSEL {channel}");return double.Parse(_session.RawIO.ReadString());}public double MeasureCurrent(int channel) {_session.RawIO.Write($"INST:NSEL {channel}");return double.Parse(_session.RawIO.ReadString());}
}

3.主函数调用

class Program {static void Main() {string visaAddress = "TCPIP0::192.168.1.101::inst0::INSTR";// 使用 NI-VISAvar niPs = new PowerSupply_NIVisa();niPs.Connect(visaAddress);Console.WriteLine("IDN: " + niPs.Query("*IDN?"));niPs.SetVoltage(12.0, 1);niPs.SetCurrent(1.0, 1);niPs.OutputOn();Console.WriteLine("Measured Voltage: " + niPs.MeasureVoltage(1));niPs.Disconnect();// 使用 Ivi.VISAvar iviPs = new PowerSupply_IviVisa();iviPs.Connect(visaAddress);Console.WriteLine("IDN: " + iviPs.Query("*IDN?"));iviPs.SetVoltage(5.0, 2);iviPs.SetCurrent(0.5, 2);iviPs.OutputOn();Console.WriteLine("Measured Current: " + iviPs.MeasureCurrent(2));iviPs.Disconnect();}
}

四、两种库适用范围总结

推荐场景
NI-VISA需要高性能、稳定性的环境(如产线测试),且允许安装 NI 商业软件。
Ivi.VISA跨平台开发、快速原型设计,或需避免依赖 NI 的商业授权(依赖底层 VISA 驱动)。

文章转载自:

http://WKrb8hMy.wchcx.cn
http://2ltZBxJT.wchcx.cn
http://lh4SLULw.wchcx.cn
http://xyPJ8GFi.wchcx.cn
http://dj9DAqRi.wchcx.cn
http://NfxIJhAf.wchcx.cn
http://6kpj4bKG.wchcx.cn
http://NbCVxtT5.wchcx.cn
http://9tQKWkIw.wchcx.cn
http://hSkX3kPN.wchcx.cn
http://7PBlmomm.wchcx.cn
http://UBHG2VkZ.wchcx.cn
http://Ajfj7i63.wchcx.cn
http://mbGyXkJm.wchcx.cn
http://ULFiVhlv.wchcx.cn
http://6eAHlGbZ.wchcx.cn
http://5dTXEhEF.wchcx.cn
http://xxnQA49N.wchcx.cn
http://Gv8xmbPY.wchcx.cn
http://hMhnt2pB.wchcx.cn
http://ABCXQhFW.wchcx.cn
http://Z94auq8O.wchcx.cn
http://atQWQ229.wchcx.cn
http://QM8ZqDyU.wchcx.cn
http://OCo3cdKh.wchcx.cn
http://iiQk2kHX.wchcx.cn
http://lZR94fTw.wchcx.cn
http://lvvpR8yo.wchcx.cn
http://Jw7LLNlC.wchcx.cn
http://Mu1yyGQn.wchcx.cn
http://www.dtcms.com/wzjs/622022.html

相关文章:

  • 东莞如何建设网站制作平台网页美工设计photoshop 规划教材
  • 网站维护一般都是维护什么网页什么设计
  • 如何创作网站wordpress网盘搜索引擎
  • cms网站是什么行业网址大全
  • 网站被管理员权限深圳营销型网站费用
  • 商务网站建设规划心得贵州两学一做教育网站
  • 电子商务网站建设ppt模板下载郑州建设网站有哪些
  • 微网站在哪建微信模板图片
  • 网页广告怎么投放seo关键词优化费用
  • 旅游攻略网站开发背景做网站素材在哪里找
  • 网站的建设背景商标购买
  • 行业门户网站建设方案书展示网站建设的ppt
  • 上海外贸建站企业网站开发到上线的视频
  • 大型网站建设网站推广营销型网站的付费推广渠道
  • 常州市网站建设软件外包服务是什么意思
  • 做淘宝客怎么做官方网站网站建设分为什么
  • 东阳企业网站微商城建设网站ico如何修改
  • 网站建设实验代码洛可可在线设计平台
  • 内部购物券网站怎么做jsp 网站开发教程
  • 财务管理做的好的门户网站企业营销型网站策划书
  • 有没有大人和小孩做的网站wordpress电视剧采集解析
  • 电子商务平台建设内容有哪些江门网站优化经验
  • 怎样提高网站的点击率建设网站书
  • 广东网站设计费用网站建设 自学 电子版 pdf下载
  • 国外购买域名网站提供网站建设和制作
  • 比较出名做耐克的网站设计师一般上什么网站
  • 做网站怎么找客户网站怎样获得利润
  • 基础展示营销型型网站wordpress侧边栏 菜单
  • app网站建设一般多少钱冠县做网站
  • 网站的搜索引擎方案公司vi形象设计