说明
“GET_NAME”指令用于读取 IO 设备或 DP 从站的名称。该名称将显示在网络视图和 IO 设备或 DP 从站的属性中。在以下截图中,以 IO 设备为例。
通过 PROFINET IO 系统或 DP 主站的硬件标识符(LADDR 参数中)以及 IO 设备的设备编号或 DP 从站的 PROFIBUS 地址(STATION_NR 参数),可选择该 IO 设备或 DP 从站。
指令成功执行后,IO 设备或 DP 从站的名称将写入由 DATA 参数寻址的区域中。
所读取的名称取决于 IO 设备的类型:
对于 DP 从站或 IO 设备,将输出前端模块的名称。
对于 HMI 面板,将输出接口名称。
对于 PC 站,将输出接口模块的名称。
对于 GSD 设备,将显示设备接入点 (DAP) 的名称(接口或前端模块的名称)。
并通过参数 LEN 输出该名称的长度。如果该名称的长度大于 DATA 参数指定的区域,则将只写入寻址区域的最大长度的部分名称。
该名称的最大长度为 128 个字符。
说明 读取的 CPU 的名称 (V 1.1) 如果参数 LADDR 和 STATION_NR 的值均为“0”,则该指令将输出 CPU 的名称。 如果 R/H 系统处于 RUN-Redundant 模式,则该指令将返回主 CPU 的名称。 |
参数
下表列出了“GET_NAME”指令的参数:
参数 | 声明 | 数据类型 | 存储区 | 说明 |
---|---|---|---|---|
LADDR | Input | HW_IOSYSTEM | I、Q、M、D、L 或常量 | PROFINET IO 或 DP 主站系统的硬件标识符该值来自系统常量或 PROFINET IO 系统/ DP 主站系统的属性。 |
STATION_NR | Input | UINT | I、Q、M、D、L 或常量 | PROFINET IO 设备的设备编号或 DP 从站的 PROFIBUS 地址。该编号将显示在网络视图和 IO 设备或 DP 从站的属性中。 |
DATA | InOut | VARIANT | I、Q、M、D、L | 指向该名称待写入的目标区域的指针。 |
DONE | Output | BOOL | I、Q、M、D、L | 指令执行成功。IO 设备或 DP 从站的名称已传送到 DATA 参数处指定的区域内。 |
BUSY | Output | BOOL | I、Q、M、D、L |
状态参数 0:指令执行完成。 1:指令的执行尚未完成。 |
ERROR | Output | BOOL | I、Q、M、D、L |
状态参数 0:无错误。 1:指令执行过程中发生错误。 详细信息将在 STATUS 参数中输出。 |
LEN | Output | DINT | I、Q、M、D、L | IO 设备或 DP 从站的名称长度(字符数)。 |
STATUS | Output | WORD | I、Q、M、D、L |
状态参数 该参数设置仅维持一次调用所持续的时间。因此,要显示该状态,需将 STATUS 复制到一个空闲数据区内。 |
有关有效数据类型的更多信息,请参见“有效数据类型概述”。
参数 STATUS
错误代码* (W#16#...) | 说明 |
---|---|
0 | 无错误 |
7001 | 第一次调用“GET_NAME”异步指令。指令的执行尚未完成 (BUSY = 1,DONE = 0)。 |
7002 | 另一次调用“GET_NAME”异步指令。指令的执行尚未完成 (BUSY = 1,DONE = 0)。 |
8090 | 在 LADDR 参数中指定的硬件标识符在项目中不存在。 |
8092 | LADDR 参数的值无法寻址 PROFINET IO 系统或 DP 主站系统。 |
8093 | 指令不支持 DATA 参数中的数据类型。 |
8095 |
所选的 PROFINET IO 系统中没有该设备编号(STATION_NR 参数),或者找不到 IO 设备。 在所选的 DP 主站系统中,PROFIBUS 地址(STATION_NR 参数)不存在。 |
80B1 | 所用 CPU 不支持该指令。 |
80C3 | 临时资源错误:CPU 当前正在处理的同步块调用的最大数量。仅当至少一个块调用执行完成后,才能执行“GET_NAME”。 |
8852 |
DATA 参数中指定的区域过短,无法写入 IO 设备或 DP 从站的完整名称。只能写入最大允许长度的部分名称。 要读取完整名称,需在 DATA 参数处指定一个较大的数据区域。此区域的大小必须至少与 LEN 参数处指定的字符数相一致。 |
* 在程序编辑器中,错误代码将显示为整数或十六进制值。有关切换显示格式的信息,请参见“另请参见”。 |
示例
以下举例说明了如何读取 HMI 面板的站名称。
HMI 面板的组态:
创建以下变量,在全局数据块中进行数据存储:
为指令“GET_NAME”分配参数:
执行指令:
在网络视图中创建站名称为“HMI_IO-Device”的 HMI 面板,并分配给相同 CPU 的 PROFINET IO 系统。
在硬件配置的属性中激活该 HMI 面板的操作模式“IO 设备”,并将 CPU 指定为 IO 控制器。
在“以太网地址”(Ethernet addresses) 下的属性内,设置设备编号“20”
在输入参数 LADDR 中,输入 IO 系统(262)的硬件标识符。
在输入参数 STATION_NR 中,输入 HMI 面板(2)的设备编号。
互连“GET_NAME”指令的其它数,如下所示:
执行该指令之后,HMI 面板 (HMI_IO-Device) 的站名称将保存到参数 DATA(“moduleName”)中。
并在参数 LEN 中输出该名称的字符个数 (13)。
成功读取 IO 设备后,如果 GET_NAME 的执行未停止,则输出参数BUSY(“busy”)将显示值“TRUE”;输出参数 STATUS(“status”)将显示值“16#7002”。
-
西门子
+关注
关注
97文章
3083浏览量
116837 -
硬件
+关注
关注
11文章
3416浏览量
66668 -
IO设备
+关注
关注
0文章
22浏览量
7447
原文标题:西门子-博图 :GET_NAME:读取 IO 设备或 DP 从站的名称
文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
西门子串口通讯09-CP341在博途环境中做Modbus从站通讯分享
西门子S7-1500与分布式IO设备的诊断

西门子S7-1500从站的激活与取消激活程序应用

耐用PROFINET主站设备与PROFIBUS从站连接方法

PROFIBUS转PROFINET网关从站设备快速接入西门子S7 1200的通讯方法
Profibus DP转Profinet网关把称重仪表接到西门子PLC

西门子与ABB机器人的Profibus-DP通讯实例

评论