請問安捷倫34401A的電表要如何下指令 |
尚未結案
|
北方佬
一般會員 發表:15 回覆:35 積分:10 註冊:2005-07-27 發送簡訊給我 |
|
DavidLo
高階會員 發表:17 回覆:225 積分:168 註冊:2004-07-21 發送簡訊給我 |
Hello!
HP34401 Programmer Reference Manual可以從安捷倫網站下載. "SYST:REM" 設微電腦控制.
"SYST:LOC" Set local
"*CLS" Clear display
"CONF:VOLT:DC" Set DC volt measure
"READ?" Read value
"CONF:RES" Set 2-wire resistance measure
"CONF:FRES" Set 4-wire resistance measure
|
北方佬
一般會員 發表:15 回覆:35 積分:10 註冊:2005-07-27 發送簡訊給我 |
|
u120100
一般會員 發表:0 回覆:1 積分:0 註冊:2002-08-31 發送簡訊給我 |
Hi,你儀器的連接方式是 GPIB or RS-232 ?! 若是 RS-232 則請搜尋本站的 RS-232 通訊方式。 若是 GPIB 則必須看你的 GPIB Card 廠商提供的 *.lib 或 *.dll 以及
相關的程式編輯手冊。 舉例來說:若是 NI 的 GPIB Card 則你需要安裝 NI 的 Component Works for BCB,其中就會包含有控制 NI GPIB Card 用的 ActiveX Component。
詳細安裝過程以及使用方式,你可以用 Google 搜尋一下 NI 的 Component Works User's Guide。 若是安捷倫本身的 GPIB Adapter 則你必須使用 SICL for Borland C++ 的程式來設計。詳細程式方式請參閱安捷倫 SICL User's guide 內有程式設計範例。 希望對你有幫助。
|
DavidLo
高階會員 發表:17 回覆:225 積分:168 註冊:2004-07-21 發送簡訊給我 |
|
北方佬
一般會員 發表:15 回覆:35 積分:10 註冊:2005-07-27 發送簡訊給我 |
我是用RS-232傳輸,請問電表的語言是選擇哪一種,SCPI,HP 3478A或是Fluke 8840A(我目前用SCPI)
以下是我的程式,一直會有"ERROR"顯示在面板上,請各位大大幫我看一下
我有設一個Button與一個RadioButton,按下時面板上有Rmt與ERROR兩個訊息
#include |
DavidLo
高階會員 發表:17 回覆:225 積分:168 註冊:2004-07-21 發送簡訊給我 |
|
北方佬
一般會員 發表:15 回覆:35 積分:10 註冊:2005-07-27 發送簡訊給我 |
|
DavidLo
高階會員 發表:17 回覆:225 積分:168 註冊:2004-07-21 發送簡訊給我 |
|
北方佬
一般會員 發表:15 回覆:35 積分:10 註冊:2005-07-27 發送簡訊給我 |
使用"CONF:VOLT:AC\n"已經可以了因此才想要使用"SENS:FUNC""VOLT:DC"
因為我看使用手冊上SENS與MEAS好像可以讀數值,可是我在讀數值這個地方又卡住了
我按照RS-232與C++ Builder這本書的電表範例操作,在第三行的指令"MEAS:VOLT:AC\n"還是會有ERROR出來,是不是指令要用其他的呢?
另外我的Delay()會有錯誤信息:
[C++ Error] Unit1.cpp(74): E2268 Call to undefined function 'Delay'
void __fastcall TForm1::Button6Click(TObject *Sender) { String BUF; Comm1->RThreshold=0; Comm1->OutputString("MEAS:VOLT:AC\n"); Delay (200); Memo1->Text=Memo1->Text Comm1->Input; Memo1->SelStart=Memo1->Text.Length(); Memo1->SelLength=0; Delay (100); BUF=Comm1->Input; } |
北方佬
一般會員 發表:15 回覆:35 積分:10 註冊:2005-07-27 發送簡訊給我 |
SORRY!程式中"MEAS:VOLT:AC?\n"需要一個"問號"才可以讀值出來,程式碼如下 其中Delay()還是有錯誤訊息,而在Memo1中所顯示的讀值好像一值在重複顯示,是不是我忘了加什麼指令讓它停止?
void __fastcall TForm1::Button6Click(TObject *Sender) { String BUF; Comm1->RThreshold=0; Comm1->OutputString("MEAS:VOLT:AC?\n"); //Delay (200); Memo1->Text=Memo1->Text Comm1->Input '\n'; Memo1->SelStart=Memo1->Text.Length(); Memo1->SelLength=0; //Delay (100); BUF=Comm1->Input; |
DavidLo
高階會員 發表:17 回覆:225 積分:168 註冊:2004-07-21 發送簡訊給我 |
|
北方佬
一般會員 發表:15 回覆:35 積分:10 註冊:2005-07-27 發送簡訊給我 |
|
北方佬
一般會員 發表:15 回覆:35 積分:10 註冊:2005-07-27 發送簡訊給我 |
|
DavidLo
高階會員 發表:17 回覆:225 積分:168 註冊:2004-07-21 發送簡訊給我 |
|
DavidLo
高階會員 發表:17 回覆:225 積分:168 註冊:2004-07-21 發送簡訊給我 |
|
北方佬
一般會員 發表:15 回覆:35 積分:10 註冊:2005-07-27 發送簡訊給我 |
我只有用TComm元件並沒有Timer元件,下面是我的完整程式
#include謝謝David大哥 |
DavidLo
高階會員 發表:17 回覆:225 積分:168 註冊:2004-07-21 發送簡訊給我 |
我不是使用TComm元件.但下面是作何用途? void __fastcall TForm1::Comm1ModemStateChange(TObject *Sender,
DWORD EventMask)
{
Memo1->Text=Memo1->Text Comm1->Input;
Memo1->SelStart=Memo1->Text.Length();
Memo1->SelLength=0;
} Modem Control 含 RTS and DTR
Modem Line 含 CTS,DSR,RI and CD <==有變化會執行上面! 請注意PC與DMM(34401only)交換資料時,DTR或RTS(PC送)與DSR或CTS(DMM回)會有變化!因為DMM再處理資料時,不接受外部指令,會將DSR或CTS致能告知PC不要再送指令.至於是CTS或DSR,我已也忘記了.
|
北方佬
一般會員 發表:15 回覆:35 積分:10 註冊:2005-07-27 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |