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;
}