●ソフトウェアの差異・バージョンアップ内容
ADiox2-API
MultifunctionI/O Xシリーズから、MultifunctionI/O X2シリーズへの進化はハードウェア以上に、
ソフトウェアの割合が多いといえるほど、ドラスティックな変革を成し遂げています。
構造体アクセスは全てポインタ型(参照型)になりました。またshort型,unsigned short型(WORD型)のメンバ変数、引数はなくなりました。これによりVisualBasicとの親和性が大幅に改善しVisualBasic用ラッパーDLLであるADIOX_VB_Rapper.dllは必要なくなったのでなくなりました。
またVisualBasic用の関数定義とVisualC++/ VisualC#用関数定義の差異が殆どなくなりました。
bADioxLoad_EX3、bADioxStore_EX3に、ADXU85のリングバッファサイズの設定が組み込まれました。bADioxRingBufferModeの使用頻度が軽減します。
bADioxDmaReadEX2、bADioxReadScpBufの戻り値で停止トリガの検出が確認できます。またbADioxSetupSymmetryEngine2
で記録波形ファイルの設定をしておくと、この関数内部で自動的にファイル保存を行います。
bADioxReadScpBuf2でbADioxDmaReadEX2同等のlpdwBuffa(リングバッファデータ)を取り出せるので、
bADioxReadScpBuf2使用時にはbADioxDmaReadEX2を使わなくても良くなりました。
bADioxWriteMemoryEXの戻り値で再生ファイルの終了が確認できます。
またbADioxSetupSymmetryEngine2で再生ファイルの設定をしておくと、この関数内部で自動的にファイル再生を行います。
bADioxStopPoint2で停止状態だけでなく、各種ステ−タスを取り出すことが出来、リングバッファ割り込み駆動ではbADioxStatus2を呼ばなくてもよくなりました。
bADioxSetupSymmetryEngine2で記録波形ファイル、再生ファイルの設定ができるようになりました。
またTXBUFSETUP2構造体に、トリガバッファ関連の設定であるアナログデジタル出力のリングバッファ経由設定、
シーケンシャル取り込み設定、カウンタ値のリングバッファ接続、トリガイネーブルが追加されたため、トリガバッファ関連のコーディングが大幅に整理されました。逆にbADioxAnalogConfigration2の構造体
IOGEOSETUP2からはシーケンシャル取り込み設定がなくなりました。
また、bADioxCounterBufはbADioxSetupSymmetryEngine2に統合されたことになり、削除されました。
bADioxADIO2ではアナログデジタル入出力のポーリングだけでなく、電圧値(double型)の変換結果、エンコーダカウンタや周波数カウンタ、ボード温度のポーリングも可能になりました。
ADXU14でもbADioxADIO2による同時サンプルポーリングが可能になりADXU14専用のポーリング関数はなくなりました。以上により、bADioxLiveCounter、bADioxTempGet、bADioxADIO_F1、bADioxADIO_F2、
dADioxAItoVoltは削除されました。
以下の機種依存の関数が削除されました。。
bADioxAdoExtention
wADioxWriteComplex
bADioxADIO_F3
bADioxADIO_F4
bADioxScp85start
bADioxScp85end
bADioxTerm85SH
中途半端で使用頻度の少ない以下の関数以下がなくなりました。
dwADioxGetChannelAssignBit
bADioxADO_PID
bADioxDO_Channel
bADioxChannelAI
bADioxArrayInit
bADioxWriteIp
bADioxReadIp
bADioxFft_open
bADioxFft_clos
以下のシングルリモートI/O用のロガー関数は廃止され、マルチリモートI/O用のロガー関数のみになりました。
vADioxBuffa_RecordCSV_Mode
bADioxBuffa_RecordCSV_Init
iADioxSpaceCheck
vADioxLoggerChName
bADioxBuffa_RecordCSV_action
bADioxBuffa_RecordCSV_close
bADioxBuffa_RecordCSV_LastSize、
以下のシングルリモートI/O用のトレンド関数は廃止され、マルチリモートI/O用のトレンド関数のみになりました。
bADioxInitializeGraphicBuffer
bADioxWriteGraphicBuffer
bADioxReadGraphicBuffer
bADioxReadGraphicBufferAuto
bADioxGetBufferDepth
bADioxReadGraphicData
bADioxOpenTrendLog
bADioxExitGraphicBuffer
bADioxReadTrendLog
bADioxCloseTrendLog
以下の画面描画アシスト関数が追加され、拡大縮小ポジション移動可能なフレキシブルな波形表示、FFT表示が簡単にできるようになりました。機種、入力レンジなどの影響も自動的に計算されるので、コードはシンプルになります。
vADioxInitializeViewArea 波形・FFT描画アシスト初期化
bADioxGenerateViewAreaAI アナログ波形・FFT波形ビュアの作成
bADioxGenerateViewAreaDI デジタル波形ビュアの作成
dwADioxGetBufferStartAddress 波形スクロールのヘルパ
dADioxGetGridText グリッド指示値を得る(垂直スクロ−ル・拡大に対応)
以下の波形生成アシスト関数が追加され、任意の周波数、オフセット、ゲインで様々な波形を作成できます。
bADioxWaveInit 波形ジェネレータの初期化
bADioxWaveGenerate 波形生成
以下のヘルパ関数が追加されました。
dADiox_Measurement_Fs_detection サンプリング周波数を計測する
dADioxAdxFullScall 現在のアナログ入力フルスケール電圧を返す
bADioxAdxMaxCH,bADioxAdxMaxCH2 現在のアナログ入力のチャンネル数を返す
dADioxAdxTriggerPosition 現在のアナログトリガレベル(%)に対する電圧を返す
bADX14input_type ADXU14がユニポーラ仕様かバイポーラ仕様かを返す
bADioxChangeScaller ADXU運用中のスケーリング変更
bADioxDefaulInitはDLLに内蔵されました。
ドキュメントからシグナルコンディション、リモートI/Oなど機種依存の項目、MFC簡単化関数、機能別API検索はなくなり可読性が向上しています。ドキュメントの各章がAPIの機能別に分類されているので、機能別API検索は必要ないのです。
最大8chの同時サンプルA/D、最大8chの同時サンプルD/Aに対応するなど、拡張性の高い設計です。
サンプルソース
APIが整理、統合されたため、サンプルの数も減り、サンプルソースの内容も簡単になりました。サンプルソースはVisualC++とVisualC#でそれぞれ、ポーリング割り込み、リングバッファ割り込みの2パターン。VisualBASICでポーリングの合計5つのみになり、APIのマスターが簡単になります。各サンプルは一つのコードでADXU14-80M-PCIEX、ADXU85-1M-PCI(EX)、ADXU42-1K-Ethernetに対応するため、機種ごとに分かれたサンプルソースもなくなりました。サンプルソース自体も中身がシンプルになり、解説からもVisualC++やVisualBASICの使用方法などが削除され、ADiox2-APIについての解説に集中しています。これによりドキュメントの可読性が向上しました。
Console2.exe
新ハードウェア機能への対応。
機種間の差異に相当する指示値が動的に変わる。
アナログトリガレベルが%から電圧に変更される。
デジタルトリガのビット設定が、専用のダイアログボックスでビット単位で設定できる。
シーケンシャル取り込みの項目がトリガバッファ設定に移動するなど設定ダイアログが整理される。
機種依存のダイアログ(高速MFIO、Term85SCP、同時S/H)の削除。
波形生成機能の大幅な機能アップ(周波数設定、2CHの独立設定、コサイン/Exp/Sqrtの追加)
リングバッファ稼動中の水平スクロールが可能になった。
FFTのポイント数が倍に精鋭化された。
ADiox2-API対応。
機能がアップしていながらソースコードサイズは34%(1900行程度)もコンパクト化されたソースコード
オープンソース。
CSV_Convert.exe
新しいConsole2の波形ファイルに対応。
1シートあたりの行数は30000固定で、設定項目がなくなりました。
単純にファイルを読み込んで変換ボタンを押すだけ。
double型波形データ、WORD型波形データによる個別処理を廃止。
WAVE変換機能を削除。
新ハードウェアではシーケンシャル取り込みで、リングバッファ先頭がチャンネル0に正規化されるので処理が大幅に簡素化され、ソースコードが約1/3に削減。
multilogger.exe
表面上の基本的な操作性、表示内容、機能などに変更はなし。
ADiox2-APIに対応。 |