您现在所在的是:

西门子SIEMENS

回帖:13个,阅读:1549 [上一页] [1] [2] [下一页]
1161
fnachille
文章数:139
年度积分:50
历史总积分:1161
注册时间:2016/8/31
发站内信
发表于:2018/8/18 20:15:30
#0楼
请教前辈们,在S7 200的modbus的读和写时,这个个数应该是怎么计,是以VB的方式计,还是VW双字的方式计,
位置又怎么说呢,比如我要写一个频率进去,频率存在VW1500中,那地址应该写呢,起始地址是&VB1500吗?还是什么地址?

多谢各位了!

附件 2222.jpg
[此贴子已经被作者于2018/8/18 20:16:10编辑过]
23314
gk_0 版主
文章数:7738
年度积分:320
历史总积分:23314
注册时间:2013/9/9
发站内信
2018论坛贡献奖
2017论坛贡献奖
2017国庆活动(二)
2016论坛贡献奖
2016国庆活动(三)
英威腾变频器(一)
S7-200 SMART(一)
寻找英威腾(三)
英威腾PLC体验(一)
2015春节活动
2013辞旧迎新
2013辞旧迎新
2013国庆活动
发表于:2018/8/18 20:33:46
#1楼
频率存在VW1500中,就写&VB1500
[此贴子已经被作者于2018/8/18 20:35:28编辑过]
19111
qjj740210
文章数:4851
年度积分:465
历史总积分:19111
注册时间:2005/9/24
发站内信
2018春节活动(二)
2017国庆活动(二)
2017春节活动(二)
2016国庆活动(二)
西门子触摸屏(一)
三菱电机活动(二)
西门子logo体验(三)
西门子PLC体验(二)
2013辞旧迎新
发表于:2018/8/18 22:32:42
#2楼
Count 数据个数 通讯的数据个数(位或字的个数)
注意: Modbus主站可读/写的最大数据量为120个字(是指每一个 MBUS_MSG 指令)

何时为位?何时为字?
Addr 选择读写的数据类型
数据地址:
00001 至 0xxxx - 开关量输出 位

10001 至 1xxxx - 开关量输入 位

30001 至 3xxxx - 模拟量输入 字

40001 至 4xxxx - 保持寄存器 字
1161
fnachille
文章数:139
年度积分:50
历史总积分:1161
注册时间:2016/8/31
发站内信
发表于:2018/8/19 0:49:01
#3楼
这个解决了我的问题,非常感谢。就是不知道什么时候用位什么时候用字
但是,双字的时候呢,它的个数是双字的个数吗,还是单字的个数?
[此贴子已经被作者于2018/8/19 1:48:09编辑过]
19111
qjj740210
文章数:4851
年度积分:465
历史总积分:19111
注册时间:2005/9/24
发站内信
2018春节活动(二)
2017国庆活动(二)
2017春节活动(二)
2016国庆活动(二)
西门子触摸屏(一)
三菱电机活动(二)
西门子logo体验(三)
西门子PLC体验(二)
2013辞旧迎新
发表于:2018/8/19 10:35:58
#4楼
想的有点多了。你读写的是开关量,那肯定是“位”了;读写的是模拟量,那肯定是“字”了。至于你说的双字,读写个数设为2,就是读写2个字,不就是一个双字。
[此贴子已经被作者于2018/8/19 10:37:35编辑过]
28395
guanyumou 版主
文章数:10603
年度积分:373
历史总积分:28395
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2018/8/19 11:39:23
#5楼
以下是引用gk_02018/8/18 20:33:46的发言:
频率存在VW1500中,就写&VB1500
目测他的程序,寄存器起始地址是48193,如果从站是变频器的话,根据判断此48193的寄存器应该是负责变频器启动停止的,如果下一个寄存器48194是给定频率的话、如果他频率值保存在VW1500里,那么数据指针应该是&VB1498,而不是&VB1500。目测他的变频器可能是台达(不含VFD-F(E)系列)、信捷(不含VH3系列)、永宏FID-E10系列、英威腾系列、罗克韦尔系列之一吧?!或者其他杂牌子的??
[此贴子已经被作者于2018/8/19 11:43:29编辑过]
28395
guanyumou 版主
文章数:10603
年度积分:373
历史总积分:28395
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2018/8/19 11:41:34
#6楼
以下是引用qjj7402102018/8/18 22:32:42的发言:
Count 数据个数 通讯的数据个数(位或字的个数)
注意: Modbus主站可读/写的最大数据量为120个字(是指每一个 MBUS_MSG 指令)

何时为位?何时为字?
Addr 选择读写的数据类型
数据地址:
00001 至 0xxxx - 开关量输出 位

10001 至 1xxxx - 开关量输入 位

30001 至 3xxxx - 模拟量输入 字

40001 至 4xxxx - 保持寄存器 字
保持寄存器范围可为400001~465536,对应实际地址为16进制的0000~FFFF
1161
fnachille
文章数:139
年度积分:50
历史总积分:1161
注册时间:2016/8/31
发站内信
发表于:2018/8/19 11:56:09
#7楼
回复 #5楼 guanyumou
是英威腾的变频器。
为什么指针是&VB1498而不是&VB1500呢?
数据存在VB1500里,不是应该从&VB1500开始的地址吗?
28395
guanyumou 版主
文章数:10603
年度积分:373
历史总积分:28395
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2018/8/19 12:22:01
#8楼
以下是引用fnachille2018/8/19 11:56:09的发言:
是英威腾的变频器。
为什么指针是&VB1498而不是&VB1500呢?
数据存在VB1500里,不是应该从&VB1500开始的地址吗?
根据你贴出的部分程序
寄存器起始地址是48193,48193这个寄存器负责变频器启动停止、48194负责给定频率!然后数据指针是&VB1500,那么VW1500里保存的势必是启动停止相关数据,而VW1502才是保存的频率值!
附件 image.jpg
28395
guanyumou 版主
文章数:10603
年度积分:373
历史总积分:28395
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2018/8/19 13:05:49
#9楼
还有,你启停、给定频率的话,一次性写入2个保持寄存器就可以了,寄存器数量也不用填写16的!

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

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

78.0005