回复:请教一下,6个modbus RTU通讯的站地址一致,寄存器地址连续,那可以用1个查询指令代替6个查询指令吗?

已锁定

WWCWWC

西门子1847工业学习平台

  • 帖子

    9297
  • 精华

    158
  • 被关注

    1486

论坛等级:至圣

注册时间:2008-07-26

钻石 钻石 如何晋级?

发布于 2021-04-14 15:26:53

5楼

展开查看
以下是引用夏雪华在2021-04-14 12:27:07的发言 >4楼

谢谢大佬回复。您说需要在MSG指令dataptr管脚划分出一个连续的42个字变量地址,在程序里MBUS_MSG指令的count管脚输入42,dataptr管脚输入&VB100,指令不是就自动把读取到的42个字自动写入到VB100~VB183这个从VB100开始的84个字节里了吗?还是说需要在别的地方设置一下

以下是引用WWCWWC在2021-04-14 11:16:41的发言 >1楼:嘿嘿,开始我理解错...

引用1楼详细内容:

嘿嘿,开始我理解错了,以为的读取6个相同地址的从站,如果是那样是不可以的。

你是读、写一个从站,发现有原本需要一个数据一个数据的读、写。发现它的数据地址是连续的,是否可以用一个MSG指令,读取或写入?

回复是可以的。你图示,读取40007开始的42个字信息,这个可以没有问题。

注意,这样的应用,需要在MSG指令dataptr管脚划分出一个连续的42个字变量地址。

是的。

正是需要这样考虑地址的占用问题,不然地址重复使用问题马上映现了,下面的程序出错就非常容易出现了。

不需要设置地址长度,是自动根据MSG指令的count管脚定义的数据长度,自动定义的。dataptr管脚所以是指针方式来确定,不然,你用什么数据类型的数据填写呢?只有指针地址的描述才能够胜任此项工作。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9298条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。