Get_IM_Data:读取标识及维护数据 (S7-1200, S7-1500) 说明“Get_IM_Data”指令从设备读取标识和维护数据 (I&M)。使用 LADDR 参数选择通过硬件标识 符读取I&M 的设备。 使用参数 IM_TYPE,可选择该指令读出的数据: • IM_TYPE = 0:I&M 0 数据I&M 0 数据是设备的设备特定基本信息,包含制造商 ID、订货号、序列号以及硬件和固 件版本等信息。只能对I&M 0 数据进行读取访问。该信息还可以通过设备的“在线与诊 断”视图显示在 TIA Portal 中。 • IM_TYPE= 11:CPU 参数分配数据中的 I&M 1 数据 I&M 1数据包含设备的功能描述和位置名称。即,工厂内有关该设备的设计信息。 • IM_TYPE = 12:CPU 参数分配数据中的I&M 2 数据 I&M 2 数据包括安装日期,即,有关设备何时安装在工厂中的信息。 •IM_TYPE = 13:CPU 参数分配数据中的 I&M 3 数据 I&M 3数据包含有关已安装设备的其它信息。附加信息是自由文本,可根据需要进行分配。 I&M 数据读取将写入 DATA参数定义的寻址区域内。 读取作业的执行状态通过 BUSY、DONE、ERROR 输出参数和 STATUS 输出参数的中间两个字节显示。 定义:标识和维护数据 (I&M) 标识和维护 (I&M)数据是指存储在某个模块中的信息,该模块有助于检查工厂组态、查找工 厂中的硬件更换并消除错误。 • 标识数据(I数据)是设备的只读静态信息。 • 维护数据(M 数据)信息与设备相关,例如,安装位置或日期。维护数据在组态期间创建并随后写入模块中。
下表列出了“Get_IM_Data”指令的参数: 参数 声明 数据类型 存储区 说明 LADDR InputHW_IO I、Q、M、D、L 或常量 设备的硬件 ID。该编号由系统自动分配并存 储在设备属性或硬件配置中。 IM_TYPEInput UINT I、Q、M、D、L 或常量 标识和维护数据的编号 可能的值: • 0:I&M 0 数据 • 11:CPU参数分配数据中的 I&M 1 数据 • 12:CPU 参数分配数据中的 I&M 2 数据 • 13:CPU参数分配数据中的 I&M 3 数据 DATA InOut VARIANT I、Q、M、D、L用于存储读取标识与维护数据的区域(请参 见下文)。 DONE Output BOOL I、Q、M、D、L 指令执行成功。I&M数据被传送到 DATA 参 数。 BUSY Output BOOL I、Q、M、D、L 状态参数 •0:指令已执行完成或尚未开始执行。 • 1:指令的执行尚未完成。 ERROR Output BOOL I、Q、M、D、L 状态参数 •0:无错误。 • 1:指令执行过程中发生错误。 详细信息将在 STATUS 参数中输出。 STATUS Output WORDI、Q、M、D、L 状态参数 该参数仅设置为用于一个调用周期。要显示该内容,需将 STATUS 复制到一个空 闲数据区内。有关数据类型的更多详细信息,请参见“有效数据类型概述。I&M 0 数据的参数 DATA 可使用数组 (ARRAY ofBYTE) 或特定的数据结构存储 I&M 0 数据: • 如果通过参数 DATA 寻址数组 (ARRAY ofBYTE),读取的 I&M 0 数据将作为字节序列复制 到 DATA中。如果寻址的数组比读取的数据长,不需要的字节将使用零填充。 • 对于 I&M 0数据,以下“IM0_Data”结构也可用于 DATA 参数:I&M 1、I&M 2 和 I&M 3 数据的DATA 参数 I&M 数据可通过字符串 (STRING) 或数组 (ARRAY of CHAR/BYTE) 进行保存: •如果在 DATA 参数处寻址字符串(STRING 数据类型),则该字符串的长度将自动调节为 读取的 I&M 数据长度(Zui多254 个字符)。 • 如果在 DATA 参数处寻址数组 (ARRAY of CHAR/BYTE),则读取的 I&M数据将写入所用数 据类型的各组成中。如果所寻址的数组长度大于读取的数据,则剩余部分将填入零。在以下示例中,将读取 S7-1500CPU 的 IM0 数据。IM0 数据是设备的基本信息,包含制造商 ID、订货号、序列号以及硬件和固件版本等信息。 在全局数据块中创建4 个变量和一个结构(数据类型为 IM0_Data),用于存储 IM0 数据。此时,可为该结构指定任意名称(“MyPLC_IM_Data”)。在 LADDR 参数中输入 CPU的硬件标识符。硬件标识符唯一地标识产品。要确定 CPU 的硬件 标识符,请打开 PLC 变量表和“系统常量”(Systemconstants) 选项卡。在“名称”(Name) 列中搜索 CPU。关联值是您在 LADDR参数中输入的硬件标识符。GET_NAME:读取 IO 设备或 DP 从站的名称 (S7-1200, S7-1500) 说明“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 参数指定的区域,则将只写入寻址区域的Zui大长度的部分名称。下表列出了“GET_NAME”指令的参数: 参数 声明 数据类型 存储区 说明 LADDRInput HW_IOSYSTE M I、Q、M、D、L 或 常量 PROFINET IO 或 DP 主站系统的硬件标识符该值来自系统常量或 PROFINET IO 系 统/ DP 主站系统的属性。 STATION_NR Input UINTI、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 复制到一个空闲数据区内。有关有效数据类型的更多信息,请参见“有效数据类型概述,HMI 面板的组态: •在网络视图中创建站名称为“HMI_IO-Device”的 HMI 面板,并分配给相同 CPU 的 PROFINET IO 系统。 •在硬件配置的属性中激活该 HMI 面板的操作模式“IO 设备”,并将 CPU 指定为 IO 控制器。 •在“以太网地址”(Ethernet addresses) 下的属性内,设置设备编号“20”创建以下变量,在全局数据块中进行数据存储:为指令“GET_NAME”分配参数: • 在输入参数 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”。GetStationInfo: 读取 IO 设备的信息 (S7-1200,S7-1500) 有效性 下述信息适用于以下 IO 设备: • S7-1500 CPU 中的 S1 型 IO 设备(MODE 1固件版本 V1.1 及以上版本,MODE 2 固件版本 V1.5 及以上版本) • S7-1500R/H CPU 中的 S2 型 IO设备,固件版本 V2.6 及以上版本 • S7-1500H CPU 中的 R1 型 IO 设备,固件版本 V3.0 及以上版本 说明使用“GetStationInfo”指令,可读取 PROFINET IO 设备的地址信息。该指令还可读取下位 IO 系 统中 IO设备的地址信息(通过 CP/CM 连接)。 在 LADDR 参数处,IO 设备通过站的硬件标识符寻址。硬件标识符显示在站属性的“设备与网络”(Devices & Networks) 视图中。 通过 MODE 参数,选择要读取的信息。 在 DATA参数处,可指定所读取地址数据将写入的数据区。使用“IF_CONF_v4”结构存储 IP 地 址。使用“IF_CONF_MAC”结构存储MAC 地址。 使用 REQ 控制参数启用地址数据读取。这需要能够访问 IO 设备。 读取作业的执行状态通过BUSY、DONE、ERROR 输出参数和 STATUS 输出参数显示。 说明 仅使用站的硬件标识符寻址 IO 设备 站、IO 设备和PROFINET 接口都具有各自的硬件标识符。对于“GetStationInfo”指令,仅使用 站的硬件标识符。 例如,如果通过参数LADDR 寻址 PROFINET 接口,则不读取该地址数据,并生成 8092 错误 代码。 要读取集成 PROFINET接口或集中组态中 CM/CP 的地址数据,使用“RDREC”指令。