S7-1500 CPU之间TCP通讯组态

S7-1500 与 S7-1500 之间的以太网通信可以通过 TCP 或 ISO on TCP 协议来实现,使用的通信指令是在双方 CPU 调用 T-block (TSEND_C, TRCV_C, TCON, TDISCON, TSEN, TRCV) 指令来实现。通信方式为双边通信,因此 TSEND 和 TRCV 必须成对出现。

硬件和软件需求及所完成的通信任务

硬件:
① S7-1500 CPU
② PC (带以太网卡)
③ TP电缆(以太网电缆)

软件:
STEP7 V14

所完成的通信任务:
① 将PLC_1 的通信数据区 DB3 块中的 100 个字节的数据发送到 PLC_2 的接收数据区 DB4 块中。
② 将PLC_2 的通信数据区 DB3 块中的 100 个字节的数据发送到 PLC_1 的接收数据区 DB4 块中。

通信的编程,连接参数及通信参数的配置

1. 打开 STEP7 v14 软件并新建项目

在 STEP7 v14的 “Portal View” 中选择 “Create new project” 创建一个新项目

2. 添加硬件并命名PLC

然后进入 “Project view”,在“Project tree” 下双击 “Add new device”,在对话框中选择所使用的S7-1500 CPU添加到机架上,命名为 PLC_1,如图1.所示。
同样方法再添加通信伙伴的S7-1500 CPU ,命名为 PLC_2。



图1. 添加新设备

为了编程方便,使用 CPU 属性中定义的时钟位,定义方法如下:
在 “Project tree” > “PLC_1” > “Device configuration” 中,选中 CPU ,然后在下面的属性窗口中,“Properties” > “System and clock memory” 下,将系统位定义在MB1,时钟位定义在MB0,如图2.所示。
时钟位我们主要使用 M0.3,它是以2Hz 的速率在0和1之间切换的一个位,可以使用它去自动激活发送任务。

图2. 系统位与时钟位

3. 为 PROFINET 通信口分配以太网地址

在 “Device View”中点击 CPU 上代表PROFINET 通信口的绿色小方块,在下方会出现PROFINET 接口的属性,在 “Ethernet addresses” 下分配IP 地址为 192.168.0.1 ,子网掩码为255.255.255.0,如图3. 所示。


图3. 分配IP 地址

同样方法,在同一个项目里添加另一个新设备S7-1500 CPU 并为其分配 IP 地址为192.168.0.2

4. 创建 CPU之间的逻辑网络连接

在项目树 “Project tree”>“Devices & Networks” >“Networks view” 视图下,创建两个设备的连接。用鼠标点中 PLC_1 上的PROFINET通信口的绿色小方框,然后拖拽出一条线,到另外一个PLC_2 上的PROFINET通信口上,松开鼠标,连接就建立起来了,如图4.所示。


图4. 建立两个 CPU的逻辑连接

5. 创建 CPU之间的TCP连接

创建TCP连接方式有两种方式:使用程序块、使用组态的连接。 使用程序块:参见PLC编程方式
使用组态的连接:两种方式
1、在项目树 “Project tree”>“Devices & Networks” >“Networks view” 视图下,创建两个设备的连接。选择连接,下拉列表选择tcp,然后用鼠标点中 PLC_1 上的PROFINET通信口的绿色小方框,然后拖拽出一条线,到另外一个PLC_2 上的PROFINET通信口上,松开鼠标,连接就建立起来了,如图5.所示。

图5. 建立两个 CPU的逻辑连接
2、在项目树 “Project tree”>“Devices & Networks” >“Networks view” 视图下,创建两个设备的连接。选择连接,下拉列表选择tcp,然后用鼠标点中 PLC_1 上右键选择添加新连接如图6,然后在弹出的对话框内选择要连接的PLC,点击添加按钮,如图7所示。通过这种方式建立的连接可以在连接选项内看到已经建立的连接,并且可以更改连接相关参数,如图8所示。用此方式编程中需要注意,选择连接类型时要选择使用组态的连接如图9所示。编程功能块管脚参数,参见PLC编程方式

图6. 建立两个 CPU的逻辑连接

图7. 建立两个 CPU的逻辑连接

图8. 建立两个 CPU的逻辑连接

图9. 建立两个 CPU的逻辑连接