メインコンテンツまでスキップ

よくある問題と対処

本ページでは、旧版からの移行時を含め、ライブラリ利用時に発生しやすい問題と確認ポイントをまとめます。

ビルド時の問題

MPXOpen の引数不一致でコンパイルエラーになる

  • 症状:
    • MPXOpen 呼び出しで引数数エラー
  • 確認:
    • ADL2N の MPXOpenDevices, Num, Count の3引数
  • 対処:
    • Num(配列要素数)を追加してください
    • 旧 ADL1N の2引数呼び出しを残さないように確認してください

API名の置換漏れでリンクエラーになる

  • 症状:
    • MPXSetCANParam など旧 API 名が未解決
  • 確認:
    • CAN 系 API は MPXCAN... に変更済みか
  • 対処:
    • MPXSetCANParam -> MPXCANSetParam
    • MPXGetLogEx -> MPXCANGetLogEx
    • MPXSetSlot -> MPXCANSetSlot など

実行時の問題

BadImageFormatException が発生する(.NET)

  • 症状:
    • 実行開始直後に BadImageFormatException が発生する
  • 確認:
    • 参照しているラッパDLLと実行プロセスのビット数が一致しているか
    • 32bit実行時に MPXCtrldotNET40Free_x64.dll を参照していないか
    • 64bit実行時に MPXCtrldotNET40Free.dll を参照していないか
  • 対処:
    • 32bit/64bitを統一して再ビルドしてください
    • 詳細は .NET注意点 を参照してください

DllNotFoundException が発生する(.NET)

  • 症状:
    • 実行時に MPXCtrlFree.dll または MPXCtrlFree_x64.dll が見つからない
  • 確認:
    • ネイティブDLLが実行ファイルと同じフォルダに配置されているか
    • ラッパDLLのbit数とネイティブDLLのbit数が一致しているか
  • 対処:
    • 必要DLLを実行ファイルと同じフォルダへ配置してください
    • 同梱物の一覧は 製品構成 を参照してください

ログが取得できない

  • 症状:
    • モニタリング開始後にログ件数が増えない
  • 確認:
    • MPXSetGetLogMode を対象 CH に設定したか
    • APIモードの場合は MPXGetLog / MPXCANGetLogEx / MPXLINGetLogEx を定期実行しているか
  • 対処:
    • ログ取得モードを明示設定し、取得ループを実装してください

E_STATUS が返る

  • 症状:
    • MPXMonitorStart などで E_STATUS が返る
  • 確認:
    • 事前に MPXCANSetParam または MPXLINSetParam を呼んでいるか
    • 呼び出し順序が基本フロー通りか
  • 対処:

複数台同期で動作が不安定

  • 症状:
    • 複数台時に開始/停止タイミングが揃わない
  • 確認:
    • 開始時: スレーブ -> マスタの順になっているか
    • 停止時: マスタ -> スレーブの順になっているか
  • 対処:

参照先