MDF3/MDF4ファイルにアクセスするための高機能な関数ライブラリ
MDF4 LibはMDFファイルの検証、ソート、読込み、書込みを可能にする、高機能で使いやすい関数ライブラリです。MDF4 Libにより、MDFファイルに含まれるシグナルデータや追加情報にMDFのバージョンを問わずアクセスできる、便利なインターフェイスが提供されます。このライブラリは以前からの形式であるMDF3だけでなく、ASAM標準規格のMDF4をサポートしています。また、MDF4 LibはWindowsのC++、Python、.NETに対応するほか、Linuxもサポートしています。

特長
- MDFファイルの作成*、検証**、ソート、読込み用の使いやすい関数ライブラリ
- バージョンに関係なくMDF3/MDF4形式にアクセス可能
- 複数のMDFファイルを素早く、メモリを最適化した状態で開くことが可能
- ソートしたファイルのシグナルデータを効率よく読込み
- オフライン使用時にMDFオブジェクトをシンプルに生成し、シグナルデータの書込みも可能*
- MDFのさまざまな追加情報へ簡単にアクセス
- ベクターのツールやデータロガーからシームレスなデータ転送が可能。MDFを出力として、あるいはエクスポート形式で提供
- 実績あるテスト済みの標準コンポーネントを使用しているため、トレーニングや開発、テスト、保守に要する労力が低減
*「書込みオプション」が必要
**現在はWindowsでのみ使用可能
バージョン1.8の主な特長
- 新しいASAM MDF 4.2形式のファイルの読込みと検証が可能。特に、新しいカラム指向ストレージに対応
- 配列をメンバーとするネストした構造体を、任意の深さで作成することも可能(キーワード: 「Arrays of Structures」)
- バージョン19.0以降のCANapeで作成した、まだファイナライズしていないMDFファイルを、MDF4 Libでファイナライズすることも可能
- チャネルグループのシグナルデータを簡単にリセットし、データを上書きして編集やサンプル追加を行うことが可能
- 新しいMDF 4.2機能を使用することにより、特に圧縮されたシグナルデータに対する「Seekメソッド」のパフォーマンスが向上
- MDFファイルのファイナライズおよびソート機能がLinuxに対応
- 新しいインターフェイスにより、.NET CoreアプリケーションでのMDF4 Libの使用が可能(Windows版のみ)
機能
- 一元的なファイルマネージャーオブジェクトから複数のMDFファイルを同時に開いたり、作成*したりすることができます。ファイル内のエレメントとデータには、オブジェクト(Python、.NET)またはインターフェイスポインター(C++)を使用し、それらのプロパティおよびメソッドを通じてアクセスします。こうすることでMDFのバージョンに関係なくMDFファイルを評価でき、コード内での大文字/小文字の区別も不要になります
- シグナル値に素早くアクセスするため、MDFファイルを開く前にソートすることができます。書込み時*には常にソート済みのファイルが生成されます。一度に書き込まれる測定グリッドは1つのみです(オフライン使用時)
- アーカイブシステムにインポートする前などに、MDFファイルのフォーマットエラーを簡単に検証またはチェックできます
- インターフェイス(API)がオブジェクト指向で階層構造を持つことから、利用可能な機能を迅速に取得し、直観的に使用できます
- 広範なオンラインヘルプや文書化されたソースコード付きのサンプルプロジェクトが提供されているので、MDF形式に関する深い知識がなくても素早く習得することが可能です。Microsoft Visual Studioなどの最新の開発環境に搭載されているインテリセンス機能も、迅速で簡単なコーディングを支援します
- 「オンデマンド」によるオブジェクトの作成、および「参照カウント」による管理によって、リソースを節約しながら効率のよい実装を実現します。C++ではリソースリークを防ぐために、提供されている「スマートポインター」クラスを使用して、オブジェクトの明示的な共有を省略できます。また、これによってコードのサイズや複雑性が減り、一般的に保全性と可読性の向上に役立ちます
- ライブラリコールはすべてスレッドセーフです。オプションでマルチスレッドを使用する場合は、さらなる最適化を行うこともできます。これによって、独立したスレッドで個別のMDFファイルの評価を行うなど、タスクの並行処理が可能になります
- エラー診断に関しては、ロギングオプションを使い、エラーおよび警告メッセージのほか、必要に応じてすべてのライブラリコールをファイルに記録することができます。その他に、コールバックを使用してメッセージを記録し、ユーザーが独自に評価や表示などを行うことができます
バリアント
MDF4 Libの基本バージョンは、別売りの「書込みオプション」によって拡張できます。これによって読込みだけでなくMDFファイルの作成も可能になります。あらゆるMDFバージョンに対応した読込み/書込みが可能ですが、旧バージョンのMDFファイルの書込みでは、フォーマットの問題で一部の機能が使用できません。また、MDF4 Libは現在、ソートされたMDFファイル(オフライン使用時)の書込みのみに対応しています。WindowsではMDF4 Libは32ビットと64ビットの両方のコンポーネントとして提供されています。UnicodeおよびMBCS(マルチバイト文字セット)のバリアントも用意されています。LinuxではUTF-8文字列をサポートする64ビットのコンポーネントのみが提供されています。
関連情報
Windowsのシステム要件:
- C++インターフェイス: Microsoft Visual C++バージョン6.0以上
- .NETインターフェイス: Microsoft .NET 4.0フレームワーク以上および対応する.NET言語(Microsoft Visual C#など)
- .NET Coreインターフェイス: Microsoft .NET Core 3.1以上および対応する.NET言語(Microsoft Visual C#など)
- Pythonインターフェイス: Python 3.4以上およびPythonのバージョンに対応するバージョンのNumPy
- Windows 10/8.1/8/7
- MDF4のXML機能を使用する場合は、さらにMicrosoft MSXML Parser V6が必要
Linuxのシステム要件:
- C++インターフェイス: Gnu Compiler GCC C/C++バージョン4.8.3以上
- x86_64アーキテクチャを使用するLinuxシステム
- 必要なシステムライブラリ:libc6、libstdc++6、libpthread、libdl
- MDF4のXML機能を使用する場合は、XML Parser libxml2も必要