PmcmSetPulseConfig¶
機能¶
パルス出力の設定をします。
書式¶
INT PmcmSetPulseConfig(
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_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 |
wConfig¶
設定値を指定します。
設定する項目(wMode)によって値が異なります。
-
wMode : PMCM_PULSE_OUT
-
0
共通パルスモード
OUT:負論理
DIR:(+方向)High、(―方向)LowCW(+)方向動作時
OUT出力 DIR出力 CCW(―)方向動作時
OUT出力 DIR出力 -
1
共通パルスモード
OUT:正論理
DIR:(+方向)High、(―方向)LowCW(+)方向動作時
OUT出力 DIR出力 CCW(―)方向動作時
OUT出力 DIR出力 -
2
共通パルスモード
OUT:負論理
DIR:(+方向)Low、(―方向)HighCW(+)方向動作時
OUT出力 DIR出力 CCW(―)方向動作時
OUT出力 DIR出力 -
3
共通パルスモード
OUT:正論理
DIR:(+方向)Low、(―方向)HighCW(+)方向動作時
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信号入力時 INP信号を使用しない場合は、0(周期完了時)を設定してください。
1(出力OFF時)を設定した場合は、CP動作時や絶対座標指定でのPTP動作時に、最終パルスと次動作のスタートパルスとの間隔が狭くなり、正しく動作しない場合があります。初期値 : 0
-
wMode : PMCM_FH_REVISE
移動速度補正のON/OFFを設定します(三角駆動回避)。
位置決め動作、CP動作時に有効となります。直線加減速の時のみ設定が有効となり、S字加減速の時は自動的にONとなります
設定値 内容 0 移動速度補正OFF 1 移動速度補正ON 初期値 : 1
言語 | 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軸のパルス出力を0に設定します。
C/C++¶
int nResult;
WORD wAxis;
wAxis = PMCM_AXIS_X + PMCM_AXIS_Y;
nResult = PmcmSetPulseConfig(0, wAxis, PMCM_PULSE_OUT, 0);
C++/CLI¶
int result;
unsigned short axis;
axis = PMCM_AXIS_X + PMCM_AXIS_Y;
result = PmcmSetPulseConfig(0, axis, PMCM_PULSE_OUT, 0);
C#¶
int result;
ushort axis;
axis = Pmcm.PMCM_AXIS_X + Pmcm.PMCM_AXIS_Y;
result = Pmcm.SetPulseConfig(0, axis, Pmcm.PMCM_PULSE_OUT, 0);
VB(.NET2002以降)¶
Dim result As Integer
Dim axis As Short
axis = PMCM_AXIS_X + PMCM_AXIS_Y
result = PmcmSetPulseConfig(0, axis, PMCM_PULSE_OUT, 0)
VB6.0/VBA¶
Dim lngResult As Long
Dim intAxis As Integer
intAxis = PMCM_AXIS_X + PMCM_AXIS_Y
lngResult = PmcmSetPulseConfig(0, intAxis, PMCM_PULSE_OUT, 0)
GCC¶
int32_t result;
uint16_t axis;
axis = PMCM_AXIS_X + PMCM_AXIS_Y;
result = PmcmSetPulseConfig(0, axis, PMCM_PULSE_OUT, 0);