コンテンツにスキップ
関数 > モーター制御関数 >

YduPmcsGetSensorConfig

機能

センサの設定値を取得します。

書式

INT YduPmcsGetSensorConfig(
    WORD unitId,
    WORD axis,
    WORD mode,
    WORD* config
);

パラメータ

unitId

ユニットのID番号を指定します。

言語 C# VB(.NET2002以降) VB6.0/VBA C++/CLI C/C++
ushort Short Integer unsigned short WORD

axis

設定値を取得する軸を指定します。
複数の軸を指定することはできません。

定義
PMC_AXIS_X0 0x01 X0軸
PMC_AXIS_Y0 0x02 Y0軸
PMC_AXIS_Z0 0x04 Z0軸
PMC_AXIS_U0 0x08 U0軸
PMC_AXIS_X1 0x10 X1軸
PMC_AXIS_Y1 0x20 Y1軸
PMC_AXIS_Z1 0x40 Z1軸
PMC_AXIS_U1 0x80 U1軸
言語 C# VB(.NET2002以降) VB6.0/VBA C++/CLI C/C++
ushort Short Integer unsigned short WORD

mode

取得する項目を指定します。

定義 取得する項目
PMC_LOGIC 0 センサ極性
PMC_STA_STP 1 STA/STP信号有効・無効
PMC_SD_CFG 2 SD信号有効・無効
言語 C# VB(.NET2002以降) VB6.0/VBA C++/CLI C/C++
ushort Short Integer unsigned short WORD

config

設定値を格納するバッファへのポインタを指定します。
取得する項目(mode)によって値が異なります。

  • wMode : PMC_LOGIC

    各センサの入力論理

    bit 15 14 13 12 11 10 9 8
    信号 - - - - - - - STP1
    (※1)
    STP3
    (※2)
    bit 7 6 5 4 3 2 1 0
    信号 STP0
    (※1)
    STP2
    (※2)
    STA1
    (※1)
    STA3
    (※2)
    STA0
    (※1)
    STA2
    (※2)
    ORG +SD -SD +EL -EL
    各ビットの値 内容
    0 オフで検知
    1 オンで検知

    ※1 X0・Y0・Z0・U0指定時
    ※2 X1・Y1・Z1・U1指定時

  • wMode : PMC_STA_STP

    STA/STP信号の有効または無効

    bit 7 6 5 4 3 2 1 0
    信号 - - - - STP1
    (※1)
    STP3
    (※2)
    STP0
    (※1)
    STP2
    (※2)
    STA1
    (※1)
    STA3
    (※2)
    STA0
    (※1)
    STA2
    (※2)
    各ビットの値 内容
    0 無効
    1 有効

    ※1 X0・Y0・Z0・U0指定時
    ※2 X1・Y1・Z1・U1指定時

  • wMode : PMC_SD_CFG

    SD信号の有効または無効

    内容
    0 無効
    1 有効
言語 C# VB(.NET2002以降) VB6.0/VBA C++/CLI C/C++
out ushort Short Integer unsigned short* WORD*

戻り値

関数が正常に終了した場合は0(YDU_RESULT_SUCCESS)が返ります。
正常に終了しなかった場合は0以外が返りますので、その場合はエラーコードを参照してください。

言語 C# VB(.NET2002以降) VB6.0/VBA C++/CLI C/C++
int Integer Long int INT

備考

センサ極性のSTAx・STPxの極性設定はサブボード毎に共通です。
4軸の場合は全ての軸が共通の設定です。
8軸の場合はX0・Y0・Z0・U0が共通の設定、X1・Y1・Z1・U1が共通の設定です。

使用例

ユニットIDが0のユニットから、X0軸のセンサ極性設定を取得します。

C#

var result = YduPmcs.GetSensorConfig(0, YduPmcs.PMC_AXIS_X0, YduPmcs.PMC_LOGIC, out var config);

VB(.NET2002以降)

Dim config As Short
Dim result As Integer = YduPmcsGetSensorConfig(0, PMC_AXIS_X0, PMC_LOGIC, config)

VB6.0/VBA

Dim result As Long
Dim config As Integer
result = YduPmcsGetSensorConfig(0, PMC_AXIS_X0, PMC_LOGIC, config)

C++/CLI

unsigned short config;
int result = YduPmcsGetSensorConfig(0, PMC_AXIS_X0, PMC_LOGIC, &config);

C/C++

WORD config;
INT result = YduPmcsGetSensorConfig(0, PMC_AXIS_X0, PMC_LOGIC, &config);