以太网通讯中的单边,双边通讯区别
刘玉蓉
发布于2014-11-06 17:38
11
0
标签:
西门子以太网通讯中有tcp通讯,s7通讯,这两个都是双边通讯,而s7通讯中勾选单向方式,就成了单边通讯,请问这个之间有什么区别,在单边通讯中我只要在一个plc里面写入fb14,fb15就可以实现发送与读取了。而双边通讯,其中tcp通讯在两个plc中一个写fc5,一个写fc6,这样只能实现一个写一个读,要是我想要两个plc既能读又能写怎么办呢?是不是每个plc中我都要用fc5,fc6呢?
佳答案
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的地址必须相同)