Skip to content

7.附录

7.1 附录1-用Modbus RTU通讯协议控制直线滑轨

7.1.1 简要介绍

直线滑轨默认为标准Modbus RTU协议,默认波特率2Mbps,直线滑轨ID为0x01。目前支持的功能码有:0x03/0x06/0x10。

直线导轨常用的地址有:0x0100(直线滑轨使能)、0x0700(直线滑轨位置命令)、0x0303(直线滑轨运行速度)、0x0A0A(直线滑轨回零)、0x0404(直线滑轨回零速度)、0x004F(获取直线滑轨回零完成状态)。

如果需要存EEPROM,将通讯地址和0x1000进行'或'运算。

例如:写伺服运行模式到EEPROM中。通讯地址(0x0A0B)需改为0x1A0B 注:直线导轨每次上电后需要初始化一次

7.1.2 读取直线滑轨寄存器

读取保持寄存器
请求指令格式
Modbus RTU 数据直线滑轨ID1 Byte0x01
功能码1 Byte0x03
寄存器起始地址2 BytesAddress
寄存器数量2 BytesN*
Modbus CRC 162 BytesCRC*
响应指令格式
Modbus RTU 数据直线滑轨ID1 Byte0x01
功能码1 Byte0x03
字节数1 ByteN*x2
寄存器值N*x2 BytesValue
Modbus CRC162 BytesCRC*

注:N* = 寄存器数量

Address= 寄存器起始地址(见下面列表)

CRC* = 循环冗余校验

寄存器起始地址寄存器值
获取直线滑轨状态0x00002bytes定位结束:0x0000 运动状态:0x0001 停止状态:0x0002 急停和断使能,都属于停止状态。
获取直线滑轨位置0x07024bytes位置取值范围: 0xFFFFFFFB-0x00000320
获取直线滑轨错误0x000F2bytes有错误: 其他返回值都代表有错误(除0以外) 无错误:0x0000

7.1.3 写入直线滑轨寄存器

写入寄存器
请求指令格式
Modbus RTU 数据直线滑轨ID1 Byte0x01
功能码1 Byte0x10
寄存器起始地址2 BytesAddress
寄存器数量2 BytesN*
字节数1 ByteN*x2
寄存器N*x2 BytesValue
Modbus CRC 162 BytesCRC*
响应指令格式
*Modbus RTU 数据直线滑轨ID1 Byte0x01
功能码1 Byte0x10
寄存器起始地址2 BytesAddress
寄存器数量2 BytesN*
Modbus CRC 162 BytesCRC*

注:

N* = 寄存器数量

Address= 寄存器起始地址(见下面列表)

CRC* = 循环冗余校验

7.1.4 Modbus RTU示例

  1. 使能直线滑轨
使能直线滑轨
请求指令格式
Modbus RTU 数据直线导轨ID1 Byte0x01
功能码1 Byte0x10
寄存器起始地址2 Bytes0x01,0x00
寄存器数量2 Bytes0x00,0x01
字节数1 Byte0x02
寄存器2 Bytes0x00,0x01
Modbus CRC162 Bytes0x1D,0x00
响应指令格式
Modbus RTU 数据直线滑轨ID1 Byte0x01
功能码1 Byte0x10
寄存器起始地址2 Bytes0x01,0x00
寄存器数量2 Bytes0x00,0x01
Modbus CRC162 Bytes0x00,0xAC
  1. 设置直线滑轨位置
设置直线滑轨位置
请求指令格式
Modbus RTU 数据直线滑轨ID1 Byte0x01
功能码1 Byte0x10
寄存器起始地址2 Bytes0x07,0x00
寄存器数量2 Bytes0x00,0x02
字节数1 Byte0x04
寄存器:直线导轨位置200MM4 Bytes0x00,0x1E,0x84,0x80
Modbus CRC162 Bytes0x7B,0x62
响应指令格式
Modbus RTU 数据直线滑轨 ID1 Byte0x01
功能码1 Byte0x10
寄存器起始地址2 Bytes0x07,0x00
寄存器数量2 Bytes0x00,0x02
Modbus CRC162 Bytes0x40,0x25
  1. 设置直线滑轨速度
设置直线滑轨速度
请求指令格式
Modbus RTU 数据直线滑轨ID1 Byte0x01
功能码1 Byte0x10
寄存器起始地址2 Bytes0x03,0x03
寄存器数量2 Bytes0x00,0x01
字节数1 Byte0x02
寄存器(设置速度为6000r/min)2 Bytes0x17,0x70
Modbus CRC162 Bytes0xFD,0xFA
响应指令格式
Modbus RTU 数据直线滑轨ID1 Byte0x01
功能码1 Byte0x10
寄存器起始地址2 Bytes0x03,0x03
寄存器数量2 Bytes0x00,0x01
Modbus CRC162 Bytes0xF1,0x14
  1. 设置直线滑轨回零
设置直线滑轨回零
请求指令格式
Modbus RTU 数据直线滑轨ID1 Byte0x01
功能码1 Byte0x06
寄存器起始地址2 Bytes0x0A,0x0A
寄存器数量2 Bytes0x00,0x01
Modbus CRC162 Bytes0xFD,0xFA
响应指令格式
Modbus RTU 数据直线滑轨ID1 Byte0x01
功能码1 Byte0x10
寄存器起始地址2 Bytes0x0A,0x0A
寄存器数量2 Bytes0x00,0x01
Modbus CRC162 Bytes0xFD,0xFA
  1. 设置直线滑轨回零速度
设置直线滑轨回零速度
请求指令格式
Modbus RTU 数据直线滑轨 ID1 Byte0x01
功能码1 Byte0x10
寄存器起始地址2 Bytes0x04,0x04
寄存器数量2 Bytes0x00,0x01
字节数1 Byte0x02
寄存器设置速度为3000r/min2 Bytes0x0B,0xB8
Modbus CRC162 Bytes0xFD,0xFA
响应指令格式
Modbus RTU 数据直线滑轨 ID1 Byte0x01
功能码1 Byte0x10
寄存器起始地址2 Bytes0x04,0x04
寄存器数量2 Bytes0x00,0x01
Modbus CRC162 Bytes0xF1,0x14
  1. 获取直线滑轨回零是否完成
获取直线滑轨回零是否完成
请求指令格式
Modbus RTU 数据直线滑轨 ID1 Byte0x01
功能码1 Byte0x03
寄存器起始地址2 Bytes0x0A,0x25
寄存器数量2 Bytes0x00,0x01
Modbus CRC162 Bytes0XB5,0xDD
响应指令格式
Modbus RTU 数据直线滑轨 ID1 Byte0x01
功能码1 Byte0x03
字节数1 Bytes0x02
寄存器值2 Bytes0x00,0x01
Modbus CRC162 Bytes0x79,0x84
  1. 监控光电传感器与第一个Z相(离开光电传感器后遇到的第一个Z相)的距离
监控光电传感器与第一个Z相(离开光电传感器后遇到的第一个Z相)的距离
请求指令格式
Modbus RTU 数据直线滑轨 ID1 Byte0x01
功能码1 Byte0x03
寄存器起始地址2 Bytes0x0A,0x28
寄存器数量2 Bytes0x00,0x01
Modbus CRC162 Bytes0xE4,0x1D
响应指令格式
Modbus RTU 数据直线滑轨 ID1 Byte0x01
功能码1 Byte0x03
字节数1 Bytes0x02
寄存器值2 Bytes0x06,0xF2
Modbus CRC162 Bytes0x3A,0x61

注:这个的寄存器值是要在回零完成后,才能获取。可以通过移动光电传感器改变此值。此值最大值是 4000, 建议最好大于 1000.

  1. 定位结束范围
设置定位结束范围
请求指令格式
Modbus RTU 数据直线滑轨 ID1 Byte0x01
功能码1 Byte0x10
寄存器起始地址2 Bytes0x0A,0x0B
寄存器数量2 Bytes0x00,0x01
字节数1 Byte0x02
寄存器设置范围为10002 Bytes0x03,0xE8
Modbus CRC162 Bytes0x0C,0xC0
响应指令格式
Modbus RTU 数据直线滑轨 ID1 Byte0x01
功能码1 Byte0x10
寄存器起始地址2 Bytes0x0A,0x0B
寄存器数量2 Bytes0x00,0x01
Modbus CRC162 Bytes0x73,0xD3
  1. 软急停
触发软急停
请求指令格式
Modbus RTU 数据直线滑轨 ID1 Byte0x01
功能码1 Byte0x10
寄存器起始地址2 Bytes0x0A,0x0E
寄存器数量2 Bytes0x00,0x01
字节数1 Byte0x02
寄存器2 Bytes0x00,0x01
Modbus CRC162 Bytes0xCC,0xBE
响应指令格式
Modbus RTU 数据直线滑轨 ID1 Byte0x01
功能码1 Byte0x10
寄存器起始地址2 Bytes0x0A,0x0E
寄存器数量2 Bytes0x00,0x01
Modbus CRC162 Bytes0x63,0xD2
  1. 直线滑轨SN区域

寄存器地址从0x0B10 - 0x0B1F

获取直线滑轨SN
请求指令格式
Modbus RTU 数据直线滑轨 ID1 Byte0x01
功能码1 Byte0x03
寄存器起始地址2 Bytes0x0B,0x10
寄存器数量2 Bytes0x00,0x02
Modbus CRC162 Bytes0XB5,0xDD
响应指令格式
Modbus RTU 数据直线滑轨 ID1 Byte0x01
功能码1 Byte0x03
字节数1 Bytes0x04
寄存器值2 Bytes
Modbus CRC162 Bytes
  1. 获取输入SCI状态
获取输入SCI状态
请求指令格式
Modbus RTU 数据直线滑轨 ID1 Byte0x01
功能码1 Byte0x03
寄存器起始地址2 Bytes0x0A,0x26
寄存器数量2 Bytes0x00,0x01
Modbus CRC162 Bytes0x86,0x17
响应指令格式
Modbus RTU 数据直线滑轨 ID1 Byte0x01
功能码1 Byte0x03
字节数1 Byte0x02
寄存器值2 Bytes**
Modbus CRC162 Bytes**
  1. 获取输出SCO状态
获取输出SCO状态
请求指令格式
Modbus RTU 数据直线滑轨 ID1 Byte0x01
功能码1 Byte0x03
寄存器起始地址2 Bytes0x0A,0x27
寄存器数量2 Bytes0x00,0x01
Modbus CRC162 Bytes0xD7 0xD7
响应指令格式
Modbus RTU 数据直线滑轨 ID1 Byte0x01
功能码1 Byte0x03
字节数1 Bytes0x02
寄存器值2 Bytes**
Modbus CRC162 Bytes**
  1. 获取状态区域

起始地址 0x0A20

获取状态区域
请求指令格式
Modbus RTU 数据直线滑轨 ID1 Byte0x01
功能码1 Byte0x03
寄存器起始地址2 Bytes0x0A,0x20
寄存器数量2 Bytes0x00,0x08
Modbus CRC162 Bytes0x46 0x1E
响应指令格式
Modbus RTU 数据直线滑轨 ID1 Byte0x01
功能码1 Byte0x03
字节数1 Bytes0x10
寄存器值16 Bytes**
Modbus CRC162 Bytes**

寄存器值 - 16 Bytes: 00 00 0F A0 00 00 00 00 00 01 00 01 00 02 00 02

1-4 bytes: 00 00 0F A0 , 相对零点的当前位置(单位:脉冲个数)

5-6 bytes: 00 00, 获取直线滑轨状态(与地址0x0000相同)

7-8 bytes: 00 00, 错误码

9-10 bytes: 00 01, 使能状态

11-12 bytes: 00 01, 回零状态

12-14 bytes: 00 02, SCI状态

15-16 bytes: 00 02, SCO状态