1、S7-1500和S7-1200系列PLC的S7通讯硬件配置:CPU1513-1 PN 数量1CPU1214C DC/DC/DC 数量1KTP1200 数量1该程序中,1200系列PLC作为服务端,1500系列PLC作为客户端。服务端PLC不需要另外编写程序,只需要在客户端PLC编写对应的通讯程序,就可以实现S7通讯。同时,这里使用了KTP1200的触摸屏作为监控数据变化用,且触摸屏可以同时和1200系列PLC和1500系列PLC同时通讯。硬件组态因为西门子系列的PLC硬件和软件的编写是相呼应的,所以硬件组态是比较重要的,有的时候程序写对了,但是硬件组态没有正确,或者更新了硬件组态,但是没有下载
2、到PLC中,程序执行依然不能达到想要的效果。关于S7通讯的硬件组态图1添加对应的CPU和触摸屏,设置好对应的IP地址,并且把所有的设备连接到同一个PN网络中。图2如果触摸屏和PLC的连接正确,在触摸屏的“连接”属性中,可以出现如图2所示。到了这一步就完成了2个PLC和1个触摸屏同时连接的硬件组态。接下来,进行S7连接的组态网络连接。图3图4回到“设备和网络”界面,进行如图3设置,并且按照图4添加“S7连接伙伴”。图5添加“S7连接伙伴”成功后,就会出现如图5所示。至此,硬件组态已经全部完成。接下来需要做的是软件程序的编写和地址的分配。软件程序编写这里需要用的指令是。在S7-1500的OB1中编
3、写如图6所示程序图6需要注意的是在新建PUT,GET指令块时,也会有组态的设置。右键PUT指令块,点击属性组态连接参数图7在没有连接伙伴时,会如图7所示,此时添加连接伙伴,添加成功后,如图8所示,并且这里的“主动建立连接”需要勾选。图8右键PUT指令块,点击属性组态块参数图9这里设置正确的地址后,会在PUT指令块上自动编辑地址。如图10所示图10按照同样的方法,把GET指令的组态也设置完成,设置结束后如图11所示图11设置完成后,需要把S7-1200和S7-1500的硬件属性的“连接机制”改为如图12所示。图12这里说一下地址的发送、接收关系。如图13所示图13这里使用的地址为DB数据块,有些参考案例上面会使用MB、MD这样的地址。在此,个人推荐用DB来使用,因为便于地址分配,数据管理。但是在DB使用时,也需要一些注意,否则仍见会出现通讯不成功。 在1500系列下建立DB80、DB81数据块。在1200系列下建立DB1、DB2数据块。新建需要的接收和发送的DB数据块后,需要进行重要的一步设置。取消各个DB块的“优化的块访问”。这里的一定不能勾选。否则肯定会通讯失败,本人已经试过。至此,S7通讯的PLC程序已经完成。接下来,编辑需要试验的触摸屏画面。图14触摸屏中,蓝色部分是发送区,灰色部分为显示区。