SmcWSetOrgMode


機能

原点復帰形式(原点復帰動作パターン)を設定します。

 

書式

Ret = SmcWSetOrgMode( Id , AxisNo , LimitTurn , OrgType , EndDir , ZCount )

 

引数

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

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

 

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

軸番号を指定します。

 

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

原点復帰動作中の+LIM/-LIMリミット反転の有無を設定します。
本設定有効時に +LIM/-LIMリミットを検出した場合は、方向を反転し、原点復帰動作を継続します。
また、+LIM/-LIMを原点として使用する場合も、本パラメータにて設定します。

0

LIM信号反転無効

1

LIM信号反転有効

2

LIM信号ON原点復帰開始可能

3

LIM信号入力原点復帰

 

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

Z相の使用有無を設定します。"0"設定時、ZCount設定は無効です。

0

使用しない(ORGのみ)

1

使用する(ORG + Z相)

 

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

原点復帰時の原点突入方向 (原点復帰終了方向) を設定します。

0

未指定

1

正方向 (CW)

2

負方向 (CCW)

 

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

原点復帰時のZ相の数を設定します。(設定範囲 1~16)
"0"設定時にはこの設定は無効です。OrgTypeは"0"[使用しない]に自動的に変更されます。

 

戻り値

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

0

正常終了

0以外

異常終了

参照:エラーコード詳細

 

初期値

LimitTurn

1 : リミット反転する

OrgType

0 : 使用しない(ORGのみ)

EndDir

0 : 未指定

ZCount

1

 

説明

LimitTurn = 2 :「LIM信号反転有効」 + 「LIM信号ON方向への原点復帰開始可能」

例:

通常、-LIM信号ON時にCCW方向への原点復帰動作開始はエラー(20204)となりますが、
本設定の場合、瞬時にCW方向へ動作開始します。このときの状態は「LIM信号反転済み」となり、次のLIM信号ONで停止します。

LimitTurn = 3:

+LIM/-LIM信号入力を使用した原点復帰動作です。ORG信号の代わりにLIM信号を使用しての原点復帰動作が可能です。
また、「OrgType=1」設定でZ相が使用可能となり、「ZCount」の設定値が有効となります。
SMC-2/4/8DL シリーズ では使用できません。
本設定時、EndDir設定は無効です。

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

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

 

使用例

軸番号1の原点復帰形式を設定します。
リミット反転の[リミット反転する]に設定します。
Z相の使用をORG + Z相に設定します。
原点復帰時の原点突入方向を負方向に設定します。
原点復帰時のZ相の数を2に設定します。

 

C, C++

long Ret;

short LimitTurn ;

short OrgType ;

short EndDir ;

short ZCount ;

LimitTurn = 1;

OrgType = 1;

EndDir = 2;

ZCount = 2;

Ret = SmcWSetOrgMode( Id , 1, LimitTurn , OrgType , EndDir , ZCount );

 

Python

Ret = ctypes.c_long()

LimitTurn = ctypes.c_short()

OrgType = ctypes.c_short()

EndDir = ctypes.c_short()

ZCount = ctypes.c_short()

LimitTurn.value = 1

OrgType.value = 1

EndDir.value = 2

ZCount.value = 2

Ret.value = csmc.SmcWSetOrgMode( Id , 1, LimitTurn , OrgType , EndDir , ZCount )

 

関連項目

 SmcWGetOrgMode