SmcWSetCtrlTypeIn


機能

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

 

書式

Ret = SmcWSetCtrlTypeIn( Id , AxisNo , CtrlIn )

 

引数

Id [ C, C++: short ] [ Python: ctypes.c_short ]

SmcWInit 関数で取得したデバイスIDを指定します。

 

AxisNo [ C, C++: short ] [ Python: ctypes.c_short ]

軸番号を指定します。

 

CtrlIn [ C, 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-2/4/8DL シリーズではIN6固定。CLR信号設定不可)

 

戻り値

Ret [ C, C++: long ] [ 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)信号入力として使用します。
他の入力は、汎用入力として使用します。

 

C, C++

long Ret;

short CtrlIn ;

CtrlIn = 2 ;

Ret = SmcWSetCtrlTypeIn( Id , 1, CtrlIn );

 

Python

Ret = ctypes.c_long()

CtrlIn = ctypes.c_short()

CtrlIn.value = 2

Ret.value = csmc.SmcWSetCtrlTypeIn( Id , 1, CtrlIn )

 

関連項目

SmcWGetCtrlTypeIn