Rcb4Lib  1.0.0B
Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib クラス

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を動かすため初期設定やコマンドをまとめたクラスです。

関数詳解

◆ acknowledgeCmd()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.acknowledgeCmd ( )
static

ACKコマンドの生成

戻り値
returnDataSizeACKコマンドの返信データ数
txbufACK用のコマンドデータ配列
覚え書き
ACKのコマンドを生成します
静的関数で外部アクセスが可能

◆ adDataAddr()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.adDataAddr (   adPort)
static

ADの測定値アドレスを取得する

引数
adPortADのポート番号
戻り値
取得されたAD値
戻り値
-1データの取得失敗
覚え書き
ADポート0は電源電圧の分圧分が入力されます
静的関数で外部アクセスが可能

◆ callCmd()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.callCmd (   romAddr)
static

指定したROMのアドレスにコールするコマンドを作成する

引数
romAddrコール先のROMのアドレス
戻り値
(returnDataSize,txbuf)
戻り値
returnDataSize返ってくるデータサイズ
txbufコマンド全体のデータ配列
覚え書き
指定したROMのアドレスにコールするコマンドを作成します
静的関数で外部アクセスが可能
警告
条件指定なしでコールします

◆ checkAcknowledge()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.checkAcknowledge (   self)

ACKコマンドを送って通信ができているかどうか確認を行う

戻り値
TrueACKコマンドが正常に返ってきた
FalseACKコマンドが正常でなかった
呼び出し関係図:

◆ checkServoDatas()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.checkServoDatas (   servoDatas)

送られてきたservoDataの配列に重複がないか確認をします

引数
servoDatasservoDataのデータは配列
戻り値
True重複がなかった
False重複があったもしくはIDに異常値が入っていた

◆ CheckSum()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.CheckSum (   dataBytes)
static

チェックサムを計算する

引数
dataBytesデータのbyte列
戻り値
計算されたチェックサム
覚え書き
引数のbyte配列はコマンドが入っていて先頭にはデータ数が入っています。 そのデータ数を用いて配列数を判別しています。

◆ close()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.close (   self)

Serialポートを閉じる

戻り値
Serialポートを閉じるのに失敗したらエラーを返す

◆ getAdData()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.getAdData (   self,
  adPort 
)
引数
呼び出し関係図:

◆ getAllAdData()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.getAllAdData (   self)
引数
呼び出し関係図:

◆ getConfig()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.getConfig (   self)

コンフィグデータを取得する

戻り値
configConfigに書かれているデータ
0xFFFFデータが正常に受信できなかった
覚え書き
ConfigRamAddressに2byteのデータがあるので、moveRamToComで取得する
呼び出し関係図:

◆ getMotionPlayNum()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.getMotionPlayNum (   self)
引数
呼び出し関係図:

◆ getPio()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.getPio (   self)

PIOの状態を取得する

戻り値
pioDataPIO端子の状態のbitデータの集まり[0:L 1:H]
0xFFFF(-1)データが正常に受信できなかった
覚え書き
PioAddressに2byteのデータがあるので、moveRamToComで取得する
Pioのデータは10ピンなのでマスクがかかっています
呼び出し関係図:

◆ getRcb4Voltage()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.getRcb4Voltage (   self)
引数
呼び出し関係図:

◆ getSinglePos()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.getSinglePos (   self,
  id,
  sio 
)

指定したサーボモータの角度を取得する

引数
idサーボモータのID
sioサーボモータに接続されているSIO
戻り値
(flag,posData)
戻り値
True正常にデータを送信
Falseデータが正常に送信できなかった
posData指定されたポジションデータ
覚え書き
DeviceAddrOffset.MotorPositionAddressOffset部分に現在位置が入っているのでそこから2byte読み取る
呼び出し関係図:

◆ getUserCounter()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.getUserCounter (   self,
  counterNum 
)
引数
呼び出し関係図:

◆ getUserParmeter()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.getUserParmeter (   self,
  ParmeterNum 
)
引数
呼び出し関係図:

◆ icsNum2id()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.icsNum2id (   id,
  sio 
)
static
引数

◆ motionAddr2motionNum()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.motionAddr2motionNum (   self,
  motionNum 
)
引数

◆ motionPlay()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.motionPlay (   self,
  motionNum 
)
引数
呼び出し関係図:

◆ moveComToDeviceCmd()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.moveComToDeviceCmd (   icsNum,
  offset,
  destData 
)
static

COMからDevice部分にデータを転送するコマンドを生成します(COM ==> Device)

引数
icsNum書き込むICSデバイスの番号(IDとSIOから計算した値)
offset書き込むデータのオフセットアドレス
destData書き込むデータ
戻り値
(returnDataSize,txbuf)
戻り値
returnDataSize返ってくるデータサイズ
txbufコマンド全体のデータ配列
覚え書き
COMから指定したICS番号の指定した部分にデータを転送をするコマンドを生成します(COM ==> Device)
静的関数で外部アクセスが可能
icsNum => icsNum2id()
offset => Rcb4BaseLib.DeviceAddrOffset

◆ moveComToDeviceCmdSynchronize()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.moveComToDeviceCmdSynchronize (   self,
  icsNum,
  offset,
  destData 
)

COMからDevice部分にデータを転送する

引数
icsNum書き込むICSデバイスの番号(IDとSIOから計算した値)
offset書き込むデータのオフセットアドレス
destData書き込むデータ
戻り値
True:正常にデータが返ってきた
False:正常にデータが返ってこなかった
覚え書き
COMから指定したICS番号の指定した部分にデータを転送します(COM ==> Device)
icsNum => icsNum2id()
offset => Rcb4BaseLib.DeviceAddrOffset
呼び出し関係図:

◆ moveComToRamCmd()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.moveComToRamCmd (   destAddr,
  destData 
)
static

COMからRAMに転送するコマンドを作成する(COM ==> RAM)

引数
destAddr書き換えるRAMのデータアドレス
destData書き換えるデータ配列(1byteも可能)
戻り値
returnDataSize返ってくるデータサイズ
txbufコマンド全体のデータ配列
覚え書き
COM(外部)からRAMにデータを書き込むコマンドを作成します
静的関数で外部アクセスが可能

◆ moveComToRamCmdSynchronize()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.moveComToRamCmdSynchronize (   self,
  scrAddr,
  destData 
)

COMからRAMにデータを転送します(COM ==> RAM)

引数
scrAddr書き換えるRAMの転送アドレス
destData書き換えるデータ配列(1byteも可能)
戻り値
Trueデータが正常に転送できた
Falseデータが正常に転送できなかった
覚え書き
COM(外部)からRAMのデータを書き換えます
呼び出し関係図:

◆ moveDeviceToComCmd()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.moveDeviceToComCmd (   icsNum,
  offset,
  dataSize 
)
static

Device部分からCOMにデータを転送するコマンドを作成する(Device ==> COM )

引数
icsNum読み込むICSデバイスの番号(IDとSIOから計算した値)
offset読み込むデータのオフセットアドレス
destSize読み込むデータ数
戻り値
(returnDataSize,txbuf)
戻り値
returnDataSize返ってくるデータサイズ
txbufコマンド全体のデータ配列
覚え書き
Device部分からCOMにデータを転送するコマンドを生成します(Device ==> COM )
静的関数で外部アクセスが可能
icsNum => icsNum2id()
offset => Rcb4BaseLib.DeviceAddrOffset

◆ moveDeviceToComCmdSynchronize()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.moveDeviceToComCmdSynchronize (   self,
  icsNum,
  offset,
  dataSize 
)

Device部分からCOMにデータを転送する (Device ==> COM )

引数
icsNum読み込むICSデバイスの番号(IDとSIOから計算した値)
offset読み込むデータのオフセットアドレス
destSize読み込むデータ数
戻り値
True:正常にデータが返ってきたFalse:正常にデータが返ってこなかった
rxbufコマンドを除いた受信したデータ
覚え書き
Device部分からCOMにデータを転送する(Device ==> COM )
失敗した場合はFalseと同時に空のデータ配列をかえします。
icsNum => icsNum2id()
offset => Rcb4BaseLib.DeviceAddrOffset
呼び出し関係図:

◆ moveRamToComCmd()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.moveRamToComCmd (   scrAddr,
  scrDataSize 
)
static

RAMからCOMにデータを出力するコマンドを作成します(RAM ==> COM)

引数
scrAddr取得するデータの先頭アドレス
scrDataSize取得するデータbyte数
戻り値
returnDataSize受信データ数
txbuf送信データコマンドデータ配列
覚え書き
RAM上のデータをCOMに転送するコマンドを作成します

◆ moveRamToComCmdSynchronize()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.moveRamToComCmdSynchronize (   self,
  scrAddr,
  scrDataSize 
)

RAM上のデータをCOMに出力します(RAM ==> COM)

引数
scrAddr取得するデータの先頭アドレス
scrDataSize取得するデータbyte数
戻り値
True:正常にデータが返ってきたFalse:正常にデータが返ってこなかった
コマンドを除いた受信したデータ
覚え書き
RAM上のデータをCOMに転送(出力)します(RAM ==> COM)
失敗した場合はFalseと同時に空のデータ配列をかえします。
呼び出し関係図:

◆ open()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.open (   self,
  comName,
  bundrate,
  timOut 
)

SerialポートをRCB-4用に設定をして開く

引数
comNameポートの名前
bundrate通信速度
timOut受信タイムアウト
戻り値
True:ポートを開いてコンフィグデータを取得できた
False:ポートを開けなかったか、コンフィグデータを取得できなかった
覚え書き
Serialポートを開く 通信ができるかどうかACKコマンドを送る コンフィグデータを取得する 上のどれかが失敗したらエラーを返す
呼び出し関係図:

◆ resetProgramCounter()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.resetProgramCounter (   self)
引数
呼び出し関係図:

◆ resetServoMixing()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.resetServoMixing (   self,
  id,
  sio,
  mixNum 
)
引数
呼び出し関係図:

◆ resume()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.resume (   self)
引数
呼び出し関係図:

◆ runConstFrameServoCmd()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.runConstFrameServoCmd (   servoDatas,
  frame 
)
static

複数のサーボモータを同時に動かすコマンドの作成

引数
servoDatasサーボモータのデータが保存されている配列
frameサーボモータを動かすフレーム数
戻り値
(returnDataSize,txbuf)
戻り値
returnDataSize返ってくるデータサイズ
txbufコマンド全体のデータ配列
覚え書き
複数のサーボモータを動かすためのコマンドを作成します
静的関数で外部アクセスが可能
警告
引数のデータは中身が書き換えられるので注意

◆ runSingleServoCmd()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.runSingleServoCmd (   idNum,
  sioNum,
  pos,
  frame 
)
static

サーボモータを1つだけ動かすコマンドを作成します

引数
idNumサーボモータのID番号
sioNumSIOのつながっている番号
posサーボモータのポジションデータ(0(FREE),0xFFFF(Hold),3500-11500)
frameフレーム周期
戻り値
(returnDataSize,txbuf)
戻り値
returnDataSize返ってくるデータサイズ
txbufコマンド全体のデータ配列
覚え書き
サーボモータを1つだけ動かします
静的関数で外部アクセスが可能
sioNum SIO1-4 , SIO5-8

◆ setCheckSum()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setCheckSum (   self,
  dataBytes 
)

コマンドのデータ配列の最後にチェックサムを代入する

引数
dataBytes送信するデータ配列
戻り値
True:挿入成功False:挿入失敗
警告
送信コマンドのみにしてください
呼び出し関係図:

◆ setFreePos()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setFreePos (   self,
  servoDatas 
)

指定した複数のサーボモータをフリー状態にする

引数
servoDatasサーボモータのデータが保存されている配列(使うのはSIO,IDのみ)
戻り値
True正常にデータを送信
Falseデータが正常に送信できなかった
覚え書き
servoDatasのdata部分を0x8000にしてsetServoPos()に送る
呼び出し関係図:

◆ setFreeSingleServo()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setFreeSingleServo (   self,
  id,
  sio 
)

指定した単体のサーボモータを同時にフリーにする

引数
idサーボモータのID
sioサーボモータに接続されているSIO
戻り値
True正常にデータを送信
Falseデータが正常に送信できなかった
覚え書き
ポジション部分を0x8000にしてsetSingleServo()に送る
呼び出し関係図:

◆ setHoldPos()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setHoldPos (   self,
  servoDatas 
)

指定した複数のサーボモータをホールド状態にする

引数
servoDatasサーボモータのデータが保存されている配列(使うのはSIO,IDのみ)
戻り値
True正常にデータを送信
Falseデータが正常に送信できなかった
覚え書き
servoDatasのdata部分を0x7FFFにしてsetServoPos()に送る
呼び出し関係図:

◆ setHoldSingleServo()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setHoldSingleServo (   self,
  id,
  sio 
)

指定した単体のサーボモータをホールドにする

引数
idサーボモータのID
sioサーボモータに接続されているSIO
戻り値
True正常にデータを送信
Falseデータが正常に送信できなかった
覚え書き
ポジション部分を0x7FFFにしてsetSingleServo()に送る
呼び出し関係図:

◆ setKrrAdData()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setKrrAdData (   self,
  paPort,
  adData 
)
引数
呼び出し関係図:

◆ setKrrButtonData()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setKrrButtonData (   self,
  buttonData 
)
引数
呼び出し関係図:

◆ setKrrData()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setKrrData (   self,
  buttonData,
  adData 
)
引数
呼び出し関係図:

◆ setMotionNum()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setMotionNum (   self,
  motionNum 
)
引数
呼び出し関係図:

◆ setParametersBaseCmd()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setParametersBaseCmd (   servoDatas,
  servoParameter 
)
static

サーボモータのパラメータを変更するコマンドを生成する

引数
servoDatasサーボモータのデータが保存されている配列
servoParameterサーボモータのどのパラメータを変更するか指定
戻り値
(returnDataSize,txbuf)
戻り値
returnDataSize返ってくるデータサイズ
txbufコマンド全体のデータ配列
覚え書き
サーボモータのパラメータを変更するコマンドを生成します
静的関数で外部アクセスが可能
servoParameter 0x01:ストレッチ 0x02:スピード
警告
引数のデータは中身が書き換えられるので注意

◆ setPio()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setPio (   self,
  pioData 
)

PIOの状態(H/L)を変更する

引数
pioDataPIO端子の状態のbitデータの集まり[0:L 1:H]
戻り値
True正常にデータを送信
Falseデータが正常に送信できなかった
覚え書き
PioAddressに2byteのデータがあるので、moveComToRamで書き込む
呼び出し関係図:

◆ setPioMode()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setPioMode (   self,
  pioModeData 
)

PIOの入出力を変更する

引数
pioModeDataPIOの端子の入出力状態せってするbitデータの集まり[0:L 1:H]
戻り値
True正常にデータを送信
Falseデータが正常に送信できなかった
覚え書き
PioModeAddresに2byteのデータがあるので、moveComToRamで書き込む
呼び出し関係図:

◆ setServoDeviceMixing()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setServoDeviceMixing (   self,
  id,
  sio,
  mixNum,
  mixId,
  mixSio,
  devOfeet,
  gain 
)
引数
呼び出し関係図:

◆ setServoMixGain()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setServoMixGain (   self,
  id,
  sio,
  mixNum,
  gain 
)
引数
呼び出し関係図:

◆ setServoNo()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setServoNo (   servoDatas)
static

サーボモータを複数アクセスするときに必要なデータを作る関数

引数
servoDatasサーボモータ型のデータが入力されている配列
戻り値
retサーボモータを複数アクセスするときに必要なデータ5byte分
覚え書き
必要なデータは、サーボモータを変更する部分にbitを立てる

◆ setServoPos()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setServoPos (   self,
  servoDatas,
  frame 
)

複数のサーボモータを同時に動かす

引数
servoDatasサーボモータのデータが保存されている配列
frameサーボモータを動かすフレーム数
戻り値
True正常にデータを送信
Falseデータが正常に送信できなかった
覚え書き
複数のサーボモータを動かすためのコマンドを作成します
静的関数で外部アクセスが可能
警告
引数のデータは中身が書き換えられるので注意
呼び出し関係図:

◆ setServoRamAddrMixing()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setServoRamAddrMixing (   self,
  id,
  sio,
  mixNum,
  ramAddr,
  gain 
)
引数
呼び出し関係図:

◆ setServoSpeed()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setServoSpeed (   self,
  servoDatas 
)

一度にサーボモータのスピードを指定する

引数
servoDatasサーボモータのデータが保存されている配列
戻り値
True正常にデータを送信
Falseデータが正常に送信できなかった
覚え書き
setParametersBaseCmdのパラメータを2に設定してコマンドを作成し、送受信をする
呼び出し関係図:

◆ setServoStretch()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setServoStretch (   self,
  servoDatas 
)

一度にサーボモータのストレッチを指定する

引数
servoDatasサーボモータのデータが保存されている配列
戻り値
True正常にデータを送信
Falseデータが正常に送信できなかった
覚え書き
setParametersBaseCmdのパラメータを1に設定してコマンドを作成し、送受信をする
呼び出し関係図:

◆ setSingleServo()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setSingleServo (   self,
  id,
  sio,
  pos,
  frame 
)

サーボモータの単体を動かす

引数
idNumサーボモータのID番号
sioNumSIOのつながっている番号
posサーボモータのポジションデータ(0x8000(FREE),0xFFFF(Hold),3500-11500)
frameフレーム周期
戻り値
True正常にデータを送信
Falseデータが正常に送信できなかった
覚え書き
サーボモータを1つだけ動かします
sioNum SIO1-4 , SIO5-8
呼び出し関係図:

◆ setSpeedCmd()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setSpeedCmd (   servoDatas)
static

一度にサーボモータのスピードを指定するコマンドの作成

引数
servoDatasサーボモータのデータが保存されている配列
戻り値
(returnDataSize,txbuf)
戻り値
returnDataSize返ってくるデータサイズ
txbufコマンド全体のデータ配列
覚え書き
setParametersBaseCmdのパラメータを2に設定してコマンドを作成している
静的関数で外部アクセスが可能

◆ setStretchCmd()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setStretchCmd (   servoDatas)
static

一度にサーボモータのストレッチを指定するコマンドの作成

引数
servoDatasサーボモータのデータが保存されている配列
戻り値
(returnDataSize,txbuf)
戻り値
returnDataSize返ってくるデータサイズ
txbufコマンド全体のデータ配列
覚え書き
setParametersBaseCmdのパラメータを1に設定してコマンドを作成している
静的関数で外部アクセスが可能

◆ setUserCounter()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setUserCounter (   self,
  counterNum,
  data 
)
引数
呼び出し関係図:

◆ setUserParmeter()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.setUserParmeter (   self,
  parmeterNum,
  data 
)
引数
呼び出し関係図:

◆ sortServoDatas()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.sortServoDatas (   self,
  servoDatas 
)

サーボモータ型のデータをソートします

引数
servoDatasソート前のデータ
戻り値
servoDatasソート後のデータ(中身が変わっているだけ)
覚え書き
サーボデータ型をICS番号を基準にソートします
警告
引数のデータは中身が書き換えられるので注意

◆ suspend()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.suspend (   self)
引数
呼び出し関係図:

◆ synchronize()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.synchronize (   self,
  txBuf,
  rxLen 
)

実際に送受信を行う

引数
txBuf送信データの配列
rxLen受信データ数
戻り値
rxbuf受信データ 配列数0の場合は失敗になります
rxsデータの受信数
覚え書き
実際に同期した送受信を行います。 失敗した場合は配列0の何も入っていないデータを返します コマンドを受信し終わった後受信コマンドの合否及びチェックサムの判定もします。
呼び出し関係図:

◆ synchronizeAck()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.synchronizeAck (   self,
  txData 
)

送受信後ACK判定

引数
txDataACKコマンドが入ったデータ配列
戻り値
ACKが正常に返ってきたかどうか判断
覚え書き
ACK限定の送受信関数になります
呼び出し関係図:

◆ userCounterAddr()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.userCounterAddr (   counterNum)
static
引数

◆ userParmeterAddr()

def Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.userParmeterAddr (   parmeterNum)
static
引数

メンバ詳解

◆ IcsDeviceSize

int Rcb4BaseLib20190128(コメント挿入中) .Rcb4BaseLib.IcsDeviceSize = 35
static

ICSデバイスの数

覚え書き
デバイスは本当は36個あるが、KRRは含めない

このクラス詳解は次のファイルから抽出されました: