• {{item.name}}
SIMATIC S7-1200系列 {{item.name}}
{{item2.name}}
更多

通过 CM1243-5 实现 S7-1200 与 S7-300 之间的 S7 通信

star star star star star
0 分
  • 使用操作
发布时间:2024年08月08日
  • 0
  • 126
通过 CM1243-5 实现 S7-1200 与 S7-300 之间的 S7 通信

通过CM1243-5实现S7-1200与S7-300之间的S7通信

使用 STEP7 V12,CM1243-5 的 DP 通信接口可以做 S7 通信的客户端或服务器;S7-1200 仅支持 S7 单边通信;CM1243-5 与 S7-300 之间的 S7 通信仅需在作为客户端的一边进行组态连接和编程,而服务器端只需要准备好通信数据块即可。

以下例子描述了 CM1243-5 与 S7-300 之间的 S7 通信的两种方式:

  • CM1243-5 与 S7-300 CPU 集成 DP 接口的 S7 通信
  • CM1243-5 与 CP342-5 之间的 S7 通信

一、CM1243-5 与 S7-300 CPU 集成 DP 口的 S7 通信

硬件和软件需求

硬件:
① 1台 1215C + 1台 CM1243-5
② 1台 CPU315-2DP
③ DP 接头及 DP电缆
④ PC(带以太网卡)
⑤ 以太网电缆,PC adapter 编程电缆

软件:
① TIA PORTAL V12 SP1 Update2

所完成的通信任务:
CM1243-5 作为客户端创建 S7 连接,将数据块 DB3 中的10个字节发送到 CPU315-2DP 的数据块 DB1 中;同时,读取 CPU315-2DP 数据块 DB2 中的10个字节存储到 1215C 的数据块 DB4 中。

CM1243-5 作为客户端

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

在项目树“设备和网络”>“网络视图”视图下,创建两个设备的 PROFIBUS 连接。用鼠标点中 PLC1 上的 CM1243-5 DP 通信口的粉色小方框,然后拖拽出一条线到 PLC2 上的 CPU315-2DP 通信口上,松开鼠标,连接建立。

2. 组态 S7 连接

打开“网络视图”配置网络,首先点中左上角的“连接”图标,选择“S7 连接”,然后选中 PLC1 上的 CPU,鼠标右键选择“添加新连接”。如图1所示。

A screenshot of a computer

Description automatically generated

图1. 添加 S7 连接

然后在“创建新连接”窗口中,选择“PLC2”,并在右侧窗口中选择本地接口“CM1243-5,DP 接口”,最后再点击“添加”建立 S7 连接。如图2所示。

A screenshot of a computer

Description automatically generated

图2. 建立 S7 连接

“S7_连接_1”为建立的连接,选中连接,在属性的“常规”条目中可查看该 S7 连接的相关信息。如图3所示。

A screenshot of a computer

Description automatically generated

图3. S7 连接信息

点击“特殊连接属性”,确认 S7 连接由 PLC1 主动建立连接(即 PLC1 为客户端)。如图4所示。

图4. PLC1 作为客户端

配置完网络连接,编译保存并下载。在线后可查看通信连接状态。如图5所示。

A screenshot of a computer

Description automatically generated

图5. 通信连接状态

3. 软件编程

分别在 PLC1 中创建发送数据块 DB3 和接收数据块 DB4 ,在 PLC2 中创建接收数据块 DB1 和发送数据块 DB2 ,均定义为10字节的长度,并在 DB 块的“属性”中取消“优化的块访问”,编译并保存。如图6所示。

A screenshot of a computer

Description automatically generated

图6. DB 块属性设置

在 PLC1 的 OB1 主程序中,从“指令”>“通信”>“S7 通信”下,调用 GET、PUT 通信指令,编译保存并下载。程序调用如图7所示。

A screenshot of a computer

Description automatically generated

图7. 程序调用

CALL “PUT”, %DB1// 调用 PUT,使用背景DB块:DB1
REQ:=%M0.5// 系统时钟 1秒脉冲
ID:=W#16#100// 连接号,要与连接配置中一致,创建连接时的本地连接号
DONE:=%M2.0// 为1时,发送完成
ERROR:=%M2.1// 为1时,有故障发生
STATUS:=%MW4// 状态代码
ADDR_1:=P#DB1.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#100// 连接号,要与连接配置中一致,创建连接时的本地连接号
NDR:=%M2.2// 为1时,接收到新数据
ERROR:=%M2.3// 为1时,有故障发生
STATUS:=%MW6// 状态代码
ADDR_1:=P#DB2.DBX0.0 BYTE 10// 从通信伙伴数据区读取数据的地址
RD_1:=P#DB4.DBX0.0 BYTE 10// 本地接收数据地址

4. 监控结果

通过在 S7-1200 侧编程进行 S7 通信,实现两个 CPU 之间的数据交换,监控结果如图8所示。

A screenshot of a computer

Description automatically generated

图8. 监控结果

二、CM1243-5 与 CP342-5 的 S7 通信

硬件和软件需求

硬件:
① 1台 1215C + 1台 CM1243-5
② 1台 CPU314C + 1台 CP342-5
③ DP 接头及 DP电缆
④ PC(带以太网卡)
⑤ 以太网电缆,PC adapter 编程电缆

软件:
① TIA PORTAL V12 SP1 Update2

所完成的通信任务:
① CM1243-5 作为客户端创建 S7 连接,将数据块 DB3 中的10个字节发送到 CPU314C 的数据块 DB1 中;同时,读取 CPU314C 数据块 DB2 中的10个字节存储到 1215C 的数据块 DB4 中。
② CP342-5 作为客户端创建 S7 连接,将数据块 DB3 中的10个字节发送到 1215C 的数据块 DB1 中;同时,读取 1215C 数据块 DB2 中的10个字节存储到 CPU314C 的数据块 DB4 中。

① CM1243-5 作为客户端

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

在项目树“设备和网络”>“网络视图”视图下,创建两个设备的 PROFIBUS 连接。用鼠标点中 PLC1 上的 CM1243-5 DP 通信口的粉色小方框,然后拖拽出一条线到 PLC2 上的 CP342-5 通信口上,松开鼠标,连接建立。

2. 组态 S7 连接

打开“网络视图”配置网络,首先点中左上角的“连接”图标,选择“S7 连接”,然后选中 PLC1 上的 CPU,鼠标右键选择“添加新连接”。如图9所示。

A screenshot of a computer

Description automatically generated

图9. 添加 S7 连接

然后在“创建新连接”窗口中,选择“PLC2”,并在右侧窗口中选择本地接口“CM1243-5,DP 接口”,最后再点击“添加”建立 S7 连接。如图10所示。

A screenshot of a computer

Description automatically generated

图10. 建立 S7 连接

“S7_连接_1”为建立的连接,选中连接,在属性的“常规”条目中可查看该 S7 连接的相关信息。如图11所示。

图11. S7 连接信息

点击“特殊连接属性”,确认 S7 连接由 PLC1 主动建立连接(即 PLC1 为客户端)。如图12所示。

A screenshot of a computer

Description automatically generated

图12. PLC1 作为客户端

配置完网络连接,编译保存并下载。在线后可查看通信连接状态。如图13所示。

A screenshot of a computer

Description automatically generated

图13. 通信连接状态

3. 软件编程

分别在 PLC1 中创建发送数据块 DB3 和接收数据块 DB4 ,在 PLC2 中创建接收数据块 DB1 和发送数据块 DB2 ,均定义为10字节的长度,并在 DB 块的“属性”中取消“优化的块访问”,编译并保存。如图14所示。

A screenshot of a computer

Description automatically generated

图14. DB 块属性设置

在 PLC1 的 OB1 主程序中,从“指令”>“通信”>“S7 通信”下,调用 GET、PUT 通信指令,编译保存并下载。程序调用如图15所示。

A screenshot of a computer

Description automatically generated

图15. 程序调用

CALL “PUT”, %DB1// 调用 PUT,使用背景DB块:DB1
REQ:=%M0.5// 系统时钟 1秒脉冲
ID:=W#16#100// 连接号,要与连接配置中一致,创建连接时的本地连接号
DONE:=%M2.0// 为1时,发送完成
ERROR:=%M2.1// 为1时,有故障发生
STATUS:=%MW4// 状态代码
ADDR_1:=P#DB1.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#100// 连接号,要与连接配置中一致,创建连接时的本地连接号
NDR:=%M2.2// 为1时,接收到新数据
ERROR:=%M2.3// 为1时,有故障发生
STATUS:=%MW6// 状态代码
ADDR_1:=P#DB2.DBX0.0 BYTE 10// 从通信伙伴数据区读取数据的地址
RD_1:=P#DB4.DBX0.0 BYTE 10// 本地接收数据地址

4. 监控结果

通过在 S7-1200 侧编程进行 S7 通信,实现两个 CPU 之间的数据交换,监控结果如图16所示。

A screenshot of a computer

Description automatically generated

图16. 监控结果

② CP342-5 作为客户端

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

在项目树“设备和网络”>“网络视图”视图下,创建两个设备的 PROFIBUS 连接。用鼠标点中 PLC1 上的 CM1243-5 DP 通信口的粉色小方框,然后拖拽出一条线到 PLC2 上的 CP342-5 通信口上,松开鼠标,连接建立。

2. 组态 S7 连接

打开“网络视图”配置网络,首先点中左上角的“连接”图标,选择“S7 连接”,然后选中 PLC2 上的 CPU,鼠标右键选择“添加新连接”。如图17所示。

A screenshot of a computer

Description automatically generated

图17. 添加 S7 连接

然后在“创建新连接”窗口中,选择“PLC1”,并在右侧窗口中选择本地接口“CP342-5_1”,最后再点击“添加”建立 S7 连接。如图18所示。

A screenshot of a computer

Description automatically generated

图18. 建立 S7 连接

“S7_连接_1”为建立的连接,选中连接,在属性的“常规”条目中可查看该 S7 连接的相关信息。如图19所示。

A screenshot of a computer

Description automatically generated

图19. S7 连接信息

点击“特殊连接属性”,确认 S7 连接由 PLC2 主动建立连接(即 PLC2 为客户端)。如图20所示。

A screenshot of a computer

Description automatically generated

图20. PLC2 作为客户端

配置完网络连接,编译保存并下载。在线后可查看通信连接状态。如图21所示。

A screenshot of a computer

Description automatically generated

图21. 通信连接状态

3. 软件编程

分别在 PLC1 中创建发送数据块 DB1 和接收数据块 DB2 ,在 PLC2 中创建接收数据块 DB3 和发送数据块 DB4 ,均定义为10字节的长度,并在 DB 块的“属性”中取消“优化的块访问”,编译并保存。如图22所示。

A screenshot of a computer

Description automatically generated

图22. DB 块属性设置

在 PLC2 的 OB1 主程序中,从“指令”>“通信”>“S7 通信”>“其它”下,调用 GET_S、PUT_S 通信指令,编译保存并下载。程序调用如图23所示。

A screenshot of a computer

Description automatically generated
图23. 程序调用

CALL “PUT”, %DB1// 调用 PUT,使用背景DB块:DB1
REQ:=%M0.5// 系统时钟 1秒脉冲
ID:=W#16#1// 连接号,要与连接配置中一致,创建连接时的本地连接号
DONE:=%M2.0// 为1时,发送完成
ERROR:=%M2.1// 为1时,有故障发生
STATUS:=%MW4// 状态代码
ADDR_1:=P#DB1.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#1// 连接号,要与连接配置中一致,创建连接时的本地连接号
NDR:=%M2.2// 为1时,接收到新数据
ERROR:=%M2.3// 为1时,有故障发生
STATUS:=%MW6// 状态代码
ADDR_1:=P#DB2.DBX0.0 BYTE 10// 从通信伙伴数据区读取数据的地址
RD_1:=P#DB4.DBX0.0 BYTE 10// 本地接收数据地址

4. 监控结果

通过在 314C 侧编程进行 S7 通信,实现两个 CPU 之间的数据交换,监控结果如图24所示。

A screenshot of a computer

Description automatically generated

图24. 监控结果

剩余80%未阅读,请登录查看大全章节内容

  • 评论
更多
  • 分享

    扫码分享

考证咨询点我

信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。