配方接口#
配方分类:
(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端口)
2、点击添加,输入配方名,选择非实时配方
3、添加输入数据项
4、添加输出数据项
点击确认,配方创建完成。注意:输入与输出的帧头帧尾,是相对独立的,需单独配置,互不影响。
系统数据配方#
1、在ui界面选择任意流式端口(485、tcp等)配方管理(这里选择485端口)
2、 点击添加,输入配方名,选择非实时配方
3、添加输入数据项
4、添加输出数据项
5、点击确认,配方创建完成。
CAN协议配方#
用户自定义配方#
1、在ui界面选择can端口配方管理
2、点击添加,输入配方名,选择非实时配方
3、添加输入数据项
4、添加输出数据项
点击确认,配方创建完成。
系统数据配方#
1、在ui界面选择can端口配方管理
2、 点击添加,输入配方名,选择实时配方
3、 添加输入数据项
4、添加输出数据项
5、点击确认,配方创建完成。
配方的使用#
485端口配方的使用#
自定义配方使用#
1、使用485转串口调试助手将电脑和机器人485端口连接
2、为485端口选择配方文件
3、编写程序流程控制
CommRecv:
CommSend:
4、运行程序,串口调试助手发送FF FF 01 02 03 EE EE
5、程序变量界面显示
6、在串口调试助手端将会收到:FF FF 7D 7D 7D FE FE
系统配方使用#
1、使用485转串口调试助手将电脑和机器人485端口连接
2、为485端口选择配方文件
3、由于选择的是实时系统配方,串口调试助手将会周期性的收到机器人位姿数据:
4、当通过串口调试助手发送FF FF 01 EE EE时,通过配方管理器将会控制对应的IO端口
CAN端口配方的使用#
自定义配方使用#
1、使用can盒将电脑和机器人连接,使用CanTest调试can
2、为can端口选择配方文件
3、编写程序流程控制
CommRecv:
CommSend:
4、运行程序,CanTest发送数据帧id 1,数据01 02 03
5、程序变量界面显示
列表第一个变量为收到的数据帧id,后面的为数据。
6、在CanTest端将会收到帧id为1:7D 7D 7D(125 125 125)
系统配方使用#
1、使用can盒将电脑和机器人连接,使用CanTest调试can
2、为can端口选择配方文件
由于选择的是实时系统配方,CanTest将会周期性的收到机器人位姿数据:
当通过CanTest发送数据帧id 1,数据为01时,通过配方管理器将会控制对应的IO端口:
TCP及UDP端口配方的使用#
tcp/ip接口同样可以使用流式配方接口,由于历史原因,tcp和udp仅仅能够使用配方中的系统数据配方(实时配方)。
机器人控制器提供了两种tcp/ip接口使用配方的方式:
1、udp server,端口号2011。
2、tcp/udp client,ip和端口由用户自定义。
udp server#
1、使用网线将电脑和控制器连接,使用网络调试助手进行测试
2、为udp server配置配方文件
3、使用调试助手创建udp client
4、连接成功后将会收到周期性的机器人位姿数据
5、向服务器发送FF FF 01 EE EE,将会控制配置的对应的IO。
tcp/udp client#
1、使用网线将电脑和控制器连接,使用网络调试助手进行测试
2、使用调试助手创建tcp/udp服务器
3、通过ui创建tcp/udp客户端
4、为客户端选择配方文件
5、调试助手端将会收到周期性的机器人位姿数据
6、向客户端发送FF FF 01 EE EE,将会控制配置的对应的IO