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

PmcmGetPulseConfig

機能

パルス出力設定の取得をします。

パルス出力について

書式

INT PmcmGetPulseConfig(
    WORD wID,
    WORD wAxis,
    WORD wMode,
    PWORD pwConfig
);

パラメータ

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_PULSE_OUT パルス出力モード
PMCM_DIR_WAIT 方向変化時の遅延
PMCM_FIN_TIMING 動作完了タイミング
PMCM_FH_REVISE 移動速度補正(三角駆動回避)
言語 C/C++ C++/CLI C# VB(.NET2002以降) VB6.0/VBA GCC
WORD unsigned short ushort Short Integer uint16_t

pwConfig

設定値を格納するバッファへのポインタを指定します。
取得する項目(wMode)によって値が異なります。

  • wMode : PMCM_PULSE_OUT

    • 0

      共通パルスモード
      OUT:負論理
      DIR:(+方向)High、(―方向)Low

      CW(+)方向動作時

      OUT出力 DIR出力

      CCW(―)方向動作時

      OUT出力 DIR出力
    • 1

      共通パルスモード
      OUT:正論理
      DIR:(+方向)High、(―方向)Low

      CW(+)方向動作時

      OUT出力 DIR出力

      CCW(―)方向動作時

      OUT出力 DIR出力
    • 2

      共通パルスモード
      OUT:負論理
      DIR:(+方向)Low、(―方向)High

      CW(+)方向動作時

      OUT出力 DIR出力

      CCW(―)方向動作時

      OUT出力 DIR出力
    • 3

      共通パルスモード
      OUT:正論理
      DIR:(+方向)Low、(―方向)High

      CW(+)方向動作時

      OUT出力 DIR出力

      CCW(―)方向動作時

      OUT出力 DIR出力
    • 4

      2パルスモード
      負論理

      CW(+)方向動作時

      OUT出力 DIR出力

      CCW(―)方向動作時

      OUT出力 DIR出力
    • 5

      90度位相差モード(4逓倍)
      OUT:進みパルス
      DIR:遅れパルス

      CW(+)方向動作時

      OUT/DIR出力

      CCW(―)方向動作時

      OUT/DIR出力
    • 6

      90度位相差モード(4逓倍)
      OUT:遅れパルス
      DIR:進みパルス

      CW(+)方向動作時

      OUT/DIR出力

      CCW(―)方向動作時

      OUT/DIR出力
    • 7

      2パルスモード
      正論理

      CW(+)方向動作時

      OUT出力 DIR出力

      CCW(―)方向動作時

      OUT出力 DIR出力

    初期値 : 7

  • wMode : PMCM_DIR_WAIT

    モーターの回転方向が変わるときにパルス出力を遅延させることができます。

    設定値 内容
    0 方向変化時に200μsecの遅延あり
    1 方向変化時に遅延なし

    PMCM_PULSE_OUTの設定が0~3の場合のみ有効です

    初期値 : 0

  • wMode : PMCM_FIN_TIMING

    設定値 内容
    0 最終パルスの周期完了時
    1 最終パルスの出力OFF時
    2 INP信号入力時

    初期値 : 0

  • wMode : PMCM_FH_REVISE

    設定値 内容
    0 移動速度補正OFF
    1 移動速度補正ON

    初期値 : 1

言語 C/C++ C++/CLI C# VB(.NET2002以降) VB6.0/VBA GCC
PWORD unsigned short* out 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軸のパルス出力設定を取得します。

C/C++

int nResult;
WORD wAxis;
WORD wConfig;
wAxis = PMCM_AXIS_X;
nResult = PmcmGetPulseConfig(0, wAxis, PMCM_PULSE_OUT, &wConfig);

C++/CLI

int result;
unsigned short axis;
unsigned short config;
axis = PMCM_AXIS_X;
result = PmcmGetPulseConfig(0, axis, PMCM_PULSE_OUT, &config);

C#

int result;
ushort axis;
ushort config;
axis = Pmcm.PMCM_AXIS_X;
result = Pmcm.GetPulseConfig(0, axis, Pmcm.PMCM_PULSE_OUT, out config);

VB(.NET2002以降)

Dim result As Integer
Dim axis As Short
Dim config As Short
axis = PMCM_AXIS_X
result = PmcmGetPulseConfig(0, axis, PMCM_PULSE_OUT, config)

VB6.0/VBA

Dim lngResult As Long
Dim intAxis As Integer
Dim intConfig As Integer
intAxis = PMCM_AXIS_X
lngResult = PmcmGetPulseConfig(0, intAxis, PMCM_PULSE_OUT, intConfig)

GCC

int32_t result;
uint16_t axis;
uint16_t config;
axis = PMCM_AXIS_X;
result = PmcmGetPulseConfig(0, axis, PMCM_PULSE_OUT, &config);