云计算、AI、云原生、大数据等一站式技术学习平台

网站首页 > 教程文章 正文

西门子博途有关通过 PUT/GET 指令通信的基本信息

jxf315 2025-08-05 19:05:59 教程文章 1 ℃

PUT / GET 指令的基本信息

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

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

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

要求

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

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

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

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

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

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

要求

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

步骤

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

  1. 在程序编辑器中,选择 PUT 或 GET 指令的调用。

  2. 在巡视窗口中,打开“属性 > 组态”(Properties > Configuration) 选项卡。

  3. 选择“连接参数”(Connection parameters) 组。在选择连接伙伴之前,只启用了伙伴端点的空下拉列表。其它所有输入选项均被禁用。

    同时显示一些已知的连接参数:

  4. 从伙伴端点的下拉列表框中,选择一个连接伙伴。可以选择项目中未指定的设备或 CPU 作为通信伙伴。

    选择连接伙伴后,将立即自动输入以下参数:

  5. 根据需要,在“连接名称”(Connection name) 输入框中更改连接名称。如果要创建新连接或编辑现有连接,可单击“创建新连接”(Create new connection) 图标。


    说明

    只有在伙伴端点的硬件配置和程序部分均已加载到硬件中后,两个通信伙伴之间的 PUT 和 GET 指令方可运行。要实现功能完整的通信,应确保在设备上不仅装载了本地 CPU 的连接描述,而且还装载了伙伴 CPU 的连接描述。



PUT:设置写入和发送区域的参数

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

要求

步骤

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

  1. 在程序编辑器中选择 PUT 指令。

  2. 在巡视窗口中打开“组态”(Configuration) 选项卡。

  3. 在区域导航中选择“块参数分配”(Block parameter assignment) 条目。

  4. 在“输入/输出 > 写入区域 (ADDR_1) > 开始”(In/Outputs > Write area (ADDR_1) > Start) 字段中,选择一个“REMOTE”数据类型指针,指向数据待写入的伙伴 CPU 区域。

    只能使用绝对寻址。

    示例:P#DB10.DBX5.0 Byte 10

  5. 在“长度”(Length) 字段中,输入写入区域的长度并从下拉列表中选择存储区的数据类型。

  6. 在“输入/输出 > 发送区域 (SD_1) > 开始”(In/Outputs > Send area (SD_1) > Start) 区域中,选择一个指针,指向包含待发送数据的本地 CPU 区域。

  7. 在“长度”(Length) 字段中,输入待读取存储区的长度并从下拉列表中选择数据类型。

    只能使用数据类型 BOOL(对于位数组,必须将“0”用作地址,将字节的整数倍用作长度)、BYTE、CHAR、WORD、INT、DWORD、DINT、REAL、COUNTER、TIMER。

    如果 VARIANT 指针访问某个数据块,那么必须指定该数据块(例如:P#DB10.DBX5.0 Byte 10)。


GET:设置读取和存储区的参数

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

要求


步骤

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

  1. 在程序编辑器中选择 GET 指令。

  2. 在巡视窗口中打开“组态”(Configuration) 选项卡。

  3. 在区域导航中选择“块参数分配”(Block parameter assignment) 条目。

  4. 在“输入/输出 > 读取区域 (ADDR_1) > 开始”(In/Outputs > Read area (ADDR_1) > Start) 字段中,选择一个“REMOTE”数据类型指针,指向数据待读取的伙伴 CPU 区域。

    只能使用绝对寻址。

    示例:P#DB10.DBX5.0 Byte 10

  5. 在“长度”(Length) 字段中,输入写入区域的长度并从下拉列表中选择存储区的数据类型。

  6. 在“输入/输出 > 存储区 (RD_1) > 开始”(In/Outputs > Memory area (RD_1) > Start) 区域中,选择一个指针,指向存储所读取数据的本地 CPU 区域。

  7. 在“长度”(Length) 字段中,输入存储区的长度并从下拉列表中选择数据类型。

    只能使用数据类型 BOOL(对于位数组,必须将“0”用作地址,将字节的整数倍用作长度)、BYTE、CHAR、WORD、INT、DWORD、DINT、REAL、COUNTER、TIMER。


用于 PUT GET 的通信指令
调用在线和诊断功能
属性 ”(Properties) 选项卡中的 组态 ”(Configuration) 选项卡
组态 ”(Configuration) 选项卡的区域导航
连接参数的常规属性

步骤
要插入
PUT/GET 指令,请按以下步骤操作:
1. 通信 > S7 通信 ”(Communication > S7 Communication) 文件夹中打开 指令 ”(Instructions) 任务卡。
2. PUT GET 指令拖放到程序段中。
将打开 调用选项 ”(Call options) 对话框。
3. 可选: 在 调用属性 ”(Call properties) 对话框中,编辑背景数据块的属性。 可通过以下几种方式:
更改默认名称。
选中 手动 ”(Manual) 复选框分配用户自己的编号。
4. 单击 确定 ”(OK)

最近发表
标签列表