ここから本文です
製品一覧
DADiSP
FAQ
ベーシック
- DADiSPには、何種類の機能がありますか?
- 自分で関数を作ることはできますか?
- DADiSPは、どの様な精度で計算を行いますか?
- DADiSPは、数値テーブルを処理できますか?
- DADiSPでマトリックス処理はできますか?
- DADiSPは、どのくらい早さでFFTを処理できますか?
- FFTを行うとき、DADiSPは“Mixed FFT Algorithm, Loop/N(for k).”というメッセージを表示します。 これはどの様な意味ですか?
- DADiSPでデジタルフィルタ処理は、できますか?
- 時系列の圧力と温度のデータがあります。このとき、温度に対する圧力の導関数を求められますか?
- DADiSPは、X-Yプロットを描くことができますか?
- DADiSPは、上記の他にどの様なプロットやイメージを表示できますか?
- 一つのウィンドウで複数のカーブを表示できますか?
- なぜカーソルが時々、ウィンドウのシリーズ間を移動するのですか?
- DADiSPは、どのようなプロッタやプリンターが使えますか?
カスタマイズ
- 既に作成されたログラムをどのようにして組み込むことができますか?
- DADiSPを自動ないしバッチモードで実行することができますか?
- ActiveXまたは、DDE(Dynamic Date Exchange)は使えますか?
- カスタムツールバーで各セッションをどのようにスタートさせることができますか?
- SPLの特長は何ですか?
- スタートアップの時に、どの様にSPLを使ったルーチンとDADiSPマクロをロードしますか?
- どの様にしてコマンドファイルからプルダウンメニューを起動しますか?データ収集とインポート
- 外部データをどの様にDADiSPに取り込みますか?
- DADiSPは、データ収集システムからデータを取り込めますか?
- どの様にして複数のファイルをバッチ処理にてインポートできますか?
- DADiSPは、実験機器と直接接続できますか?
動作環境
技術サポート
[Q-01] DADiSPは、何と読むのですか?
[Q-02] DADiSPとは、何ですか?
[Q-03] スプレッドシートとは、何ですか?
[Q-04] DADiSPは、スプレッドシートですか?
DADiSPでは、複数のウィンドウからなる各作業領域をワークシートと呼びます。
[Q-05] DADiSPのワークシートは、幾つのウィンドウを持つことができますか?
[Q-06] データシリーズは、どのくらいの長さまで取り扱えますか?
[Q-07] DADiSPは、オブジェクト指向ですか?
DADiSPのSPL機能とマクロは同様な動作をします。以下に例を示します。
two(a,b)
{
return(a*b)
}
[Q-08] DADiSPには、何種類の関数がありますか?
[Q-09] 自分で関数を作ることはできますか?
[Q-10] DADiSPは、どの様な精度で計算を行いますか?
[Q-11] DADiSPは、数値テーブルを処理できますか?
[Q-12] DADiSPでマトリックス処理はできますか?
[Q-13] DADiSPは、どのくらい早さでFFTを処理できますか?
131,072点の複素数FFTを1.2秒以下で計算し表示できました。FFTは、倍精度、浮動小数点で計算されました。
[Q-14] FFTを行うとき、DADiSPは“Mixed FFT Algorithm, Loop/N(for k)”というメッセージを表示します。これはどの様な意味ですか
DADiSPの関数、FACTORSは、シリーズのエレメントが、入力のファクターである、つまり、FACTORS(length(W1))であるシリーズを返します。FACTORSシリーズの長さは、ループの合計の数、Nを与えます。FACTORSシリーズの中の個々のエレメントは、各ループ、nに対する点数、k を与えます。
以下に例を示します。
W1: grand(3055,.01)
W2: factors(length(W1);tableview
W3: fft(W1)
Mixed FFT Algorithm Loop 1/3 (for 47)
Mixed FFT Algorithm Loop 2/3 (for 13)
Mixed FFT Algorithm Loop 3/3 (for 5)
[Q-15] DADiSPでデジタルフィルタ処理は、できますか?
[Q-16] 時系列の圧力と温度のデータがあります。このとき、温度に対する圧力の導関数を求められますか?
deriv(Press)
これは、d(圧力)/d(時間)を返します。d(圧力)/d(温度)を得るためには、単純にXYプロットをつくり、そしてDERIV機能を使います。deriv(XY(Temp,Press))
DADiSP/2002以前のバージョンでは、XYデータを、XYINTERP関数を使いインターバルシリーズに変える必要があります。deriv(xyinterp(xy(Temp, Press)))
これにより、温度に対する圧力の導関数が返されます。[Q-17] DADiSPは、X-Yプロットを描くことができますか?
さらに、解析処理をX-Yフォーマット データ上で行うことや、X-Yデータをインターバル データに変換することもできます。
[Q-18] DADiSPは、上記の他にどの様なプロットやイメージを表示できますか?
[Q-19] 一つのウィンドウで複数のカーブを表示できますか?
[Q-20] なぜカーソルが時々、ウィンドウのシリーズ間を移動するのですか?
カーソルメモリー機能をOFFにするには、View-Cursor-Settingsプルダウンメニューを使い、“Cursor Returns to Last Position”のチェックをはずします。あるいは、その替わりに、SETCONF機能を使ってコンフィグレーションパラメータ、CURSOR1_MEMORYとCURSOR2_MEMORYを0に設定することでも可能です。例えば、SENTCONF(“CURSOR1/MEMORY”,”0”)のようにします。これで、カーソルがONになっていても最後にカーソルがあった場所とは関係なく、現在のビューウィンドウにカーソルが現れるようになります。ただし、コールCURPOSは、常に最後にカーソルがあった場所を返してきます。
[Q-21] DADiSPは、どのようなプロッタやプリンターが使えますか?
DADiSPは、HPGLとポストスクリプト(Encapsulated Postscript)出力フォーマットをサポートしています。DADiSPのプロッタ ドライバーは、HPGLとポストスクリプト ファイルを出力できるので、高品質のプレゼンテーション用出力やDTPソフトへのプロットデータのエキスポートも可能です。さらに、DADiSPは、メタファイル(Enhanced Metafile)やビットマップ(Device Independent Bitmaps)もサポートしています。
[Q-22] 既に作成されたログラムをどのようにして組み込むことができますか?
パイプラインプログラムは、様々な言語で書くことができます。
[Q-23] DADiSPを自動ないしバッチモードで実行することができますか?
[Q-24] ActiveXまたは、DDEは使えますか?
Sub DSPTest()
Dim DADiSP As Object
Dim VBData(1000) As Double
''' Create VB Data Array
For i = 0 To 999
VBData(i) = Rnd()
Next i
''' Connect to DADiSP
Set DADiSP = CreateObject("DADiSP.Application")
''' Create a 2 Window Worksheet (unconditional)
p = DADiSP.Execute("NewWorksheet(2, 0)")
''' Put Array to DADiSP
p = DADiSP.PutData("W1", VBData)
''' Label W1
p = DADiSP.Execute("Label('Data from Visual Basic')")
''' Moveto W2
p = DADiSP.Execute("Moveto(W2)")
''' Calculate Power Spectrum
p = DADiSP.Execute("PSD(Hamming(W1))")
''' Add Y Log and Grids
p = DADiSP.Execute("SetyLog(1);GridSol;GridHV")
''' Show DADiSP
DADiSP.Visible = 1
''' Get PSD from DADiSP
newdata = DADiSP.GetData("W2")
End Sub下記にDADiSPワークシートをWordにコピーするSPLルーチンを示します。
/* demonstrates ActiveX calls from DADiSP to MS Word */
local word, doc;
// new 2 Window worksheet
if (newworksheet(2) == 0) return;
/*
** generate noisy sine in W1, set units to Volts and
** add a nice label
*/
gnorm(1000,.01) * 0.1 + gsin(1000,.01);Setvunits("V");
label("Noisy Sinewave";
// moveto W2 and calculate the PSD and set log scales
moveto(w2);setxlog(1);setylog(1);
psd(w1);
// copy worksheet into clipboard
copyworksheet();
// start Word
word = CreateObject("Word.Application");
// get "Document" object
doc = word.Documents;
// Add a new Document and get range object
range = doc.Add().Range();
/* paste worksheet as Enhanced Metafile */
word.Selection.PasteSpecial(0, 0, 0, 0, 9);
// let's see it!
word.Visible = 1;
}
DADISPは、ユーザー定義のダイアログボックスに、業者の特別なデータ収集インターフェースのようなActiveXコントロールを含めることもできます。これらのコントロールによって、アプリケーション特有のワークシートを簡単に作ることができます。
DDEは、複数のアプリケーション間でデータを交換するのに有効な方法です。DADiSPは、DDEクライアントとしてもDDEサーバとしても作動します。コマンドの実行と同じようにデータをマニュアル、あるいは自動で送ったり、戻したりするのにDDEが使えます。
[Q-25] カスタムツールバーで各セッションをどのようにスタートさせることができますか?
splmain()
{
toolbar(1,8,4,red,"Rnd","grand(100,.01)");
}
[Q-26] SPLの特長は何ですか?
経験をつんだプログラマー、特にC/C++言語よく知っている方は、SPLの習得に問題は有りません。初心者の方は、オンラインヘルプメニューのDADiSP Worksheet Developer’s Guide にある例題を使って簡単に習得できます。SPL機能をプログラミングするのにASCIIテキストエディターか、DADiSPのSPLエディット環境が使えます。エディット環境は、ツール プルダウンメニューからSPL/New SPL Fileを選択することで使えます。
[Q-27] スタートアップの時に、どの様にSPLを使ったルーチンとDADiSPマクロをロードしますか?
#include "myfuncs.spl"
[Q-28] どの様にしてコマンドファイルからプルダウンメニューを起動しますか?
[Q-29] 外部データをどの様にDADiSPに取り込みますか?
また、DADiSPは、サンプリング レート、工業単位、コメント等のパラメータを指定するめのデータを含むテキストヘッダーを作ることができます。分析結果から作られたファイルを保存し、サポートされているフォーマットのいずれかで外部データファイルにエキスポートすることができます。このインポート、エキスポート機能によって、DADiSPの強力な解析環境は、データ収集システム、プロセス制御システム、回路設計、CAD等と結合されます。
さらに、DADiSPは、スタンドアロン インポート ユーティリティであるDADiMPを提供しています。このユーティリティによって、データを自動的にDADiSPデータベースにインポートし、またデータを直接ワークシートにカット アンド ペーストすることができます。Active X とDDE(Dynamic Date Exchange)も使うことができます。
[Q-30] DADiSPは、データ収集システムからデータを取り込めますか?
[Q-31] どの様にして複数のファイルをバッチ処理にてインポートできますか?
1.DADiSPを起動せずに複数のファイルをインポートするには、オプション モジュールのDADiMPが使えます。インポートするデータとヘッダーをコマンドライン変数で指定するDADiMPへ連続コールするためのバッチファイルを作ります。バッチファイルを起動させるとデータは指定されたラボブックにインポートされます。
2.バッチ処理で複数のファイルをDADiSPにインポートするには、IMPORTFILE機能を使ったSPLルーチンを作ります。ヘッダーとデータファイルは、変数として指定されます。
例1: MyImport()
{
importfile("data1.dat","header1.hed");
importfile("data2.dat","header2.hed");
}
* IMPDIR(dirx)
* dirx - The directory that contains the data in
* quotes, e.g., impdir("c:¥data")
*
* IMPDIR imports all the data files found in the
* specified directory. This function assumes that
* the header information is contained within the
* file itself. If the file does not contain a
* header it will not be imported. IMPDIR uses the
* RUN command to produce a temporary file (
* Data.fil) that contains the name of each data
* file in the specified directory. The while
* loop tests for the end of the file and is used
* read the data filenames, and import the current
* data file.
*/
impdir(dirx)
{
eval(strcat("Run('dir ",dirx,"¥*.* /o/b > ",
dirx,"¥data.fil',-1)"));
fcloseall();
fopen(strcat(dirx,"¥data.fil"),'r+');
fseek(strcat(dirx,"¥data.fil"),0,2);
endbyt = ftell(strcat(dirx,"¥data.fil"));
fclose(strcat(dirx,"¥data.fil"));
fopen(strcat(dirx,"¥data.fil"),"r");
bytnow = ftell(strcat(dirx,"¥data.fil"));
while (bytnow < endbyt) {
filenm = strget(1,fgets(strcat(dirx,"¥data.fil")),
strchar(10));
bytnow = ftell(strcat(dirx,"¥data.fil"));
eval(strcat("importfile('",dirx,"¥",filenm,"')"));
}
fcloseall();
eval(strcat("Run('del ",dirx,"¥data.fil',-1)"));
return();
}
[Q-32] DADiSPは、実験機器と直接接続できますか?
[Q-33] DADiSPのPCでの動作環境は、どのようなものですか?
しかし、DADiSPをより効果的にご使用頂くためには、可能な限り高速なプロセッサーと大容量メモリーを持つPCを使用されることを推奨します。なお、DADiSPソフトウェアーの提供メディアは、CD-ROMです。
[Q-34] 初期導入時の技術サポートは、どのようになっていますか?