S7-300与S7-200之间的S7通信实例 点击:12 | 回复:0



大连德嘉工控

    
  • [版主]
  • 精华:7帖
  • 求助:2帖
  • 帖子:697帖 | 1135回
  • 年度积分:449
  • 历史总积分:7260
  • 注册:2009年2月24日
发表于:2020-09-09 14:01:30
楼主

S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET网络的一种优化的通信协议,主要用于S7-300/400PLC之间的通信。
经过测试发现S7-300通过集成gvtr的PN口或CP343-1与S7-200  PLC 之间的S7通信也是可以成功的, 但是需要S7-300侧编程调用PUT/GET指令。

注意:
1.S7-200 CPU 与S7-300 CPU 之间的S7通信未经西门子官方测试,本文档仅供客户测试使用,使用该种通信方式所产生的任何危险需要有客户自己承担!
2. S7-300若采用CP通信时,则需要采用Standard或Advanced类型通信模块,CP343-1 Lean模块不支持。
3.本文仅介绍S7-300集成PN口与S7-200 CPU S7通信。

S7-300根据使用通信接口(集成的PN口或CP343-1)不同,调用的功能块来源也不同。
通信接口为S7-300 集成PN接口时,需要使用Standard Library中PUT/GET指令。

附件 图片1.jpg



通信接口为S7-300 CP通信模块时,需要使用SIMATIC_NET_CP 库中PUT/GET指令。

附件 图片2.jpg

硬件及网络组态:
本文以采用1个CPU 315-2PN/DP,1个S7-200 PLC为例,介绍它们之间的S7通信。
在STEP7中创建一个新项目,插入1个S7-300站,在硬件组态中插入CPU 315-2 PN/DP。



附件 图片3.jpg


设置CPU 315-2PN/DP的IP地址:192.168.1.30,如图5所示。硬件组态完成后,即可下载该组态。


附件 图片4.jpg


打开“网络组态”设置网络参数,选中CPU 315-2PN/DP,在连接列表中建立新的连接。


附件 图片5.jpg


选择 未指定 站点,选择通讯协议 S7 连接,点击 应用


附件 图片6.jpg



在弹出的S7 连接属性对话框中,勾选 建立主动连接,设置参数地址:192.168.1.20(S7-200  PLC IP 地址)


附件 图片7.jpg



点击 "地址详细信息" ,再弹出来的对话框设置 参数 的 插槽为1 

附件 图片8.jpg



网络组态创建完成后,需要编译,网络组态编译无错,鼠标先点击 CPU 315-2PN/DP ,然后点击下载按钮下载网络组态。

程序编程:
可以通过FB 14 "GET",从远程CPU中读取数据。
S7-300:在REQ的上升沿处读取数据。在REQ的每个上升沿处传送参数ID、ADDR_1和RD_1。在每个作业结束之后,可以分配新数值给ID、ADDR_1和RD_1参数。
通过使用FB 15 "PUT",可以将数据写入到远程CPU。
S7-300:在REQ的上升沿处发送数据。在REQ的每个上升沿处传送参数ID、ADDR_1和SD_1。在每个作业结束之后,可以给ID、ADDR_1和SD_1参数分配新数值。

打开SIMATIC 315的OB1,在OB1中依次调用FB14,FB15

附件 图片9.jpg




附件 图片10.jpg




注意:S7-200 PLC 不需要编程。 S7-200 中的V存储区在S7-300 PLC 编程中以DB1数据块的形式体现。
以GET指令为例,参考如下:

附件 图片11.jpg




附件 图片12.jpg

可见通讯成功。

1分不嫌少!


相关主题

官方公众号

智造工程师