数据结构#
(1)R2PLC_DigitalSignalStatus(10 byte):机器人数字信号状态 数据方向:机器人→PLC
数据 |
||
---|---|---|
BYTE1 |
general_digital_input[0..7] |
DIN[0] |
BYTE2 |
general_digital_input[8..15] |
DIN[1] |
BYTE3 |
tool_digitial_input[0..7] |
DIN[2] |
BYTE4 |
general_digital_output[0..7] |
DIN[3] |
BYTE5 |
general_digital_output[8..15] |
DIN[4] |
BYTE6 |
tool_digital_output[0..7] |
DIN[5] |
BYTE7 |
fun_digital_input[0..7] |
DIN[6] |
BYTE8 |
fun_digital_output[0..7] |
DIN[7] |
BYTE9 |
safety_state_input |
DIN[8] |
BYTE10 |
safety_state_output |
DIN[9] |
注:以上文示例中全局变量DIN为例。
端子定义详见DUCO CORE 硬件手册
general_digital_input:控制柜普通DI状态。
tool_digitial_input:机械臂末端DI状态
general_digital_output:控制柜普通DO状态
tool_digital_output:机械臂末端DO状态
fun_digital_input:控制柜功能DI状态
fun_digital_output:控制柜功能DO状态
安全控制器状态safety_state结构说明
safety_state_1 |
safety_state_2 |
|
---|---|---|
bit0 |
ystem_emergency_stop |
config_safety_output0 |
bit1 |
external_emergeny_stop |
config_safety_output1 |
bit2 |
protective_stop_input |
reserved |
bit3 |
operation_mode_input |
reserved |
bit4 |
3_position_enable_input |
reserved |
bit5 |
config_safety_input0 |
reserved |
bit6 |
config_safety_input1 |
reserved |
bit7 |
reserved |
reserved |
config_safety_input:由界面设置的安全input
config_safety_output:由界面设置的安全output
(2)R2PLC_Reserved(6 byte):机器人数字信号状态 数据方向:机器人→PLC
BYTE1..6 |
reserved [0..5] |
DIN[10…15] |
(3)R2PLC_RobotState(32float): 机器人状态信息输出 数据方向:机器人→PLC
Float1..7 |
joint_pos(rad) |
DIN[16…43] |
Float8..13 |
tcp_pose(tcp相对于基坐 标系的值) |
DIN[44…67] |
Float14..19 |
tcp_force |
DIN[68…91] |
Float20..25 |
tcp_offset |
DIN[92…115] |
Float26..29 |
tcp_load (质心、质量) |
DIN[116…131] |
Float30..32 |
reserved |
DIN[132…143] |
注:以上文示例中全局变量DIN为例。
(4)R2PLC_BitOutputReg(10 byte):位输出寄存器,输出机器人的当前位寄存器状态信息 数据方向:机器人→PLC
BYTE1 |
fun_registers_output[1..8] |
DIN[144] |
BYTE2 |
fun_registers_output[9..16] |
DIN[145] |
BYTE3 |
bool_registers_output[1..8] |
DIN[146] |
BYTE4 |
bool_registers_output[9..16] |
DIN[147] |
BYTE5 |
bool_registers_output[17..24] |
DIN[148] |
BYTE6 |
bool_registers_output[25..32] |
DIN[149] |
BYTE7 |
bool_registers_output[33..40] |
DIN[150] |
BYTE8 |
bool_registers_output[41..48] |
DIN[151] |
BYTE9 |
bool_registers_output[49..56] |
DIN[152] |
BYTE10 |
bool_registers_output[57..64] |
DIN[153] |
注:以上文示例中全局变量DIN为例。
(5)R2PLC_WordOutputReg(64 byte):Word输出寄存器 数据方向:机器人→PLC
Word1..32 |
word_output_register [1..32] |
DIN[154…217] |
注:以上文示例中全局变量DIN为例。
(6)R2PLC_FloatOutputReg(32 float): 浮点输出寄存器 数据方向:机器人→PLC
Float1..32 |
float_output_register [1..32] |
DIN[220…347] |
注:以上文示例中全局变量DIN为例。
(7)R2PLC_RobotInfo(16 float): 末端合线速度等信息 数据方向:机器人→PLC
Float1 |
读取全局速度百分比 |
DIN[348…351] |
Float2 |
读取Jog速度百分比 |
DIN[352…355] |
Float3 |
读取末端合线速度 |
DIN[356…359] |
Float4 |
读取真机/仿真模式 |
DIN[360…363] |
Float5 |
读取错误ID(系统最后一 次的错误ID) |
DIN[8] |
Float6..16 |
Reserved |
DIN[368…411] |
注:以上文示例中全局变量DIN为例。
(8)PLC2R_Digital_Output_Command (3 byte) : 机器人相关控制指令输入 数据方向:PLC→机器人
BYTE1 |
general_digital_ouput[1..8] |
DOUT[0] |
BYTE2 |
general_digital_ouput[9..16] |
DOUT[1] |
BYTE3 |
tool_digital_output[1..8] |
DOUT[2] |
注:以上文示例中全局变量DOUT为例。
(9)PLC2R_Reserved (7 byte) : 预留 数据方向:PLC→机器人
BYTE1..7 |
Reserved |
DOUT[3…9] |
注:以上文示例中全局变量DOUT为例。
(10)BitInputReg(10 byte): 通用位输入寄存器 数据方向: PLC→机器人
BYTE1 |
fun_input_register[1..8] |
DOUT[10] |
BYTE2 |
fun_input_register[9..16] |
DOUT[11] |
BYTE3..10 |
bit_input_register[1..64] |
DOUT[12…19] |
注:以上文示例中全局变量DOUT为例。
(11)PLC2R_WordInputReg (64 byte): Word输入寄存器 数据方向:PLC→机器人
BYTE1..32 |
word_input_register[1..32] |
DOUT[20…83] |
注:以上文示例中全局变量DOUT为例。
(12)PLC2R_FloatInputReg(32 float): 通用浮点输入寄存器 数据方向: PLC →机器人
Float1..32 |
float_input_register[1..32] |
DOUT[84…211] |
注:以上文示例中全局变量DOUT为例。
(13)PLC2R_RobotInfo (16 float):全局速度百分比等信息 数据方向: PLC →机器人
Float1 |
设置全局速度百分比 |
DOUT[212…215] |
Float2..16 |
Reserved |
DOUT[216…275] |
注:以上文示例中全局变量DOUT为例。