台灣最大程式設計社群網站
線上人數
1051
 
會員總數:246691
討論主題:190104
歡迎您免費加入會員
討論區列表 >> C# >> 我該如何使用ni visa 透過usb 傳輸 scpi指令給我的外部裝置
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
我該如何使用ni visa 透過usb 傳輸 scpi指令給我的外部裝置
價值 : 200 QP  點閱數:2418 回應數:5
樓主


門外漢
0 2
18 2
發送站內信

我現在電腦已經透過USB成功驅動了我的電源供應器 產品型號:P9611A
我是透過NI VISA驅動這個外部裝置
然後我在裝置管理員,找不到我的電源供應器是透過哪個USB孔抓到外部裝置
但是我透過NI MAX成功看到 我的外部裝置
Serial Number :TW00020774
VISA RESOURCE NAME:USB0::0x164E::0x258B::TW00020774::INSTR

我想詢問 我該如何使用ni visa 透過usb 傳輸 scpi指令給我的外部裝置
因為我看到這篇發問
https://www.blueshop.com.tw/board/FUM20050124192253INM/BRD20171002155809XRV.html
有人在下面的回答 就是我要的答案
他說的 裝好驅動程式 我想是我使用的NI VISA 然後透過SERIALPORT 下SCPI指令給外部裝置

因為我了解到的serialport的功能是透過com阜 傳輸指令
但是我不知道我的裝置是在哪一個com(因為我裝置管理員,我找不到我的裝置)
我有的資訊就在上面那兩個(透過ni max看到的)
這樣我還能透過serialport傳輸嗎..還是要用其他方法輸入scpi指令呢

搜尋相關Tags的文章: [ 我該如何使用ni visa 透過usb 傳輸 scpi指令給我的外部裝置 ] ,
本篇文章發表於2017-10-21 22:20
1樓
最有價值解答

Ader Chen
檢舉此回應
那台儀器我沒用過. 沒有附手冊嗎? 廠商不支援嗎?
以我司為例, 買儀器會要求廠商先借測, 一定會附 user manual 和 programmer guide, 我依那些文件寫 VB 程式測試通訊控制沒問題才會向廠商下單, 若有問題會要求廠商支援, 沒遇過廠商不支援的, 如果幾天內沒成果我們就找別的廠商/廠牌機型.
以上供參考.
本篇文章回覆於2017-10-23 22:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

Ader Chen
檢舉此回應
手癢不小心 google 到 P9610A/11A User’s Manual:
https://www.picotest.com/downloads/POWER-SUPPLIES/P9610A%20User%27s%20Manual%20-V1.02.pdf
其中有包含 SCPI 指令.

NI-VISA 的部分, 安裝時要選擇 .Net development examples, 安裝後就有 C#/VB.net 的範例程式可供參考, 複製修改.
http://digital.ni.com/public.nsf/allkb/39F4B9264B94308C8625729D0067F9AF?OpenDocument
本篇文章回覆於2017-10-23 22:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應


檢舉此回應
回:Ader Chen
請問 如果我下 scpi裡面的指令 例如 VOLT 5
他就會讀到我的指令 並做出 輸出五伏特嗎

我改用LIBUSBDOTNET通訊 我目前是可以依靠PID VID連接到裝置
但是我還沒有搞懂 甚麼傳輸 是怎麼寫
本篇文章回覆於2017-10-24 11:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應


檢舉此回應
或者 有沒有 VISA的程式可以參考呢
我找到這個
http://blog.csdn.net/lv_fu/article/details/53303370

但是我將 VISANS 和 VISA.COMMON.DLL加入參考
並且使用他的程式
出現錯誤 無效的引數。不支援文化特性。
參數名稱: name
neutral 是無效的文化特性識別項

不知道怎麼解決
本篇文章回覆於2017-10-24 12:02
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

IGBT
檢舉此回應
雖然這個主題已經結案
但還是回覆希望有用

1.
之前有人發文
NationalInstruments.VisaNS遺失
這個問題可能是NI-VISA改版後檔案名稱也改掉了

2.
以下是各個版本的下載點
www.ni.com/download/ni-visa-4.5/1267/en/
www.ni.com/download/ni-visa-5.4.1/4626/en/
www.ni.com/download/ni-visa-14.0.1/5023/en/
www.ni.com/download/ni-visa-15.0.1/5693/en/
www.ni.com/download/ni-visa-15.5/5846/en/
www.ni.com/download/ni-visa-16.0/6184/en/
www.ni.com/download/ni-visa-17.0/6646/en/

3.
現在是採用NI-VISA 17.0搭配VS2015 C#
NI-VISA安裝完成後內有範例程式
Start Menu->National Instruments->NI-VISA Examples
C:\Users\Public\Documents\National Instruments\NI-VISA\Examples

主要參考範例SimpleReadWrite
C:\Users\Public\Documents\National Instruments\NI-VISA\Examples\.NET\17.0\SimpleReadWrite

4.
感覺範例SimpleReadWrite source code有些難度
另外弄個精簡版
pan.baidu.com/s/1qY0YdSK
有效期七天

5.
新專案建立後必須加入以下2個參考
Ivi.Visa
NationalInstruments.Visa

a. 建立USB儀器列表
using (var rmSession = new ResourceManager())
{
var resources = rmSession.Find("USB?*INSTR");
foreach (string s in resources)
{
availableResourcesListBox.Items.Add(s);
}
}

b. 選擇儀器並open
using (var rmSession = new ResourceManager())
{
try
{
mbSession = (MessageBasedSession)rmSession.Open(visaResourceNameTextBox.Text);
}
}

c. 儀器通訊問答
string textToWrite = ReplaceCommonEscapeSequences(writeTextBox.Text);
mbSession.RawIO.Write(textToWrite);
readTextBox.Text = InsertCommonEscapeSequences(mbSession.RawIO.ReadString());
本篇文章回覆於2017-10-25 14:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.