![]() |
Rcb4Lib
1.0.0B
|
RCB4を動かすため初期設定やコマンドをまとめたクラスです。 [詳解]
クラス | |
class | AckType |
返信データのACKの数値の定義 [詳解] | |
class | CmdOkType |
コマンドがOKかNGか判定する [詳解] | |
class | CommandTypes |
コマンドの列挙型 [詳解] | |
class | ConfigData |
コンフィグデータのデータ一覧 [詳解] | |
class | DeviceAddrOffset |
RCB4のデバイスデータのアドレス一覧 [詳解] | |
class | KRR_BUTTON |
KRRから送られてきたボタンの番号一覧 [詳解] | |
class | RamAddr |
RCB4のRAMのアドレス一覧 [詳解] | |
class | RomAddr |
RCB4のROMのアドレス一覧 [詳解] | |
class | ServoData |
サーボモータ1つを定義するクラス [詳解] | |
class | SubMoveCmd |
Moveのサブコマンドの列挙型 [詳解] | |
公開メンバ関数 | |
def | setCheckSum (self, dataBytes) |
コマンドのデータ配列の最後にチェックサムを代入する [詳解] | |
def | synchronize (self, txBuf, rxLen) |
実際に送受信を行う [詳解] | |
def | open (self, comName, bundrate, timOut) |
SerialポートをRCB-4用に設定をして開く [詳解] | |
def | close (self) |
Serialポートを閉じる [詳解] | |
def | synchronizeAck (self, txData) |
送受信後ACK判定 [詳解] | |
def | checkAcknowledge (self) |
ACKコマンドを送って通信ができているかどうか確認を行う [詳解] | |
def | moveComToRamCmdSynchronize (self, scrAddr, destData) |
COMからRAMにデータを転送します(COM ==> RAM) [詳解] | |
def | moveRamToComCmdSynchronize (self, scrAddr, scrDataSize) |
RAM上のデータをCOMに出力します(RAM ==> COM) [詳解] | |
def | moveComToDeviceCmdSynchronize (self, icsNum, offset, destData) |
COMからDevice部分にデータを転送する [詳解] | |
def | moveDeviceToComCmdSynchronize (self, icsNum, offset, dataSize) |
Device部分からCOMにデータを転送する (Device ==> COM ) [詳解] | |
def | sortServoDatas (self, servoDatas) |
サーボモータ型のデータをソートします [詳解] | |
def | checkServoDatas (servoDatas) |
送られてきたservoDataの配列に重複がないか確認をします [詳解] | |
def | setSingleServo (self, id, sio, pos, frame) |
サーボモータの単体を動かす [詳解] | |
def | setServoPos (self, servoDatas, frame) |
複数のサーボモータを同時に動かす [詳解] | |
def | setFreePos (self, servoDatas) |
指定した複数のサーボモータをフリー状態にする [詳解] | |
def | setHoldPos (self, servoDatas) |
指定した複数のサーボモータをホールド状態にする [詳解] | |
def | setFreeSingleServo (self, id, sio) |
指定した単体のサーボモータを同時にフリーにする [詳解] | |
def | setHoldSingleServo (self, id, sio) |
指定した単体のサーボモータをホールドにする [詳解] | |
def | getSinglePos (self, id, sio) |
指定したサーボモータの角度を取得する [詳解] | |
def | setServoSpeed (self, servoDatas) |
一度にサーボモータのスピードを指定する [詳解] | |
def | setServoStretch (self, servoDatas) |
一度にサーボモータのストレッチを指定する [詳解] | |
def | getConfig (self) |
コンフィグデータを取得する [詳解] | |
def | getPio (self) |
PIOの状態を取得する [詳解] | |
def | setPio (self, pioData) |
PIOの状態(H/L)を変更する [詳解] | |
def | setPioMode (self, pioModeData) |
PIOの入出力を変更する [詳解] | |
def | getAdData (self, adPort) |
def | getAllAdData (self) |
def | getRcb4Voltage (self) |
def | setKrrData (self, buttonData, adData) |
def | setKrrButtonData (self, buttonData) |
def | setKrrAdData (self, paPort, adData) |
def | setServoRamAddrMixing (self, id, sio, mixNum, ramAddr, gain) |
def | setServoDeviceMixing (self, id, sio, mixNum, mixId, mixSio, devOfeet, gain) |
def | setServoMixGain (self, id, sio, mixNum, gain) |
def | resetServoMixing (self, id, sio, mixNum) |
def | setUserCounter (self, counterNum, data) |
def | getUserCounter (self, counterNum) |
def | setUserParmeter (self, parmeterNum, data) |
def | getUserParmeter (self, ParmeterNum) |
def | getMotionPlayNum (self) |
def | suspend (self) |
def | motionAddr2motionNum (self, motionNum) |
def | setMotionNum (self, motionNum) |
def | resetProgramCounter (self) |
def | resume (self) |
def | motionPlay (self, motionNum) |
静的公開メンバ関数 | |
def | CheckSum (dataBytes) |
チェックサムを計算する [詳解] | |
def | acknowledgeCmd () |
ACKコマンドの生成 [詳解] | |
def | moveComToRamCmd (destAddr, destData) |
COMからRAMに転送するコマンドを作成する(COM ==> RAM) [詳解] | |
def | moveRamToComCmd (scrAddr, scrDataSize) |
RAMからCOMにデータを出力するコマンドを作成します(RAM ==> COM) [詳解] | |
def | moveComToDeviceCmd (icsNum, offset, destData) |
COMからDevice部分にデータを転送するコマンドを生成します(COM ==> Device) [詳解] | |
def | moveDeviceToComCmd (icsNum, offset, dataSize) |
Device部分からCOMにデータを転送するコマンドを作成する(Device ==> COM ) [詳解] | |
def | callCmd (romAddr) |
指定したROMのアドレスにコールするコマンドを作成する [詳解] | |
def | runSingleServoCmd (idNum, sioNum, pos, frame) |
サーボモータを1つだけ動かすコマンドを作成します [詳解] | |
def | setServoNo (servoDatas) |
サーボモータを複数アクセスするときに必要なデータを作る関数 [詳解] | |
def | runConstFrameServoCmd (servoDatas, frame) |
複数のサーボモータを同時に動かすコマンドの作成 [詳解] | |
def | setParametersBaseCmd (servoDatas, servoParameter) |
サーボモータのパラメータを変更するコマンドを生成する [詳解] | |
def | setSpeedCmd (servoDatas) |
一度にサーボモータのスピードを指定するコマンドの作成 [詳解] | |
def | setStretchCmd (servoDatas) |
一度にサーボモータのストレッチを指定するコマンドの作成 [詳解] | |
def | adDataAddr (adPort) |
ADの測定値アドレスを取得する [詳解] | |
def | icsNum2id (id, sio) |
def | userCounterAddr (counterNum) |
def | userParmeterAddr (parmeterNum) |
公開変数類 | |
com | |
静的公開変数類 | |
int | Version = 220 |
バージョン番号 | |
int | AdcCount = 11 |
AD変換器のチャンネル数 | |
int | AdcSingleDataCount = 2 |
AD変換器単体のデータバイト数 | |
int | AdcDataCount = AdcCount * AdcSingleDataCount |
AD変換器全体のデータバイト数 | |
int | SIO1_4 = 0x01 |
SIO1-4の定義値 | |
int | SIO5_8 = 0x02 |
SIO5-8の定義値 | |
int | MotionSingleDataCount = 2048 |
1モーション当たりデータ数 | |
int | MaxMotionCount = 120 |
モーションの数 | |
int | MotionDataCount = 2048 * 120 |
モーションデータ全体の最大バイト数 | |
int | CounterSingleDataCount = 1 |
ユーザカウンタのbyte数 | |
int | CounterCount = 10 |
ユーザカウンタの数 | |
int | UserParmeterSingleDataCount = 2 |
ユーザ変数のbyte数 | |
int | UserParmeterCount = 20 |
ユーザ変数の数 | |
int | IcsDeviceSize = 35 |
ICSデバイスの数 [詳解] | |
int | IcsDeviceDataSize = 20 |
ICSデバイスの1つのデータ数(byte) | |
int | com = 0 |
COMのデバイス名 | |
RCB4を動かすため初期設定やコマンドをまとめたクラスです。
|
static |
ACKコマンドの生成
returnDataSize | ACKコマンドの返信データ数 |
txbuf | ACK用のコマンドデータ配列 |
|
static |
ADの測定値アドレスを取得する
adPort | ADのポート番号 |
-1 | データの取得失敗 |
|
static |
指定したROMのアドレスにコールするコマンドを作成する
romAddr | コール先のROMのアドレス |
returnDataSize | 返ってくるデータサイズ |
txbuf | コマンド全体のデータ配列 |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.checkAcknowledge | ( | self | ) |
ACKコマンドを送って通信ができているかどうか確認を行う
True | ACKコマンドが正常に返ってきた |
False | ACKコマンドが正常でなかった |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.checkServoDatas | ( | servoDatas | ) |
送られてきたservoDataの配列に重複がないか確認をします
servoDatas | servoDataのデータは配列 |
True | 重複がなかった |
False | 重複があったもしくはIDに異常値が入っていた |
|
static |
チェックサムを計算する
dataBytes | データのbyte列 |
計算されたチェックサム |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.close | ( | self | ) |
Serialポートを閉じる
Serialポートを閉じるのに失敗したらエラーを返す |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.getAdData | ( | self, | |
adPort | |||
) |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.getAllAdData | ( | self | ) |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.getConfig | ( | self | ) |
コンフィグデータを取得する
config | Configに書かれているデータ |
0xFFFF | データが正常に受信できなかった |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.getMotionPlayNum | ( | self | ) |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.getPio | ( | self | ) |
PIOの状態を取得する
pioData | PIO端子の状態のbitデータの集まり[0:L 1:H] |
0xFFFF(-1) | データが正常に受信できなかった |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.getRcb4Voltage | ( | self | ) |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.getSinglePos | ( | self, | |
id, | |||
sio | |||
) |
指定したサーボモータの角度を取得する
id | サーボモータのID |
sio | サーボモータに接続されているSIO |
True | 正常にデータを送信 |
False | データが正常に送信できなかった |
posData | 指定されたポジションデータ |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.getUserCounter | ( | self, | |
counterNum | |||
) |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.getUserParmeter | ( | self, | |
ParmeterNum | |||
) |
|
static |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.motionAddr2motionNum | ( | self, | |
motionNum | |||
) |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.motionPlay | ( | self, | |
motionNum | |||
) |
|
static |
COMからDevice部分にデータを転送するコマンドを生成します(COM ==> Device)
icsNum | 書き込むICSデバイスの番号(IDとSIOから計算した値) |
offset | 書き込むデータのオフセットアドレス |
destData | 書き込むデータ |
returnDataSize | 返ってくるデータサイズ |
txbuf | コマンド全体のデータ配列 |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.moveComToDeviceCmdSynchronize | ( | self, | |
icsNum, | |||
offset, | |||
destData | |||
) |
COMからDevice部分にデータを転送する
icsNum | 書き込むICSデバイスの番号(IDとSIOから計算した値) |
offset | 書き込むデータのオフセットアドレス |
destData | 書き込むデータ |
True:正常にデータが返ってきた | |
False:正常にデータが返ってこなかった |
|
static |
COMからRAMに転送するコマンドを作成する(COM ==> RAM)
destAddr | 書き換えるRAMのデータアドレス |
destData | 書き換えるデータ配列(1byteも可能) |
returnDataSize | 返ってくるデータサイズ |
txbuf | コマンド全体のデータ配列 |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.moveComToRamCmdSynchronize | ( | self, | |
scrAddr, | |||
destData | |||
) |
COMからRAMにデータを転送します(COM ==> RAM)
scrAddr | 書き換えるRAMの転送アドレス |
destData | 書き換えるデータ配列(1byteも可能) |
True | データが正常に転送できた |
False | データが正常に転送できなかった |
|
static |
Device部分からCOMにデータを転送するコマンドを作成する(Device ==> COM )
icsNum | 読み込むICSデバイスの番号(IDとSIOから計算した値) |
offset | 読み込むデータのオフセットアドレス |
destSize | 読み込むデータ数 |
returnDataSize | 返ってくるデータサイズ |
txbuf | コマンド全体のデータ配列 |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.moveDeviceToComCmdSynchronize | ( | self, | |
icsNum, | |||
offset, | |||
dataSize | |||
) |
Device部分からCOMにデータを転送する (Device ==> COM )
icsNum | 読み込むICSデバイスの番号(IDとSIOから計算した値) |
offset | 読み込むデータのオフセットアドレス |
destSize | 読み込むデータ数 |
True:正常にデータが返ってきた | False:正常にデータが返ってこなかった |
rxbuf | コマンドを除いた受信したデータ |
|
static |
RAMからCOMにデータを出力するコマンドを作成します(RAM ==> COM)
scrAddr | 取得するデータの先頭アドレス |
scrDataSize | 取得するデータbyte数 |
returnDataSize | 受信データ数 |
txbuf | 送信データコマンドデータ配列 |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.moveRamToComCmdSynchronize | ( | self, | |
scrAddr, | |||
scrDataSize | |||
) |
RAM上のデータをCOMに出力します(RAM ==> COM)
scrAddr | 取得するデータの先頭アドレス |
scrDataSize | 取得するデータbyte数 |
True:正常にデータが返ってきた | False:正常にデータが返ってこなかった |
コマンドを除いた受信したデータ |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.open | ( | self, | |
comName, | |||
bundrate, | |||
timOut | |||
) |
SerialポートをRCB-4用に設定をして開く
comName | ポートの名前 |
bundrate | 通信速度 |
timOut | 受信タイムアウト |
True:ポートを開いてコンフィグデータを取得できた | |
False:ポートを開けなかったか、コンフィグデータを取得できなかった |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.resetProgramCounter | ( | self | ) |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.resetServoMixing | ( | self, | |
id, | |||
sio, | |||
mixNum | |||
) |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.resume | ( | self | ) |
|
static |
複数のサーボモータを同時に動かすコマンドの作成
servoDatas | サーボモータのデータが保存されている配列 |
frame | サーボモータを動かすフレーム数 |
returnDataSize | 返ってくるデータサイズ |
txbuf | コマンド全体のデータ配列 |
|
static |
サーボモータを1つだけ動かすコマンドを作成します
idNum | サーボモータのID番号 |
sioNum | SIOのつながっている番号 |
pos | サーボモータのポジションデータ(0(FREE),0xFFFF(Hold),3500-11500) |
frame | フレーム周期 |
returnDataSize | 返ってくるデータサイズ |
txbuf | コマンド全体のデータ配列 |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setCheckSum | ( | self, | |
dataBytes | |||
) |
コマンドのデータ配列の最後にチェックサムを代入する
dataBytes | 送信するデータ配列 |
True:挿入成功 | False:挿入失敗 |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setFreePos | ( | self, | |
servoDatas | |||
) |
指定した複数のサーボモータをフリー状態にする
servoDatas | サーボモータのデータが保存されている配列(使うのはSIO,IDのみ) |
True | 正常にデータを送信 |
False | データが正常に送信できなかった |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setFreeSingleServo | ( | self, | |
id, | |||
sio | |||
) |
指定した単体のサーボモータを同時にフリーにする
id | サーボモータのID |
sio | サーボモータに接続されているSIO |
True | 正常にデータを送信 |
False | データが正常に送信できなかった |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setHoldPos | ( | self, | |
servoDatas | |||
) |
指定した複数のサーボモータをホールド状態にする
servoDatas | サーボモータのデータが保存されている配列(使うのはSIO,IDのみ) |
True | 正常にデータを送信 |
False | データが正常に送信できなかった |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setHoldSingleServo | ( | self, | |
id, | |||
sio | |||
) |
指定した単体のサーボモータをホールドにする
id | サーボモータのID |
sio | サーボモータに接続されているSIO |
True | 正常にデータを送信 |
False | データが正常に送信できなかった |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setKrrAdData | ( | self, | |
paPort, | |||
adData | |||
) |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setKrrButtonData | ( | self, | |
buttonData | |||
) |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setKrrData | ( | self, | |
buttonData, | |||
adData | |||
) |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setMotionNum | ( | self, | |
motionNum | |||
) |
|
static |
サーボモータのパラメータを変更するコマンドを生成する
servoDatas | サーボモータのデータが保存されている配列 |
servoParameter | サーボモータのどのパラメータを変更するか指定 |
returnDataSize | 返ってくるデータサイズ |
txbuf | コマンド全体のデータ配列 |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setPio | ( | self, | |
pioData | |||
) |
PIOの状態(H/L)を変更する
pioData | PIO端子の状態のbitデータの集まり[0:L 1:H] |
True | 正常にデータを送信 |
False | データが正常に送信できなかった |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setPioMode | ( | self, | |
pioModeData | |||
) |
PIOの入出力を変更する
pioModeData | PIOの端子の入出力状態せってするbitデータの集まり[0:L 1:H] |
True | 正常にデータを送信 |
False | データが正常に送信できなかった |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setServoDeviceMixing | ( | self, | |
id, | |||
sio, | |||
mixNum, | |||
mixId, | |||
mixSio, | |||
devOfeet, | |||
gain | |||
) |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setServoMixGain | ( | self, | |
id, | |||
sio, | |||
mixNum, | |||
gain | |||
) |
|
static |
サーボモータを複数アクセスするときに必要なデータを作る関数
servoDatas | サーボモータ型のデータが入力されている配列 |
ret | サーボモータを複数アクセスするときに必要なデータ5byte分 |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setServoPos | ( | self, | |
servoDatas, | |||
frame | |||
) |
複数のサーボモータを同時に動かす
servoDatas | サーボモータのデータが保存されている配列 |
frame | サーボモータを動かすフレーム数 |
True | 正常にデータを送信 |
False | データが正常に送信できなかった |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setServoRamAddrMixing | ( | self, | |
id, | |||
sio, | |||
mixNum, | |||
ramAddr, | |||
gain | |||
) |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setServoSpeed | ( | self, | |
servoDatas | |||
) |
一度にサーボモータのスピードを指定する
servoDatas | サーボモータのデータが保存されている配列 |
True | 正常にデータを送信 |
False | データが正常に送信できなかった |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setServoStretch | ( | self, | |
servoDatas | |||
) |
一度にサーボモータのストレッチを指定する
servoDatas | サーボモータのデータが保存されている配列 |
True | 正常にデータを送信 |
False | データが正常に送信できなかった |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setSingleServo | ( | self, | |
id, | |||
sio, | |||
pos, | |||
frame | |||
) |
サーボモータの単体を動かす
idNum | サーボモータのID番号 |
sioNum | SIOのつながっている番号 |
pos | サーボモータのポジションデータ(0x8000(FREE),0xFFFF(Hold),3500-11500) |
frame | フレーム周期 |
True | 正常にデータを送信 |
False | データが正常に送信できなかった |
|
static |
一度にサーボモータのスピードを指定するコマンドの作成
servoDatas | サーボモータのデータが保存されている配列 |
returnDataSize | 返ってくるデータサイズ |
txbuf | コマンド全体のデータ配列 |
|
static |
一度にサーボモータのストレッチを指定するコマンドの作成
servoDatas | サーボモータのデータが保存されている配列 |
returnDataSize | 返ってくるデータサイズ |
txbuf | コマンド全体のデータ配列 |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setUserCounter | ( | self, | |
counterNum, | |||
data | |||
) |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setUserParmeter | ( | self, | |
parmeterNum, | |||
data | |||
) |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.sortServoDatas | ( | self, | |
servoDatas | |||
) |
サーボモータ型のデータをソートします
servoDatas | ソート前のデータ |
servoDatas | ソート後のデータ(中身が変わっているだけ) |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.suspend | ( | self | ) |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.synchronize | ( | self, | |
txBuf, | |||
rxLen | |||
) |
実際に送受信を行う
txBuf | 送信データの配列 |
rxLen | 受信データ数 |
rxbuf | 受信データ 配列数0の場合は失敗になります |
rxs | データの受信数 |
def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.synchronizeAck | ( | self, | |
txData | |||
) |
送受信後ACK判定
txData | ACKコマンドが入ったデータ配列 |
ACKが正常に返ってきたかどうか判断 |
|
static |
|
static |
|
static |
ICSデバイスの数