MicroPeckerX CAN FDアプリケーション開発ライブラリ for Windows
MicroPeckerX CAN FDアプリケーション開発ライブラリ for WindowsのFrequently Asked Question(よくいただくご質問)です。
製品仕様
MicroPeckerX本体がPCで認識されません。どうすればいいですか?
・USBケーブルが正しく接続されているか、別のケーブル・ポートでも試してください。
・デバイスマネージャで「MicroPeckerX」が表示されているか確認してください。
・ドライバが正しくインストールされていない場合は、ダウンロードフォルダまたはWebサイトから最新のUSBドライバをインストールして ください。
それでも認識しない場合は、PCの再起動や他のUSB機器の取り外しもお試しください。
・デバイスマネージャで「MicroPeckerX」が表示されているか確認してください。
・ドライバが正しくインストールされていない場合は、ダウンロードフォルダまたはWebサイトから最新のUSBドライバをインストールして ください。
それでも認識しない場合は、PCの再起動や他のUSB機器の取り外しもお試しください。
サンプルプログラム実行時に「MPXOpen : error」と表示されます。
・MicroPeckerX本体が正しく接続されていない、もしくは他のアプリケーションで既に使用中である場合にこのエラー が出ます。
・USBドライバが正しくインストールされているかご確認ください。
・本体ファームウェアやライブラリバージョンがサンプルプログラムのバージョンと一致しているかご確認ください。
・USBドライバが正しくインストールされているかご確認ください。
・本体ファームウェアやライブラリバージョンがサンプルプログラムのバージョンと一致しているかご確認ください。
複数台同時接続時のシリアル番号の取得方法が知りたい。
MPXOpen 関数の 返却値で StMPXDeviceInfo 配列に接続された全てのMicroPeckerX本体のシリアル番号情報が格納されます。
配列から目的のデバイスを選択して制御可能です。
配列から目的のデバイスを選択して制御可能です。
// コード例
StMPXDeviceInfo devices[4];
unsigned char count;
ER ret = MPXOpen(devices, &count);
if (ret == E_OK && count > 0) {
for (int i = 0; i < count; i++) {
printf("Serial No: %u\n", devices[i].Serial);
// devices[i].Serialで各本体を区別できます
}
}
CAN通信ができません。設定値や初期化手順は何を確認すればいいですか?
・MPXSetCANParam 関数で通信パラメータ(ボーレート、サンプルポイント、CAN FDモード、終端抵抗など)を正しく設定してください。
・設定後、MPXMonitorStart でモニタリングを開始してください。
・相手側(他のCAN機器)と通信条件(ボーレート等)が一致しているかご確認ください。
・終端抵抗設定の有無もご注意ください。
・設定後、MPXMonitorStart でモニタリングを開始してください。
・相手側(他のCAN機器)と通信条件(ボーレート等)が一致しているかご確認ください。
・終端抵抗設定の有無もご注意ください。
// コード例:CANパラメータの設定から通信開始まで
StMPXCANParam param;
param.Mode = MPX_MODE_CAN_SIM; // or MPX_MODE_MONITOR
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;
param.EnableTerminate = MPX_CAN_TERMINATE_ENABLE;
ER ret = MPXSetCANParam(serial, 1, ¶m); // CH1の場合
if (ret != E_OK) {
printf("MPXSetCANParam : error\n");
}
ret = MPXMonitorStart(serial, MPX_SYNC_MASTER); // モニタ開始
if (ret != E_OK) {
printf("MonitorStart : error\n");
}
サンプルプログラムの送信データやスロット設定の方法が分かりません。
・スロット送信のサンプルはMPXSetSlot 関数でスロット情報構造体(StMPXCANSlot)にデータ内容や周期等を設定し、その後送信処理を行います。
・ダイレクト送信の場合はMPXDirectSend 関数を使用し、送信データを直接指定できます。
詳細は付属のサンプルコードを参照してください。
・ダイレクト送信の場合はMPXDirectSend 関数を使用し、送信データを直接指定できます。
詳細は付属のサンプルコードを参照してください。
// スロット送信(周期送信)コード例:
StMPXCANSlot slot;
memset(&slot, 0, sizeof(slot));
slot.SlotNo = 0;
slot.FrameType.Enabled = MPX_CAN_SLOT_ENABLE;
slot.FrameType.FrameType = MPX_CAN_FRAME_TYPE_PERIODIC;
slot.FrameType.Option.Protocol = MPX_CAN_PROTOCOL_CANFD;
slot.FrameType.Option.BRS = MPX_CAN_BRS_ENABLE;
slot.Frame.ID.IDE = MPX_CAN_IDE_STD;
slot.Frame.ID.RTR = MPX_CAN_RTR_DATA;
slot.Frame.ID.ID = 0x300;
slot.msSendCycle = 10; // 10msごと送信
slot.SendCounter = 0; // 無制限
slot.Frame.DL = 8;
for (int i = 0; i < 8; i++) slot.Frame.Data[i] = i;
ER ret = MPXSetSlot(serial, 1, &slot, 1); // CH1にスロット設定
// ダイレクト送信(1回送信)コード例:
StMPXCANDirect frame;
memset(&frame, 0, sizeof(frame));
frame.FrameType.Option.Protocol = MPX_CAN_PROTOCOL_CANFD;
frame.FrameType.Option.BRS = MPX_CAN_BRS_ENABLE;
frame.Frame.ID.IDE = MPX_CAN_IDE_STD;
frame.Frame.ID.RTR = MPX_CAN_RTR_DATA;
frame.Frame.ID.ID = 0x350;
frame.Frame.DL = 8;
for (int i = 0; i < 8; i++) frame.Frame.Data[i] = i + 0x10;
ret = MPXDirectSend(serial, 1, &frame); // CH1へ送信
Classic CANでの動作は可能ですか?
・本ライブラリはCAN FD/Classic CAN両方に対応しています。Classic CANで動作させる場合は、通信パラメータ設定時に「FD機能無効」「データボーレート=アービトレーションボーレート」に設定してください。
// Classic CANの設定例:
param.Mode = MPX_MODE_MONITOR; // Classic CAN
param.ArbitrationBaudrate = MPX_CAN_PARAM_ABR_500K;
param.DataBaudrate = MPX_CAN_PARAM_DBR_500K; // 同じ値にする
param.FrameType.Option.Protocol = MPX_CAN_PROTOCOL_CAN; // CAN-FD機能オフ
※送信やスロット設定はCAN FDと同じインターフェースです。
USBデバイスを抜き差しした後、通信ができなくなる場合があります。
一度USBを抜いた後は、アプリケーションの再起動やMPXClose→MPXOpenで再認識を行ってください。USB抜き差し時にOS側で認識待ちが発生する場合もありますので、数秒待ってから操作してください。
サンプルプログラムのビルド方法が分かりません。
付属のVisual Studioプロジェクト(.slnファイル)を開き、必要に応じてプラットフォームや構成(Release/Debug、x86/x64)を選択してビルドしてください。依存するDLLやライブラリファイルが実行フォルダにあることもご確認ください。
// C++(Visual Studio)でのビルド例:
1. .sln(ソリューション)ファイルをVisual Studioで開く
2. [ビルド] → [ソリューションのビルド]をクリック
3. 必要に応じて「x86」または「x64」構成を切り替えてください
4. 実行ファイルは Release または Debug フォルダに生成されます
動作確認済みのOSや開発環境は?
Windows 10/11(64bit)およびVisual Studio 2017/2019/2022で動作確認済みです。他のバージョン環境でも動作する場合がありますが、サポート対象外となります。