SK-Pro XXA 系列激光测距传感器采用激光相位法测距原理。可以通过激光的发射和接收,以非接触方式快速而准确的测量到自然目标之间的距离值。突出优点是室外强光下,最远可测 100m; 30ms 快速响应下的精度差误达 1mm。
广泛应用于轨道变形测量、港口、恶劣工况环境下的高精度测量。

优点特征
- 兼备:量程远 100m,精度高 1mm,分辨率 0.1mm, 测量快 30Hz
- 抗室外强光;
- 稳定性高;报错少
- 工业级防护
- 输出接口丰富
- 质量达到或超越国外同类型产品
目录
1、性能参数 5
2、数据接口 5
3、外形尺寸 6
4、通讯协议介绍 8
4.1通信物理参数 8
4.2协议格式 8
4.3 CRC 校验 C 语言实现 9
4.4 RS485modbus-RTU寄存器说明 10
4.4.1基础功能寄存器 10
4.4.2扩展功能寄存器 10
4.4.3错误代码和解决方案 11
4.5寄存器使用细节和示例 12
4.5.1读取错误状态 12
4.5.2读取测量状态 12
4.5.3设置测量状态 12
4.5.4读取测量距离值 12
4.5.5读取设备地址 13
4.5.6读取串口通讯参数 13
4.5.7设置通讯参数 13
4.5.8读取整体偏移量 14
4.5.9设置整体偏移量 14
4.5.10读取软件版本号 15
4.4.11读取测量频率 15
4.5.12设置测量频率 15
4.5.13读取设备温度 15
4.5.14读取设备序列号 15
4.5.15 读取 DAC 输出模式 15
4.5.16 设置 DAC 输出模式 16
4.5.17 读取 DAC 输出最小量程 16
4.5.18设置 DAC 输出最小量程 16
4.5.19 读取 DAC 输出最大量程 16
4.5.20 设置 DAC 输出最大量程 16
4.5.21 读取开关量输出 1 高电平距离值 18
4.5.22 设置开关量输出 1 高电平距离值 18
4.5.23读取开关量输出 1 低电平距离值 18
4.5.24设置开关量输出 1 低电平距离值 18
4.5.25读取开关量输出 2 高电平距离值 18
4.5.26设置开关量输出 2 高电平距离值 18
4.5.27读取开关量输出 2 低电平距离值 19
4.5.28设置开关量输出 2 低电平距离值 19
4.5.29读取 CAN 通讯帧模式 19
4.5.30设置 CAN 通讯帧模式 20
4.5.31读取 CAN 通讯波特率 20
4.5.32设置 CAN 通讯波特率 20
4.5.33 读取 CAN 通讯发送 ID 20
4.5.34设置 CAN 通讯发送 ID 20
4.5.35读取 CAN 通讯接收 ID 21
4.5.36设置 CAN 通讯接收 ID 21
4.5.37 保存参数数据 21
4.5.38 读取多个测量结果数据 21
4.5.38使用modScan32测试modbus 22
A.1 串口设置 22
A.1 寄存器参数设置 22
5. CAN通信 24
5.1 CAN通信参数说明 24
5.2 CAN2.0B标准数据帧格式 24
5.3 CAN2.0B扩展数据帧格式 25
附件1:航插线缆图纸 26
附件2:航插座规格 27
联系我们 Contact us 28
1、性能参数
|
型号 |
SK-Pro30A |
SK-Pro60A |
SK-Pro100A |
SK-Pro150A |
SK-Pro200A |
|
测量范围 |
0.05~30m |
0.05~60m |
0.05~100m |
0.05~150m |
0.05~200m |
|
分辨率 |
0.1mm |
||||
|
重复精度 |
0.5mm |
||||
|
准确度 |
1mm |
||||
|
测量速率 |
30Hz(可调节) |
||||
|
响应时间 |
Min 0.033s |
||||
|
测量目标物体 |
静态或动态目标的自然表面或专用反射板 |
||||
|
环境光影响 |
抗室外阳光 100kLux |
||||
|
光源 |
波长 650~660nm 红色可见激光 |
||||
|
激光等级 |
1 (IEC 60825-1:2014, EN60825-1:2014) |
||||
|
典型光点直径 |
Φ2mm(10m 处) |
||||
|
激光寿命 |
100000h 以上 |
||||
|
供电 |
DC7~26V |
||||
|
功耗 |
<1.5W |
||||
|
外壳材质 |
铝合金 |
||||
|
镜片材质 |
石英玻璃 |
||||
|
外形尺寸 |
116×65.65×65.65mm |
||||
|
防护等级 |
IP65 |
||||
|
重量 |
560g |
||||
|
工作温度 |
-20~+60℃ |
||||
|
安装 |
配装支架 4*M3 |
||||
2、数据接口
|
数字接口 |
RS485 |
带隔离;地址位区分;最多支持 255 台并联 |
|
CANBUS |
||
|
模拟接口 |
4-20mA |
电流环对应量程可自由设置; |
|
0-20mA |
||
|
0-24mA |
||
|
0-5V |
电压对应量程可自由设置; |
|
|
0-10V |
||
|
开关量接口 |
开关量 |
1 路、2 路开关量;阈值可自由设置 |
|
线缆 |
带屏蔽 8芯 1m 长 |
|
3、外形尺寸

67

116.00
146.00

图三:底端
4、通讯协议介绍
4.1通信物理参数
- 波特率:(默认)115200,可使用的常见波特率有:2400,4800,9600,14400, 19200,38400,57600,76800,115200;其它波特率可通过设置波特率设置后自行标记记录。
- 奇偶校验:无校验
- 停止位:1位
- 数据位:8位
4.2协议格式
采用 MODBUS,RTU 方式,CRC16 位校验。
注:数字后面加 H 表示十六进制数据格式,比如 03H,表示十六进制的 03。
(1)功能码03H--查询从设备寄存器内容
表 1主设备报文格式
|
从设备地址 |
功能码 |
起始寄存器地址 |
寄存器个数 (以 2 个字节计算) |
CRC 校验 |
|
1 字节 |
(03H)1 字 节 |
2 字节 |
n 字节 |
2 字节 |
表 2从设备报文格式
|
从设备地址 |
功能码 |
数据区字节 数 |
数据区 |
CRC 校验 |
|
1 字节 |
(03H)1 字 节 |
1 字节 |
n*2 字节 |
2 字节 |
(2)功能码 06H--设置从设备单个寄存器内容
表 3主设备报文格式
|
从设备地址 |
功能码 |
寄存器地址 |
写入的数据 |
CRC 校验 |
|
1 字节 |
(06H)1 字 节 |
2 字节 |
2 字节 |
2 字节 |
表 4从设备报文格式
|
从设备地址 |
功能码 |
寄存器地址 |
写入的数据 |
CRC 校验 |
|
1 字节 |
(06H)1 字 节 |
2 字节 |
2 字节 |
2 字节 |
说明:
- 整包数据必须连续发送,两个数据包必须间隔3.5个字符的静止时间再发送,否则都会解析出错。
- 如果使用PLC设备做主设备,则发送的读取寄存器个数以2字节为一个寄存器,所以发送的寄存器个数是字节长度的一半。
- 有效的从设备地址范围为0-247(十进制),其中设备地址0为广播地址,所有从机都可收到,1-247为从机的寻址范围。
- 功能码的有效范围1-255(十进制),本协议使用的功能码有03(读),06(写)。
- 地址和数据中包含的16位或者32位数据,则发送时高字节在前,低字节在后。
- CRC校验数据是两个字节,低8位在前,高8位在后。该校验数据由设备地址、功能码和数据通过1.2.1的CRC计算公式计算得出。接收设备重新计算收到消息的CRC,并与接收到的CRC域中的值比较,如果两值不同,则有误。
4.3 CRC 校验 C 语言实现
//计算CRC校验值
unsigned short CRC16 ( unsigned char *arrbuff ,int len)
{
unsigned short crc = 0xFFFF;
int i, j;
for ( j=0; j<len;j++)
{
crc=(unsigned short)(crc ^arrbuff[j]);
for ( i=0; i<8; i++)
{
if ((crc & 1) > 0)
{
crc = (unsigned short)(crc >> 1);
crc = (unsigned short)(crc ^ 0xa001);
}
else
{
crc = (unsigned short)(crc >> 1);
}
}
}
return (crc);
}
4.4 RS485modbus-RTU寄存器说明
4.4.1基础功能寄存器
表 5 基础功能寄存器定义表
|
寄存器地 址 |
寄存器内容 |
寄存器 个数 |
寄存器 状态 |
说明 |
|
0000H |
错误状态码 |
1 |
只读 |
=0 无故障 >0 有故障,具体错误代码请看表 6 |
|
0001H |
运行状态 |
1 |
读写 |
|
|
0002H |
测量距离值 |
2 |
只读 |
4 字节无符号整型数据,高位在前,低 位在后,单位 0.1mm,0 为无效数据 |
|
0003H |
设备地址 |
1 |
读写 |
有效范围 1-247 |
|
0004H |
串口通讯参数 |
2 |
读写 |
高 8 位为校验参数:
低 24 位为波特率: 有效范围 2400-115200 |
|
0005H |
距离偏移量 |
1 |
读写 |
有符号整数,单位 0.1mm |
|
0006H |
软件版本号 |
1 |
只读 |
当前软件版本号 |
|
0007H |
测量频率设置 |
1 |
读写 |
=0 单次 =1 5Hz =2 10Hz =3 20Hz =4 30Hz |
|
0008H |
设备温度 |
1 |
只读 |
单位 0.1℃ |
|
0009H |
序列号 |
2 |
只读 |
唯一序列号 |
4.4.2扩展功能寄存器
表6 扩展功能寄存器定义表
|
寄存器地址 |
寄存器内容 |
寄存器字节长度 |
寄存器状态 |
说明 |
|
000AH |
DAC输出模式 |
1 |
读写 |
模拟量输出功能 =0 关闭 =1 0-5V =2 0-10V =3 4-20mA =4 0-20mA =5 0-24mA |
|
000BH |
DAC输出最小量程 |
2 |
读写 |
有效数据范围0-900000 |
|
000CH |
DAC输出最大量程 |
2 |
读写 |
有效数据范围0-900000 |
|
000DH |
开关量输出1高电平距离值 |
2 |
读写 |
有效数据范围0-900000 |
|
000EH |
开关量输出1低电平距离值 |
2 |
读写 |
有效数据范围0-900000 |
|
000FH |
开关量输出2高电平距离值 |
2 |
读写 |
有效数据范围0-900000 |
|
0010H |
开关量输出2低电平距离值 |
2 |
读写 |
有效数据范围0-900000 |
|
0011H |
开关量入功能 |
1 |
读写 |
=0 关闭 =1 悬空或高电平启动测量,低电平停止测量 =2 悬空或高电平停止测量,低电平启动测量 |
|
0014H |
CAN通讯帧模式 |
1 |
读写 |
=0 标准帧 =1 扩展帧 |
|
0015H |
CAN通讯波特率 |
1 |
读写 |
单位KHz,有效数据为:20,50,80,100,125,250,500,600,800,1000 |
|
00016H |
CAN通讯发送ID |
2 |
读写 |
标准帧模式,ID有效范围为0-7FF,H扩展帧模式ID有效范围为0-1FFFFFFFH |
|
0017H |
CAN通讯接收ID |
2 |
读写 |
标准帧模式,ID有效范围为0-7FF,H扩展帧模式ID有效范围为0-1FFFFFFFH |
|
0018H |
保存参数 |
1 |
写 |
把设定的参数存入存储器,掉电保存 |
|
0019H |
获取多个测量结果参数 |
6 |
读 |
获取测量的距离、信号强度和内部温度值。三个参数都是4个字节长度表示的整数。 |
|
0028H |
读取最大量程 |
2 |
读 |
获取设备最远测量距离 |
|
0029H |
读取最小量程 |
2 |
读 |
获取设备最近测量距离 |
4.4.3错误代码和解决方案
表6 错误代码定义表
|
错误代码 |
含义 |
|
220 |
内部通信故障 |
|
252 |
温度过高(60℃) |
|
253 |
温度过低(-10℃) |
|
254 |
目标测距值超出量程范围 |
|
255 |
目标反射信号弱或者超量程 |
|
256 |
目标反射信号过强 |
|
257 |
环境光过强 |
4.5寄存器使用细节和示例
设备为测距传感器,主机为控制接收端。以下以设备地址=19H(十进制为 25)作为示例,设备发送即主机接收的数据。
4.5.1读取错误状态
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 03 00 00 00 01 87 D2 |
读取错误状态 |
|
设备->主机 |
19 03 02 00 00 98 46 |
无错误 |
|
19 03 02 00 FF D8 06 |
错误代码 255 |
4.5.2读取测量状态
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 03 00 01 00 01 D6 12 |
读取测量状态 |
|
设备->主机 |
19 03 02 00 00 98 46 |
激光关闭,停止测量 |
|
19 03 02 00 01 59 86 |
激光开启,指示模式 |
|
|
19 03 02 00 02 19 87 |
正在测量 |
4.5.3设置测量状态
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 06 00 01 00 02 5A 13 19 06 00 01 00 01 1A 12 19 06 00 01 00 00 DB D2 |
启动测量 打开激光 停止测量 |
|
设备->主机 |
19 06 00 01 00 02 5A 13 |
已启动测量 |
|
19 06 00 01 00 01 1A 12 |
已打开激光 |
|
|
19 06 00 01 00 00 DB D2 |
已停止测量 |
4.5.4读取测量距离值
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 03 00 02 00 02 66 13 |
读取测量距离 |
|
设备->主机 |
19 03 04 00 00 3D 9B 33 09 |
单位0.1mmm. 测量结果00003D9BH,换算成10进制结果为1.5771m |
|
19 03 04 00 00 00 00 62 32 |
测量结果为0,距离无效 |
4.5.5读取设备地址
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 03 00 03 00 01 77D2 或 00 03 00 03 00 01 75DB |
读取设备地址 如果不知道设备地址可以使用广播地址 0 |
|
设备->主机 |
19 03 02 00 19 59 8C |
地址为 0019H |
4.5.6读取串口通讯参数
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 03 00 04 00 01 C6 13 |
读取串口通讯参数 |
|
设备->主机 |
19 03 04 00 01 C2 00 62 92 |
00H:无校验 01C200H:波特率115200 |
4.5.7设置通讯参数
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 06 00 04 01 00 E1 00 5F 01 |
01H:奇校验 00E100H:波特率 57600 |
|
设备->主机 |
19 06 00 04 01 00 E1 00 5F 01 |
01H:奇校验 00E100H:波特率 57600 |
使用说明:使用修改波特率时,必须知道当前波特率,否则指令不会被设备正确识别。如果不知道具体波特率,可把串口接收调试工具调为默认参数 115200,无校验,首次上电会通过串口输出当前设置的串口通讯参数和设备 ID,如下图所示:

4.5.8读取整体偏移量
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 03 00 05 00 01 97 D3 |
读取设备整体偏移量 |
|
设备->主机 |
19 03 02 FF 03 99 B7 |
偏移量单位为 0.1mm 返回的数据 FF03H,十进制为-253, |
4.5.9设置整体偏移量
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 06 00 05 FE FC DA 32 |
整体偏移量单位 0.1mm 设置整体偏移量为 FFFC,十进制为-260,有效的范围为 [- 20000~ 20000] |
|
设备->主机 |
19 06 00 05 FE FC DA 32 |
整体偏移量单位 0.1mm 设置整体偏移量为 FFFC,十进制为-260 |
备注: 偏移量为有符号整数,负数表示实测值比真实值大,需要减去的数值。比如-260 的意思就是输出值=实测值-260。
4.5.10读取软件版本号
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 03 00 06 00 01 67 D3 |
读取软件版本号 |
|
设备->主机 |
19 03 02 00 66 18 6C |
版本号为 0066H,十进制表示 是 102 |
4.4.11读取测量频率
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 03 00 07 00 01 36 13 |
读取测量频率 |
|
设备->主机 |
19 03 02 00 00 98 46 19 03 02 00 01 59 86 19 03 02 00 02 19 87 19 03 02 00 03 D8 47 19 03 02 00 04 99 85 |
单次 5Hz 10Hz 20Hz 30Hz |
4.5.12设置测量频率
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 06 00 07 00 02 BA 12 |
设置频率参数为 0002H,表 示 10Hz |
|
设备->主机 |
19 06 00 07 00 02 BA 12 |
频率参数为 0002H ,表示 10Hz |
4.5.13读取设备温度
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 03 00 08 00 01 06 10 |
读取设备温度 |
|
设备->主机 |
19 03 02 00 CA 18 11 |
设备内部温度单位为 0.1℃, 数值为 00CAH,表示 20.2℃ |
4.5.14读取设备序列号
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 03 00 09 00 02 17 D1 |
读取序列号,2个寄存器长度 |
|
设备->主机 |
19 03 04 00 00 04 51 A1 0E |
序列号为00000451H,十进制为1105 |
4.5.15 读取 DAC 输出模式
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 03 00 0A 00 01 A7 D0 |
读取DAC 输出模式 |
|
设备->主机 |
19 03 02 00 03 D8 47 |
模式参数为 0003H,4-20mA 输出,该参数为出厂默认值 |
模拟量输出模式参数含义如下,只能选择下面的参数,其它参数无效
=0 关闭
=1 0-5V
=2 0-10V
=34-20mA
=40-20mA
=50-24mA
4.5.16 设置 DAC 输出模式
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 06 00 0A 00 03 EA 11 |
设置 DAC 输 出 模 式 为 0003H,即 4-20mA 输出 |
|
设备->主机 |
19 06 00 0A 00 03 EA 11 |
频率参数为 0002H ,表示 10Hz |
4.5.17 读取 DAC 输出最小量程
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 03 00 0B 00 02 B6 11 |
读取DAC输出模拟量最小值 |
|
设备->主机 |
19 03 04 00 00 01 F4 62 25 |
模式参数为DAC输出模拟量最小值为000001F4H,即500 |
注释:最小量程范围为 0-900000。
4.5.18设置 DAC 输出最小量程
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 06 00 0B 00 00 01 F4 42 BB |
设置DAC 输出模拟量最小值 为 000001F4H,即 500 |
|
设备->主机 |
19 06 00 0B 00 00 01 F4 42 BB |
4.5.19 读取 DAC 输出最大量程
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 03 00 0C 00 02 07 D0 |
读取DAC输出模拟量最大值 |
|
设备->主机 |
19 03 04 00 09 EB 10 FD 0C |
模式参数为DAC输出模拟量最小值为0009EB10H,即650000 |
注释:最大量程范围为 500-900000。
4.5.20 设置 DAC 输出最大量程
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 06 00 0C 00 09 EB 10 68 52 |
设置DAC 输出模拟量最大值 为 0009EB10H,即 650000 |
|
设备->主机 |
19 06 00 0C 00 09 EB 10 68 52 |
说明:本设备的 DAC 输出为 16 位精度,DAC 输出的分辨率为:
(Dmax-Dmin)/65535DAC。
输出数据以最小量程为下限,以最大量程为上限,量程范围内为线性关系。比如,4-20mA 输出模式,假如测量距离为 d,则 DAC 输出数据为:
Iout= −
−
∗ 16 + 4
4.5.21 读取开关量输出 1 高电平距离值
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 03 00 0D 00 02 56 10 |
读取开关量输出1高电平距离值 |
|
设备->主机 |
19 03 04 00 00 03 E8 62 8C |
参数为000003E8H,即1000 |
4.5.22 设置开关量输出 1 高电平距离值
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 06 00 0D 00 00 03 E8 CA 12 |
设置开关量输出 1 高电平距 离值 000003E8H,即 1000 |
|
设备->主机 |
19 06 00 0D 00 00 03 E8 CA 12 |
4.5.23读取开关量输出 1 低电平距离值
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 03 00 0E 00 02 A6 10 |
读取开关量输出1低电平距离值 |
|
设备->主机 |
19 03 04 00 00 01 F4 62 25 |
参数为000007D0H,即2000 |
4.5.24设置开关量输出 1 低电平距离值
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 06 00 0E 00 00 07 D0 8D 00 |
设置开关量输出 1 低电平距 离值 000007D0H,即 2000 |
|
设备->主机 |
19 06 00 0E 00 00 07 D0 8D 00 |
4.5.25读取开关量输出 2 高电平距离值
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 03 00 0F 00 02 F7 D0 |
读取开关量输出2高电平距离值 |
|
设备->主机 |
19 03 04 00 00 07 D0 61 9E |
参数为000007D0H,即2000 |
4.5.26设置开关量输出 2 高电平距离值
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 06 00 0F 00 00 07 D0 B0 C0 |
设置开关量输出2高电平距离值000003E8H,即1000 |
|
设备->主机 |
19 06 00 0F 00 00 07 D0 B0 C0 |
4.5.27读取开关量输出 2 低电平距离值
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 03 00 10 00 02 C6 16 |
读取开关量输出2低电平距离值 |
|
设备->主机 |
19 03 04 00 00 03 E8 62 8C |
参数为000003E8H,即1000 |
注释:最小量程范围为 0-900000。
4.5.28设置开关量输出 2 低电平距离值
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 06 00 10 00 00 03 E8 26 10 |
设置开关量输出 2 低电平距 离值 000003E8H,即 1000 |
|
设备->主机 |
19 06 00 10 00 00 03 E8 26 10 |
开关量参数说明:
可以为设备 2 路开关量输出单独设置参数,配置参数有两种情况,即(1:ON> OFF, 2: ON<OFF)。设备根据设定的开关数值参数,自动判断属于哪种模式。
- 迟滞参数:ON电平>OFF电平
随着距离的增加,当距离超过
ON 时打开数字输出高电平。随着距离的减小,当距离下降时,开关关闭输出低水平。
- 迟滞参数:ON电平<OFF电平
4.5.29读取 CAN 通讯帧模式
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 03 00 14 00 01 C7 D6 |
读取CAN通讯帧模式 |
|
设备->主机 |
19 03 02 00 00 98 46 19 03 02 00 01 59 86 |
参数0000H普通帧 参数0001H普通帧 |
4.5.30设置 CAN 通讯帧模式
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 06 00 14 00 01 0B D6 |
设置CAN 通讯帧模式为扩展 帧 |
|
设备->主机 |
19 06 00 14 00 01 0B D6 |
参数 0001H 普通帧 |
4.5.31读取 CAN 通讯波特率
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 03 00 15 00 01 96 16 |
读取CAN通讯帧波特率 |
|
设备->主机 |
19 03 02 00 7D 58 67 |
参数007DH,单位为K,十进制含义为125K |
4.5.32设置 CAN 通讯波特率
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 06 00 15 00 FA 1B 95 |
设置 CAN 通讯帧波特率为 00FAH,单位 K,即 250K |
|
设备->主机 |
19 06 00 15 00 FA 1B 95 |
CAN 通讯波特率仅限于以下几种:20,50,80,100,125,250,500,600,800,1000,单
位 K。
4.5.33 读取 CAN 通讯发送 ID
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 03 00 16 00 02 26 17 |
读取CAN通讯接收ID |
|
设备->主机 |
19 03 04 00 00 02 86 E2 F0 |
参数00000286H,十进制为646 |
发送 ID 的有效范围和帧模式有关。普通帧,取值范围为:0-7FF
扩展帧,取值范围为:0-1FFF FFFF
4.5.34设置 CAN 通讯发送 ID
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 06 00 16 00 00 02 86 2E 6C |
设 置 通 讯发送 ID为 00000286H,十进制为 646 |
|
设备->主机 |
19 06 00 16 00 00 02 86 2E 6C |
发送 ID 的有效范围和帧模式有关。
普通帧,取值范围为:0-7FF
扩展帧,取值范围为:0-1FFF FFFF
4.5.35读取 CAN 通讯接收 ID
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 03 00 17 00 02 77 D7 |
读取CAN通讯接收ID |
|
设备->主机 |
19 03 04 00 00 03 06 E2 C0 |
参数00000306H,十进制为774 |
发送 ID 的有效范围和帧模式有关。普通帧,取值范围为:0-7FF
扩展帧,取值范围为:0-1FFF FFFF
4.5.36设置 CAN 通讯接收 ID
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 06 00 17 00 00 03 06 13 9C |
设 置 通 讯发送 ID为 00000306H,十进制为 774 |
|
设备->主机 |
19 06 00 17 00 00 03 06 13 9C |
发送 ID 的有效范围和帧模式有关。
普通帧,取值范围为:0-7FF
扩展帧,取值范围为:0-1FFF FFFF
注:CAN 通讯协议详见《工业测距传感器 CAN 通讯协议》
4.5.37 保存参数数据
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 06 00 18 00 01 CB D5 |
保存参数到内部存储器,掉电保存 |
|
设备->主机 |
19 06 00 18 00 01 CB D5 |
保存成功 |
只有使用该命令后,设置的参数才会掉电保存,否则重新上电需要重新配置。
4.5.38 读取多个测量结果数据
|
方向 |
数据 |
含义 |
|
主机->设备 |
19 03 00 19 00 06 17 D7 |
读取距离,信号强度和温度 |
|
设备->主机 |
19 03 0C 00 00 3C FA 00 00 AB 1A 00 00 01 04 71 54 |
00 00 3C FA 为距离值15610 00 00 AB 1A 为强度值43802 00 00 01 04 为温度值260 |
该命令用于同时获取多个测量参数,距离值单位0.1mm,强度值单位uV,温度值单位0.1℃
4.5.38使用modScan32测试modbus
A.1 串口设置
电脑端串口1和传感器相连。
通信参数:115200,8位数据长度,1停止位,无校验
通信模式:RTU

A.1 寄存器参数设置
Device id:设备的从地址
Address:寄存器地址,modscan会自动把寄存器地址减1后再发送,所以读取距离参数寄存器2时,需要填写Address为3。
Length:寄存器长度,数据为传感器发回数据自己长度/2.
选用03,HOLDING REGESTER。读取距离数据
菜单:setup->display Options->show traffic显示如下数据

菜单:setup->display Options->show Data显示如下数据,该界面为自动解析的结果,14139为距离值。

CAN通信
5.1 CAN通信参数说明
- CAN通信的参数需通过RS485总线设置。设置方法具体可参考RS485通信协议文档。
- 波特率最高支持1M,推荐使用125K,250K,500K,波特率可通过参数设置,支持的波特率包括20K,50K,80K,100K,125K,250K,500K,600K,800K,1000K。
- 支持CAN2.0B标准帧和扩展帧两种格式,可以通过参数设置。
- 发送ID和接收ID也可以通过参数设置。
- 标准数据帧和扩展数据帧的区别只在ID的表示范围上,其它部分完全一样。默认为标准帧,波特率125K,发送ID为646,接收ID为774。
5.2 CAN2.0B标准数据帧格式
标准帧信息位11字节长度,包括信息和数据两部分,前三个字节为信息部分。
ID(Identifier):数据帧的标识符,长度为11位,总线上每个节点的ID为唯一不重复的。
RTR(Remote Transmission Request Bit): 远程传输请求位,它是用于区分数据帧和遥控帧的,当它为显性电平时表示数据帧,隐性电平时表示遥控帧。
DLC(Data Length Code):数据长度码,有四个数据位组成,表示该报文中有多少字节,数据范围为0-~8。
传感器发出的CAN协议包格式如下:
|
ID (发送) |
RTR |
DLC |
Data |
|||||||
|
D0 |
D1 |
D2 |
D3 |
D4 |
D5 |
D6 |
D7 |
|||
|
0x000-0x7FF |
0 |
8 |
xx |
00 |
yy |
yy |
MM (LSB) |
MM |
MM |
MM (MSB) |
XX = Status byte (02测量完成 01 启动测量, 00 激光关闭)
yyyy = Error byte (错误标志)
MM =距离值,单位0.1mm,采用小端模式 (二进制数据)
示例:
比如距离1458.8mm,使用CAN发出的格式如下:
ID = 0x000-0x7FF RTR = 0 DLC = 8 DATA = 02 00 00 00 FC 38 00 00 (十六进制模式).
传感器接收的数据包
|
ID (接收) |
RTR |
DLC |
Data |
|||||||
|
D0 |
D1 |
D2 |
D3 |
D4 |
D5 |
D6 |
D7 |
|||
|
0x000-0x7FF |
0 |
1 |
XX |
YY |
00 |
00 |
00 |
00 |
00 |
00 |
XX = 01: 打开激光启动测量 (上电后默认是开启状态)
XX = 00: 关闭激光停止测量
YY = 00: 单次测量
YY = 01: 测量频率5Hz
YY = 02: 测量频率10Hz
YY = 03: 测量频率20Hz
YY = 04: 测量频率30Hz
00 预留备用
5.3 CAN2.0B扩展数据帧格式
标准帧信息位13字节长度,包括信息和数据两部分,前五个字节为信息部分。
ID(Identifier):数据帧的标识符,长度为29位,总线上每个节点的ID为唯一不重复的。
RTR(Remote Transmission Request Bit): 远程传输请求位,它是用于区分数据帧和遥控帧的,当它为显性电平时表示数据帧,隐性电平时表示遥控帧。
DLC(Data Length Code):数据长度码,有四个数据位组成,表示该报文中有多少字节,数据范围为0-~8。
传感器发出的CAN协议包格式如下:
|
ID (发送) |
RTR |
DLC |
Data |
|||||||
|
D0 |
D1 |
D2 |
D3 |
D4 |
D5 |
D6 |
D7 |
|||
|
0x0000000-0x1FFFFFFF |
0 |
8 |
xx |
00 |
00 |
00 |
MM (LSB) |
MM |
MM |
MM (MSB) |
XX = Status byte (02测量完成 01 启动测量, 00 激光关闭)
yyyy = Error byte (错误标志)
MM =距离值,单位0.1mm,采用小端模式 (二进制数据)
示例:
比如距离1458.8mm,使用CAN发出的格式如下:
ID = 0x000-0x7FF RTR = 0 DLC = 8 DATA = 02 00 00 00 FC 38 00 00 (十六进制模式).
传感器接收的数据包
|
ID (接收) |
RTR |
DLC |
Data |
|||||||
|
D0 |
D1 |
D2 |
D3 |
D4 |
D5 |
D6 |
D7 |
|||
|
0x0000000-0x1FFFFFFF |
0 |
1 |
XX |
YY |
00 |
00 |
00 |
00 |
00 |
00 |
XX = 01: Switch on laser (state after Power-On),打开激光启动测量
XX = 00: Switch off laser关闭激光,停止测量
YY = 00: 单次测量
YY = 01: 测量频率5Hz
YY = 02: 测量频率10Hz
YY = 03: 测量频率20Hz
YY = 04: 测量频率30Hz
00 预留备用
附件1:航插线缆规格





附件2:航插座规格

