马上注册,享受更多特权
您需要 登录 才可以下载或查看,没有帐号?立即注册
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个字节。
|