nbj2008
级别: 探索解密
精华主题: 0
发帖数量: 35 个
工控威望: 143 点
下载积分: 645 分
在线时间: 89(小时)
注册时间: 2011-03-21
最后登录: 2024-11-11
查看nbj2008的 主题 / 回贴
楼主  发表于: 2013-10-01 13:07
原来有两仪表用4-20ma接入200,现在增加了模块后超过了7个,想通过modbus走485连接俩仪表,去掉一个AI模块。看了很多都没有理解怎么发送查询命令,求解?
附件: 通信协议25073.doc (46 K) 下载次数:154
网站提示: 请不要用迅雷下载附件,容易出错
nbj2008
级别: 探索解密
精华主题: 0
发帖数量: 35 个
工控威望: 143 点
下载积分: 645 分
在线时间: 89(小时)
注册时间: 2011-03-21
最后登录: 2024-11-11
查看nbj2008的 主题 / 回贴
1楼  发表于: 2013-10-01 13:08
串口协议:
RS485接口总线协议:波特率 9600bps ; 校验无;数据位:8位;停止位:1位

通用协议:
帧头    帧长    数据类型    命令字    参数    校验核    帧尾
10 02                        10 03
                        

协议说明:
帧头:10 02
帧长:数据类型至校验核的所有字节数
数据类型:功能类型
命令字:同一功能类型的不同命令
参数:命令数据内容
校验核:数据类型至参数所有数据和
帧尾:10 03





序号    功能    数据类型    命令字    参数    备注
1    设备地址读取    F0
    00     无    
    应答        FF     Byte1:
00: 设备地址读取
Byte2:
01-c8(1-200): 设备地址    
2    设备地址设置    F0
    01     Byte1: 设备地址
01-c8(1-200):    
    应答        FF     Byte1:
    01: 设备地址设置
Byte2:
00: 设置成功
01:设置失败    
3    浓度上报模式查询    F0
    02    Byte1:
  00: 查询所有设备模式
  01-c8(1-200): 该设备模式    
    应答        FF    Byte1:
  02H
Byte2: 设备地址
01-    c8(1-200):
Byte3: 工作模式
00: 自动上报
01: 命令触发上报    
4    浓度上报模式设置    F0    03    Byte1:
  00:设置所有设备模式
01-    c8(1-200): 设置某设备模式
Byte2:
   00: 自动上报
   01: 命令触发上报    
    应答        FF    Byte1:
03H
Byte2: 设备地址
02-    c8(1-200):
Byte3:
00: 设置成功
  01:设置失败    
5    查询浓度数据    F0    04    Byte1:
  00:查询所有设备采集数据
  01-c8(1-200): 查询某设备采集    数据    
    应答        FF    Byte1:  04H
Byte2: 设备地址
01-    c8(1-200)
Byte3- Byte7:气体浓度值
Byte8:小数点位数
30H:无小数点
31H:1位小数点
32H:2位小数点
33H:3位小数点
Byte9- Byte11:浓度单位    

注:自动上报浓度 10s/次

例如:设置地址为1
10 02 04 F0 01 01 F2 10 03
应答:10 02 05 F0 FF 01 00 F0 10 03  设置成功
  10 02 05 F0 FF 01 01 F1 10 03  设置失败

地址为5
10 02 04 F0 01 05 F6 10 03
应答:10 02 05 F0 FF 01 00 F0 10 03  设置成功
  10 02 05 F0 FF 01 01 F1 10 03  设置失败

读取地址
10 02 03 F0 00 F0 10 03
应答:10 02 05 F0 FF 00 01 F0 10 03  返回地址1

1号设备浓度触发上报模式设置:

10 02 05 F0 03 01 01 F5 10 03
应答:10 02 06 F0 FF 03 01 00 F3 10 03    

查询 1 号探测器的浓度:(现暂时不能同时查询所有设备的浓度值,同一时间只能点名采集某一路设备的值,采集完这路设备的值,等待应答后再点名采集下一设备的值)

10 02 04 F0 04 01 F5 10 03
应答:10 02 0E F0 FF 04 01 30 30 30 30 30 31 4C 45 4C F2 10 03

例如:
1255 ppm  
0x30 0x31 0x32 0x35 0x35 0x30 0x50 0x50 0x4D
125.5 ppm  
0x30 0x31 0x32 0x35 0x35 0x31 0x50 0x50 0x4D
12.55 ppm  
0x30 0x31 0x32 0x35 0x35 0x32 0x50 0x50 0x4D

12.55 ppm 单位为 Vol% :
0x30 0x31 0x32 0x35 0x35 0x32 0x56 0x4F 0x4C

12.55 ppm 单位为:LEL% :
0x30 0x31 0x32 0x35 0x35 0x32 0x4C 0x45 0x4C