コンテンツにスキップ
関数 > モーター制御関数 >

PmcmGetEventFactor

機能

イベント発生要因の取得をします。

イベントについて

書式

INT PmcmGetEventFactor(
    WORD wID,
    PEVENTFACTORPMCM pEventFactor
);

typedef struct {
    int nResult;
    WORD wStop[2];
    WORD wState[2];
} EVENTFACTORPMCM, *PEVENTFACTORPMCM;

パラメータ

wID

ボードのID番号を指定します。

言語 C/C++ C++/CLI C# VB(.NET2002以降) VB6.0/VBA GCC
WORD unsigned short ushort Short Integer uint16_t

pEventFactor

イベントの発生要因を格納するバッファへのポインタを指定します。

言語 C/C++ C++/CLI C# VB(.NET2002以降) VB6.0/VBA GCC
PEVENTFACTORPMCM EVENTFACTORPMCM* out EVENTFACTORPMCM EVENTFACTORPMCM EVENTFACTORPMCM PEVENTFACTORPMCM

nResult

結果が格納されます。
0ならば正常にイベントが発生しています。

言語 C/C++ C++/CLI C# VB(.NET2002以降) VB6.0/VBA GCC
int int int Integer Long int32_t

wStop[2]

停止イベント要因が格納されます。

bit 15 14 13 12 11 10 9 8
信号 - - - - - - - -
bit 7 6 5 4 3 2 1 0
信号 - - SD EMG ALM -EL +EL STOP

bit5 : SD入力ONによる減速停止時
bit4 : EMG入力ONによる停止時
bit3 : ALM入力ONによる停止時
bit2 : -EL入力ONによる停止時
bit1 : +EL入力ONによる停止時
bit0 : 自動停止時

各ビットの設定値 内容
0 イベント未発生
1 イベント発生

2軸の停止イベント要因が格納されます。
wStop[0] : X軸の停止イベント要因
wStop[1] : Y軸の停止イベント要因

言語 C/C++ C++/CLI C# VB(.NET2002以降) VB6.0/VBA GCC
WORD unsigned short ushort Short Integer uint16_t

wState[2]

状態イベント要因が格納されます。

bit 15 14 13 12 11 10 9 8
信号 - - - - - - - SD
bit 7 6 5 4 3 2 1 0
信号 ORG LTC CMP2 CMP1 DEC FIN DEC STA ACC FIN ACC STA

bit8 : SD入力ON時
bit7 : ORG入力ONによるカウント値のラッチ時
bit6 : LTC入力によるカウント値のラッチ時
bit5 : コンパレータ(エンコーダ)条件成立時
bit4 : コンパレータ(出力パルス)条件成立時
bit3 : 減速終了時
bit2 : 減速開始時
bit1 : 加速終了時
bit0 : 加速開始時

各ビットの設定値 内容
0 イベント未発生
1 イベント発生

2軸の状態イベント要因が格納されます。
wState[0] : X軸の状態イベント要因
wState[1] : Y軸の状態イベント要因

言語 C/C++ C++/CLI C# VB(.NET2002以降) VB6.0/VBA GCC
WORD unsigned short ushort Short Integer uint16_t

戻り値

関数が正常に終了した場合は0(PMCM_RESULT_SUCCESS)が返ります。
正常に終了しなかった場合は0以外が返りますので、その場合はエラーコードを参照してください。

言語 C/C++ C++/CLI C# VB(.NET2002以降) VB6.0/VBA GCC
INT int int Integer Long int32_t

使用例

IDが0のボードの、イベント要因を取得します。

C/C++

int nResult;
EVENTFACTORPMCM EventFactor;
nResult = PmcmGetEventFactor(0, &EventFactor);

C++/CLI

int result;
EVENTFACTORPMCM eventFactor;
result = PmcmGetEventFactor(0, &eventFactor);

C#

int result;
Pmcm.EVENTFACTORPMCM eventFactor = new Pmcm.EVENTFACTORPMCM();
eventFactor.Initialize();
result = Pmcm.GetEventFactor(0, out eventFactor);

VB(.NET2002以降)

Dim result As Integer
Dim eventFactor As EVENTFACTORPMCM
eventFactor.Initialize()
result = PmcmGetEventFactor(0, eventFactor)

VB6.0/VBA

Dim lngResult As Long
Dim EventFactor As EVENTFACTORPMCM
lngResult = PmcmGetEventFactor(0, EventFactor)

GCC

int32_t result;
EVENTFACTORPMCM event_factor;
result = PmcmGetEventFactor(0, &event_factor);