SmcWSetSync


機能

軸/チップ/ボード間同期動作を設定します。

 

書式

Ret = SmcWSetSync( Id , SyncAxis , SyncChip , SyncBoard )

 

引数

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

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

 

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

同期制御対象軸を指定します。

[ 軸8 | 軸7 | 軸6 | 軸5 || 軸4 | 軸3 | 軸2 | 軸1 ]

 設定範囲 4軸ボード:0~FH
 設定範囲 8軸ボード:0~FFH

0

同期しない

1

同期する

[例] 軸1、軸3に対応ビットをON(05H) → 軸1、軸3で同期。

 

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

チップ間同期を設定します。

0

同期しない

1

同期する

 

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

ボード間同期を設定します

0

同期しない

1

自ボードCN2とケーブル接続した他ボードと同期します

2

自ボードCN3とケーブル接続した他ボードと同期します

3

自ボードCN2とケーブル接続した他ボード、CN3とケーブル接続した他ボードを同期します

 

戻り値

Ret [ C, C++: long ] [ Python: ctypes.c_long ]

0

正常終了

0以外

異常終了

参照:エラーコード詳細

 

初期値

SyncAxis

0  :  同期しない

SyncChip

1  :  同期する

SyncBoard

3  :  自ボードCN2とケーブル接続した他ボード、CN3とケーブル接続した他ボードを同期します

 

説明

SMC-8DL/DF シリーズ では、4軸制御チップを2個(1-4軸、5-8軸)使用しています。
SMC-8DF シリーズ はチップ間の同期接続を設定により切り離すことが可能ですが、SMC-8DL シリーズ はチップ間の同期接続を切り離すことができません。

SMC-2/4/8DL シリーズ

 SyncChip = 1 : 同期する(デフォルト)

上記設定固定となります。従って、1ボードで1組の同期設定のみ設定可能です。
SyncAxisで選択した軸すべてが同期動作対象軸となります。

 SyncBoard = 0 : 同期しない

上記設定固定となります。このボードにはボード間同期機能はありません。 

SMC-4DF シリーズ

 SyncChip = 1 : 同期する(デフォルト)

上記設定固定となります。1ボードで1組の同期設定のみ設定可能です。

 SyncBoard =

1 :この設定の場合、軸1~4と、CN2と接続されている他ボードを同期します。
2 :この設定の場合、軸1~4と、CN3と接続されている他ボードを同期します。
3 :この設定の場合、上記1, 2の両設定で同期します。
  軸1~4と、CN2と接続されている他ボード、CN3と接続されている他ボード、の3枚のボード間で同期します。

SMC-8DF シリーズ

 SyncChip = 0 : 同期しない

上記設定の場合、軸1~4、軸5~8でそれぞれ1組づつ計2組の同期設定が可能となります。
[例]  軸1、軸3、軸5、軸7 に対応ビットをON ( SyncAxis : 55H ) → 軸1、軸3、軸5、軸7で同期。
   各軸に対しSmcWMotionStart関数を実行し、同期スタート待ち状態とした後、同期スタート関数 ( SmcWSyncMotionStart ) を軸1を指定して実行すると
   ・同期しない ( SyncChip : 0)  軸1、軸3が同時動作開始
   ・同期する ( SyncChip : 1)  軸1、軸3、軸5、軸7が同時動作開始

 SyncBoard =

1 :この設定の場合、軸5~8と、CN2と接続されている他ボードを同期します。
 SyncChip = 1 と設定した場合、軸1~8と、CN2と接続されている他ボードを同期します。
2 :この設定の場合、軸1~4と、CN3と接続されている他ボードを同期します。
 SyncChip = 1 と設定した場合、軸1~8と、CN3と接続されている他ボードを同期します。
3 :この設定の場合、上記1, 2の両設定で同期します。
 SyncChip = 1 と設定した場合、軸1~8と、CN2と接続されている他ボード、CN3と接続されている他ボード、の3枚のボード間で同期します。

複数ビット選択時のみ同期設定有効となります。

本関数実行後、SmcWMotionStart関数を実行することにより、同期スタート待ち状態となります。
同期スタート待ち状態はSmcWGetPulseStatus関数にて確認することができます。

本関数は、SyncAxisで指定した軸がSmcWSetInitParam関数実行済みでなければエラーとなります。

 

関連項目

SmcWGetSync