【ECEN001】How to Use Elibot SDK

Introduction

Elibot SDK socket manual download link: https://www.elibot.cn/upload/elibotEn/Download/20220210130149.pdf

Elibot 2nd development port as below:

Port 8055

User send json string in specified format to robot through socket with Port 8055. Robot acts as server, user(PC) acts as client. User can acheive function same as using TeachPendant through Port 8055.

Port 8055 example

// send example

{"jsonrpc": "2.0", "method": "method name", "params": parameters, "id":id}


// receive example
// normal
{"jsonrpc": "2.0", "result":result, "id":id}

// error
{"jsonrpc": "2.0", "error":{"code":error code, "message":"error message"}, "id":id}

Port 8056

Port 8056 is a monitor port. Robot acts as server. Robot send robot status infomation through this port in each 8ms(125hz), including robot status, joint info, etc.

Port 8058

Port 8058 is log port. User can get log info through this port. User need to send specified data to robot(user can refer to manual) to get log info.

Quick Experience

Q&A

SDK basic use

Q:Which language can use port 8055

A:User can use port 8055 through socket(TCP/IP). User can use language as c、c++、c#、python、labview、plc etc.

Q:What function can user achieve through port 8055?

A:User can achieve all function on the teachpendant through port 8055, such as user defined HMI on PC, Ros control or transparent transmission.

Q:Send instruction to robot and No feedback

A:Check network connection first.

Sent message need to add line break("\n"). If user send message without "\n", user can disconnect connection and reconnect port 8055. Or user send message in correct format 2 times and user can get receive message.

Q:Send message to robot and receive message like "NO command"

A:Check message content. Send string format should has same format as mentioned in manual, "id " content need to be number with ""(like "1"). In the end of instruction, user need to add line break("\n")

Q:Send Cartesian data(XYZ RPY) to robot and robot run in wrong position

A:Check message send to robot. "getRobotPose" can get robot Cartesian pose(XYZ RPY), " getRobotPos" can get robot joint position.

Pay attention to unit(teachpendant show orientation in degree) and user get data in radian as normal

Q:Why send several motion commands, robot will not run correctly

A:When robot receive several motion commands, robot will just run the last motion instruction. User can judge robot status and send a new motion command. User can use "Add waypoint information" to add several robot waypoints and use "Track Movement 2.0" to make robot move.

Q:Can user send several motion commands simultaneously

A:User can use "Track Movement 2.0" to execute several motion commands

Transparent transmission

Q:After transparent transmission initial success, user send message to robot and robot show error "High speed"

A:Check data in message correct or not.

Check whether robot current position is same as 1st point in transparent transmission queue. If not, use Mov instrution to move robot to the 1st point in transparent transmission queue.

Q:Transparent transmission initial failure

A:User need to clear TT(transparent transmission) buffer after TT initial and TTstop. User can judge TT status before start TT. If robot is in TT mode, user can clear TT buffer and start TT initial.

Monitor port

Q:Why I can not connect to port 8056?

A:Check robot remote function has been turned on or not. User can turn on REMOTE FUNCTION through teachpendant-"System"- "System configuration"- "robot configuration"-"remote"

Check PC network address is in the same network segment with robot or not.


Q:User can receive data from port 8056 in old version robot controller, but can not receive data after robot controller firmware upgrade

A: Robot will send different length data in different robot controller version. This problem has been fixed after version 2.17. After version 2.17, robot will always send data with 1024 byte.

Q:User can receive 1024 byte data from port 8056, but data will be wrong after several minutes.

A:PC receive too many data will cause socket buffer overflow. User can judge socket buffer overflow or not based on receive data length. If socket buffer overflow, user disconnect and reconnect again.


点击显示全文
赞同0
发表评论
分享

手机扫码分享
0
696
收藏
举报
收起
登录
  • 密码登录
  • 验证码登录
还没有账号,立即注册
还没有账号,立即注册
注册
已有账号,立即登录
选择发帖板块
举报
请选择举报理由
举报
举报说明