PmcmSetSensorConfig¶
機能¶
センサの設定をします。
書式¶
INT PmcmSetSensorConfig(
WORD wID,
WORD wAxis,
WORD wMode,
WORD wConfig
);
パラメータ¶
wID¶
ボードのID番号を指定します。
言語 | C/C++ | C++/CLI | C# | VB(.NET2002以降) | VB6.0/VBA | GCC |
---|---|---|---|---|---|---|
型 | WORD | unsigned short | ushort | Short | Integer | uint16_t |
wAxis¶
設定する軸を指定します。複数の軸を指定することができます。
設定値 | 内容 |
---|---|
PMCM_AXIS_X | X軸 |
PMCM_AXIS_Y | Y軸 |
言語 | C/C++ | C++/CLI | C# | VB(.NET2002以降) | VB6.0/VBA | GCC |
---|---|---|---|---|---|---|
型 | WORD | unsigned short | ushort | Short | Integer | uint16_t |
wMode¶
設定する項目を指定します。
設定値 | 内容 |
---|---|
PMCM_LOGIC | 入力論理(センサ極性) |
PMCM_EL_FUNC | EL信号入力ON時の処理 |
PMCM_SD_FUNC | SD信号入力ON時の処理 |
PMCM_SD_ACTIVE | SD信号入力方法 |
PMCM_ORG_FUNC | 原点復帰方法 |
PMCM_EZ_FUNC | Z信号入力論理 |
PMCM_EZ_COUNT | Z信号カウント数 |
PMCM_ALM_FUNC | ALM信号入力ON時の処理 |
PMCM_LTC_FUNC | LTC信号入力論理 |
PMCM_PCS_FUNC | PCS信号入力の処理 |
PMCM_SENS_FILTER | 入力フィルタの設定 |
言語 | C/C++ | C++/CLI | C# | VB(.NET2002以降) | VB6.0/VBA | GCC |
---|---|---|---|---|---|---|
型 | WORD | unsigned short | ushort | Short | Integer | uint16_t |
wConfig¶
設定値を指定します。
設定する項目(wMode)によって値が異なります。
-
wMode : PMCM_LOGIC
各センサの入力論理
bit 15 14 13 12 11 10 9 8 信号 - - - - - - - - bit 7 6 5 4 3 2 1 0 信号 - - PCS
※1,2INP
※1ALM ORG SD ±EL 各ビットの設定値 内容 0 オフで検知(正論理) 1 オンで検知(負論理) ※1 汎用デジタル入力として使用する場合は1に設定してください
※2 PCSはX軸のみ初期値 : H'0(X軸)、H'20(Y軸)
-
wMode : PMCM_EL_FUNC
+EL、-EL信号がONになった時の停止方法
設定値 内容 0 即停止 1 減速停止 初期値 : 0
-
wMode : PMCM_SD_FUNC
SD信号がONになった時の減速方法
設定値 内容 0 減速のみ 1 減速停止 2 SD無効 初期値 : 0
-
wMode : PMCM_SD_ACTIVE
SD信号の入力方法
設定値 内容 0 レベル入力 1 ラッチ入力 初期値 : 0
-
wMode : PMCM_ORG_FUNC
ORG、Z信号を使用した原点復帰方法
設定値 内容 0 ORG信号のみ使用 1 ORG信号とZ信号を使用 初期値 : 0
-
wMode : PMCM_EZ_FUNC
Z信号の入力論理
設定値 内容 0 立ち下がりエッジ 1 立ち上がりエッジ 初期値 : 0
-
wMode : PMCM_EZ_COUNT
原点復帰完了条件のZ信号カウント数
設定範囲は1 ~ 16初期値 : 1
-
wMode : PMCM_ALM_FUNC
ALM信号がONになった時の停止方法
設定値 内容 0 即停止 1 減速停止 初期値 : 0
-
wMode : PMCM_LTC_FUNC
LTC信号の入力論理
設定値 内容 0 LTC信号の立ち下がりエッジでラッチ 1 LTC信号の立ち上がりエッジでラッチ 汎用デジタル入力として使用する場合は0に設定してください
初期値 : 0
-
wMode : PMCM_PCS_FUNC
PCS信号の機能
設定値 内容 0 PCS信号として使用しない 1 PCS信号として使用する(位置のオーバーライド) 2 自軸のみに有効な外部スタート/同時スタート信号 初期値 : 0
-
wMode : PMCM_SENS_FILTER
設定値 内容 0 フィルタなし 1 3.2μsec以下のパルス幅は無視 2 25μsec以下のパルス幅は無視 3 100μsec以下のパルス幅は無視 4 1.6msec以下のパルス幅は無視 +EL、-EL、SD、ORG、ALM、INPにフィルタを挿入します。
フィルタを挿入すると、指定パルス幅以下の信号は無視されます。初期値 : 0
言語 | C/C++ | C++/CLI | C# | VB(.NET2002以降) | VB6.0/VBA | GCC |
---|---|---|---|---|---|---|
型 | WORD | unsigned short | ushort | Short | Integer | uint16_t |
戻り値¶
関数が正常に終了した場合は0(PMCM_RESULT_SUCCESS)が返ります。
正常に終了しなかった場合は0以外が返りますので、その場合はエラーコードを参照してください。
言語 | C/C++ | C++/CLI | C# | VB(.NET2002以降) | VB6.0/VBA | GCC |
---|---|---|---|---|---|---|
型 | INT | int | int | Integer | Long | int32_t |
使用例¶
入力論理(センサ極性)の設定をします。
IDが0のボードの、X軸とY軸のPCS、INP、ALM、ORG、SD、-EL、+ELを「オンで検知」に設定します。
C/C++¶
int nResult;
WORD wAxis;
wAxis = PMCM_AXIS_X + PMCM_AXIS_Y;
nResult = PmcmSetSensorConfig(0, wAxis, PMCM_LOGIC, 0x3F);
C++/CLI¶
int result;
unsigned short axis;
axis = PMCM_AXIS_X + PMCM_AXIS_Y;
result = PmcmSetSensorConfig(0, axis, PMCM_LOGIC, 0x3F);
C#¶
int result;
ushort axis;
axis = Pmcm.PMCM_AXIS_X + Pmcm.PMCM_AXIS_Y;
result = Pmcm.SetSensorConfig(0, axis, Pmcm.PMCM_LOGIC, 0x3F);
VB(.NET2002以降)¶
Dim result As Integer
Dim axis As Short
axis = PMCM_AXIS_X + PMCM_AXIS_Y
result = PmcmSetSensorConfig(0, axis, PMCM_LOGIC, &H3F)
VB6.0/VBA¶
Dim lngResult As Long
Dim intAxis As Integer
intAxis = PMCM_AXIS_X + PMCM_AXIS_Y
lngResult = PmcmSetSensorConfig(0, intAxis, PMCM_LOGIC, &H3F)
GCC¶
int32_t result;
uint16_t axis;
axis = PMCM_AXIS_X + PMCM_AXIS_Y;
result = PmcmSetSensorConfig(0, axis, PMCM_LOGIC, 0x3F);