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

PmcmSetSynchroConfig

機能

起動・停止条件の設定をします。

書式

INT PmcmSetSynchroConfig(
    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_SYNC_START_MODE 起動条件
PMCM_SYNC_START 他軸の停止によるスタート条件
PMCM_SYNC_SIG_START 内部同期信号によるスタート条件
PMCM_SYNC_STOP_MODE 停止条件
言語 C/C++ C++/CLI C# VB(.NET2002以降) VB6.0/VBA GCC
WORD unsigned short ushort Short Integer uint16_t

wConfig

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

  • wMode : PMCM_SYNC_START_MODE

    設定値 内容
    0 スタート条件なし(即スタート)
    1 PCS入力によるスタート※(Y軸は設定不可)
    2 内部同期信号によるスタート
    3 他軸の停止によるスタート

    ※ PCS信号を**自軸のみに有効な外部スタート/同時スタート信号**に設定する必要があります

    初期値 : 0

  • wMode : PMCM_SYNC_START

    停止確認する軸の設定(複数軸の指定が可能)

    設定値 内容
    PMCM_AXIS_X X軸の停止でスタート
    PMCM_AXIS_Y Y軸の停止でスタート

    初期値 : 0(設定軸なし)

  • wMode : PMCM_SYNC_SIG_START

    同期信号の設定(同期信号出力を設定する必要があります)

    設定値 内容
    0 X軸が出力した内部同期信号でスタート
    1 Y軸が出力した内部同期信号でスタート

    初期値 : 0

  • wMode : PMCM_SYNC_STOP_MODE

    他軸の異常停止による停止の設定

    設定値 内容
    0 他軸の異常停止で停止しない
    1 他軸の異常停止で停止する

    初期値 : 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 = PmcmSetSynchroConfig(0, wAxis, PMCM_SYNC_START_MODE, 0);

C++/CLI

int result;
unsigned short axis;
axis = PMCM_AXIS_X + PMCM_AXIS_Y;
result = PmcmSetSynchroConfig(0, axis, PMCM_SYNC_START_MODE, 0);

C#

int result;
ushort axis;
axis = Pmcm.PMCM_AXIS_X + Pmcm.PMCM_AXIS_Y;
result = Pmcm.SetSynchroConfig(0, axis, Pmcm.PMCM_SYNC_START_MODE, 0);

VB(.NET2002以降)

Dim result As Integer
Dim axis As Short
axis = PMCM_AXIS_X + PMCM_AXIS_Y
result = PmcmSetSynchroConfig(0, axis, PMCM_SYNC_START_MODE, 0)

VB6.0/VBA

Dim lngResult As Long
Dim intAxis As Integer
intAxis = PMCM_AXIS_X + PMCM_AXIS_Y
lngResult = PmcmSetSynchroConfig(0, intAxis, PMCM_SYNC_START_MODE, 0)

GCC

int32_t result;
uint16_t axis;
axis = PMCM_AXIS_X + PMCM_AXIS_Y;
result = PmcmSetSynchroConfig(0, axis, PMCM_SYNC_START_MODE, 0);