来自西门子技术支持热线的故事: 为什么我的ModBus TCP通讯不上??

已锁定

西门子PA

官方工程师

  • 帖子

    40
  • 精华

    1
  • 被关注

    155

论坛等级:游侠

注册时间:2011-03-30

普通 普通 如何晋级?

来自西门子技术支持热线的故事: 为什么我的ModBus TCP通讯不上??

1485

0

2012-11-29 15:12:30

西门子冗余CPU支持Modbus TCP通讯,并且在软件包安装后提供了例子程序,客户可以借助此例子程序进行程序开发,但是还是有些客户在编程过程中没有注意一些细节,给工程调试增加了些小波折,下面请您看这么一个故事。
客户反映Modbus TCP Red V2与调试工具Modscan死活通讯不上,并且已经折腾了一个晚上了,还是通讯不上。从客户的语气听出来,很着急。于是,稳定一下客户着急的情绪,开始和客户检查组态和参数:检查CP443-1的设置、检查NetPro的网络组态和TCP 连接状态,这些都是按照示例文档做的,没有什么问题。
然后开始检查FB 907的初始化设置和检查FB 907数据区的设置,发现客户在初始化时仅对使用的数据区域进行了参数赋值,没用的区域没有处理。这样初始化参数作用会在FB 907的输出状态报W#16#0102地址区域重叠错误,让客户修改不使用的数据区域初始化为0,重新下装程序。客户操作之后,反映还是通讯不上。(心里反复考虑,这是什么问题呢,其实已经检查的几项都检查过了,数据地址区域重叠的错误也修改过来了,表示压力很大……)
继续检查程序的执行情况,客户的服务器程序FB 907,看NDR_x管脚是否动作,因为服务器程序对请求进行响应和处理之后会对NDR_x输出1操作,建议客户监控程序,观察NDR_x是否有值在变化。一分钟之后,客户反映NDR_x值不变化,始终是0;这些情况了解之后,猜想客户肯定是发送接收环节出了问题,
再次询问客户,除了FB 907之外还加载了哪些程序块到CPU中。客户回答:有FB 907,FB 906,FC 10,FC 11就这些。终于了解到了,客户没有下载FC 50(AG_LSEND),FC 60(AG_LRECV)到CPU中去,所以服务器程序就根本没接收到客户端发送来的数据请求,下载FC 50(AG_LSEND),FC 60(AG_LRECV),客户再检查Modscan,数据通讯上了。
其实在西门子Modbus TCP Red V2的例子程序和快速入门文档中已经详细地介绍了程序块的使用,客户只要仔细观察例子程序的结构,就不会忽略掉FC 50(AG_LSEND),FC 60(AG_LRECV)这两个发送接收块,当然,调试过程中也会少许多不必要的麻烦。

好了!故事先写到这里。欢迎您关注更多的西门子热线故事!
来自西门子技术支持热线的故事: 为什么我的ModBus TCP通讯不上?? 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

DCS/SIMATIC PCS7

共有4410条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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