“Get_Name”指令读取 PROFINET IO 设备、PROFIBUS 从站或 AS-i slave 的名称。设备名称将显示在网络视图和 IO 设备的属性中。
1.STEP 7 会在插入指令时自动创建 DB。
2 .在 SCL 示例中,“Get_Name_DB”是背景 DB 的名称。
通过使用分布式 IO 系统的硬件标识符(LADDR 参数处)和 PROFINET IO 设备的设备编号或 PROFIBUS 从站的 PROFIBUS 地址(STATION_NR 参数)可选择 IO 设备。
执行该指令后,程序将在由 DATA 参数寻址的区域中写入 IO 设备名称。
所读取的名称取决于 IO 设备的类型:
● DP 从站或 IO 设备:前端模块名称
● 智能从站或智能设备:接口模块名称
● HMI 面板:接口名称
● PC 站:接口模块名称
● GSD 设备:显示设备接入点 (DAP) 的名称(接口或前端模块的名称)
指令通过 LEN 参数写入该名称的长度。如果该名称的长度大于 DATA 参数指定的区域,则程序将只写入寻址区域的最大长度的部分名称。
该名称的最大长度为 128 个字符。
LADDR:分布式 I/O 系统的硬件标识符 (HW-IoSystem)。该值为系统常量或 IO 系统属性。
STATION_NR:
● PROFINET IO设备:该设备编号将显示在“以太网地址”(Ethernet addresses) 下方 IO 设备属性内的网络视图 (Network view) 中。
● PROFIBUS 从站:该 PROFIBUS 地址将显示在“PROFIBUS 地址”(PROFIBUS address) 下方 PROFIBUS 从站属性内的网络视图 (Network view)中。
DATA:指向名称要写入的目标区域的指针。
DONE:指令执行成功。传送到 DATA 参数处指定区域的模块名称。
以下举例说明了如何读取 ET 200SP PROFINET IO 设备的站名称。
1. 组态 ET 200SP:
– 在网络视图中创建站名称为“Conveyor_1”的 ET 200SP,并将其分配给相同 CPU 的 PROFINET IO 系统。
– 将 CPU 作为 ET 200SP IO 控制器分配。
– 在位于“以太网地址”(Ethernet addresses) 的默认属性中,使用编号为“1”的默认设备。
2. 分配 Get_Name 指令的参数:
– 在参数 LADDR 中输入 IO 系统的硬件 ID。在本例中,硬件 ID 为“269”。您可以在如下位置找到硬件 ID:
“PLC 变量 > 显示所有变量 > 系统常量选项卡 > 本地 PROFINET_IO 系统”(PLC tags > Show all tags > System constants tab > Local-PROFINET_IO-System)
– 在 STATION_NR 参数上输入 ET 200SP 的设备编号。在本例中,设备编号为“1”。
– 在参数 DATA 处,将变量与数据类型为 STRING 的数据块相关联。
3. 正在执行 Get_Name 指令:
– 随着指令执行,BUSY 输出参数可能会设置为“1”,然后 DONE 参数设置为“0”。
– 并在输出参数 STATUS 处,显示错误代码信息。
4. 完成 Get_Name 指令的执行:
– 执行该指令之后,程序将 ET 200SP 的站名称“Conveyor_1”写入参数 DATA 中的数据块内。
– 程序将站名称中的字符数“10”写入 LEN 参数。