回复:为什么smart200rtu485通讯从站MSG总是报错6?

WWCWWC

西门子1847工业学习平台

  • 帖子

    9481
  • 精华

    160
  • 被关注

    1500

论坛等级:至圣

注册时间:2008-07-26

钻石 钻石 如何晋级?

发布于 2026-04-28 14:26:31

16楼

展开查看
以下是引用Gavin935在2026-04-28 13:48:09的发言 >15楼



我在提问这个问题之前我根据手册的要求对SMB130的波特率、奇偶校验等等设置就是这么设置的。我用程序员计算器将0000 1001换算成16进制确实是9这下我一通百通。


EVNT管脚定义我弄明白了我用的CM01,按照手册的中断事件优先级顺序我应该设置成26(端口1)而不是9(端口0)。


中断程序那段我想问的如图2,定义INT和EVNT管脚,为什么要INT管脚定义成INT_0?我看手册上说可以是常数0~127任意一个数,这块我不太明白。


以下是引用WWCWWC在2026-04-28 13:29:32的发言 >14楼:关于SMB30和SM...

引用14楼详细内容:

关于SMB30和SMB130,这个问题实际上非常容易理解:

1)SMB30指集成的RS485口;

2)SMB130指扩展信号板的通讯口,你属于这个口的通讯。

为什么要将9传送给SMB130?,你首先将16#09拆分为应该字节的2#数据,得到2#0000 1001后,将这些二进制数据对应SMB130的每一个位,这样你就能够理解我定义SMB130的目的了。

关于中断的解释,我没有看明白,记得我这个帖子是有序列的,你按我的序列看应该会知道如何定义自由口通讯中断的含义了,或者你找我的链接给我看,可能发的贴有一点早,我都模糊了。

200smart 的系统中允许用户自定义各种类型的中断子程序,最多可以定义0~127个。

至于用户定义INT_0还是0~127完全取决你自己的喜好,没有特殊的规定和要求。

只是在定义中断后,接收完成中断关联的中断子程序,比如,我定义在INT_2,那么接收完成中断的通讯内容程序,就必须写在INT_2里面,一般写再次启动发送xmt指令。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9484条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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