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

YduPmcsSetPulseConfig

機能

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

パルス出力について

書式

INT YduPmcsSetPulseConfig(
    WORD unitId,
    WORD axis,
    WORD mode,
    WORD config
);

パラメータ

unitId

ユニットのID番号を指定します。

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

axis

パルス出力の設定をする軸を指定します。
複数の軸を指定することができます。

定義
PMC_AXIS_X0 0x01 X0軸
PMC_AXIS_Y0 0x02 Y0軸
PMC_AXIS_Z0 0x04 Z0軸
PMC_AXIS_U0 0x08 U0軸
PMC_AXIS_X1 0x10 X1軸
PMC_AXIS_Y1 0x20 Y1軸
PMC_AXIS_Z1 0x40 Z1軸
PMC_AXIS_U1 0x80 U1軸
言語 C# VB(.NET2002以降) VB6.0/VBA C++/CLI C/C++
ushort Short Integer unsigned short WORD

mode

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

定義 設定する項目
PMC_PULSE_OUT 0 パルス出力論理
PMC_IDLE 1 アイドリングパルス数
PMC_METHOD 2 パルス方式
言語 C# VB(.NET2002以降) VB6.0/VBA C++/CLI C/C++
ushort Short Integer unsigned short WORD

config

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

  • wMode : PMC_PULSE_OUT

    設定値 内容
    0 負論理(初期値)
    1 正論理

  • wMode : PMC_IDLE

    0~7(初期値 : 0)

  • wMode : PMC_METHOD

    設定値 内容
    0 2パルス方式(初期値)
    1 1パルス方式
言語 C# VB(.NET2002以降) VB6.0/VBA C++/CLI C/C++
ushort Short Integer unsigned short WORD

戻り値

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

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

使用例

ユニットIDが0のユニットの、X0・Y0・Z0・U0軸のパルス出力論理を負論理に設定します。

C#

ushort axis = YduPmcs.PMC_AXIS_X0 + YduPmcs.PMC_AXIS_Y0 + YduPmcs.PMC_AXIS_Z0 + YduPmcs.PMC_AXIS_U0;
var result = YduPmcs.SetPulseConfig(0, axis, YduPmcs.PMC_PULSE_OUT, 0);

VB(.NET2002以降)

Dim axis As Short = PMC_AXIS_X0 + PMC_AXIS_Y0 + PMC_AXIS_Z0 + PMC_AXIS_U0
Dim result As Integer = YduPmcsSetPulseConfig(0, axis, PMC_PULSE_OUT, 0)

VB6.0/VBA

Dim result As Long
Dim axis As Integer
axis = PMC_AXIS_X0 + PMC_AXIS_Y0 + PMC_AXIS_Z0 + PMC_AXIS_U0
result = YduPmcsSetPulseConfig(0, axis, PMC_PULSE_OUT, 0)

C++/CLI

unsigned short axis = PMC_AXIS_X0 + PMC_AXIS_Y0 + PMC_AXIS_Z0 + PMC_AXIS_U0;
int result = YduPmcsSetPulseConfig(0, axis, PMC_PULSE_OUT, 0);

C/C++

WORD axis = PMC_AXIS_X0 + PMC_AXIS_Y0 + PMC_AXIS_Z0 + PMC_AXIS_U0;
INT result = YduPmcsSetPulseConfig(0, axis, PMC_PULSE_OUT, 0);