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

YduPmcsReadRegister

機能

モーターコントロールLSIのレジスタデータを読み込みます。

書式

INT YduPmcsReadRegister(
    WORD unitId,
    WORD axis,
    BYTE byRegNo,
    DWORD* registerData
);

パラメータ

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

byRegNo

データを読み込むレジスタ番号を指定します。

定義 読み込むレジスタ
PMC_REG_0 0 R0
PMC_REG_1 1 R1
PMC_REG_2 2 R2
PMC_REG_3 3 R3
PMC_REG_4 4 R4
PMC_REG_5 5 R5
PMC_REG_6 6 R6
PMC_REG_7 7 R7
PMC_REG_RMV(※) 16 RMV
PMC_REG_RFL(※) 17 RFL
PMC_REG_RFH(※) 18 RFH
PMC_REG_RUD(※) 19 RUD
PMC_REG_RMG(※) 20 RMG
PMC_REG_RDP(※) 21 RDP
PMC_REG_RIDL(※) 22 RIDL
PMC_REG_RENV(※) 23 RENV
PMC_REG_RCUN(※) 24 RCUN
PMC_REG_RSTS(※) 25 RSTS
PMC_REG_RIOP(※) 26 RIOP

※ RMV以降のレジスタについて

シリアルNo.299999以下のユニットでは使用できません。
また、Ver.3.01以下のドライバでは使用できません。

言語 C# VB(.NET2002以降) VB6.0/VBA C++/CLI C/C++
byte Byte Byte unsigned char BYTE

registerData

レジスタデータを格納するバッファへのポインタを指定します。

言語 C# VB(.NET2002以降) VB6.0/VBA C++/CLI C/C++
out uint Integer Long unsigned long* DWORD*

戻り値

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

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

使用例

ユニットIDが0のユニットから、X0軸のレジスタ1のデータを読み込みます。

C#

var result = YduPmcs.ReadRegister(0, YduPmcs.PMC_AXIS_X0, 1, out var registerData);

VB(.NET2002以降)

Dim registerData As Integer
Dim result As Integer = YduPmcsReadRegister(0, PMC_AXIS_X0, 1, registerData)

VB6.0/VBA

Dim result As Long
Dim registerData As Long
result = YduPmcsReadRegister(0, PMC_AXIS_X0, PMC_REG_1, registerData)

C++/CLI

unsigned long registerData;
int result = YduPmcsReadRegister(0, PMC_AXIS_X0, PMC_REG_1, &registerData);

C/C++

DWORD registerData;
INT result = YduPmcsReadRegister(0, PMC_AXIS_X0, PMC_REG_1, &registerData);