S7-1200 CPU 与 CP343-1 S7 通信(S7-1200 作为客户端)

S7-1200 CPU 与 CP343-1 之间的以太网通信通过 S7 通信来实现。当 S7-1200 作为客户端,CP343-1 作为服务器,需在客户端单边组态连接和编程,而作为服务器端的 S7-300 CPU 只需准备好通信的数据就行。

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

所需条件:

① S7-1215 DC/DC/DC V4.5 / CPU 314C-2 PN/DP,V3.3 + CP343-1(6GK7 343-1EX30-0XE0),V3.0

② TIA Portal Step7 Professional V17/ Step7 V5.6 SP2

所完成的通信任务:

① S7-1200 CPU 将本地 DB3 中的数据通过 CP 卡写到 S7-300 CPU 中 DB4 中。

② S7-1200 CPU 通过 CP 卡将 S7-300 CPU 中 DB3 的数据读取到本地 DB4 中。

S7-1200 与 CP343-1 之间 S7 通讯,可以分 3 种情况具体如下:

  1. 第一种情况:S7-1200 与 CP343-1 在同一 TIA Portal项目中
  2. 第二种情况:S7-1200 与 CP343-1 在不同 TIA Portal项目中
  3. 第三种情况:CP343-1 在 STEP7 项目中

一. 第一种情况(S7-1200 与 CP343-1 在同一 TIA Portal 项目中)

在 TIA Portal 同一项目中,新建一个 S7-1200 站点和一个 S7-300 站点,然后进行 S7 通信。

1.1 S7-1200 侧和 S7-300CP 侧硬件组态配置

1. 使用 TIA Portal 软件新建一个项目并完成硬件配置

在 TIA Portal 的 “Portal 视图” 中选择 “创建新项目” 创建一个新项目。

2. 添加 S7-1200 CPU 硬件并为命名 PLC

然后进入 “项目视图”,在“项目树” 下双击 “添加新设备”,在对话框中选择所使用的 S7-1200 CPU 添加到机架上,命名为 PLC_1,如图 1 所示。

图 1. 添加 S7-1200 CPU 设备

为了编程方便,使用 CPU 属性中定义的时钟位,定义方法如下: 在 “项目树” > “PLC_1” > “设备组态” 中,选中 CPU ,然后在下面的属性窗口中,“属性” > “系统和时钟存储器” 下,将时钟字节定义在 MB0,如图 2 所示。 时钟位使用 M0.5,以 1Hz 的速率自动激活发送任务。

图 2. 设置系统和时钟存储器

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

在 “设备视图”中点击 CPU 上代表 PROFINET 通信口的绿色小方块,在下方会出现 PROFINET 接口的属性,在 “以太网地址” 下分配 IP 地址为 192.168.0.15 ,子网掩码为 255.255.255.0,如图 3 所示。

图 3. 分配 S7-1200 CPU IP 地址

4.添加 S7-300 CPU 和 CP343-1 硬件并命名 PLC

然后进入 “项目视图”,在“项目树” 下双击 “添加新设备”,在对话框中选择所使用的 S7-300 CPU 添加到机架上,命名为 PLC_2,如图 4 所示。

图 4. 添加 S7-300 CPU 设备

5. 组态 CP343-1 并配以太网地址

在 “设备视图”中点击 CP 上代表 PROFINET 通信口的绿色小方块,在下方会出现 PROFINET 接口的属性,在 “以太网地址” 下分配 IP 地址为 192.168.0.11,子网掩码为 255.255.255.0,如图 5 所示。

图 5. 分配 CP343-1 IP 地址

6. 创建 CPU 的逻辑网络连接(仅当S7-1200 和 S7-300 在同一 TIA 项目进行步骤 6)

在 “项目树”>“设备和网络” >“网络视图” 视图下,创建两个设备的连接。用鼠标点中 S7-1200 上的 PROFINET 通信口的绿色小方框,然后拖拽出一条线,到另外一个 CP343-1 上的 PROFINET 通信口上,松开鼠标,PN/IE_1 的子网连接就建立起来了,如图 6 所示。

图 6. 建立伙伴间的网络子网连接

注:当 S7-1200 和 S7-300 在不同项目时,无需操作此步骤。独立设置各自 PLC/CP 的子网连接即可。

1.2 在 S7-1200 侧配置 S7 单边通信连接和编程

1.创建 S7 单边通信连接

① 打开 "网络视图" 配置网络,点中左上角的"连接"图标,这时所有 CPU 变成亮蓝色,选择 S7 连接,然后选中 S7-1200 CPU,右键选择添加新的连接, 如图 7 所示。

图 7. 网络视图配置

② 在连接列表里选择连接伙伴,并确认本地和伙伴的接口,确认连接类型为 S7 连接。S7-1200 侧因做 S7 单边通信客户端,确认 S7 连接属性为主动建立连接和单向,最后点击添加,如图 8 所示。

图 8. 添加指定伙伴的 S7 单边新连接

③ 在“网络视图”-“连接”内,查看新添加的 S7 单边连接。如图 9 所示,在“连接”下只有一个 S7 单边连接存在,然后进一步设置 S7 连接参数。

注意:

如果不激活如图 8 所示“单向”设置,则会在 CPU 和 CP 生成两条连接,这样两个 CPU 需要分别编译下载组态。

图 9. 检查 S7 单边连接

2.设置 S7 单边通信连接属性

① 在“网络视图”-“连接”内选中新创建的 S7 单边连接,在常规-属性内设置 S7 单边连接参数。本地ID使用默认 ID 值 W#16#100,在调用 S7 指令时使用,如下图 10 所示。

图 10. S7 单边连接本地 ID

② 特殊连接属性内,确认客户端 S7 单边连接参数:“单向”、“主动建立连接”勾选,如图 11 所示。

图 11. S7 单边连接特殊连接属性

③ 地址详细信息内,设置本地和伙伴双方 TSAP,如图 12 所示。

图 12. S7 单边连接地址详细信息

注意:对于同一项目组态连接,伙伴 TSAP 无需修改,使用默认即可。

3.S7-1200 侧软件编程

① 创建接收和发送数据块 ,接收 DB 10 字节数组,发送 DB 10 字节数组。如图 13、14 所示。

图 13. S7-1200 CPU 创建接收数据区 DB 块

图 14. S7-1200 CPU 创建发送数据区 DB 块

② S7 通信中 S7-1200 CPU 侧使用的 DB 块属性内取消“DB 块的优化块访问”,如图 15 所示。

图 15. 取消 DB 块的优化块访问

③在 OB1 中,从"指令">"通信">"S7 通信"下,调用 Get、Put 通信指令,如图 16 所示。

图 16. OB1 调用 S7 通信指令

指令管脚参数说明:

CALL “PUT” : %DB1 //调用 PUT,使用背景 DB 块:DB1
REQ :=%M0.5 //系统时钟 1 秒脉冲
ID :=W#16#0100 //连接号,要与连接配置中一致,创建连接时的连接号
DONE - // 为 1 时,发送完成
ERROR - // 为 1 时,有故障发生
STATUS - // 状态代码
ADDR_1 :=P#DB4.DBX0.0 BYTE 10 // 发送到通信伙伴数据区的地址
SD_1 :=P#DB3.DBX0.0 BYTE 10 // 本地发送数据区

 

CALL “GET” :%DB2 //调用 GET,使用背景 DB 块:DB2
REQ  :=%M0.5 //系统时钟 1 秒脉冲
ID :=W#16#0100 //连接号,要与连接配置中一致,创建连接时的连接号
NDR - //为 1 时,接收到新数据
ERROR - //为 1 时,有故障发生
STATUS - //状态代码
ADDR_1 :=P#DB3.DBX0.0 BYTE 10 //从通信伙伴数据区读取数据的地址
RD_1 :=P#DB4.DBX0.0 BYTE 10 //本地接收数据地址

S7-1200 侧 S7 单边连接配置和编程完成,编译存盘并下载。

1.3 在 S7-300 侧配置和编程

创建接收和发送数据块 ,接收 DB 10 字节数组,发送 DB 10 字节数组。如图 17、18 所示。

图 17. S7-300 创建接收数据区 DB 块

图 18. S7-300 创建发送数据区 DB 块

注:进行 S7 单边通信,正常情况下对于 S7-300 侧(服务器侧)无需任何配置,只要 S7-300 内有 S7-1200 侧 PUT/GET 指令访问 DB 块即可,文档按照双方均为新建项目考虑测试。

1.4 监控通信结果

下载两个 CPU 中的所有硬件组态及程序,实现两个 CPU 之间数据交换,监控结果如图 19 所示。

图 19. 监控结果

二. 第二种情况(S7-1200 与 CP343-1 在不同 TIA Portal 项目中)

在两个不同的 TIA 项目内,分别创建 S7-1200 作为 S7 客户端和 S7-300 作为 S7 服务器,进行 S7 通信,详细步骤如下。

2.1 S7-1200 侧硬件组态配置

该部分内容和 1.1 章节内容相同,不再赘述。

2.2 在 S7-1200 侧配置 S7 单边通信连接和编程

1. 创建 S7 单边通信连接

① 打开 "网络视图" 配置网络,点中左上角的"连接"图标,此时 CPU 变成亮蓝色,选择 S7 连接,然后选中 S7-1200 CPU,右键选择添加新的连接, 如图 20 所示。

图 20. 网络视图配置

② 在连接列表里选择未指定,并确认本地接口,确认连接类型为 S7 连接。S7-1200 侧因做 S7 单边通信客户端,确认 S7 连接属性为主动建立连接和单向,最后点击添加,如图 21 所示。

图 21. 添加未指定伙伴的 S7 单边新连接

③ 在“网络视图”-“连接”内,查看新添加的 S7 单边连接。在“连接”下只有一个 S7 单边连接存在,在 S7 连接常规-属性内,设置伙伴的 IP 地址,如图 22 所示。

图 22. 设置伙伴 IP 地址

2.设置 S7 单边通信连接属性

① 在“网络视图”-“连接”内选中新创建的 S7 单边连接,在常规-属性内设置 S7 单边连接参数。本地ID使用默认 ID 值 W#16#100,在调用 S7 指令时使用,如下图 23 所示。

图 23. S7 单边连接本地 ID

② 特殊连接属性内,确认客户端 S7 单边连接参数:“单向”、“主动建立连接”勾选,如图 24 所示。

图 24. S7 单边连接特殊连接属性

③ 地址详细信息内,设置本地和伙伴双方 TSAP,如图 25 所示。

图25. S7 单边连接地址详细信息

注意:伙伴方如果是 CP343-1 ,伙伴 TSAP 一定是 03.02

3.S7-1200 侧软件编程

该部分内容和 1.2 章节第 3 部分内容相同,不再赘述。

2.3 在 S7-300 侧配置和编程

该部分内容和 1.3 章节内容相同,不再赘述。

2.4 监控通信结果

下载两个 CPU 中的所有硬件组态及程序,实现两个 CPU 之间数据交换,监控结果如图 26 所示。

图 26. 监控结果

三. 第三种情况(S7-1200 在 TIA Portal 项目中,CP343-1 在 Step7 项目中)

S7-1200 作为 S7 客户端,使用 TIA Portal 编程;CP343-1 作为 S7 服务器,使用 Step7 编程;详细步骤如下。

3.1 S7-1200 侧硬件组态配置

该部分内容和 1.1 章节内容相同,不再赘述。

3.2 在 S7-1200 侧配置S7单边通信连接和编程

该部分内容和 2.2 章节内容相同,不再赘述。

3.3 在 S7-300 侧配置和编程

1 . 创建 PLC 项目并进行硬件组态配置

在 STEP7 中创建一个项目并插入 CPU 314C-2 PN/DP 和 CP343-1 。操作步骤如下:

(1) 打开 STEP7,在 “File” 菜单中选择 “New…” 选项,如图 27 所示。

图 27. 新建项目

(2) 在弹出的创建新项目窗口里输入项目名为“CP343-1_S7”,然后点击“OK”按钮,如图 28 所示。

图 28. 输入项目名称

(3) 在 CP343-1_S7 下点击右键 “Insert New Object”,选择 “SIMATIC 300 Station”,如图 29 所示。

图 29. 插入 S7-300 站点

(4) 双击 “Hardware” 打开硬件组态,如图 30 所示。

图 30. 硬件组态

(5) 插入 S7-300 机架,如图 31 所示。

图 31. 插入 S7-300 机架

(6) 插入 CPU 314C-2 PN/DP 和 CP343-1,如图 32、33 所示。

图 32. 插入 S7-300 CPU

图 33. 插入 CP343-1

(7) 设置 CP343-1 的 IP 地址 192.168.0.11 和子网掩码 255.255.255.0,并添加新建子网。如图 34 所示。

图 34. 设置 IP 地址和添加子网

(8) 点击 “Save and Compile” 按钮。编译保存硬件组态信息,如图 35 所示。

图 35. 保存并编译硬件组态

2.在 S7-300 侧软件编程

创建接收和发送数据块 ,接收 DB 10 字节数组,发送 DB 10 字节数组。如图 36、37 所示。

图 36. S7-300 创建接收数据区 DB 块

图 37. S7-300 创建发送数据区 DB 块

注:进行 S7 单边通信,正常情况下对于 S7-300 侧(服务器侧)无需任何配置,只要 S7-300 内有 S7-1200 侧 PUT/GET 指令访问 DB 块即可,文档按照双方均为新建项目考虑测试。

3.4 监控通信结果

下载两个 CPU 中的所有硬件组态及程序,实现两个 CPU 之间数据交换,监控结果如图 38 所示。

图 38. 监控结果