LabWindows/CVI で作成した DLL を TestStand からコールする方法

LabWindows/CVI で作成した DLL を TestStand からコールする方法
このドキュメントでは LabWindows/CVI を使用した、計測器制御(GPIB)とアナログ電
圧収録(DAQ)を行う簡単なコードを紹介します。更にそのコードをビルドして DLL を作
成し、TestStand からコールするための方法を紹介します。
cvi_dll.c コード
//////////////////////////////////////////
#include "stdtst.h"
#include "tsutil.h"
#include <gpib.h>
#include <NIDAQmx.h>
//////////////////////////////////////////
void __declspec(dllexport) __stdcall simple_GPIB(long *gpib_address,
char gpib_command[1024], char gpib_measurement[100])
{
int Dev1 = 0;
//
Dev1 = ibdev (0, 26, NO_SAD, T10s, 1, 0);
Dev1 = ibdev (0, *gpib_address, NO_SAD, T10s, 1, 0);
//
ibwrt (Dev1, "*IDN?", strlen("*IDN?"));
ibwrt (Dev1, gpib_command, strlen(gpib_command));
ibrd (Dev1, gpib_measurement, 100);
ibonl (Dev1, 1);
}
//////////////////////////////////////////
void __declspec(dllexport) __stdcall simple_DAQ(char daq_channel[100],
double *daq_measurement)
{
TaskHandle task=0;
DAQmxCreateTask ("", &task);
//
//
DAQmxCreateAIVoltageChan (task, "Dev1/ai0", "", DAQmx_Val_Cfg_Default,
-10.0, 10.0, DAQmx_Val_Volts, "");
DAQmxCreateAIVoltageChan (task, daq_channel, "", DAQmx_Val_Cfg_Default,
-10.0, 10.0, DAQmx_Val_Volts, "");
DAQmxReadAnalogScalarF64 (task, 10.0, daq_measurement, 0);
DAQmxClearTask (task);
}
LabWindows/CVI プロジェクトウィンドウ
DLL ファイルをビルドするための設定
TestStand シーケンスファイル メインステップウィンドウ
TestStand シーケンスファイル ローカル変数ウィンドウ
計測器制御(GPIB)ステップ
アナログ電圧収録(DAQ)ステップ