MicroPeckerX CAN FDアプリケーション開発ライブラリ for Windows《S810-MX-ADL1N》
MicroPeckerX CAN FDアプリケーション開発ライブラリ for Windowsとは
Windows環境での高精度CAN/CAN FD通信制御
MicroPeckerX CAN FDアプリケーション開発ライブラリ for Windowsは、MicroPeckerX CAN FDアナライザを制御して、CAN通信またはCAN FD通信を用いたWindowsアプリケーションを簡単に開発できる制御API群です。ユーザー作成のアプリケーションに組み込むことで、高精度なタイミング制御と最大5MbpsのCAN FD通信を実現します。
MicroPeckerX CAN FDアプリケーション開発ライブラリは、専用ページから無償でダウンロード可能です。
開発現場のニーズに対応
MicroPeckerX CAN FDアプリケーション開発ライブラリは以下のご要望にお応えします。
- PCアプリケーションでCAN/CAN FD通信を制御してターゲットの評価ツールを開発したい
- PCアプリケーションからのCAN/CAN FD通信評価を自動化したい
- CAN/CAN FD通信リプログ、ダイアグソフトを開発しているが、評価用のツールがない
- Visual Studioなど既存の開発環境を活用したい
- Excel VBAで簡易的な評価ツールを作成したい
ユーザーが自由にCAN FD通信またはCAN通信を使ったツールを開発したい、というご要望をMicroPeckerX CAN FDアプリケーション開発ライブラリが実現します。
高精度タイミング制御の実現
MicroPeckerX CAN FDアプリケーション開発ライブラリの最大の特徴は、独自のタイミング制御機構による高精度な送信制御です。
精密なタイミング制御
- 0.1ms単位での送信タイミング指定
- 周期送信のジッタ最小化
- 2chチャンネル同期制御
リアルタイム性の保証
- Windows環境でも安定した周期送信
- OS負荷に影響されにくい設計
- 優先度制御による確実な送信
主要機能
豊富な開発言語サポート
MicroPeckerX CAN FDアプリケーション開発ライブラリ for Windowsは、多様な開発環境に対応しています。
C/C++開発
#include "MPXCANFDCtrlFree.h"
// デバイス初期化
StMPXDeviceInfo devices[4];
unsigned char count;
ER ret = MPXOpen(devices, &count);
// CAN FD通信パラメータ設定
StMPXCANParam param;
param.EnableTerminate = MPX_CAN_TERMINATE_ENABLE; // 終端抵抗有効
param.Mode = MPX_MODE_CAN_SIM; // シミュレーションモード
param.ArbitrationBaudrate = MPX_CAN_PARAM_ABR_500K; // 500kbps
param.ArbitrationSamplepoint = MPX_CAN_PARAM_SP_80P; // 80%
param.DataBaudrate = MPX_CAN_PARAM_DBR_2M; // 2Mbps
param.DataSamplepoint = MPX_CAN_PARAM_SP_80P; // 80%
MPXSetCANParam(devices[0].Serial, 1, ¶m);
// モニタリング開始
MPXMonitorStart(devices[0].Serial, MPX_SYNC_MASTER);
// ダイレクト送信
StMPXCANDirect directFrame;
directFrame.FrameType.Option.Protocol = MPX_CAN_PROTOCOL_CANFD;
directFrame.FrameType.Option.BRS = MPX_CAN_BRS_ENABLE;
directFrame.Frame.ID.ID = 0x123;
directFrame.Frame.ID.IDE = MPX_CAN_IDE_STD;
directFrame.Frame.ID.RTR = MPX_CAN_RTR_DATA;
directFrame.Frame.DL = 64; // CAN FD 64バイト
MPXDirectSend(devices[0].Serial, 1, &directFrame);
// ログ取得
StMPXCANLog* pLog;
unsigned short count;
unsigned char bufferOver;
MPXGetLog(devices[0].Serial, 1, &pLog, &count, &bufferOver);
C#/.NET開発
using MPXCANFDCtrldotNET40Free;
// デバイス初期化
StMPXDeviceInfo[] devices = new StMPXDeviceInfo[4];
byte count;
int ret = MPXCANFDCtrl.MPXOpen(ref devices[0], ref count);
// パラメータ設定
StMPXCANParam param = new StMPXCANParam();
param.EnableTerminate = MPXCANFDCtrl.MPX_CAN_TERMINATE_ENABLE;
param.Mode = MPXCANFDCtrl.MPX_MODE_CAN_SIM;
param.ArbitrationBaudrate = MPXCANFDCtrl.MPX_CAN_PARAM_ABR_500K;
param.ArbitrationSamplepoint = MPXCANFDCtrl.MPX_CAN_PARAM_SP_80P;
param.DataBaudrate = MPXCANFDCtrl.MPX_CAN_PARAM_DBR_2M;
param.DataSamplepoint = MPXCANFDCtrl.MPX_CAN_PARAM_SP_80P;
MPXCANFDCtrl.MPXSetCANParam(devices[0].Serial, 1, ref param);
// モニタリング開始
MPXCANFDCtrl.MPXMonitorStart(devices[0].Serial, MPXCANFDCtrl.MPX_SYNC_MASTER);
// ダイレクト送信
StMPXCANDirect directFrame = new StMPXCANDirect();
directFrame.FrameType.Option.Protocol = MPXCANFDCtrl.MPX_CAN_PROTOCOL_CANFD;
directFrame.FrameType.Option.BRS = MPXCANFDCtrl.MPX_CAN_BRS_ENABLE;
directFrame.Frame.ID.ID = 0x123;
directFrame.Frame.ID.IDE = MPXCANFDCtrl.MPX_CAN_IDE_STD;
directFrame.Frame.ID.RTR = MPXCANFDCtrl.MPX_CAN_RTR_DATA;
directFrame.Frame.DL = 8;
directFrame.Frame.Data[0] = 0x01;
MPXCANFDCtrl.MPXDirectSend(devices[0].Serial, 1, ref directFrame);
VB.NET開発
Imports MPXCANFDCtrldotNET40Free
' デバイス初期化
Dim devices(3) As StMPXDeviceInfo
Dim count As Byte
Dim ret As Integer = MPXCANFDCtrl.MPXOpen(devices(0), count)
' パラメータ設定
Dim param As New StMPXCANParam()
param.EnableTerminate = MPXCANFDCtrl.MPX_CAN_TERMINATE_ENABLE
param.Mode = MPXCANFDCtrl.MPX_MODE_CAN_SIM
param.ArbitrationBaudrate = MPXCANFDCtrl.MPX_CAN_PARAM_ABR_500K
param.ArbitrationSamplepoint = MPXCANFDCtrl.MPX_CAN_PARAM_SP_80P
param.DataBaudrate = MPXCANFDCtrl.MPX_CAN_PARAM_DBR_2M
param.DataSamplepoint = MPXCANFDCtrl.MPX_CAN_PARAM_SP_80P
MPXCANFDCtrl.MPXSetCANParam(devices(0).Serial, 1, param)
' モニタリング開始
MPXCANFDCtrl.MPXMonitorStart(devices(0).Serial, MPXCANFDCtrl.MPX_SYNC_MASTER)
' ダイレクト送信
Dim directFrame As New StMPXCANDirect()
directFrame.FrameType.Option.Protocol = MPXCANFDCtrl.MPX_CAN_PROTOCOL_CANFD
directFrame.FrameType.Option.BRS = MPXCANFDCtrl.MPX_CAN_BRS_ENABLE
directFrame.Frame.ID.ID = &H123
directFrame.Frame.ID.IDE = MPXCANFDCtrl.MPX_CAN_IDE_STD
directFrame.Frame.ID.RTR = MPXCANFDCtrl.MPX_CAN_RTR_DATA
directFrame.Frame.DL = 8
MPXCANFDCtrl.MPXDirectSend(devices(0).Serial, 1, directFrame)
Excel VBA開発
' デバイス初期化
Dim devices(3) As StMPXDeviceInfo
Dim count As Byte
Dim ret As Long
ret = MPXOpen(devices(0), count)
' CAN通信設定
Dim param As StMPXCANParam
param.EnableTerminate = MPX_CAN_TERMINATE_ENABLE
param.Mode = MPX_MODE_CAN_SIM
param.ArbitrationBaudrate = MPX_CAN_PARAM_ABR_500K
param.ArbitrationSamplepoint = MPX_CAN_PARAM_SP_80P
param.DataBaudrate = MPX_CAN_PARAM_DBR_2M
param.DataSamplepoint = MPX_CAN_PARAM_SP_80P
Call MPXSetCANParam(devices(0).Serial, 1, param)
' モニタリング開始
Call MPXMonitorStart(devices(0).Serial, MPX_SYNC_MASTER)
' ダイレクト送信
Dim directFrame As StMPXCANDirect
directFrame.FrameType.Option.Protocol = MPX_CAN_PROTOCOL_CANFD
directFrame.FrameType.Option.BRS = MPX_CAN_BRS_ENABLE
directFrame.Frame.ID.ID = &H123
directFrame.Frame.ID.IDE = MPX_CAN_IDE_STD
directFrame.Frame.ID.RTR = MPX_CAN_RTR_DATA
directFrame.Frame.DL = 8
Call MPXDirectSend(devices(0).Serial, 1, directFrame)
動作シーケンス制御
モニタリングシーケンス
シミュレーションシーケンス
高度な機能
スロット送信機能
- 最大28スロットの定義
- 周期/イベントトリガー送信
- ログ情報取得
2ch同期
- CAN/CAN FD 2ch同期モニタリング、送信シミュレーション
- μs単位の同期精度
サンプルプログラム
充実したサンプルプログラムを提供しています。
| 開発言語 | サンプル内容 |
|---|---|
| C++ |
|
| C# |
|
| VB.NET |
|
| Excel VBA |
|
動作環境
| 項目 | 仕様 |
|---|---|
| 対応OS | Microsoft Windows 11/10/8.1 (64bit) |
| 開発環境 |
|
| CPU | Intel Core i5以上を推奨 |
| メモリ | 8GB以上を推奨 |
| ハードディスク | 10GB以上の空き容量 |
| USBポート | USB 2.0以上(Hi-Speed) |
| ログインユーザ | 管理者権限を持つユーザー(USBドライバのインストール時に必要) |
- 仮想環境での動作は非対応です - USBハブを使用する場合は、セルフパワー対応機器を使用してください
活用事例
MicroPeckerX CAN FDアプリケーション開発ライブラリを使って以下のアプリケーション開発が可能です。
車載ECU評価・診断ツール開発
開発現場のニーズ
次世代車載システムでは、従来のCAN通信に加えてCAN FD通信への対応が必須となり、さらに複数チャンネルの同時評価や高精度なタイミング制御が求められています。MicroPeckerX アプリケーション開発ライブラリの活用
MicroPeckerXの高精度タイミング制御(0.1ms分解能)と2ch同時評価機能を活用して、次世代車載システムの複雑な通信パターンを再現。実車環境により近い条件での評価ツールを開発できます。CAN FD通信リプログラミングツール
開発現場のニーズ
車載ECUのCAN FD通信対応に伴い、大容量データの高速リプログラミングツールが必要。従来のCAN通信では転送速度が不足し、開発効率が低下していました。MicroPeckerX アプリケーション開発ライブラリの活用
CAN FD通信の高速データ転送機能(最大5Mbps)を活用して、大容量ファームウェアの高速書込みツールを開発。従来比5倍以上の転送速度により、開発現場での作業効率を大幅に向上。自動化検査システム
開発現場のニーズ
生産ラインでの品質検査自動化において、CAN/CAN FD通信の機能検査を無人で実行したい。作業者のスキルに依存しない検査システムが必要です。MicroPeckerX アプリケーション開発ライブラリの活用
評価パターンによる送受信テストや、高精度タイミング制御による耐性評価を自動化。Excel VBAを使用した簡易的な合否判定システムから、C#による本格的な検査システムまで、現場のニーズに応じた開発が可能。ゲートウェイ性能解析ツール
開発現場のニーズ
複雑化する車載ネットワークにおいて、ゲートウェイECUの性能評価が重要。遅延時間、メッセージ消失、処理能力の限界などを定量的に評価する必要があります。MicroPeckerX アプリケーション開発ライブラリの活用
複数チャンネル同期機能を活用して、ゲートウェイの入出力を同時監視。μs単位のタイムスタンプにより、遅延計測、消失検出、滞留解析などの高度な性能解析ツールを開発。製品ラインナップ
無償ダウンロード
MicroPeckerX CAN FDアプリケーション開発ライブラリ for Windowsは、MicroPeckerXユーザー向けに無償でダウンロードが可能です。 但し、MicroPeckerX アプリケーション開発ライブラリに対しての技術的な問合わせ対応は含まれません。 ライブラリの組込方法など、ユーザーからの技術的な問合わせ対応については、別途有償サポートパックのお申込みが必要になります。
| 製品型名 | 製品名 |
|---|---|
| S810-MX-ADL1N | MicroPeckerX CAN FDアプリケーション開発ライブラリ for Windows |
※:ご利用には、MicroPeckerX CAN FD Analyzer《S810-MX-FDx》または、MicroPeckerX CAN FDインターフェースモデル《S810-MX-adl2》が必要です。
MicroPeckerX CAN FD アプリケーション開発ライブラリ for Windows ダウンロード
MicroPeckerX アプリケーション開発ライブラリ サポートパック
MicroPeckerX CAN FDアプリケーション開発ライブラリのユーザーアプリケーションへの組込み、問い合わせサポート対応は別途有償サポートとなります。
サポート内容
- 登録日から1年間の年間サポート
- 最大12件(合計20時間まで)の問い合わせに対応します
- 電話又は、メールによる組込み方法に関する問合せサポートを致します
- 問合せサポートに関しては、1週間以内の回答を目途とします
※緊急対応は含まれておりません - MicroPeckerX CAN FDアプリケーション開発ライブラリのユーザーアプリケーションに合わせたカスタマイズ作業は含まれておりません
MicroPeckerX アプリケーション開発ライブラリの年間サポートをご希望の方は、下記の製品型名でお知らせください。
| 製品型名 | 製品名 |
|---|---|
| S810-MX-ADL-SPT | MicroPeckerX アプリケーション開発ライブラリ サポートパック |
他の開発環境との比較
MicroPeckerX開発環境の選択
MicroPeckerXは用途に応じて3つの開発環境を提供しています
| 開発環境 | Windows版ライブラリ | Linux版ライブラリ | SocketCANドライバ |
|---|---|---|---|
| 対応OS | Windows 11/10/8.1 | Ubuntu/Debian/RasPi OS | Linux全般 |
| 開発言語 | C/C++/C#/VB.NET/VBA | C/C++/Python | 任意(ソケットAPI) |
| 送信タイミング精度 | ◎ 0.1ms精度保証 | ◎ 0.1ms精度保証 | △ カーネル依存 |
| 周期送信精度 | ◎ ライブラリ制御 | ◎ ライブラリ制御 | △ OS負荷影響大 |
| 開発の容易さ | ◎ 豊富なサンプル | ◎ 簡単なAPI | ○ Linux知識必要 |
| GUI開発 | ◎ Visual Studio統合 | △ 要実装 | △ 要実装 |
| Excel連携 | ◎ VBA対応 | × 非対応 | × 非対応 |
| 標準ツール互換 | △ 独自API | △ 独自API | ◎ 完全互換 |
Windows版ライブラリの優位性
Windows版は最も充実した開発環境サポートと、豊富なサンプルプログラムを提供しています。
特にGUIアプリケーション開発やExcel連携において、他の環境にない利便性を実現しています。
Windows版が最適な用途
- Visual Studioでの本格的なアプリケーション開発
- Excel VBAによる簡易ツール作成
- .NET Framework活用によるRAD開発
- GUIを持つ評価ツール開発
選択の指針
Windows版ライブラリを選ぶべき場合
- Windows環境での開発が前提
- Visual StudioやExcelを活用したい
- GUIアプリケーションを開発したい
- 高精度なタイミング制御が必要
- 豊富なサンプルコードを活用したい
他の開発環境を検討すべき場合
- Linux環境での動作が必要 → Linux版ライブラリ
- 既存のLinux CANツールを使いたい → SocketCANドライバ
- Raspberry Piで動作させたい → Linux版またはSocketCAN
クロスプラットフォーム開発の場合
- Windows版とLinux版のAPI仕様は統一されているため、同一ロジックでの移植が容易
- 両環境での動作が必要な場合は、両ライブラリの併用を推奨

