自動化技術得到飛躍發展的今天,測試中各種儀表也都支援ieee 488協議,可以利用pc完成控制。在gpib匯流排程式設計中,將總結過去用到的基於gpib匯流排控制儀表的開發經驗。首先總結一下agent 663系列電源的控制。
開發工具 vc++6.0,必備檔案:visa庫。說到visa庫,談談我對它的認識。visa是虛擬儀器軟體結構(virtual instrument software architectuere)的簡稱,是由vxi plug & play系統聯盟所統一制定的i/o介面軟體標準及其相關規範的總稱。一般稱這個i/o函式庫為visa庫(用於儀器程式設計的標準i/o函式庫)。visa函式庫駐留於計算機系統中,是計算機與儀器之間的標準軟體通訊介面,用以實現對儀器的控制。 visa採用這種金字塔型的結構模型,為各種虛擬儀器系統軟體提供了乙個形式統一的i/o操作函式庫,visa將不同廠商的儀器軟體統一於同一平台。
visa的內部結構是乙個先進的物件導向的結構,這一結構使得visa與在它之前的i/o控制軟體相比,介面無關性有很大提高。visa的可擴充套件性使它遠遠超出了一般i/o控制軟體的範疇,而且由於visa內部結構的靈活性,使得visa在功能和靈活性上也超過了其它i/o控制庫。www.mulu001.com)
一般情況下,對穩壓電源的操作有設定和讀數兩種。首先,需要將電源的各種引數設定到指定值。比如,輸出電壓、限流值、取樣週期等。在獲取電源位址和gpib位址後,就可用visa函式對儀表進行操作:
//包含標頭檔案:
#include "visa.h"
#include "visatype.h"
resource file中新增visa32.lib
//定義三個全域性變數,接收儀表handle
static visession test_handle;
static visession default_handle;
static visession agilent_handle;
int initdcsource(int gpibadd,int instrumnetadd)
sprintf (temp, "gpib%d::%d::0::instr",gpibadd,instrumnetadd);
if (viopen (default_handle, temp, vi_null, vi_null, &test_handle) != 0)
visetattribute(test_handle, vi_attr_tmo_value, 20000); //必須足夠長
viprintf (test_handle,"*rst/n");
viqueryf (test_handle, "*idn?/n","%100c", temp);
return 1;
}//設定電壓、電流
int set_agilent_dc_source_instrument(int handle,double voltage,double current_lim)
//讀取電流
double read_agilent_current(int mode)
if(vistatus!=vi_success) return -1;
else return currentvalue;
}//設定輸出使能
int set_agilent_out_put_status(int status)
吉時利電源的**如下:
static visession keithley_handle;
int init_keithley_dc_source(int handle)
int init_keithley_dc_source_instrument(int handle,double voltage,double current_lim)
double read_keithley_current()
int set_keithley_out_put_status(int status)
else if(status==0) viprintf (keithley_handle,"outp1 off/n");
else return -1;
}
瓦力視覺控制程式
上位機是採用了aforge.net framework 2.2.3和ez b sdk windows v2011.11.09.00的結合。aforge真的很強大,不過沒有涉及到控制這塊,ezb就有現成的參考,但ezb沒有提供核心部分的 而它只支援本地攝像頭,所以我只能反編譯獲取需要的 移植到afor...
瓦力視覺控制程式
2012 01 30 上位機是採用了aforge.net framework 2.2.3和ez b sdk windows v2011.11.09.00的結合。aforge真的很強大,不過沒有涉及到控制這塊,ezb就有現成的參考,但ezb沒有提供核心部分的 而它只支援本地攝像頭,所以我只能反編譯獲取...
Access使用巨集控制程式
巨集是指乙個或多個www.cppcns.com操作的集合,其中每個操作實現特定的功能,例如開啟某個窗體或列印某個報表。巨集可以使某些普通的任務自動完成。例如,可設定某個巨集,在使用者單擊某個命令程式設計客棧按鈕cvpbmstdwj時執行該巨集,以開啟某個窗體程式設計客棧。巨集可以是包含操作序列的乙個...