plc之间通讯有调用快SFB14.SFB15及FC5.FC6等,协议有ISO-on-TCP ,s7连接等,他们之间有什么相互关系及差别呢?
最佳答案
两PLC之间通讯如果使用S7连接,可以使用SFB14、SFB15进行
子站使用映射I/O进行通讯。
如果用CP作以太网通迅的话,是要调用FC5 FC6 功能块的,
下面FC5 的功能说明,FC6基本相同,一个为发送,一个为接收.
CALL FC 5 //调用AG_SEND块
ACT := M 20.0 //由存储位触发作业
ID := MW 22 //根据组态,连接ID
LADDR := W#16#0100 //=硬件配置中的LADDR 256(十进制数)
SEND := P#db99.dbx10.0 byte 240 //带发送数据的缓冲区
LEN := MW 24 //发送数据的长度信息
DONE := M 20.1 //已执行代码
ERROR := M 20.2 //错误代码
STATUS := MW 26 //状态代码
关于SFB14,SFB15实例参考以下:
http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_ID=60507&cid=1029
ISO-on-TCP(RFC1006)协议与TCP协议的主要区别就是前者没有确认机制而后者有,而且前者只能应用与西门子的编程组态软件体系中(可以看作是西门子本身封装的协议),而后者可以应用于标准的TCP/IP场合。可以参考链接:
http://support.automation.siemens.com/CN/view/zh/26484227
http://support.automation.siemens.com/CN/view/zh/26171811
S7连接的类型:
S7连接区分为双边组态的S7连接和单边组态的S7连接。
在两端都有连接ID的为双边组态连接。对于两个连接伙伴来说,连接双方的ID可以相同,也可以不同。所创建的S7连接ID会自动输入到伙伴方连接表里。
可以使用下列功能块在S7-300或S7-400站中用于双边组态的S7连接的数据通讯:
单边组态的S7连接仅需要在主动发起建立S7连接的模块上进行组态。
如果S7-300 或 S7-400 站主动建立单边S7连接,那么需要在这些CPU(客户端)的程序里面调用通信块 FB/SFB14 "GET" 和 FB/SFB15 "PUT"。这些块既可以用在单边组态和双边组态的S7连接通信中。 通信块FB/SFB12 "BSEND" 、FB/SFB13 "BRCV" 、FB/SFB8 "USEND" 以及 FB/SFB9 "URCV"仅能用于双边组态的S7连接中。 .
关于S7协议详细可参考:
1.http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&objId=26483647&objAction=csOpen&nodeid0=10806083&lang=zh&siteid=cseus&aktprim=0&extranet=standard&viewreg=CN
2.http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&objId=25721726&load=treecontent&lang=zh&siteid=cseus&aktprim=0&objaction=csview&extranet=standard&viewreg=CN
提问者对于答案的评价:
谢谢各位
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc249663.html