配方接口#

配方分类:

(1) 根据功能,分为用户自定义配方(非实时配方)和系统数据配方(实时配方): 自定义配方:由用户自己定义想要接收和发送的数据格式,由配方管理器提取用户的输入有效数据和对输出数据进行组帧。接收和发送的过程均由用户在脚本程序中控制。 系统数据配方:用户从系统提供的系统数据中选择想要的数据通过输出端进行实时读取,或者通过输入端实时修改机器人提供的系统变量,用户可配置的变量均由系统提供,自用无法自定义,数据的接收法发送不受用户控制,由系统实时控制,控制周期(发送和接收的最快周期)为4ms。

(2) 根据协议,分为流式协议配方和can协议配方: 流式协议配方为流式数据(485、tcp等)服务。

can协议配方仅提供对can的支持。

系统数据映射说明#

配方的数据类型:

(1) byte(无符号8位整形)

(2) char(有符号8位整形)

(3) word(无符号16位整形)

(4) short(有符号16位整形)

(5) dword(无符号32位整形)

(6) int(有符号32位整形)

(7) float(32位浮点数)

(8) double(64位双精度浮点数)

系统数据输入:

数据方向:用户机器人

配方变量

类型

对应的接口

说明

DigitalOutputCommand[1..2]

byte

控制柜通用输

出DO[1..16]

用户控制机器人的DO。

一个byte顺序对应8个DO。

DigitalOutputCommand[3]

byte

机械臂末端工具输出

Tool_DO[1..2]

byte的前两位对应工具

DO1和DO2,后六位预留。

BitInputReg[1..2]

byte

寄存器功能输

入fun_reg_in[1..16]

一个byte顺序对应8个

寄存器功能输入

BitInputReg[3..10]

byte

寄存器Bool输入

bool_reg_in[1..64]

一个byte顺序对应8个寄

存器Bool输入

WordInputReg[1..32]

word

寄存器Word输入

word_reg_in[1..32]

按顺序对应寄存器

Word输入1-32

FloatInputReg[1..32]

float

寄存器Float输入

float_reg_in[1..32]

按顺序对应寄存器

Float输入1-32

ForceEnd[1..6]

float

末端力传感器数据

控制柜通用输

末端力传感器数据在机器

人末端TCP下的力描述。数据

定义:X , Y, Z,Rx,Ry,Rz, 单位

为N,Nm

ForceBase[1..6]

float

基座力传感器数据

底座力传感器数据在机器

人基座下的力描述。数据定

义:X , Y, Z,Rx,Ry,Rz, 单位为

N,Nm

系统数据输出:

数据方向:机器人用户

配方变量

类型

对应的接口

说明

DigitalSignalStatus[1..2]

byte

控制柜通用输入DI[1..16]

机器人向用户反馈当前机

器人的输入信号。一个byte顺

序对应8个DI

DigitalSignalStatus[3]

byte

机械臂末端工具

输入Tool_DI[1..2]

byte的前两位对应工具

DI1和DI2,后六位预留

DigitalSignalStatus[4..5]

byte

控制柜通用输出

DO[1..16]

机器人向用户反馈当前机

器人的输出信号。一个byte顺

序对应8个DO

DigitalSignalStatus[6]

byte

工具输出Tool_DO [1..2]

byte的前两位对应工具

DO1和DO2,后六位预留

DigitalSignalStatus[7]

byte

IO功能输入fun_io_in[1..8]

一个byte顺序对应功能输

入的1-8

DigitalSignalStatus[8]

byte

IO功能输出fun_io_out [1..8]

一个byte顺序对应功能输

出的1-8

RobotState[1..7]

float

关节实际位置

6关节各自实际位置,第

7位预留。单位为rad

RobotState[8..13]

float

末端在基坐标系

下的实际笛卡尔位姿

末端笛卡尔空间实际位

姿。 TCP相对基坐标系的值。

数据定义:X,Y,Z,Rx,Ry,Rz, 单

位为m,rad

RobotState[14..19]

float

笛卡尔实际力矩

末端力传感器数据在机器

人末端法兰面下的力描述。数

据定义:X,Y,Z,Rx,Ry,Rz, 单位

为N,Nm

RobotState[20..25]

float

工具坐标系偏移量

工具坐标系下的位姿

偏移量

RobotState[26..29]

float

负载质量和质心

末端负载的质量和质心,

单位kg,m

RobotState[30..32]

float

预留

BitOutputReg[1..2]

byte

寄存器功能输出

fun_reg_out[1..16]

一个byte顺序对应8个寄

存器功能输出

BitOutputReg[3..10]

byte

寄存器Bool输出

bool_reg_out[1..64]

一个byte顺序对应8个寄

存器Bool输出

WordOutputReg[1..32]

word

寄存器Word输

出word_reg_out[1..32]

按顺序对应寄存器Word

输入1-32

FloatOutputReg[1..32]

float

寄存器Float输出

float_reg_out[1..32]

按顺序对应寄存器Float

输入1-32

配方的创建#

流式数据配方#

用户自定义配方#

1、在ui界面选择任意流式端口(485、tcp等)配方管理(这里选择485端口)

../_images/%E9%85%8D%E6%96%B9%E7%AE%A1%E7%90%86.jpg

2、点击添加,输入配方名,选择非实时配方

../_images/%E6%96%B0%E5%BB%BA%E9%85%8D%E6%96%B9.jpg

3、添加输入数据项

../_images/%E5%AE%9A%E4%B9%89%E6%95%B0%E6%8D%AE%E9%A1%B9-%E8%BE%93%E5%85%A5.jpg

4、添加输出数据项

../_images/%E5%AE%9A%E4%B9%89%E6%95%B0%E6%8D%AE%E9%A1%B9-%E8%BE%93%E5%87%BA.jpg

点击确认,配方创建完成。注意:输入与输出的帧头帧尾,是相对独立的,需单独配置,互不影响。

系统数据配方#

1、在ui界面选择任意流式端口(485、tcp等)配方管理(这里选择485端口)

2、 点击添加,输入配方名,选择非实时配方

../_images/%E6%96%B0%E5%BB%BA%E9%85%8D%E6%96%B91.jpg

3、添加输入数据项

../_images/%E5%AE%9A%E4%B9%89%E6%95%B0%E6%8D%AE%E9%A1%B9-%E8%BE%93%E5%85%A51.jpg

4、添加输出数据项

../_images/%E5%AE%9A%E4%B9%89%E6%95%B0%E6%8D%AE%E9%A1%B9-%E8%BE%93%E5%87%BA1.jpg

5、点击确认,配方创建完成。

CAN协议配方#

用户自定义配方#

1、在ui界面选择can端口配方管理

../_images/%E9%85%8D%E6%96%B9%E7%AE%A1%E7%90%863.jpg

2、点击添加,输入配方名,选择非实时配方

../_images/%E6%96%B0%E5%BB%BA%E9%85%8D%E6%96%B93.jpg

3、添加输入数据项

../_images/%E5%AE%9A%E4%B9%89%E6%95%B0%E6%8D%AE%E9%A1%B9-%E8%BE%93%E5%85%A53.jpg

4、添加输出数据项

../_images/%E5%AE%9A%E4%B9%89%E6%95%B0%E6%8D%AE%E9%A1%B9-%E8%BE%93%E5%87%BA3.jpg

点击确认,配方创建完成。

系统数据配方#

1、在ui界面选择can端口配方管理

2、 点击添加,输入配方名,选择实时配方

3、 添加输入数据项

../_images/%E5%AE%9A%E4%B9%89%E6%95%B0%E6%8D%AE%E9%A1%B9-%E8%BE%93%E5%85%A54.jpg

4、添加输出数据项

../_images/%E5%AE%9A%E4%B9%89%E6%95%B0%E6%8D%AE%E9%A1%B9-%E8%BE%93%E5%87%BA4.jpg

5、点击确认,配方创建完成。

配方的使用#

485端口配方的使用#

自定义配方使用#

1、使用485转串口调试助手将电脑和机器人485端口连接

2、为485端口选择配方文件

../_images/a1.jpg

3、编写程序流程控制

../_images/b1.jpg

CommRecv:

../_images/c1.jpg

CommSend:

../_images/d1.jpg

4、运行程序,串口调试助手发送FF FF 01 02 03 EE EE

5、程序变量界面显示

../_images/e.jpg

6、在串口调试助手端将会收到:FF FF 7D 7D 7D FE FE

../_images/f.jpg

系统配方使用#

1、使用485转串口调试助手将电脑和机器人485端口连接

2、为485端口选择配方文件

../_images/a11.jpg

3、由于选择的是实时系统配方,串口调试助手将会周期性的收到机器人位姿数据:

../_images/b11.jpg

4、当通过串口调试助手发送FF FF 01 EE EE时,通过配方管理器将会控制对应的IO端口

../_images/c11.jpg

CAN端口配方的使用#

自定义配方使用#

1、使用can盒将电脑和机器人连接,使用CanTest调试can

2、为can端口选择配方文件

../_images/a2.jpg

3、编写程序流程控制

../_images/b2.jpg

CommRecv:

../_images/c2.jpg

CommSend:

../_images/d2.jpg

4、运行程序,CanTest发送数据帧id 1,数据01 02 03

5、程序变量界面显示

../_images/e2.jpg

列表第一个变量为收到的数据帧id,后面的为数据。

6、在CanTest端将会收到帧id为1:7D 7D 7D(125 125 125)

../_images/f2.jpg

系统配方使用#

1、使用can盒将电脑和机器人连接,使用CanTest调试can

2、为can端口选择配方文件

../_images/a3.jpg

由于选择的是实时系统配方,CanTest将会周期性的收到机器人位姿数据:

../_images/b3.jpg

当通过CanTest发送数据帧id 1,数据为01时,通过配方管理器将会控制对应的IO端口:

../_images/c3.jpg ../_images/d3.jpg

TCP及UDP端口配方的使用#

tcp/ip接口同样可以使用流式配方接口,由于历史原因,tcp和udp仅仅能够使用配方中的系统数据配方(实时配方)。

机器人控制器提供了两种tcp/ip接口使用配方的方式:

1、udp server,端口号2011。

2、tcp/udp client,ip和端口由用户自定义。

udp server#

1、使用网线将电脑和控制器连接,使用网络调试助手进行测试

2、为udp server配置配方文件

../_images/a4.jpg

3、使用调试助手创建udp client

../_images/b4.jpg

4、连接成功后将会收到周期性的机器人位姿数据

../_images/c4.jpg

5、向服务器发送FF FF 01 EE EE,将会控制配置的对应的IO。

../_images/d4.jpg

tcp/udp client#

1、使用网线将电脑和控制器连接,使用网络调试助手进行测试

2、使用调试助手创建tcp/udp服务器

../_images/a5.jpg

3、通过ui创建tcp/udp客户端

../_images/b5.jpg ../_images/c5.jpg

4、为客户端选择配方文件

../_images/d5.jpg

5、调试助手端将会收到周期性的机器人位姿数据

../_images/e5.jpg

6、向客户端发送FF FF 01 EE EE,将会控制配置的对应的IO