工业镜头len参数 西门子S7-1200的MODBUS通信如何组态,指令各参数的含义是什么

小编 2024-10-22 行业应用 23 0

西门子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 的回答 - 懂得

全预应力与部分预应力按照施工预应力大小的程度,预应力混凝土可分为“全”预应力与“部分”预应力两类。当构件按使用荷载下不出现拉应力的准则设计...