首页 > 知识库 > S7-1200与S7-300之间PUT/GET通讯编程
S7-1200与S7-300之间PUT/GET通讯编程
知识库 • 2026-06-26 • 👁 0次浏览 • 👍 0 • 💬 0条评论

# S7-1200与S7-300之间PUT/GET通讯编程

在工业自动化中,S7-1200与S7-300的跨型号通讯常用于数据交换。PUT/GET指令基于TCP/IP协议,无需复杂组态,适用于控制器间的快速数据读写。本文以实际案例介绍编程步骤。

## 硬件与网络准备 - 确保S7-1200(如CPU 1214C)与S7-300(如CPU 315-2DP)均配备以太网接口。 - 使用网线连接两者至同一交换机,设置IP地址在同一网段(例如S7-1200为192.168.0.1,S7-300为192.168.0.2)。 - 在TIA Portal中分别创建两个项目文件,分别对应两台PLC。

## 配置S7-1200作为客户端 1. 在S7-1200的主程序中,调用“PUT”和“GET”指令(位于“通讯”指令集)。 2. 为每个指令创建背景数据块(DB),用于存储通讯参数。 3. 配置参数: - `REQ`:触发位,使用上升沿(如M0.0)启动通讯。 - `ID`:指定连接ID,需与硬件组态中的连接ID一致(通常为1)。 - `ADDR_1`:指向S7-300的M区或DB区(例如P#DB1.DBX0.0 BYTE 10)。 - `SD_1`(PUT)或`RD_1`(GET):定义本地数据区(如S7-1200的DB2)。 4. 注意:S7-300的地址必须使用绝对寻址,如P#M0.0 BYTE 10。

## 配置S7-300作为服务器 1. 在S7-300的硬件组态中,启用“允许来自远程对象的PUT/GET通讯”(在CPU属性的“保护”选项卡中勾选)。 2. S7-300无需编写通讯指令,只需定义可读写的数据区(如M0.0开始的10个字节或DB1)。 3. 确保数据区未受写保护,否则通讯会失败。

## 编程示例与调试 - 在S7-1200中,编写一个循环程序:每1000ms触发一次PUT,将本地DB2.DBW0值写入S7-300的MW0;同时触发GET,读取S7-300的MW2到本地DB2.DBW2。 - 使用监控表查看S7-1200的“PUT”和“GET”指令的STATUS输出值:0000表示成功,其他代码需参考手册排查(如连接超时或地址错误)。 - 常见问题:检查防火墙是否屏蔽TCP端口(默认102),或确认硬件组态中连接资源未耗尽。

## 总结 通过PUT/GET指令,S7-1200可主动与S7-300交换数据,适合小批量、周期性的通讯需求。实际应用中需注意数据区大小限制(建议不超过240字节),并优化触发频率以避免网络拥堵。

← 上一篇
PLC控制柜布线规范与电磁兼容设计
下一篇 →
三菱FX系列PLC时钟读写与定时控制编程
💬 评论 0条
登录 后发表评论
还没有评论