回复:大佬们,小弟又来求助MBUS-MSG了,感谢指教。

已锁定

WWCWWC

西门子1847工业学习平台

  • 帖子

    9148
  • 精华

    157
  • 被关注

    1477

论坛等级:至圣

注册时间:2008-07-26

钻石 钻石 如何晋级?

发布于 2023-09-15 13:58:24

4楼

哈哈哈,很想到你那边来喝茶,也可以喝酒俩那种都行。

对你的理解我加强一下。

EN:可以长通,如SM0.0(NO),也可以是First管脚同一个标志位,指令运行期间,必须是ON状态。

First:只能的沿方式触发,在触发后,必须等待done位为1后,才可以进行第二次触发。

Slave:指通讯从站站地址,根据实际的从站设置,保持一致。通讯系统中只能是唯一的这个地址。

RW: 0 = 读、 1 = 写,2选1

ADDR:数据区,各区都有自己的划分,理解功能码,就理解这个管脚的填写。

count:与ADDR必须是匹配着的,功能码是那个,如西门子读写线圈和输入、输出分别是0和1,模拟量在3、寄存器在4字头,这个是划分好的区域。强调这些就可以理解count到底是指bool,还是int数据了,其中,0和1均指bool,模拟量、寄存器均指int(16bool)。

data_ptr:这个管脚是指与ADDR和count匹配的数据长度,是被动放。长度有ADDR和count决定。

done: 0 = 空闲或者正在通讯,1 = 的那个周期,指令执行完成,无论通讯是否正常。

error:错误代码,0 = 没有错误,其它数据根据手册说明看具体报警信息内容。

强调:

data_ptr:这个只能是指针来完成,ADDR和count是2个管脚来描述,读、写数据长度的,而data_ptr只能一个管脚来说明数据长度,而200smart是数据长度最长只能是32位,也就是说count最大只能写到2,超过数字2就放不下?显然不会这样做,这个管脚巧妙的应用了指针,这样所有的长度都可以放了。

还有一点,是与RW有关的,如果RW = 0,那么上面所指定的数据长度的数据是读进来的;反之,RW = 1,则是发送给从站去的数据区。

哦,对了,非常欣赏你的执着。做技术就是需要这样最基本的执着才可以。





评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9024条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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