0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用PUT和GET指令通过S7连接在两个CPU之间交换数据

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-12-14 16:53 次阅读

418e3528-9a5c-11ee-8b88-92fbcf53809c.png

关 PUT/GET 指令的基本信息

使用 PUT 和 GET 指令通过 S7 连接在两个 CPU 之间交换数据。

GET 指令用于读取某个伙伴 CPU 的数据。通信伙伴通过用户程序使用 PUT 指令控制变量的写入。除了 PUT 和 GET 指令外,未提供用于读取和写入变量的其它通信功能。

为简化这两个指令的使用,可在程序编辑器的巡视窗口中指定所有需要的连接参数以及所有块参数。

要求

必须满足以下要求方可使用 PUT 和 GET 指令:

必须在项目中创建至少一个 S7-1200/1500 CPU 或 S7-300/400 CPU。必须在 S7-1200 CPU 上安装固件 2.0 或更高版本。如果尚未在项目中创建第二个 CPU,则最初可以建立到未指定伙伴的连接。

两个 CPU 之间必须存在 S7 连接。如果尚未在两个 CPU 之间建立连接,则会在组态指令期间自动建立连接。

对于这两个指令,需要一个背景数据块,用来存储指令使用的所有数据。在程序编辑器中将 PUT 或 GET 指令拖动到网络中后,将立即自动创建该背景数据块。要正确执行该程序,请确保背景数据块不能发生变化;因此,这些数据块将设为受专有技术保护的。只能读取这些背景数据块。

许借助 PUT/GET 通信从远程伙伴访问

默认情况下,禁用“允许借助 PUT/GET 通信从远程伙伴访问 (...) ”(Permit access with PUT/GET communication from remote partners (...)) 选项。如果激活该选项,则只能在本地 CPU 和通信伙伴间需要通过组态或编程建立的通信连接中对 CPU 数据进行读写访问。例如,可以通过 BSEND/BRCV 指令进行访问。

本地 CPU 仅作为服务器的连接(即表示本地 CPU 上不存在使用通信伙伴进行的通信组态/编程),因此无法在操作 CPU 时进行。例如,

在通过通信模块进行 PUT/GET、FETCH/WRITE 或 FTP 访问时

在从其它 S7 CPU 进行 PUT/GET 访问时

在通过 PUT/GET 通信实现 HMI 访问时

如果要允许从客户端访问 CPU 数据,也就是不希望限制 CPU 的通信服务,则激活“允许借助 PUT/GET 通信从远程伙伴访问”(Permit access with PUT/GET communication from remote partners) 选项。

可以在 PUT/GET 指令的连接参数分配期间创建 S7 连接并为这些连接分配参数。连接参数分配将立即检查更改后值是否存在输入错误。

要求

CPU 中存在 PUT 或 GET 通信指令。

步骤

要使用 PUT/GET 指令组态 S7 连接,请按以下步骤操作:

在程序编辑器中,选择 PUT 或 GET 指令的调用。
在巡视窗口中,打开“属性 > 组态”(Properties > Configuration) 选项卡。
选择“连接参数”(Connection parameters) 组。在选择连接伙伴之前,只启用了伙伴端点的空下拉列表。其它所有输入选项均被禁用。
同时显示一些已知的连接参数:
本地端点的名称
本地端点的接口
本地端点的 IP 地址
从伙伴端点的下拉列表框中,选择一个连接伙伴。可以选择项目中未指定的设备或 CPU 作为通信伙伴。
选择连接伙伴后,将立即自动输入以下参数:
伙伴端点的接口
伙伴端点的接口。如果有多个接口可用,则可根据需要更改接口。
伙伴端点的接口类型
两个端点的子网名称
伙伴端点的 IP 地址
用于通信的连接的名称。如果尚不存在连接,则将自动创建连接。
根据需要,在“连接名称”(Connection name) 输入框中更改连接名称。如果要创建新连接或编辑现有连接,可单击“创建新连接”(Create new connection) 图标。
说明
只有在伙伴端点的硬件配置和程序部分均已加载到硬件中后,两个通信伙伴之间的 PUT 和 GET 指令方可运行。要实现功能完整的通信,应确保在设备上不仅装载了本地 CPU 的连接描述,而且还装载了伙伴 CPU 的连接描述。
PUT:设置写入和发送区域的参数

使用 PUT 指令进行通信时,必须指定数据待写入的伙伴 CPU 的存储区。此外,还必须指定本地 CPU 中数据读取的存储区。

要求

程序编辑器已打开。

已插入一个 PUT 指令。

已在 2 个通信伙伴之间建立连接。

步骤

要指定该指令的读取和存储区域,请遵循以下操作步骤:

在程序编辑器中选择 PUT 指令。
在巡视窗口中打开“组态”(Configuration) 选项卡。
在区域导航中选择“块参数分配”(Block parameter assignment) 条目。
在“输入/输出 > 写入区域 (ADDR_1) > 开始”(In/Outputs > Write area (ADDR_1) > Start) 字段中,选择一个“REMOTE”数据类型指针,指向数据待写入的伙伴 CPU 区域。
只能使用绝对寻址。
示例:P#DB10.DBX5.0 Byte 10
在“长度”(Length) 字段中,输入写入区域的长度并从下拉列表中选择存储区的数据类型。
在“输入/输出 > 发送区域 (SD_1) > 开始”(In/Outputs > Send area (SD_1) > Start) 区域中,选择一个指针,指向包含待发送数据的本地 CPU 区域。
在“长度”(Length) 字段中,输入待读取存储区的长度并从下拉列表中选择数据类型。
只能使用数据类型 BOOL(对于位数组,必须将“0”用作地址,将字节的整数倍用作长度)、BYTE、CHAR、WORD、INT、DWORD、DINT、REAL、COUNTER、TIMER。
如果 VARIANT 指针访问某个数据块,那么必须指定该数据块(例如:P#DB10.DBX5.0 Byte 10)。
GET:设置读取和存储区的参数

使用 GET 指令进行通信时,必须指定数据待写入的本地 CPU 的存储区。此外,还必须指定伙伴 CPU 中数据读取的存储区。

要求

程序编辑器已打开。

已插入一个 GET 指令。

已在 2 个通信伙伴之间建立连接。

步骤

要指定该指令的读取和存储区域,请遵循以下操作步骤:

在程序编辑器中选择 GET 指令。
在巡视窗口中打开“组态”(Configuration) 选项卡。
在区域导航中选择“块参数分配”(Block parameter assignment) 条目。
在“输入/输出 > 读取区域 (ADDR_1) > 开始”(In/Outputs > Read area (ADDR_1) > Start) 字段中,选择一个“REMOTE”数据类型指针,指向数据待读取的伙伴 CPU 区域。
只能使用绝对寻址。
示例:P#DB10.DBX5.0 Byte 10
在“长度”(Length) 字段中,输入写入区域的长度并从下拉列表中选择存储区的数据类型。
在“输入/输出 > 存储区 (RD_1) > 开始”(In/Outputs > Memory area (RD_1) > Start) 区域中,选择一个指针,指向存储所读取数据的本地 CPU 区域。
在“长度”(Length) 字段中,输入存储区的长度并从下拉列表中选择数据类型。
只能使用数据类型 BOOL(对于位数组,必须将“0”用作地址,将字节的整数倍用作长度)、BYTE、CHAR、WORD、INT、DWORD、DINT、REAL、COUNTER、TIMER。






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10854

    浏览量

    211574
  • HMI
    HMI
    +关注

    关注

    9

    文章

    587

    浏览量

    48539
  • S7-1200
    +关注

    关注

    11

    文章

    331

    浏览量

    17957

原文标题:西门子博途有关通过 PUT/GET 指令通信的基本信息

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    S7-1200 PLC的S7通信服务器端解决方案

    S7-1200CPU的为S7通信提供了条用于读写数据指令PUT”和“
    发表于 07-07 10:42 5401次阅读
    <b class='flag-5'>S7</b>-1200 PLC的<b class='flag-5'>S7</b>通信服务器端解决方案

    S7-200SMART CPUS7-1200进行S7通信的方法

    8.所示。图8.监控S7连接状态S7连接成功建立后,S7-1200 触发PUT/
    发表于 12-22 16:00

    S7-300与S7-400之间ISO-on-TCP传输连接

    您可以通过s7 - 300和s7 - 400的工业以太网CPs进行数据交换的iso -on- tcp连接的开放通信。在本例中,
    发表于 09-29 18:43 22次下载
    <b class='flag-5'>S7</b>-300与<b class='flag-5'>S7</b>-400<b class='flag-5'>之间</b>ISO-on-TCP传输<b class='flag-5'>连接</b>

    S7-1200的PUTGET通信操作手册免费下载

    本文档的主要内容详细介绍的是S7-1200的PUTGET通信操作手册免费下载。
    发表于 01-22 08:00 25次下载
    <b class='flag-5'>S7</b>-1200的<b class='flag-5'>PUT</b>和<b class='flag-5'>GET</b>通信操作手册免费下载

    西门子S7-300PLC与S7-200的SMART系列进行以太网S7通信

    通信接口为S7-300 集成PN接口时,需要使用Standard Library中PUT/GET指令。通信接口为S7-300 CP通信模块时
    发表于 02-13 17:12 1.3w次阅读
    西门子<b class='flag-5'>S7</b>-300PLC与<b class='flag-5'>S7</b>-200的SMART系列进行以太网<b class='flag-5'>S7</b>通信

    通过MPI建立OPC服务器与S7-200 PLC集成口的S7连接

    通过MPI建立OPC服务器与S7-200 PLC集成口的S7连接方式说明。
    发表于 05-07 09:24 5次下载

    SIMATIC NET OPC服务器与PLC的S7连接简介

    SIMATIC NET OPC服务器与PLC的S7连接简介
    发表于 12-20 14:11 1次下载

    西门子S7-200SMART PLC之间通过向导实现S7通讯的步骤

    PUT/GET 指令的编程可以使用PUT/GET 向导以简化编程步骤。该向导最多允许组态16 项独立PU
    的头像 发表于 10-21 11:01 5009次阅读

    S7-300使用单边编程方式PUTGET指令进行通信

    S7单边通信,仅需在客户端侧进行组态编程;服务器侧CPU无需组态编程。
    的头像 发表于 11-03 11:15 1.5w次阅读

    S7-1500和S7-1500之间S7通信

    使用 STEP7 V14 在同一项目中,新建两个S7-1500站点,然后做 S7 通讯。
    的头像 发表于 11-23 09:53 2992次阅读

    S7-1500 CPU支持与其它S7-1500 CPU进行直接数据交换

    从固件版本 V2.8 开始,S7-1500 CPU 支持与其它 S7-1500 CPU 进行直接数据交换。在直接
    的头像 发表于 11-29 09:53 4104次阅读

    S7 Fault Tolerant connection/S7容错连接介绍

    S7容错连接S7-400H(High available高可用性)系列CPU才能支持的冗余通讯方式。可以实现基于2/4子链接的冗余通讯。
    的头像 发表于 01-30 10:12 1744次阅读

    S7-1200 CPUS7-200 SMART S7通信指南

    服务器端则只需准备好通信的数据即可。S7-1200 系统预留了 8 可组态的 S7 连接资源,考虑上 6
    的头像 发表于 04-19 15:14 3120次阅读

    S7-1200 CPUS7-200 SMART S7通信教程

    S7-200 SMART CPU 固件版本 V2.0 及其以上,本体集成的 PROFINET 通信接口支持 S7 通信,可以通过向导或使用 GET
    的头像 发表于 05-06 14:49 6509次阅读
    <b class='flag-5'>S7</b>-1200 <b class='flag-5'>CPU</b>与<b class='flag-5'>S7</b>-200 SMART <b class='flag-5'>S7</b>通信教程

    如何在S7-1500系列的两个CPU间创建一编程连接

    在以下示例中,在 S7-1500 系列的两个 CPU 间创建一编程连接,并将一字符串从
    的头像 发表于 07-02 10:30 1785次阅读
    如何在<b class='flag-5'>S7</b>-1500系列的<b class='flag-5'>两个</b><b class='flag-5'>CPU</b>间创建一<b class='flag-5'>个</b>编程<b class='flag-5'>连接</b>