西门子1500put与get通讯
西门子 S7-1500 系列 PLC 之间的 PUT 和 GET 通信是实现高效数据传输的一种常用方式。这种通信基于 S7 协议,是一种非组态连接(Unconfigured Communication)的数据传输方式,无需在 TIA Portal 项目中进行连接组态。下面是关键概念和配置步骤:
? 核心概念
- GET:
- 你本地 PLC (发起方 / Client) 执行的指令。
- 功能:从远程 PLC (目标方 / Server) 读取数据到本地 PLC 的数据区域。
- 简单理解为“拿取”。
- PUT:
- 你本地 PLC (发起方 / Client) 执行的指令。
- 功能:将本地 PLC 的数据 写入到远程 PLC (目标方 / Server) 的数据区域。
- 简单理解为“放置”。
? 核心需求 (硬件/软件)
- TIA Portal 项目: 至少包含发起通信的本地 S7-1500 PLC 的配置。如果通信伙伴(远程 PLC)不在同一个项目里,也需要知道其详细信息。
- 物理连接:
- 所有 S7-1500 PLC 必须连接到同一个工业以太网(例如 PROFINET 或普通以太网)。
- 配置正确的 IP 地址和子网掩码,确保能互相 Ping 通。
? 配置步骤 (重点在本地PLC程序中)
以下步骤假设你已在 TIA Portal 项目中配置好本地 S7-1500 PLC 的硬件并分配了 IP 地址:
-
添加通信块 (在本地 PLC 程序中):
- 在程序块(如 OB1)中,从 TIA Portal 指令库中添加
GET和PUT指令:- 路径: 指令 > 通信 > S7通信
- 指令块:
GET(TSEND_C, 但更常见使用单独的GET)PUT(TRCV_C, 但更常见使用单独的PUT) ? TIA Portal V15 及更高版本通常使用更直观的GET和PUT块,而不是AG_GET/AG_PUT或TSEND_C/TRCV_C。
- 将指令块拖放到你的程序中(通常是 OB1 或在被循环调用的 FC/FB 中)。
- 在程序块(如 OB1)中,从 TIA Portal 指令库中添加
-
配置 GET/PUT 块参数:
REQ(Request): 触发信号。每次从 FALSE 变为 TRUE 时触发一次读(GET)/写(PUT)操作。通常连接一个上升沿或定时器输出以控制执行频率。ID(Connection ID):- 这是一个关键参数!它唯一标识本地 PLC 发起的这条通信连接。
- 必须在所有本地的 PUT/GET 指令中唯一。如果有多条 PUT/GET 连接(即使伙伴相同),必须使用不同的
ID。 - 数据类型:
HW_IOSYSTEM或CONN_OUC(具体类型取决于 TIA 版本和指令块)。 - 通常使用 TIA Portal 提供的
Connectivity>Configure a device>Assign device name界面下的 “Connection resources” 列表中的 “S7 connections” 资源号。
ADDR_1(Remote Address):GET: 要读取的 远程PLC 中的数据地址(如P#DB100.DBX0.0 BYTE 100表示读取远程 DB100 中从 DBX0.0 开始的 100 个字节?)。PUT: 要写入的 远程PLC 中的数据地址(如P#DB200.DBX10.0 BYTE 50表示写入远程 DB200 中从 DBX10.0 开始的 50 个字节)。
RD_1(GETonly) /SD_1(PUTonly) (Local Address):GET: (RD_1) 指定一个 本地 区域用于存放从远程读取回来的数据(如P#DB50.DBX0.0 BYTE 100)。PUT: (SD_1) 指定一个 本地 区域,该区域的数据将被发送到远程 PLC(如P#DB60.DBX20.0 BYTE 50)。
ADDR(Partner PLC ID - 非常重要):- 指明 远程 PLC (通信伙伴)。
- 通常是远程 PLC CPU 的机架 (Rack) 和插槽 (Slot) 号。
- 在 S7-1500 的标准配置下,通常 Rack=0, Slot=1 (如果远程是 S7-1500 CPU)。
- 如果你在同项目中配置了远程 PLC 的 CPU,在设备配置中选中该 CPU,可以在属性中看到它的
Rack/Slot(如0.1)。直接填写16#0001(表示 Rack=0, Slot=1) 或16#0101(表示 Rack=1, Slot=1) 等。 - 注意: 不同于组态连接时用的伙伴 IP 地址,PUT/GET 伙伴识别 依赖 这个
Rack/Slot号。
- 程序块状态引脚:
DONE/NDR(任务完成/新数据就绪)BUSY(任务进行中)ERROR(发生错误)STATUS(状态码,用于诊断错误原因)
? 关键要点与注意事项
- 无需项目内伙伴配置: PUT/GET 的最大优点是远程 PLC 无需 在你的本地项目中进行硬件组态配置,只要知道它的 IP 地址和 Rack/Slot 号即可。
- 数据一致性: PUT/GET 操作在发起方每次触发时完成一次读写。GET 读取的是远程指定地址在该次操作瞬间的值组合;PUT 写入操作是原子操作(所有指定字节一次性写入远程 PLC)。
- 传输效率 & 频率: PUT/GET 每次通信都建立和断开连接,效率相对略低于组态连接(如 BSEND/BRCV)。控制
REQ信号的频率很重要,避免网络过度拥塞。 - 最大长度: PUT/GET 单次传输的最大数据长度限制 (S7-1500通常最大可达几KB,具体参考手册)。如果需要传输海量数据,应考虑
BSEND/BRCV。 - 安全: 默认无访问保护。如果在开放网络中或需要安全通信,考虑配置 PLC 的访问权限(设置连接密码)或使用基于证书的安全机制(PROFINET)。
- 正确填写
ADDR:Rack/Slot错误是导致通信失败的常见原因!务必确认远程伙伴的真实 Rack/Slot (默认为0.1)。 - DB 优化访问: 对于 DB 中的数据,确保相关 DB 的属性中勾选了“优化的块访问” 。如果未勾选(“标准访问”),需要使用绝对地址访问,如
DB100.DBB0,在 PUT/GET 的ADDR_1中也需要用P#DB100.DBX0.0 ...语法。优化访问更安全且高效。 - 多个连接
ID: 如果本地 PLC 有多个 PUT/GET 请求(即使伙伴相同),每个指令块的ID必须不同。使用唯一的连接资源号。 - 诊断:
- 检查网络物理连接和指示灯状态。
- 确保 IP 地址正确配置且能互 Ping 通。
- 使用程序中的
STATUS输出引脚查看错误代码,在指令的帮助信息或手册中查找含义。 - 使用 TIA Portal 的在线诊断功能。
- 检查远程 PLC 是否有防火墙或访问保护设置阻止了通信。
? 简单示例流程 (本地PLC程序)
- 在 OB1 中:
- 使用一个定时器 (如
TON) 产生一个固定间隔的脉冲,输出连接GET和PUT的REQ引脚。
- 使用一个定时器 (如
- GET 指令配置:
REQ: 来自定时器的脉冲。ID: 如1(唯一ID,取自连接资源)。ADDR_1:P#DB101.DBX0.0 BYTE 20(读取远程DB101的前20字节)。RD_1:P#DB51.DBX0.0 BYTE 20(存入本地DB51的前20字节)。ADDR:16#0001(假设远程PLC是0号机架,1号插槽)。ERROR,STATUS连接变量用于监测状态。
- PUT 指令配置:
REQ: 同一个或另一个定时器脉冲 (或与GET反相)。ID: 必须不同与GET的ID,如2。ADDR_1:P#DB201.DBX0.0 BYTE 10(写入远程DB201的前10字节)。SD_1:P#DB61.DBX0.0 BYTE 10(本地DB61的前10字节作为数据源)。ADDR:16#0001(远程伙伴ID)。ERROR,STATUS连接变量用于监测状态。
✅ 总结
西门子 S7-1500 的 PUT/GET 通信是一种无需项目组态的 S7 通信方式,非常适合在已知伙伴 PLC IP 地址和机架/插槽信息的情况下进行数据交换。配置的关键点在于正确设置 ID (必须唯一)、ADDR (正确的远程Rack/Slot,通常是0.1) 以及双方的数据地址(ADDR_1 和 RD_1/SD_1)。只要网络通畅且参数设置准确,这种通信方式简单而可靠。如果需要更高效的传输或更大数据量,请考虑使用组态的 BSEND/BRCV连接。?
Profinet转Profinet网关应用在霍尼韦尔DCS与西门子1500PLC通讯案例
Profinet转Profinet网关在霍尼韦尔DCS与西门子1500PLC通讯中的应用案例
2024-12-12 06:31:22
西门子PLC S7-1500系列介绍
的基本特性、信号模块亮点以及其在高速脉冲采集方面的应用。 基本特性 西门子PLC S7-1500系列相比之前的S7-300和S7-400系列,在性价比、运行能力、
2024-12-09 18:23:44
西门子1500与75台200 SMART如何进行以太网通讯
工作中遇到 wincc 需要与 75 个 S7-200SMART 通讯,每个 S7-200SMART 需要有 1200 多个字 节传给 wincc。经过与西门子工程师分析讨论做出如下
2023-05-29 09:53:05
西门子PLC S7-1500系列与西门子变频器G120之间实现DP通讯功能
对变频器进行参数设定,参数修改,快速调试等操作。由西门子PLC S7-1500系列与西门子变频器G120系列组成的驱动控制系统中,可以实现DP
2023-05-12 16:49:08
西门子S7系列PLC以太网通讯处理器
1970-01-01 08:00:00 至 1970-01-01 08:00:00
merlic软件与西门子S7-1500的通讯过程分析
merlic是MV-TEC公司的相机集成软件,支持TCPIP,MODBUS通讯,最近使用到merlic软件和相机,所以做为总结,详细介绍merlic与西门子1
2022-03-30 15:03:51
merlic与西门子PLC S7-1500的通讯案例
merlic是MV-TEC公司的相机集成软件,支持TCPIP,MODBUS通讯,最近使用到merlic软件和相机,所以做为总结,详细介绍merlic与西门子1
2022-03-17 10:02:35
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- ssd是什么意思
- 什么是蓝牙?它的主要作用是什么?
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- EDA是什么?有什么作用?
- dtmb信号覆盖城市查询
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- amoled屏幕和oled区别
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机