機能
制御入力信号形式(汎用入力/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 )
関連項目