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

API詳細(CAN用)

本製品で使用できる各APIのうち、CAN用のAPIの詳細を説明します。

先に確認する導線

APIクイック参照(定数/構造体/前提/最小例)

APIこのAPIで使う定数このAPIで使う構造体呼び出し前提ステータス最小コード例(C++/C#/VBA)
MPXCANSetParamCAN動作モード, CANアービトレーションボーレートStMPXCANParamRUNCAN監視サンプル(C++), CANシミュレーション(C#), CANシミュレーション(VBA)
MPXCANGetLogExバッファオーバーラン有無StMPXCANLogNONE/MON/SIMCAN監視サンプル(C++)
MPXCANSetSlotCANフレーム種別, CAN送信トリガ種別StMPXCANSlotPARAM/SYNCCANシミュレーション(C++)
MPXCANChangeSlotCANスロット有効/無効, CANスロット変更の要求情報StMPXCANFrameSIMCANシミュレーション(C++)
MPXCANSendSlotCANフレーム種別-SIMCANシミュレーション(C++)
MPXCANDirectSendCAN IDフォーマット, CANリモート送信要求StMPXCANDirectSIMCANシミュレーション(C++), CANシミュレーション(C#), CANシミュレーション(VBA)

凡例

このページでは、各APIの詳細を以下の形式で説明します。

形式[関数の型] [関数名]([引数], ...)
引数[引数の型][引数名][in/out][引数の説明]
戻り値[戻り値の型][戻り値(エラーコード)][戻り値(エラーコード)の説明]
機能[関数の機能の説明]
補足[関数の補足説明]

[引数の型]が構造体となっている場合、構造体にセットする値、またはセットされる値については「構造体定義(struct)(CAN用)および構造体定義(struct)(共通)」を参照してください。

[in/out]は、関数の呼び出し時にセットする場合はin、関数の処理でセットされる場合はoutになります。

API詳細

MPXCANSetParam

CANまたはCAN FDの通信パラメータを、既定の選択肢から設定します。

形式ER MPXCANSetParam(unsigned long Serial, unsigned char InnerCh, StMPXCANParam * Param)
引数unsigned longSerialin対象のMicroPeckerX本体のシリアル番号
unsigned charInnerChin対象のCH番号(1または2)
StMPXCANParam *Paraminパラメータ設定情報構造体のポインタ
戻り値ERE_OK正常終了
E_PARAMパラメータ異常
E_DEVICEデバイスが見つからない
E_COMM通信異常
E_STATUSステータス異常
E_TIMEOUT通信タイムアウト
機能SerialとInnerChに指定したMicroPeckerX本体のCHに対して、CANまたはCAN FDの通信パラメータをParamの指定値で設定します。
補足本APIの呼び出しにより、MicroPeckerXステータスがMPX_STATUS_PARAM(パラメータ設定待ち状態)に変化します。

MPXCANGetLogEx

モニタリング中のログ情報(送受信データ)を、呼び出し元で用意したCANログ情報構造体配列に取得します。

形式ER MPXCANGetLogEx(unsigned long Serial, unsigned char InnerCh, StMPXCANLog * Log, unsigned short Num, unsigned short * Count, unsigned char * BufferOver)
引数unsigned longSerialin対象のMicroPeckerX本体のシリアル番号
unsigned charInnerChin対象のCH番号(1または2)
StMPXCANLog *Login/outログ情報構造体配列
unsigned shortNuminログ情報構造体配列の要素数
unsigned short *Countout取得したログ情報件数
unsigned char *BufferOveroutバッファオーバーラン
(セットされる値は「バッファオーバーラン有無」を参照)
戻り値ERE_OK正常終了
E_PARAMパラメータ異常
E_DEVICEデバイスが見つからない
機能SerialとInnerChに指定したMicroPeckerX本体のCHから送られるCANログ情報を取得します。
Logには取得したCANログ情報をセットするための構造体配列を、Numには配列の要素数を、それぞれ指定してください。
取得したログ情報の件数はCountにセットされます。
CountがNumより大きい場合はバッファオーバーランが発生し、BufferOverにMPX_LOG_BUFOVER_TRUEがセットされます。
補足本APIは、ログ取得APIモードでログ情報を取得する場合のみ有効です。
本APIでは、取得したログ情報を格納するための構造体配列を呼び出し元で用意する必要があります。

MPXCANSetSlot

CANまたはCAN FDのスロット情報を、モニタリング開始前に設定します。

形式ER MPXCANSetSlot(unsigned long Serial, unsigned char InnerCh, StMPXCANSlot * Slots, unsigned char SlotCount)
引数unsigned longSerialin対象のMicroPeckerX本体のシリアル番号
unsigned charInnerChin対象のCH番号(1または2)
StMPXCANSlot *Slotsinスロット情報
unsigned charSlotCountin設定スロット数
戻り値ERE_OK正常終了
E_PARAMパラメータ異常
E_DEVICEデバイスが見つからない
E_COMM通信異常
E_STATUSステータス異常
E_TIMEOUT通信タイムアウト
機能SerialとInnerChに指定したMicroPeckerX本体のCHに対して、CANまたはCAN FDのスロット情報を設定します。
Slotsには設定したいスロット数分のスロット情報構造体配列を、SlotCountには配列の要素数を、それぞれセットしてください。
補足本APIは、モニタリング開始前にスロット情報を設定するためのものです。
モニタリング中にスロット情報を変更したい場合は、「MPXCANChangeSlot」を呼び出してください。

MPXCANChangeSlot

CANまたはCAN FDのスロット情報を、モニタリング中に変更します。

形式ER MPXCANChangeSlot(unsigned long Serial, unsigned char InnerCh, unsigned char SlotNo, unsigned char SlotEnabled, unsigned char ReqInfo, StMPXCANFrame * Frame)
引数unsigned longSerialin対象のMicroPeckerX本体のシリアル番号
unsigned charInnerChin対象のCH番号(1または2)
unsigned charSlotNoin対象のスロット番号(1~28)
unsigned charSlotEnabledinスロットの有効/無効
(指定可能な値は「CANスロット有効/無効」を参照)
unsigned charReqInfoinスロット変更の要求情報
(指定可能な値は「CANスロット変更の要求情報」を参照)
StMPXCANFrame *Frameinフレーム属性情報構造体のポインタ
戻り値ERE_OK正常終了
E_PARAMパラメータ異常
E_DEVICEデバイスが見つからない
E_COMM通信異常
E_TRG_BUSYトリガ設定失敗
E_STATUSステータス異常
E_TIMEOUT通信タイムアウト
機能SerialとInnerChに指定したMicroPeckerX本体のCHに対して、SlotNoに指定したCANまたはCAN FDのスロット情報を変更します。
補足本APIは、モニタリング中にスロットの有効/無効、CAN/CAN FDのフレーム情報の設定を変更するためのものです。
モニタリング開始前にスロット情報を設定したい場合は、「MPXCANSetSlot」を呼び出してください。

MPXCANSendSlot

CANまたはCAN FDのスロットへの送信要求を行います。

形式ER MPXCANSendSlot(unsigned long Serial, unsigned char InnerCh, unsigned char SlotNo)
引数unsigned longSerialin対象のMicroPeckerX本体のシリアル番号
unsigned charInnerChin対象のCH番号(1または2)
unsigned charSlotNoin対象のスロット番号(1~28)
戻り値ERE_OK正常終了
E_PARAMパラメータ異常
E_DEVICEデバイスが見つからない
E_COMM通信異常
E_TRG_BUSYトリガ設定失敗
E_STATUSステータス異常
E_TIMEOUT通信タイムアウト
機能SerialとInnerChに指定したMicroPeckerX本体のCHに対して、SlotNoに指定したCANまたはCAN FDのスロットへの送信要求を行います。
補足本APIは、「MPXCANSetSlot」で設定したスロット情報において、SlotNoに指定したスロットのフレーム種別がMPX_CAN_FRAME_TYPE_EVENTまたはMPX_CAN_FRAME_TYPE_EVENTPERIODICの場合のみ有効です。

MPXCANDirectSend

スロットを介さずに直接CANまたはCAN FDのフレームを送信します。

形式ER MPXCANDirectSend(unsigned long Serial, unsigned char InnerCh, StMPXCANDirect * Frame)
引数unsigned longSerialin対象のMicroPeckerX本体のシリアル番号
unsigned charInnerChin対象のCH番号(1または2)
StMPXCANDirect *Framein送信フレーム
戻り値ERE_OK正常終了
E_PARAMパラメータ異常
E_DEVICEデバイスが見つからない
E_COMM通信異常
E_DCT_FULLダイレクト送信バッファ空きなし
E_STATUSステータス異常
E_TIMEOUT通信タイムアウト
機能SerialとInnerChに指定したMicroPeckerX本体のCHに対して、スロットを介さずにFrameで指定したフレームの送信要求を行います。