S7-200 SMART CPU与S7-1200进行S7通信
S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET网络的一种优化的通信协议,要紧用于S7-300/400PLC之间的通信。
经过测试发现S7-1200与S7-200 SMART PLC 之间的S7通信也是可以成功的,S7-1200侧编程调用PUT/GET指令或者S7-200 SMART侧编程调用PUT/GET指令都是可以的。 注意:
SMART CPU 与S7-1200 之间的S7通信未经西门子官方测试,本文档仅供客户测试使用,使用该种通信方式所产生的任何危险需要有客户自己承担!
SMARTPLC 版本才开始支持PUT/GET通信,版本的CPU需要升级固件后方可支持PUT/GET。 3.本文只介绍了S7-1200侧调用PUT/GET指令编程方式(S7-200 SMART CPU作为服务器方,无需编程),未介绍S7-200 SMART侧编程调用PUT/GET方式。 硬件和软件需求及所完成的通信任务
本文以采纳1个CPU1215C(6ES7215-1AG40-0AB0),1个S7-200 SMART PLC为例,介绍它们之间的S7通信。 硬件:
① S7-1200 CPU
② S7-200 SMART CPU (固件 ③ PC (带以太网卡)
④ TP以太网电缆 软件:
① STEP7 V13 SP1
② STEP 7 Micro/WIN SMART
所完成的通信任务:
① S7-1200 将通信数据区 DB1 中的200 个字节发送到 S7-200 SMART的VB 数据区。 ② S7-1200 读取 S7-200 SMART中的VB数据区存储到S7-1200 的数据区DB2 。 S7-1200侧硬件组态和网络组态
1. 利用TIA V13 软件新建一个项目,添加1个S7-1200站点并为其分派网络和IP地址 ,如图1.所示。
图1. TIA 软件中添加S7-1200站点
2. TIA 软件的网络视图中为S7-1200 CPU 添加一个新连接,如图2.所示。
图 添加新连接
在弹出\"创建新连接\"对话框中选择\"未指定\",然后点击\"添加\"按钮,添加新连接,如图3.所示。
图3.选择未指定连接
需要为新创建的连接指定连接伙伴方的IP地址和TSAP,设置方式如图4.,图5.所示。 注意:S7-200 SMART 侧的TSAP 只能设置为 或者 。
图4. 设置连接伙伴方IP地址
图5. 设置连接伙伴方TSAP地址 TIA软件程序编程
1 .创建发送数据块DB1(接收区数据块DB2类似),数据块概念为200个字节的数组且数据块的属性中需要取消\"优化的块访问\"选项,如图6. 所示。
图6. 创建数据块并取消优化访问
2.发送数据块与接收数据块创建完成后,即可在OB1中挪用PUT/GET指令,进行S7通信了,如图7.所示。
图7.挪用PUT/GET指令
表 指令参数说明 CALL “PUT” , %DB3 DONE :=% 记7
记7 NDR :=% 接状态监控
S7连接成功的建立是调用PUT/GET指令的基础,S7连接成功建立后,方能正确执行PUT/GET指令。 在TIA 软件的网络视图中,将软件切换到在线模式,可以监控S7连接状态,如图8.所示。
图8.监控S7连接状态
S7连接成功成立后,S7-1200 触发PUT/GET指令,通过TIA 软件监控表和STEP 7 Micro/WIN SMART 软件的状态表,能够监控数据通信是不是正常。
注意:S7-200 SMART中V区对应于DB1,即在PUT指令中利用的通信伙伴数据区ADDR_1=P# BYTE 200在S7-200 SMAR中关于为VB0~VB199。
本文档中S7-200 SMART 做S7通信的效劳器,占用S7-200 SMART PLC 的效劳器连接资源,S7-200 SMART PLC 本身不需要编写通信程序。
S7-1200 与S7-200 SMART S7 通信的另外一种方式是S7-200 SAMRT
PLC做客服端,S7-1200做效劳器。该方式需要S7-200 SMART挪用PUT/GET指令,S7-1200侧不需要编写通信程序。
该方式比较简单,本文档不做介绍。