- {{item.name}}
通过 CM1243-5 实现 S7-1200 之间的 S7 通信
- 0
- 245
通过CM1243-5实现S7-1200之间的S7通信
使用 STEP7 V12,CM1243-5 的 DP 通信口可以做 S7 通信的客户端或服务器,S7-1200 仅支持 S7 单边通信,仅需在客户端单边组态连接和编程,而服务器端只需要准备好通信数据块即可。
以2台 S7-1200 PLC 为例,通过 CM1243-5 做 S7 通信。
硬件和软件需求
硬件:
① 2台 S7-1200 CPU
② 2台 CM1243-5 DP-MASTER
③ DP 接头及 DP电缆
④ PC (带以太网卡)
⑤ TP以太网电缆
软件:
① TIA PORTAL V12 SP1 Update2
所完成的通信任务:
① 1215C 将数据块 DB3 中的10个字节发送到 1214C 的数据块 DB1 中。
② 1215C 读取 1214C 数据块 DB2 中的10个字节存储到 1215C 的数据块 DB4 中。
在 1215C 一侧配置、编程
1. 使用 STEP7 V12 软件新建一个项目并完成硬件配置
在项目树“设备和网络”>“网络视图”视图下,创建两个设备的 PROFIBUS 连接。用鼠标点中 PLC1 上的 CM1243-5 DP 通信口的粉色小方框,然后拖拽出一条线到 PLC2 上的 CM1243-5 DP 通信口上,松开鼠标,连接建立。
2. 组态 S7 连接
打开“网络视图”配置网络,首先点中左上角的“连接”图标,选择“S7 连接”,然后选中 PLC1 上的 CPU,鼠标右键选择“添加新连接”。如图1所示。
图1. 添加 S7 连接
然后在“创建新连接”窗口中,选择“PLC2”,并在右侧窗口中选择“CM1243-5,DP 接口”,最后再点击“添加”建立 S7 连接。如图2所示。
图2. 建立 S7 连接
“S7_连接_1”为建立的连接,选中连接,在属性的“常规”条目中可查看该 S7 连接的相关信息。如图3所示。
图3. S7 连接信息
配置完网络连接,编译保存并下载。在线后可查看通信连接状态。如图4所示。
图4. 通信连接状态
3. 软件编程
分别在 PLC1 中创建发送数据块 DB3 和接收数据块 DB4 ,在 PLC2 中创建接收数据块 DB1 和发送数据块 DB2 ,均定义为10字节的长度,并在 DB 块的“属性”中取消“优化的块访问”,编译并保存。如图5所示。
图5. DB 块属性设置
在 PLC1 的 OB1 主程序中,从“指令”>“通信”>“S7 通信”下,调用 GET、PUT 通信指令,编译保存并下载。程序调用如图6所示。
图6. 程序调用
CALL “PUT” | , %DB1 | // 调用 PUT,使用背景DB块:DB1 |
REQ | :=%M0.5 | // 系统时钟 1秒脉冲 |
ID | :=W#16#0100 | // 连接号,要与连接配置中一致,创建连接时的本地连接号 |
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#0100 | // 连接号,要与连接配置中一致,创建连接时的本地连接号 |
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之间的数据交换,监控结果如图7所示。
图7. 监控结果
剩余80%未阅读,请登录查看大全章节内容
- 评论
-
分享
扫码分享
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错
{{item.nickName}}