S7 300和S7 400 通讯异常

已锁定

volcanol

  • 帖子

    851
  • 精华

    12
  • 被关注

    58

论坛等级:奇侠

注册时间:2009-11-26

钻石 钻石 如何晋级?

S7 300和S7 400 通讯异常

1567

7

2016-04-01 17:32:42

   我现在碰到一个问题, S7 300 和 S7 400 通讯问题。首先我来描述一下问题:


1、  S7 300 和 S7 400 PLC建立S7 连接。

2、  S7 300 调用库函数 FB35 往 S7 400 发送数据,  S7 400 通过 SFB14 接收数据。如下两图是

程序的最初状态。

 上面是400里面的程序。

 上面是300里面的程序。

 DB13是 300 PLC里面的块

 DB141是 400 PLC里面的块


 3、 现在我遇到一个问题, 就是我需要增加通讯的数据量, 从 34 字节增大到 72 字节。 我在DB13、DB141里面分别增加对应的数据, 增加的长度和类型完全一致。

   我就将 P#db13.dbx0.0 byte 34 ----> P#db13.dbx0.0 byte 72

       p#db141.dbx0.0 byte 34 ----> p#db141.dbx0.0 byte 72 

   然后下载程序,监控发现300里面状态正常, 400里面SFB14的 NDR引脚一直为0, 且Error一直在0和1之间闪烁。 400不能正常的接收数据。


   然后我将 byte 72 改成 48 通讯成功。


4、接下来我就打西门子热线,说是 SFB14/SFB15、FB34/FB35的最大通讯数据量为160字节, 然后我就将程序修改成如下形式。

 修改后的400的PLC程序, 调用SFB14

  修改后的300 PLC通讯程序 调用 FB35,


  改成上面的情况后, 400 PLC里面可以正常的接收数据, 但是存在一个问题,就是400 PLC程序

里面SFB 14 的反馈的状态不对, Error 一直在闪烁, 0 和 1 之间跳变。 而且返回的状态status的值

没有手册里面的值, 出现了 16#19的值。如下图所示。

 

5、 现在我又将程序恢复到最初的状态,结果现在通讯也不正常啦。 在300 PLC里面一直正常,

而在400 PLC里面 SFB 14的 Error 一直闪烁, 而status 则会出现很多其他的状态,比方说

上面的 16#19 这个状态。


6、不知道有没有人对这个比较了解的,为什么会这样,还有就是可以确定的是DB13、DB141的数据类型和长度完全一样, DB13 == DB141 。


7、现在不能改成其他通讯  有没有人遇到过这样的情况。

求指教。


8、顺便说一句,原程序是西门子公司的人开发的。








S7 300和S7 400 通讯异常 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54621条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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