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

PmcmSetErcConfig

機能

ERC信号の設定をします。

書式

INT PmcmSetErcConfig(
    WORD wID,
    WORD wAxis,
    WORD wMode,
    WORD wConfig
);

パラメータ

wID

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

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

wAxis

設定する軸を指定します。複数の軸を指定することができます。

設定値 内容
PMCM_AXIS_X X軸
PMCM_AXIS_Y Y軸
言語 C/C++ C++/CLI C# VB(.NET2002以降) VB6.0/VBA GCC
WORD unsigned short ushort Short Integer uint16_t

wMode

設定する項目を指定します。

設定値 内容
PMCM_ERC_LOGIC 出力論理
PMCM_ERC_AUTOOUT_1 自動出力設定1
PMCM_ERC_AUTOOUT_2 自動出力設定2
PMCM_ERC_WIDTH 出力幅
PMCM_ERC_OFF_TIMER OFFタイマ
PMCM_ERC_SIG_ON ERC信号を出力
PMCM_ERC_SIG_OFF ERC信号の出力リセット
言語 C/C++ C++/CLI C# VB(.NET2002以降) VB6.0/VBA GCC
WORD unsigned short ushort Short Integer uint16_t

wConfig

設定値を指定します。
設定する項目(wMode)によって値が異なります。

  • wMode : PMCM_ERC_LOGIC

    ERC信号の出力論理

    設定値 内容
    0 負論理
    1 正論理

    初期値 : 0

  • wMode : PMCM_ERC_AUTOOUT_1

    ERC信号の自動出力設定

    設定値 内容
    0 EL、ALM、EMG入力停止時にERC信号を出力しない
    1 EL、ALM、EMG入力停止時にERC信号を自動出力
    (減速停止の場合は出力されません)

    初期値 : 0

  • wMode : PMCM_ERC_AUTOOUT_2

    ERC信号の自動出力設定

    設定値 内容
    0 原点復帰完了時にERC信号を出力しない
    1 原点復帰完了時にERC信号を自動出力

    初期値 : 0

  • wMode : PMCM_ERC_WIDTH

    ERC信号の出力幅

    設定値 内容
    0 12μsec
    1 102μsec
    2 408μsec
    3 1.6msec
    4 13msec
    5 52msec
    6 104msec
    7 レベル出力

    初期値 : 0

  • wMode : PMCM_ERC_OFF_TIMER

    ERC信号のOFFタイマ

    設定値 内容
    0 0μsec
    1 12μsec
    2 1.6msec
    3 104msec

    初期値 : 0

  • wMode : PMCM_ERC_SIG_ON

    ERC信号を出力します。

    wConfigは使用しません(0を設定してください)

  • wMode : PMCM_ERC_SIG_OFF

    ERC信号をレベル出力に設定した時に出力をリセットします。

    wConfigは使用しません(0を設定してください)

言語 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のボードの、X軸とY軸の出力論理を負論理に設定します。

C/C++

int nResult;
WORD wAxis;
wAxis = PMCM_AXIS_X + PMCM_AXIS_Y;
nResult = PmcmSetErcConfig(0, wAxis, PMCM_ERC_LOGIC, 0);

C++/CLI

int result;
unsigned short axis;
axis = PMCM_AXIS_X + PMCM_AXIS_Y;
result = PmcmSetErcConfig(0, axis, PMCM_ERC_LOGIC, 0);

C#

int result;
ushort axis;
axis = Pmcm.PMCM_AXIS_X + Pmcm.PMCM_AXIS_Y;
result = Pmcm.SetErcConfig(0, axis, Pmcm.PMCM_ERC_LOGIC, 0);

VB(.NET2002以降)

Dim result As Integer
Dim axis As Short
axis = PMCM_AXIS_X + PMCM_AXIS_Y
result = PmcmSetErcConfig(0, axis, PMCM_ERC_LOGIC, 0)

VB6.0/VBA

Dim lngResult As Long
Dim intAxis As Integer
intAxis = PMCM_AXIS_X + PMCM_AXIS_Y
lngResult = PmcmSetErcConfig(0, intAxis, PMCM_ERC_LOGIC, 0)

GCC

int32_t result;
uint16_t axis;
axis = PMCM_AXIS_X + PMCM_AXIS_Y;
result = PmcmSetErcConfig(0, axis, PMCM_ERC_LOGIC, 0);