SmcWSetCtrlTypeIn


機能

制御入力信号形式(汎用入力信号/ALM, INP, SD, LTC, PCS, CLR)を設定します。

書式

Ret = SmcWSetCtrlTypeIn( Id , AxisNo , CtrlIn )

引数

Id [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
SmcWInit 関数で取得したデバイスIDを指定します。

AxisNo [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
軸番号を指定します。

CtrlIn [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
制御入力信号形式を設定します。

[ 0 | 0 | IN6/CLR | IN5/PCS | IN4/LTC | IN3/SD | IN2/INP | IN1/ALM ]   設定範囲:0~3F(Hex)

IN1/ALM

0 : IN1(汎用入力)として使用

1 : アラーム(ALM)信号入力として使用

IN2/INP

0 : IN2(汎用入力)として使用

1 : サーボドライバの位置決め完了(INP)信号入力として使用

IN3/SD

0 : IN3(汎用入力)として使用

1 : 減速(減速停止)(SD)信号入力として使用

IN4/LTC

0 : IN4(汎用入力)として使用

1 : LTC信号入力として使用

  出力パルス/エンコーダカウンタの値をラッチします。

IN5/PCS

0 : IN5(汎用入力)として使用

1 : PCS信号入力として使用

  この信号入力で位置決め動作を開始します。

  (目標位置のオーバーライド2用)

IN6/CLR

0 : IN6(汎用入力)として使用

1 : CLR信号入力として使用

  出力パルス/エンコーダカウンタの値をリセットします。

  (SMC-4DL/SMC-8DL シリーズではIN6固定。CLR信号設定不可)

戻り値

Ret [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ Python: ctypes.c_long ]

0

正常終了

0以外

異常終了

参照:エラーコード詳細

初期値

アラーム(ALM)信号入力として使用

説明

SmcWSetCounterMode関数でLtcMode = 1H を設定した場合、CtrlIn のビット4(LTC)をONしていないとLTC信号として認識しないためラッチされません。
ClearCntLtc = 1~3H を設定した場合も同様です。

CtrlIn のビット5(PCS)をONした場合、PCS信号入力待ち状態となるため、PCS信号が入力されるまで (もしくは、PCS入力代行コマンド発行まで) 無条件でJOG動作となります。PCS信号が入力されたタイミングから指定パルス位置まで動作します。

軸が動作中の場合、この関数は実行できません。

初期設定関数実行後は、SmcWSetInitParam関数を実行する必要があります。
初期設定関数について」を参照してください。

使用例

軸番号1の制御入力信号形式を設定します。
サーボドライバの位置決め完了(INP)信号入力として使用します。
他の入力は、汎用入力として使用します。

VB.NET
Dim Ret As Integer
Dim CtrlIn As Short
CtrlIn = 2
Ret = SmcWSetCtrlTypeIn( Id , 1, CtrlIn )

C, C++
long Ret;
short CtrlIn ;
CtrlIn = 2 ;
Ret = SmcWSetCtrlTypeIn( Id , 1, CtrlIn );

C#
int Ret;
short CtrlIn ;
CtrlIn = 2 ;
Ret = Smc.WSetCtrlTypeIn( Id , 1, CtrlIn );

Python
Ret = ctypes.c_long()
CtrlIn = ctypes.c_short()
CtrlIn.value = 2
Ret.value = csmc.SmcWSetCtrlTypeIn( Id , 1, CtrlIn )

関連項目

SmcWGetCtrlTypeIn