北岛夜话
原创工业智能控制领域(PLC、单片机、嵌入式、机器人、通信)的技术及经验分享。
文章317 浏览2223238

工控故事会——记一次尴尬的S7通信调试

即便是经验丰富的工程师,现场调试也可能遇到一些奇奇怪怪的问题。有时候当问题原因找到后,又会觉得怎么能犯这么低级的错误呢?我就有一次这样尴尬的经历,不妨讲来给你听听。

cover.jpg

(图片由Free-Photos在Pixabay上发布,经适当编辑用作本文封面)

我的设备CPU使用的是CPU1512SP F 1-PN,它有一个PROFINET子网,连接一些分布式IO。为了与工厂的另外一个系统通信,设备配置了通信模块——CP1542SP-1。对方使用的是CPU1513-1PN,两台西门子PLC之间的通信,S7协议当然是首选。

经协商,我方设备的CPU作为S7通信的服务器,对方设备的CPU做客户端,并分配给我一个属于他的网段的IP地址(192.168.11.60)。这样对我来说就太简单,我只需要设置下CP1542SP-1的IP地址,然后准备好通信需要的数据就可以了,一切似乎都很美好。

没过多久,对方调试的小伙子跟我说它使用GET指令一直在报错,显示通信无法建立。

怎么会呢?我过来看下。

Ping一下网络通不通呢?没有问题。

我重新检查下他项目的组态:配置了S7连接,通信伙伴为"unknown",IP地址设置正确,组态没有问题。

GET指令使用的连接ID正确,参数设置正确,编程没有问题。

重新编译下载。

在线查看,GET指令的ERROR输出为TRUE,STATUS输出为1,表示连接没有建立。

这是什么情况呢?

难道CP1542SP-1不支持S7通信协议?

查看硬件描述,明确写着支持S7通信啊。

难道我的通信模块坏了?可是模块全是绿灯,没有任何报错啊。

调试至此陷入僵局,在我看来有关S7通信的组态和编程都是正确的,可是却一直在报错。

要知道我还是自诩挺擅长S7通信的。当时的我就跟下面这哥们是一样一样的。

懵逼.png

僵局持续了一段时间,偶然想到,有没有可能对方给我的IP地址不是唯一的呢?于是我把CP1542SP-1的网线拔掉了,重新ping一下IP:192.168.11.60,居然是通的!!

啥也别说了,兄弟,你再重新给分配个IP地址吧。

重新分配并设置IP地址,问题烟消云散,你好,我好,大家好。

好了,这次尴尬的S7通信调试,就当故事讲给你听了。下次你要是遇到类似问题,别忘了我曾经踩过的坑。

我的微信视频号开通了,有空看看吧:

founderchip.png

取消

感谢您的支持,欢迎常来看看!

扫码支持
一点动力,多少随意

打开支付宝扫一扫,即可进行扫码打赏哦

发表评论