智能设备的资产管理数据记录
使用 STEP 7 (TIA Portal) V15 及以上版本和 S7-1500 CPU 固件版本 V2.5 及以上版本时,可通过用户程序编译资产管理记录。组态为智能设备时,这些 CPU 将数据作为资产从集中插入的模块中发送到请求的 IO 控制器中。
“S7-1500 CPU”是指 S7-1500F、S7-1500T、S7-1500C 系列 CPU 以及 S7-1500 软件控制器、S7-1500pro CPU 和 ET 200SP CPU。
智能设备的资产管理记录
智能设备通常指机器设备。将 PROFINET IO 控制器分配给智能设备后,只能访问 PROFINET 接口(同样组态为 IO 设备)和机器制造商所组态的智能设备传输区域。智能设备的本地模块不可见或无法访问。
所分配的 IO 控制器则可通过资产管理记录,读取*模块并作为智能设备的资产,资产管理记录通常由智能设备中的用户程序进行编译
图片: 智能设备的资产
要求
S7-1500-CPU 固件版本 V2.5 及以上版本,并组态为智能设备
STEP 7 (TIA Portal) V15 及以上版本
如果 IO 控制器将读取资产管理记录:
需对 PROFINET IO 控制器进行相应编程,从而读取资产管理记录。
例如,对于 SIMATIC IO 控制器,可调用记录索引为 0xF880 的读取指令 (RDREC)。该指令将寻址智能设备的所有子模块。如,**个组态的传输区域子模块。
基本操作步骤
如果要求智能设备将本地模块作为资产管理记录发送到请求的 IO 控制器中,则需执行以下基本操作步骤:
在 CPU 的 PROFINET 接口属性中进行相应设置。
- 激活“IO 设备”(IO device) 操作模式
- 激活选项“使用用户程序激活资产管理”(Activate asset management using user program)
仅当选择该选项时,PROFINET 接口才会将 IO 控制器的请求转发到智能设备的用户程序中,从而读取资产管理记录。
图片: 使用数据记录激活资产管理
组态程序例程,对资产管理记录进行编译。程序部分将手收集所插入*模块中需要的 I&M0 数据,并存储在资产管理记录的数据记录结构的相应字段中。
组态程序部分,进行数据记录读取:
为此,可基于相应模式下以下模板调用指令 PRVREC(提供记录):
- 使用模式 0 循环调用指令 PRVREC(如,在循环 OB 中),识别 AMR 请求。
- 系统识别到 AM 记录请求时,PRVREC 程序需在一秒钟时间内确认该请求已识别。即,PRVREC 指令必须使用模式 2 和所需的 AM 记录进行调用。如果智能设备未在*的时间帧内进行确认,则智能设备将 IO 控制器的记录请求处理为未识别!
PRVREC 调用的组态要求:PRVREC 需使用 F_ID = 0 进行调用。即,编码为 IO 设备特定的数据记录。因此,SLOT 和 SUBSLOT 输出参数将返回值 0。
- 必须在 10 秒内完成 AM 记录,并使用模式 3 调用 PRVREC 指令(通过 AM 记录对 IO 控制器进行肯定响应)。如果智能设备未在*的时间帧内进行确认,则智能设备将 IO 控制器的记录请求处理为未识别!
有关指令 PRVREC 的详细说明和功能评估的错误代码,请参见 STEP 7 (TIA Portal) 在线帮助。
编译资产管理记录
可通过以下各种不同方式编译智能设备的资产管理记录:
建议:建议:通过西门子工业在线技术支持中的应用工具,进行资产管理记录编译。
资产管理记录的数据区域分为两部分。**部分为系统自动确定的区域,在一个资产管理块中包含智能设备插槽的 IM0 数据。*二部分包含各种用户特定的资产管理模块。可基于预组态的资产管理记录结构,组态用户特定的资产管理块,填写相关信息并发送到应用工具中。
该应用工具将执行以下操作:
- 该应用工具将确定所有资产管理块的所需空间大小,并在 CPU 的装载存储器中生成一个新的数据块。
- 该应用工具将根据资产管理记录的规范,为数据块分配参数,并使用自动确定的资产管理块和用户传送的资产管理块进行填充。
- 使用该应用工具时,上位 IO 控制器可访问资产管理记录。
有关该应用工具的介绍,请参见“应用示例”
用户可以自己创建资产管理记录。
在以下章节中,将介绍如何自行编译智能设备的资产管理记录。
并假定用户自行确定每个集中插入模块的 I&M 数据,并使用该数据填写资产管理记录。模块的 I&M0 数据中包含有关模块的基本信息。如,制造商的代码、订货号、序列号以及硬件和固件版本。这些数据在资产的 AM 记录中同样需要。
确定集中插入模块的 I&M 数据
*结构中包括一个可选插入的电源部件(插槽 0),紧随其后的是智能设备 CPU(插槽 1),之后为其它模块(如,数字量模块、模拟量模块)(插槽 2 及后续插槽)。
通过指令“Get_IM_Data”,可确定已插入模块的 I&M 数据,但 CPU 除外:
为“Get_ITEM_Data”指令分配参数时,需要硬件标识符(LADDER 输入参数)。通过指令“GEO2LOG”(确定插槽的硬件标识符),可确定每个已占用插槽的硬件标识符。
以下汇总了需执行的基本操作步骤:
在循环中,使用指令“GEO2LOG”确定已插入模块的硬件标识符。
找到的所有硬件标识符,均可使用“Get_IM_Data”指令确定 I&M 数据,并将这些数据存储在由输入参数 DATA 寻址的数据块中。使用 ARRAY of BYTE 存储数据。具体信息与上一章节中介绍的 AM 记录内容相同。
使用测得的 I&M 数据生成 AM 记录
以下章节中的信息基于 AM 记录基本结构说明,可参见上一章节。
由于 S7-1500 的各个模块都包含有硬件和固件信息,因此可为所分配的 BlockType 选择“AM_Fullinformation”编码。
所用的数据类型:
IM_Annotation、IM_OrderID、AM_SoftwareRevision 和 AM_HardwareRevision:字符 (UTF-8)
IM_SeriaNumber:除 DEL (0x7F) 字符之外的其它所有字符(“ASCII 字符”)
不能使用 String 数据类型。该数据类型需要占用更多的字节数,不符合 PROFINET 标准 61158-6-10 中的“应用层协议规范”要求
为每个模块生成 AM_FullInformationBlock,如下所示:
列表: 模块的 AM_FullInformationBlock
数据记录元素 | 说明 |
---|---|
IM_UniqueIdentifier | 根据 ISO 9834-8 标准,生成一个(伪)随机 UUID(HASH 值),如下所示: 根据该模块(插槽 2 及后续插槽)的 I&M0 数据,生成一个 8 字节的 HASH 值。 基于 CPU 的 I&M0 数据,生成一个 8 字节的 HASH 值。 IM_UniqueIdentifier 由于该算法基于 CPU 和模块的 I&M0 数据,因此可为各模块生成一个 IM_UniqueIdentifier 常量。组态发生更改时,IM_UniqueIdentifier 也将随之更改。 |
AM_Location | 字节 0 = 0x02(插槽编码),参见上一章节中的介绍。 |
IM_Annotation | 示例:“S7-1500 模块”,IM_Annotation 的剩余字节将填充为空格 (0x20)。 |
IM_OrderID | 复制该模块 I&M0 数据的 20 个字节(从 I&M0 数据偏移量 2 开始)剩余的 44 个字节将填充为空格 (0x20) |
AM_SoftwareRevision | 使用 64 个空格 (0x20) 填充该字段 |
AM_HardwareRevision | 使用 64 个空格 (0x20) 填充该字段 |
IM_Serial_Number | 复制该模块 I&M0 数据的 16 个字节(从 I&M0 数据偏移量 22 开始) |
IM_SoftwareRevision | 复制该模块 I&M0 数据的 4 个字节(从 I&M0 数据偏移量 40 开始) |
AM_DeviceIdentification | 字节 0、1、2、6、7 = 0x00 |
AM_TypeIdentification | 复制该模块 I&M0 数据的 2 个字节(从 I&M0 数据偏移量 48 开始) |
IM_HardwareRevision | 复制该模块 I&M0 数据的 2 个字节(从 I&M0 数据偏移量 38 开始) |
shtxjd.cn.b2b168.com/m/