C#寫的34401A串口232資料讀取程式

來源:互聯網
上載者:User
文章目錄
  •  
 

首先呢,請先設定惠普表為Talk only模式,也就是31,還不明白的自己查手冊去

另外,各個表設定不一樣,比如我這裡2塊表就不一樣,一塊是7位元據位,even校正;另一塊是8位元據位,none校正。具體的可以看看錶裡的i/o那裡的設定。

資料線的做法,9pin的線,2,3交叉,4,6交叉,7,8交叉,其他直連

我使用的是.net formworks2裡面的serialport這個組件,唯一要注意的是sp1.DtrEnable = Enabled;這個一定要開啟,不然接不到資料。

另附上我寫的一個小程式源碼,學習c#的第一個程式,寫的不是很好,不過能用了

http://anerg.ys168.com

 

 

 

剛剛通過調試的C#代碼用於Agilent 34401A 串口通訊。

 

  1. 先設定34401A 的 Interface 為 RS232, Baud Rate 為9600, Parity 為 NON: 8 BITS。
  2. 下面為測試電壓和電流的程式碼片段
SerialPort serialPort = new SerialPort("COM3");serialPort.DtrEnable = true;serialPort.Open();serialPort.WriteLine("SYST:REM");serialPort.WriteLine("*CLS");serialPort.WriteLine("TRIG:SOUR IMM");serialPort.WriteLine("MEAS:VOLT:DC? AUTO, MIN");var v = double.Parse(serialPort.ReadLine());serialPort.WriteLine("MEAS:CURR:DC? AUTO, MIN");var i = double.Parse(serialPort.ReadLine());

 

 

MEAS:VOLT?  取電源輸出的電壓MEAS:CURR?  讀取電源的輸出電流MEAS:POW?   讀取電源的輸出功率MEAS:DVM?   讀取電壓表的輸入電壓MEAS:RES?   讀取毫歐表的電阻值*STB?      用來讀取狀態位寄存來的值,該命令執行後,寄存器被清零CALibration:CURRent 返回給電源當前標定點的實際輸出電流值STATus:QUEStionable:CONDition?    用來讀取查詢條件寄存器的值STATus:QUEStionable:ENABle    用來讀取查詢時間寄存器中的值STATus:OPERation:ENABle  用來讀取操作時間寄存器的值ONPut:STATe?   用來控制電源輸出的開啟和關閉IDN?  必須是命令字串中的最後一個查詢命令 IDN?:SYST:VERS?CONFigure  ENTER*rstSYSTem:REMoteMEAS:CURR?

 

 

 關於可以發送SCPI指令,收不到訊號:

           本以為是內部的通訊需要設定,試了試還是不行,最終換成了USB轉串口的線,接上裝置本身的線,這樣通訊就正常了

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.