西门子PLC S7-1500系列本身都带有以太网接口,支持通过TCP/IP通讯,本实验通过两台同样配置的1500PLC,在同一个项目下实现TCP/IP通讯。
1、组态PLC硬件
链接好网络,添加新设备,选择非指定的CUP1500,让软件自己检测PLC的型号。两个PLC配置在一个网段上,添加一个网络。
2、在主程序中添加开放通讯网络TSEND_C
3、组态网络,连接数据选新建,默认的端口位2000,可以不改。
4、编写收发程序
1)PLC1端
2)PLC2端的程序
5、发送端的REQ需要一个上升沿,准备好数据,我建立了一个数据DB,去掉优化选项,作为收发的DATA区,填写好对应的地址,注意格式是P#DB3.DBX0.0 BYTE 8,相互传送8个字节,可以字节定义。
6、分别在plc1与plc2的REQ端触发发送,可以正常收发数据。数据的接受是被动的,发送是主动的,需要双方同时编写程序,才能实现双向互发数据,如上图所示,建立两个数组,一个是send,一个是receive,分别是8个字节。去掉优化后,编译就出现偏移地址。