S7单边通信,仅需在客户端侧进行组态编程;服务器侧CPU无需组态编程。
所以在编程组态和建立连接方面,S7-300PN口做客户端,只需要在 S7-300CPU 侧建立单边连接,使用单边编程方式 PUT,GET 指令进行通信。
S7-300集成PN口侧组态编程
服务器侧:S7-1200/1500CPU注意事项
所完成的通信任务:
S7-300 集成PN口CPU 作为客户端读取 对方S7 CPU中 DB1 的数据到 S7-300 的 DB3 中。
S7-300 集成PN口CPU 作为客户端将本地 DB4 中的数据写到 对方 S7 CPU中 DB2 中。
项目创建环境:TIA V13 SP1
S7-300集成PN口侧组态编程新建项目并完成硬件配置(具体步骤请参见文档:CPU硬件组态入门)
图1. 组态设置子网
网络组态
打开 “Network View(网络视图)” 配置网络,首先点中左上角的“Connections(网络)”图标,选择“S7 Connection(S7连接)”,然后选中300 CPU,右键选择“Add new connection(添加新连接)”如图所示。
图2. 添加连接
然后在“Create new connection(连接)”窗口中,选择“Unspecified”,然后点击“Add”建立 S7 连接,如图2.所示。
图3.建立 S7 连接
“S7_Connection_1(S7_连接_1)”为建立的连接,选中连接,在属性的“General(常规)”条目中填写对方设备的IP地址,如下图4.所示。
图4. 定义连接对方的 IP 地址
图5. 定义通讯双方的 TSAP 号
注意:
通信的对方设备为
S7-300集成PN口或CP卡 ,TSAP地址:03.02
S7-400集成PN口或CP卡 ,TSAP地址:03.XX;XX为400CPU设计插槽号
S7-1200集成PN口 ,TSAP地址:03.00,或03.01
S7-1500集成PN口或CP卡,TSAP地址:03.01
图6. 连接 ID 号
注意:此处的ID号,将在编程的PUt,GET块中填写(16进制)
配置完网络连接,编译保存并下载。
图7. 通讯连接状态
指令块编程
在 OB1 中,从“Instruction(指令)” >“Communication(通信)” >“S7 Communication(S7通信)”下,调用Get、Put通信指令,创建接收和发送数据块 DB3 和 DB4,定义成 101 个字节的数组,程序调用如下图8.所示。
图8. 程序调用功能
功能块管脚说明:
CALL “GET” | DB1 | //调用 GET,使用背景DB块:DB1; |
REQ | M10.0+P沿 | //上升沿触发或使用系统时钟 ; |
ID | W#16#0001 | //连接号,要与连接配置中一致,创建连接时的连接号,如图5.所示; |
NDR | M30.0 | //为1时,接收到新数据; |
ERROR | M30.1 | //为1时,有故障发生; |
STATUS | MW32 | //状态代码; |
ADDR_1 | P#DB1.DBX0.0 BYTE 10 | //从通信伙伴数据区读取数据的地址; |
RD_1 | P#DB3.DBX0.0 BYTE 10 | //本地接收数据地址; |
CALL “PUT” | DB2 | //调用 PUT,使用背景DB块:DB2; |
REQ | M10.0+P沿 | //上升沿触发或使用系统时钟 ; |
ID | W#16#0001 | //连接号,要与连接配置中一致,创建连接时的连接号,如图5.所示; |
DONE | M30.2 | // 为1时,发送完成; |
ERROR | M30.3 | // 为1时,有故障发生; |
STATUS | MW34 | // 状态代码; |
ADDR_1 | P#DB2.DBX0.0 BYTE 10 | // 发送到通信伙伴数据区的地址; |
SD_1 | P#DB4.DBX0.0 BYTE 10 | // 本地发送数据区。 |
监控结果
通过在 S7-300 侧编程进行 S7 通讯,实现两个 CPU 之间数据交换,以S7-1200为例,结果如下图。
图9. 监控结果
服务器侧:S7-1200/1500CPU注意事项当通信的对方CPU为S7-1200或S7-1500时,有如下步骤必须设置。
1. S7-1200,S7-1500用于通信存放数据的DB块,必须设置为“非优化”(即默认的勾选取消掉)如图10所示:
图10. S7-1x00的数据块非优化设置
2. S7-1200CPU固件V4.0以上和S7-1500CPU,在CPU属性--->保护--->连接机制中,
勾选“允许从远程伙伴...”,如图11所示,
- 变频器的PID控制 2024-11-23
- 变频器控制水泵恒压供水的步骤与方法 2024-11-23
- Profibus-DP通讯协议 2024-11-23
- S7-1200/1500与精简面板仿真的详细图解 2024-11-23
- 举例说明S7-1200运动控制中的 回原点’到底是怎么一回事 2024-11-23
- 西门子S7-1500PLC冗余网络组态方式及案例分析 2024-11-23
- 西门子系列PLC常用模块接线图合集 2024-11-23
- 威纶通触摸屏与西门子1200通讯符号寻址时,如何导入标签 2024-11-23
- 深入浅出||西门子S7-1500 PLC跟我做第一个项目 2024-11-23
- 三菱PLC实现定位控制的编程方法 2024-11-23
- 西门子PLC入门编程九个经典案例 2024-11-23
- 西门子S7-300从入门到精通100个经典问题及解答 2024-11-23
- S7-1200 作为 IO 控制器进行分布式 IO 设备的通信诊断功能 2024-11-23
- 常用指令是PLC编程程序架构,这样学更快入门 2024-11-23
- S7-1500PLC自动程序设计常见几种方法 2024-11-23
联系方式
- 电 话:18126392341
- 联系人:梁涛
- 手 机:15267534595
- 微 信:15267534595