您现在所在的是:

PLC论坛

回帖:15个,阅读:3751 [上一页] [1] [2] [下一页]
2265
liangmaoxian
文章数:572
年度积分:50
历史总积分:2265
注册时间:2014/10/26
发站内信
发表于:2015/5/28 0:53:31
#0楼
[size=4]各位大师们好,本人近期在学西门子modbus通信协议时有不懂,烦劳各位大师帮忙解答,感激。问题就是关于通信协议主站中的Dataptr对应主站中的&vb2000的含义,40001与它下面的count的关系。还有从站里hoidst~对应的&vb2000的含义。
主站中count对应的数字1指的是不是从40001开始的1个字节《也就是16位》40001-40016?或者是指vb2000开始的16位?还有就是主站的vb2000和从站的vb2000有什么关系?一定要设置的一样吗?今天听课听的一团雾水,望各位老师解惑,谢谢[/size]附图
附件 主站.jpg
2265
liangmaoxian
文章数:572
年度积分:50
历史总积分:2265
注册时间:2014/10/26
发站内信
发表于:2015/5/28 0:54:57
#1楼
从站
附件 从站.jpg
1494
zwb625
文章数:83
年度积分:50
历史总积分:1494
注册时间:2014/11/8
发站内信
发表于:2015/5/28 16:08:35
#2楼
EN 使能
Mode 协议选择 0=PPI, 1=MODBUS
Baud 传输速率 kbps 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
Parity 校验选择 0=无校验, 1=奇校验, 2=偶校验
Timeout 从站的最长响应时间 ms
Done “完成”标志位
Error 错误代码

MBUS_MSG
参数 意义
EN 使能
First 读写请求位
Slave 从站地址
RW "读" 或 "写" 0=读, 1=写
Addr 读写从站的数据地址 0001 .. 00128 = 数字量输出 Q0.0 .. Q15.7
                               1001 .. 10128 = 数字量输入 I0.0 .. I15.7
                               30001 ..30032 = 模拟量输入 AIW0 .. AIW62
                               40001 .. 49999 = 保持寄存器 2
Count 位或字的个数 (0xxxx, 1xxxx) / words (3xxxx, 4xxxx)
DataPtr V存储区起始地址指针
Done '完成' 标志位
Error 错误代码
1494
zwb625
文章数:83
年度积分:50
历史总积分:1494
注册时间:2014/11/8
发站内信
发表于:2015/5/28 16:10:20
#3楼
从站
MBUS_INIT
参数 意义
EN 使能
Mode 协议选择 0=PPI, 1=MODBUS
Addr 从站地址
Baud 传输速率 kbps 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
Parity 奇偶校验 0=无校验, 1=奇校验, 2=偶校验
Delay 延时时间 ms
MaxIQ 最大数字输入输出点数
MaxAI 最大模拟量输入点数
MaxHold 最大保持寄存器字数量
HoldStart 保持寄存器区起始地址(40001)
Done 完成标志位
Error 错误代码

MBUS_SLAVE
参数 意义
EN 使能
Done 完成标志位
Error 错误代码
1494
zwb625
文章数:83
年度积分:50
历史总积分:1494
注册时间:2014/11/8
发站内信
发表于:2015/5/28 16:16:07
#4楼
你上面的图例实际就是:以波特率=9600,把主站VW2000写到3号从站的VW2000里面去
10558
osp321
文章数:4823
年度积分:50
历史总积分:10558
注册时间:2007/6/5
发站内信
寻找英威腾(三)
发表于:2015/5/28 18:05:23
#5楼
是从40001开始的1个字《也就是16位》,1个字节是8位。

这个字就是40001,不是40001-40016  这就是16个字了。

楼主可以在软件打开帮助帮助  输入MBUS 看看这些的用法

“主站的vb2000和从站的vb2000有什么关系?一定要设置的一样吗?”
不一定设置一样的。
总有一天我不再做枝头上夜莺的哀吟
像沙翁中的云雀,我会一翅冲天
为泱泱大国的中华唱出我赞美的诗章;
2265
liangmaoxian
文章数:572
年度积分:50
历史总积分:2265
注册时间:2014/10/26
发站内信
发表于:2015/5/28 18:57:29
#6楼
回复 #5楼 osp321
那下面的&vb2000呢?读写的数据不是先存入vb2000这个字节吗?
2265
liangmaoxian
文章数:572
年度积分:50
历史总积分:2265
注册时间:2014/10/26
发站内信
发表于:2015/5/28 19:01:16
#7楼
回复 #4楼 zwb625
就是说主站写入的程序都先预存到vb2000,然后再写入从站的vb2000开始的寄存器吗?那这40001跟主站的vb2000有什么关系?
8654
805709808
文章数:759
年度积分:50
历史总积分:8654
注册时间:2013/3/17
发站内信
发表于:2015/5/28 19:55:04
#8楼
回复 #7楼 liangmaoxian
应该是先存到主站的VW2000中,再写到从站的VW2000,40001是地址,VW2000中存的是该地址中的信息,我也是初学者,这就是我的理解。
2265
liangmaoxian
文章数:572
年度积分:50
历史总积分:2265
注册时间:2014/10/26
发站内信
发表于:2015/5/28 21:48:25
#9楼
回复 #8楼 805709808
那vb2000跟40001什么关系呢?

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

78.0005