- No : 733
- 公開日時 : 2007/10/23 15:36
-
印刷
外部入力信号によるカウンタクリア方法
1.回転系テーブルでJOG動作を行っています。
モータ1回転ごとにドライバユニットのロータリーエンコーダからZ相が出力されますが、この信号を使用してカウンタをクリアする方法を教えてください。
2.API-SMC(98/PC)の初期設定ユーティリティ「原点復帰動作設定」のスケールタイプの設定を「角度」に設定した場合の動作に相当する設定方法を教えてください。
3.任意のタイミングで信号を入力し、そのタイミングでカウンタをクリアする方法を教えてください。
- カテゴリー :
-
回答
対象製品型式: SMC-4DL-PCI SMC-8DL-PCI SMC-4DF-PCI SMC-8DF-PCI
関連情報:
ハードウェアの接続とドライバの設定が必要です。
※SMC-4DL-PCI SMC-8DL-PCIを使用する場合は、【 】に置き換えてください。
■接続
ロータリーエンコーダのZ相出力(もしくはクリアしたいタイミングで入力される任意の信号)を
IN6/CLR【IN4/LTC】端子に接続し、ソフトウェアの設定を行うと、Z相信号アサートでのカウンタクリアが可能です。
IN6/CLR【IN4/LTC】の入力部仕様としましてはフォトカプラ入力(電流シンク出力対応)となっていますので
オープンコレクタ出力タイプのロータリーエンコーダが接続できます。
入力ON電流は2.0mA以上必要です。
また、本ボードの入力端子を使用する際には
本ボードのプラスコモン端子と外部電源(+12~+24V)プラス端子、
GND端子と外部電源のマイナス端子の接続が必要となります。
■ドライバ設定
SmcWSetCtrlTypeIn関数にてIN6をCLR【IN4をLTC】に設定してください。
本関数にて 引数CtrlIn のビット6(CLR)【4(LTC)】をONしていない場合、CLR【LTC】信号として認識しません。
機能設定はSmcWSetCounterMode関数にて行います。
引数ClearCntLtcにクリアしたいカウンタを選択してください。
LTC信号によりカウンタクリアを行うには、カウンタのラッチを行う必要があります。
従って引数LtcMode 側の設定は、自動的に対応する設定に変更されます。
Ret = SmcWSetCounterMode(DevId, AxisNo, ClearCntLtc, LtcMode, ClearCntClr, ClrMode);
引数
DevId : デバイスIDを指定します。
AxisNo : 軸番号を指定します。
ClearCntLtc [ VB: Integer ] [ VB.NET: Short ] [ C, C++: short ] [ C#: short ]
: LTC信号がOFF→ONへ変化した時にクリアするカウンタの種類を設定します。
0:カウンタをクリアしない
1:出力パルスカウンタをクリア
2:エンコーダカウンタをクリア
3:出力パルスカウンタおよびエンコーダカウンタをクリア
LtcMode [ VB: Integer ] [ VB.NET: Short ] [ C, C++: short ] [ C#: short ]
: LTC信号入力時にラッチするカウンタの種類を設定します。
0:ラッチ機能を使用しない
1:出力パルスカウンタをラッチ
2:エンコーダカウンタをラッチ
3:出力パルスカウンタおよびエンコーダカウンタをラッチ
ClearCntClr [ VB: Integer ] [ VB.NET: Short ] [ C, C++: short ] [ C#: short ]
: CLR信号がOFF→ONへ変化した時にクリアするカウンタの種類を設定します。
0:カウンタをクリアしない
1:出力パルスカウンタをラッチ
2:エンコーダカウンタをラッチ
3:出力パルスカウンタおよびエンコーダカウンタをラッチ
ClrMode (予約) [ VB: Integer ] [ VB.NET: Short ] [ C, C++: short ] [ C#: short ]
: 0固定です。