回复:S7-200主机之间MODBUS通讯的几点疑问,求教

yanxiao

版主

  • 帖子

    12143
  • 精华

    46
  • 被关注

    183

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2016-10-26 10:04:23

46楼

楼上,应更深一步思考。


两个串口,其中一个可能是软件模拟的吗?就是山寨版的也必然是两个硬件串口。硬件串口都有独立的收发系统。硬件上收发缓冲区独立,软件上反而把它们混一起?显然也不会这么做。


那么SMB2和SMB3为两个串口共用,是何意呢。这明显就是共享这个名称。SMB2是个命名的地址,实际物理地址是什么?没公布。所以SMB2是个名称,是个符号,所对应的物理地址由CPU的系统软件解释。

手册说了,在什么情况下,SMB2指的是PORT0的收发缓区,什么时候SMB2是PORT1的收发缓冲区。


换一种思考方法:你是等字符收下来后才去读的SMB2,那么SMB2中的数据是PORT0还是PORT1已经定了,并不会因你读的地方不同而改变。那只能说明,SMB2只是名称的共享,实际上对应的不同内容。


再说,SMB2是自由口的东西,XMT、RCV也是自由口的东西。XMT的RCV可以把modbus的定时要求由XMT、RCV本身完成,简化软件的编写。所以我才猜测库程序是XMT、RCV写成。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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