Visual C++ 2005 サンプルプログラム
    下記サンプルプログラムはプロジェクトのライブラリにvisa32.libを追加してビルドしてください
 
    設定と問い合わせのサンプルプログラム(USB)


#include "stdio.h" #include "string.h" #include "visatype.h" #include "visa.h" // ファンクションジェネレータの製造番号 #define serial "0123456" int main() { ViSession defaultRm, instr; // VISAのResourceManagerオブジェクトを作成 ViStatus status = viOpenDefaultRM(&defaultRm); if (status < VI_SUCCESS) { // 初期化エラー return -1; } ViChar rsc[256]; // USB // WF1973の場合、"USB0::0x0D4A::0x000D::%s::INSTR" としてください // WF1974の場合、"USB0::0x0D4A::0x000E::%s::INSTR" としてください sprintf(rsc, "USB0::0x0D4A::0x000D::%s::INSTR", serial); ViAccessMode accessMode = VI_NO_LOCK; ViUInt32 timeout = 0; // デバイスを開く viOpen(defaultRm, rsc, accessMode, timeout, &instr); ViUInt32 count; // 周波数を5.0kHzに設定し、その値を問い合わせる ViBuf buf = (ViBuf)":SOUR1:FREQ 5000;:SOUR1:FREQ?\n"; viWrite(instr, buf, (ViUInt32)strlen((ViPChar)buf), &count); ViChar result[257]; viRead(instr, (ViPBuf)result, 256, &count); result[count] = 0; printf("result=[%s]\n", result); // デバイスを閉じる viClose(instr); viClose(defaultRm); return 0; }

設定と問い合わせサンプルプログラム(GPIB)

#include "stdio.h" #include "string.h" #include "math.h" #include "visatype.h" #include "visa.h" int main() { ViSession defaultRm, instr; // VISAのResourceManagerオブジェクトを作成 ViStatus status = viOpenDefaultRM(&defaultRm); if (status < VI_SUCCESS) { // 初期化エラー return -1; } ViChar rsc[256]; // (GPIB address:2) strcpy(rsc, "GPIB0::2::INSTR"); ViAccessMode accessMode = VI_NO_LOCK; ViUInt32 timeout = 0; // デバイスを開く viOpen(defaultRm, rsc, accessMode, timeout, &instr); ViUInt32 count; // オフセット 0.0V、振幅 20.0Vp-p、出力 オンを設定し、振幅の値を問い合わせる ViBuf buf = (ViBuf)":SOUR1:VOLT:OFFS 0V;:SOUR1:VOLT 20VPP;OUTP1 1;:SOUR1:VOLT?\n"; viWrite(instr, buf_rst, (ViUInt32)strlen((ViPChar)buf), &count); result[count] = 0; printf("result=[%s]\n", result); // デバイスを閉じる viClose(instr); viClose(defaultRm); return 0; }