西门子S7-1200的MODBUS通信如何组态,指令各参数的含义是什么
本篇我们来学习西门子S7-1200的MODBUS通信如何组态,通信装载指令、主站设置指令、从站设置指令各参数的含义是什么。
MODBUS通信协议广泛应用于工业控制领域,并且已经成为一种通用的行业标准,不同厂商提供的控制设备可以通过MODBUS协议连成通信网络,从而实现集中控制。这里我们只介绍西门子S7-1200中MODBUS通信的相关指令。MODBUS协议库指令包括MODBUS通信装载指令、MODBUS主站设置指令和MODBUS从站设置指令。
MODBUS通信装载指令MB_COMM_LOAD用于组态点对点、RS485或RS232模块上的端口以进行MODBUS-RTU协议通信,各参数含义如下:
PORT为通信端口标识符;BAUD为波特率选择;PARITY为奇偶校验选择;FLOW_CTRL为流控制选择;RTS_ON_DLY为接通延时选择;RTS_OFF_DLY为关断延时选择;TESP_TO为响应超时;MB_DB为MB_MASTER或MB_SLAVE指令所使用背景数据块的地址;ERROR为错误指示;STATUS用于组态端口错误代码。
MODBUS主站设置指令MB_MASTER允许程序做为MODBUS主站使用RS485或RS232模块上的端口进行通信,可访问一个或多个MODBUS从站设备中的数据。部分参数含义如下:
REQ为请求输入;MB_ADDR为MODBUS-RTU站地址,有效地址范围为0-247;MODE为模式选择,请求类型包括读取、写入或诊断;DATA_ADDR为从站中的起始地址,指定要在MODBUS从站中访问数据的起始地址;DATA_LEN为数据长度,指定请求中要访问的位数或字数;DATA_PTR为数据指针,指向要写入或读取数据的本地数据块地址,该数据块必须为非#号访问类型;BUSY为忙状态;其它参数与以上介绍的MODBUS通信指令类似。
MODBUS从站设置指令MB_SLAVE允许程序做为MODBUS从站使用RS485或RS232模块上的端口进行通信,MODBUS-RTU主站可以发出请求,然后程序通过执行MB_SLAVE来响应。部分参数含义如下:
MB_ADDR为MODBUS-RTU从站的地址,有效地址范围为1-247;MB_HOLD_REG为MODBUS保持寄存器数据块地址;NDR表示新数据就绪;DR为读数据标志位,0表示无数据读取,1表示MODBUS主站已读取数据;其它参数与以上介绍的MODBUS通信指令类似。
以上,我们学习了西门子S7-1200的MODBUS通信如何组态,通信装载指令、主站设置指令、从站设置指令各参数的含义。想要了解更多关于西门子PLC编程的知识,请持续关注本号!
SK-Pro XXA 系列工业级激光测距传感器说明书
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:航插座规格
相关问答
len 什么牌子好?LEN是一种品牌的变频器,代表着“佳维恩”(JIVIEN)这个品牌。该品牌的变频器主要产品有JVA系列,JVS系列以及JVF系列等。JVA系列是一种通用型的变频器,适用于...
PLC技能扩展,如何实现PLC与多台变频器的MODBUS/RTU通信?Modbus是一个请求/应答协议,并且提供功能码规定的服务,是工业中经常使用的一种协议。每种设备(PLC、变频器、HMI、控制面板、驱动程序、动作控制、输入/输出...
工作价值的定义141成绩管理系统------分析报告(不知如何贴数据流程图之类的到这里,所以把相关图片贴到空间里啦)(另:数据字典是表格形式啦,贴来这里就变了。)一...
大家对宜昌未来的发展有什么建议?宜昌作为新时代的旅游城市和文明城市,前途和发展应该可以说是不可限量的,就我个人来看宜昌近几年的发展重心应该是放在了三大区域,分别是伍家区点军区和夷陵区...
uart的发展历史计算机出现了,这些已有的串口设备毫无疑问地成为了最初的外设,自然而然地RS232标准被个人计算机采纳。但是设备制造商倾向于体积更小,成...但是设...
QN1803不锈钢是什么不锈钢?主要成分是镍、钼和铬,通过适当调整比例和热处理工艺,使得不锈钢具有良好的耐腐蚀性和机械性能。3.QN1803不锈钢常用于化工、石油、医疗器械等领域的高...3...
求一个用C++编写的RPC方法的例子?lo_c.c正在生成代码...Microsoft(R)IncrementalLinkerVersion8.00.50727.42Copyright(C)MicrosoftCorpora...
酒店精油香熏好闻排行榜?2、MADetLEN:这个品牌的香氛和其他的有点不同,第一眼看起来总感觉有点廉价,用过之后都会被征服,不但是能够安神,而且还能够用精油对味道进行补充。3、Ab...
酒店香氛品牌排行榜前十名?2、MADetLEN:这个品牌的香氛和其他的有点不同,第一眼看起来总感觉有点廉价,用过之后都会被征服,不但是能够安神,而且还能够用精油对味道进行补充。3、Ab...
全预应力混凝土要配纵向受力钢筋? - elenlen 的回答 - 懂得全预应力与部分预应力按照施工预应力大小的程度,预应力混凝土可分为“全”预应力与“部分”预应力两类。当构件按使用荷载下不出现拉应力的准则设计...