YduPmcsWriteRegister¶
機能¶
モーターコントロールLSIへレジスタデータを書き込みます。
書式¶
INT YduPmcsWriteRegister(
WORD unitId,
WORD axis,
BYTE byRegNo,
DWORD dwData
);
パラメータ¶
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_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 |
dwData¶
レジスタへ書き込むデータを指定します。
Note
データについては、モーターコントロールLSIのマニュアルを参照してください。
言語 | C# | VB(.NET2002以降) | VB6.0/VBA | C++/CLI | C/C++ |
---|---|---|---|---|---|
型 | 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軸とZ0軸のレジスタ1へ0xFFを書き込みます。
C#¶
var result = YduPmcs.WriteRegister(0, YduPmcs.PMC_AXIS_X0 + YduPmcs.PMC_AXIS_Z0, 1, 0xFF);
VB(.NET2002以降)¶
Dim result As Integer = YduPmcsWriteRegister(0, PMC_AXIS_X0 + PMC_AXIS_Z0, 1, &HFF)
VB6.0/VBA¶
Dim result As Long
result = YduPmcsWriteRegister(0, PMC_AXIS_X0 + PMC_AXIS_Z0, PMC_REG_1, &HFF)
C++/CLI¶
int result = YduPmcsWriteRegister(0, PMC_AXIS_X0 + PMC_AXIS_Z0, PMC_REG_1, 0xFF);
C/C++¶
INT result = YduPmcsWriteRegister(0, PMC_AXIS_X0 + PMC_AXIS_Z0, PMC_REG_1, 0xFF);