modbus 通讯 中 数据地址 的问题~ 我就是理解不了,哎~~~~ 点击:0 | 回复:9



handong9622

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 3回
  • 年度积分:0
  • 历史总积分:9
  • 注册:2009年6月25日
发表于:2009-06-25 09:17:38
楼主

modbus rtu的基本数据格式和crc我到是明白点~  但就是具体的内容怎么操作我是一头雾水,

我举个例子吧,单位给了我一个 设备的点表如:

数据地址 对BAS数据地址 存储地址          类型                          级别    说明                        单位                     有效范围
10769       40001(第0位)      VB1001.0    输入点状态,只读 机组级 冷水机组启动/停止                             0:off,1:on
10770       40001(第1位)      VB1001.1    输入点状态,只读 机组级 报警                                                      1:报警

这里说的数据地址我要存读的设备的寄存器地址? 后边的对bas的地址又是什么意思, 存储地址是 辈分的信息地址??

这些越看越晕啊~

哪个参数都代表什么??




handong9622

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 3回
  • 年度积分:0
  • 历史总积分:9
  • 注册:2009年6月25日
发表于:2009-06-25 10:28:20
1楼
有人懂么?~~~~~~~~~~~~~

winccc

  • 精华:1帖
  • 求助:1帖
  • 帖子:69帖 | 1131回
  • 年度积分:0
  • 历史总积分:2993
  • 注册:2001年10月09日
发表于:2009-06-25 10:37:30
2楼
MODBUS  3开始是写,4开始是读,数据地址应该不是一个单4001吧,VB这个全世界都知道吧

handong9622

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 3回
  • 年度积分:0
  • 历史总积分:9
  • 注册:2009年6月25日
发表于:2009-06-25 10:53:35
3楼

回复内容:
对:winccc 关于MODBUS  3开始是写,4开始是读,数据地址应该不是一个单4001吧,VB这个全世界都知道吧 内容的回复:



有点不明白,3是写?你说的是哪个3,modbus操作3是读~

还有就是能说再细一点么,我真的是刚学,vb不用解释,我知道是个软件,主要是后边的数字.例如 10768这个地址是什么意思,vb后边那个1001.0又是什么意思,能解释得清楚一点么??

工控海洋

  • 精华:0帖
  • 求助:1帖
  • 帖子:40帖 | 113回
  • 年度积分:33
  • 历史总积分:485
  • 注册:2008年4月11日
发表于:2009-06-25 11:49:44
4楼
我同样的困惑,一头雾水

winccc

  • 精华:1帖
  • 求助:1帖
  • 帖子:69帖 | 1131回
  • 年度积分:0
  • 历史总积分:2993
  • 注册:2001年10月09日
发表于:2009-06-25 23:46:08
5楼

01 读取线圈状态 取得一组逻辑线圈的当前状态(ON/OFF)

02 读取输入状态 取得一组开关输入的当前状态(ON/OFF)

03 读取保持寄存器 在一个或多个保持寄存器中取得当前的二进制值

04 读取输入寄存器 在一个或多个输入寄存器中取得当前的二进制值

05 强置单线圈 强置一个逻辑线圈的通断状态

06 预置单寄存器 把具体二进值装入一个保持寄存器

07 读取异常状态 取得8个内部线圈的通断状态,这8个线圈的地址由控制器决定,用户逻辑可以将这些线圈定义,以说明从机状态,短报文适宜于迅速读取状态

08 回送诊断校验 把诊断校验报文送从机,以对通信处理进行评鉴

winccc

  • 精华:1帖
  • 求助:1帖
  • 帖子:69帖 | 1131回
  • 年度积分:0
  • 历史总积分:2993
  • 注册:2001年10月09日
发表于:2009-06-25 23:46:33
6楼
看看这个对你有没有用

winccc

  • 精华:1帖
  • 求助:1帖
  • 帖子:69帖 | 1131回
  • 年度积分:0
  • 历史总积分:2993
  • 注册:2001年10月09日
发表于:2009-06-25 23:48:56
7楼
VB1001.0应该是PLC的数据块编号吧,如果没有估计错的话应该是和S7-300通讯吧

ccsly

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 19回
  • 年度积分:0
  • 历史总积分:84
  • 注册:2000年10月16日
发表于:2009-06-26 00:00:03
8楼
数据地址          对BAS数据地址                存储地址            类型              级别 说明              单位 有效范围
10769            40001(第0位)                    VB1001.0           输入点状态,只读 机组级 冷水机组启动/停止 0:off,1:on
10770            40001(第1位)                     VB1001.1          输入点状态,只读 机组级 报警 1:报警 
  按你的例子看应该是西门子的S7-200 PLC 采用MODBUS的通讯方式,10769是开关量输入(既是读)对应的是寄存器40001(该寄存器16位)的0位,再对应到S7-200的寄存器地址是VB1001.0(VB是S7-200的V寄存器区,VB为8位即8个BIT );10769到10785共16位对应到40001,S7-200的VB1001.0到VB1002.7 对应读的是40001寄存器 .   

mcork

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 17回
  • 年度积分:0
  • 历史总积分:60
  • 注册:2007年7月18日
发表于:2009-06-26 09:05:09
9楼

8楼正解!

你要是做监控的话,不用管数据地址和存储地址


相关主题

官方公众号

智造工程师