S7-1200与S7-300PN之间的以太网通信可以通过TCP协议来实现,使用的通信指令是在双方CPU调用T-block(TSEND_C,TRCV_C,TCON,TDISCON,TSEND,TRCV)指令来实现。通信方式为双边通信,因此TSEND和TRCV必须成对出现。
本案例也可以作为S7-1200与S7-400PN之间的TCP通信文档。
硬件和软件需求及所完成的通信任务
所需条件:
①S7-1200(CPU1215CDC/DC/DC,固件版本)/S7-300(集成PN口,固件版本)
②TIASTEP7V16,
所完成的通信任务:
①S7-1200CPU将通讯数据区DB3块中的10个字节的数据发送到S7-300CPU的接收数据区DB2块中。
②S7-300CPU将通讯数据区DB1块中的10个字节的数据发送到S7-1200CPU的接收数据区DB4块中。
S7-1200与S7-300(集成PN口)之间TCP通讯,可以分3种情况:
第一种情况:S7-1200与S7-300(集成PN口)在一个项目中操作(TIASTEP7V16);
第二种情况:S7-1200与S7-300(集成PN口)不在一个项目中的操作(两个TIASTEP7V16项目);
第三种情况:S7-1200与S7-300(集成PN口)不在一个项目中的操作(S7-1200在TIASTEP7V16项目中,S7-300在项目中)。
今天我们先介绍第一种情况(S7-1200与S7-300在同一项目中操作)
1.使用STEP7V16软件新建一个项目并完成硬件配置
在STEP7V16的“Portal视图”中选择“创建新项目”创建一个新项目。
2.添加硬件并命名PLC
然后进入“项目视图”,在“项目树”下双击“添加新设备”,在对话框中选择所使用的S7-1200CPU添加到机架上,命名为PLC_1。
为了编程方便,使用CPU属性中定义的时钟位,定义方法如下:
在“项目树”“PLC_1”“设备组态”中,选中CPU,然后在下面的属性窗口中,“属性”“系统和时钟存储器”下,将时钟位定义在MB0。
3.为PROFINET通信口分配以太网地址
4.使用STEP7V16软件添加新设备并命名PLC_2
与PLC_1在同一个项目中,在“项目树”下双击“添加新设备”,在对话框中选择所使用的S7-300CPU添加到机架上,命名为PLC_2,
为了编程方便,使用CPU属性中定义的时钟位,定义方法如下:
在“项目树”“PLC_2”“设备组态”中,选中CPU,然后在下面的属性窗口中,“属性”“时钟存储器”下时钟位定义在MB0。
5.为PROFINET通信口分配以太网地址
6.创建CPU的逻辑网络连接
在项目树“项目树”“设备和网络”“网络视图”视图下,创建两个设备的连接。用鼠标点中S7-1200上的PROFINET通信口的绿色小方框,然后拖拽出一条线,到另外一个S7-300上的PROFINET通信口上,松开鼠标,PN/IE_1的子网连接就建立起来了。
6.1
在S7-1200中调用并配置“TCON”、“TSEND”、“TRCV”通信指令
(1)
在S7-1200的OB1中调用“TCON”通信指令
①在S7-1200CPU中调用发送通信指令,进入“项目树”“PLC_1”“程序块”“OB1”主程序中,从右侧窗口“指令”“通信”“开放式用户通信”下调用“TCON”指令,创建连接。
②定义S7-1200的“TCON”连接参数
S7-1200的“TCON”指令的连接参数需要在指令下方的属性窗口“属性”“组态”“连接参数”中设置。
连接参数说明:
(2)
定义S7-1200的“TSEND”发送通信块接口参数
①调用“TSEND”在OB1内调用,发送10个字节数据到S7-300PN中
进入“项目树”“PLC_1”“程序块”“OB1”主程序中,从右侧窗口“指令”“通信”“开放式用户通信”下调用“TSEND”指令。
②创建并定义S7-1200的发送数据区DB块。
③定义S7-1200的“TSEND”发送通信块接口参数。
参数说明:
(3)
在S7-1200的OB1中
调用接收指令TRCV并配置基本参数
为了实现S7-1200接收来自S7-300PN的数据,则在S7-1200中调用接收指令TRCV并配置基本参数。
①创建并定义S7-1200的接收数据区DB块。
②调用“TRCV”在OB1内调用
进入“项目树”“PLC_1”“程序块”“OB1”主程序中,从右侧窗口“指令”“通信”“开放式用户通信”下调用“TRCV”指令,配置接口参数。
参数说明:
注意:ADHOC设置为TRUE,LEN设置为0时,可以接收变长数据。
6.2
在S7-300中调用并配置“TCON”、“TSEND”、“TRCV”通信指令
(1)
在S7-300的OB1中调用“TCON”通信指令
①在S7-300CPU中调用发送通信指令,进入“项目树”“PLC_2”“程序块”“OB1”主程序中,从右侧窗口“指令”“通讯”“开放式用户通信”下调用“TCON”指令,创建连接。
②定义S7-300的“TCON”连接参数
S7-300的“TCON”指令的连接参数需要在指令下方的属性窗口“属性”“组态”“连接参数中”中设置。
连接参数说明:
(2)
定义S7-300的“TSEND”发送通信块接口参数
①创建并定义S7-300的发送数据区DB1块
②调用“TSEND”在OB1内调用发送10个字节数据到S7-1200中
进入“项目树”“PLC_2”“程序块”“OB1”主程序中,从右侧窗口“指令”“通讯”“开放式用户通信”下调用“TSEND”指令,配置接口参数。
参数说明:
6.3
在S7-300的OB1中调用接收指令TRCV并配置参数
①创建并定义S7-300的接收数据区DB2块。
②将“TRCV”在OB1内调用
进入“项目树”“PLC_2”“程序块”“OB1”主程序中,从右侧窗口“指令”“通讯”“开放式用户通信”下调用“TRCV”指令,配置接口参数。
参数说明:
6.4
下载硬件组态及程序并监控通信结果
下载两个CPU中的所有硬件组态及程序,实现两个CPU之间数据交换。
就这样即可完成第一种情况:S7-1200与S7-300(集成PN口)在一个项目中PNTCP通信,





