程式控制電源的控制程式開發總結

2021-05-22 17:04:59 字數 2037 閱讀 4229

自動化技術得到飛躍發展的今天,測試中各種儀表也都支援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時執行該巨集,以開啟某個窗體程式設計客棧。巨集可以是包含操作序列的乙個...