查看: 2523|回复: 0
收起左侧

[综合教程经验分享] 西门子plc之间建立连接通讯

WL-107096 2019-11-4 10:28:38 | 显示全部楼层 |阅读模式
邀请回答

马上注册,享受更多特权

您需要 登录 才可以下载或查看,没有帐号?立即注册   

x

TCP和S7 通信都是以太网通信方式,S7 通信集成在SIMATIC S7/M7和C7的系统中,它独立于网络,它是通过不断地重复接收数据来保证网络报文的正确;而TCP是S5兼容通信,提供了数据流通信,但并不将数据封装成消息,因而用户并不能接受到每一个任何的确认信号。它们的共同点是都要进行硬件组态,如果CPU本身没有PN端口,如S7-300必须使用以太网模块CP343-1等建立以太网通信 ;都需要调用功能块。
不同之处是S7通信需要调用功能块SFB(S7-400)或FB(S7-300),如果在“属性”界面中选择TDP/IP,连接站之间使用IP地址进行访问,否则使用MAC地址进行访问,如果在属性界面中选择“One-Way”(单边通信)时,只需在本地侧CPU调用功能GET/PUT(对S7-400为SFB14/15,对S7-300来说是FB14/15),进行单边编程,就可以向对方发送数据读取对方的数据;而TCP通信需要在发送方调用发送功能块FC5(AG_SEND)发送数据,在接受方需要调用接收功能FC6(AG_RECV)来接收数据,必须通信双方均需要编程才能实现双方通信;
是的,如果在硬件组态S7通信时在其“属性”界面中子项“General”(汇总)下“Local Connection End Point”(本地连接末端点)中选择“One Way”(单边编程),只需在本地侧CPU中调用程序块FB14/15(对S7-300PLC而言)就可以实现向对方发送数据或读取对方发数据),即只需在本地测PLC中进行单边编程就可以了。
而在S5兼容通信(包括ISO传输协议、TCP通信、ISO_on_TCP)时,必须在通信双方中同时调用FC5和FC6,如果你想在两个PLC中实现既能读又能写,必须在每个PLC中都需要调用FC5和FC6:一方的FC5(发送方)对应另一方的接收方FC6(参数中连接号ID和CP的地址必须相同);一方的接收方FC6对应于另一方的FC5(发送方)(同样参数中ID和CP的地址必须相同)
S7通信分为单边通信和双边通信两种,其区别在于编程是单侧 PLC调用 PUT(SFB14/ FB14)、GET(SFB15/ FB15),还是两侧 PLC都调用带有确认功能的 B_SEND(SFB12/ FB12)、B_RCV(SFB13/ FB13)或者不带有确认功能的 U_SEND(SFB8/ FB8)、U_RCV(SFB9/FB9)。

当 S7-400 PLC进行单边通信时,可以选择多个区域进行通信,但是数据量会随通信区域的增加而减少,例如根据上表,当 S7-400 PLC 同时读取 S7-300的 M区和 DB1数据块,则最大能访问的 M区与 DB1数据块的数据总和为 218个字节。





上一篇:怎么通过CANlin k进行绝对式定位原点确认
下一篇:is620伺服设置原点断电重启第一次走位不准

已有 0 人打赏作者

回复 邀请回答送花

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册   

本版积分规则

有技术问题,就上汇川技术社区

INOVANCE汇川技术 公众号

扫码下载掌上汇川APP

全国服务热线:8:30-17:30

4000-300124

苏州地址:江苏省苏州市吴中区越溪友翔路16号

深圳地址:深圳市龙华新区观澜街道高新技术产业园汇川技术总部大厦

Copyright © 2003-2100 汇川技术 Powered by Discuz! X3.4 ( 苏ICP备12002088号 )
快速回复 返回列表 返回顶部