使用什么格式的Inventory命令的用户数据以匹配Inventory数据结构?

可以使用“Deserialize”功能块(块版本V1.2; S7-1200固件> = V4.2和S7-1500固件> = V2.0)将Inventory命令的Inventory数据传输到可用的Inventory数据结构中。
如果使用优化的块,而且版本V1.2的“Deserialize”功能块在您的控制器中不可用,则可以使用AT构造来获取数据到所需的结构中。

可用的Inventory数据结构
下表列出了Inventory可用的数据结构。要使用的数据类型取决于所选的Inventory属性。

属性 数据类型 阅读器系统
0x00 IID_INVENT_00_MOBY_U MOBY U
0x83 IID_INVENT_82_83_RF600 RF620R, RF630R读取 EPC-ID/UID
0x83, 0x90, 0x92 IID_INVENT_8x_9x_RF6_D RF620R, RF630R读取 Handle ID
0x85 IID_INVENT_85_RF600 RF620R, RF630R
0x80, 0x81 结构必须根据标签的数量来创建。 请参阅下表。 RF680R, RF685R

下表解释了Inventory属性0x80和0x81的数据结构

名称 数据类型 注释
NUM_MDS WORD 已识别的发送应答器数量
TAG_DATA Array[1..X] of IID_IN_I_80
or
Array[1..X] of IID_IN_I_81
数组的大小根据预期的发送应答器数量进行选择。

有关数据结构和Inventory命令的更多信息可在以下手册中找到
SIMATIC Ident RFID Systems Ident Profile and Ident Blocks, Standard Function for Ident Systems.

使用“Deserialize”指令将inventory数据转换为可接受的数据结构
以下按步骤说明如何使用“Deserialize”指令将Inventory数据转换为可接受的数据结构:

  1. 准备Inventory:
    创建一个执行Inventory命令和转换的功能。此外,还需创建一个“字节数组”类型的变量。
  2. 准备Inventory数据类型的变量:
    使用适当的Inventory数据类型创建变量。您必须根据所用的Inventory属性选择数据类型。请参阅该FAQ问题的表格。

    示例1:Inventory属性0x80的数据结构,数据块中最多支持10个发送应答器。

    使用什么格式的Inventory命令的用户数据以匹配Inventory数据结构?

    示例2:Inventory属性0x81的数据结构,数据块中最多支持10个发送应答器。

    使用什么格式的Inventory命令的用户数据以匹配Inventory数据结构?

    注意
    在TIA Portal项目中首次使用时,可用的数据类型不会显示在数据类型选择列表中。为了使用这些数据类型,必须手动输入数据类型的名称(例如,IID_IN_I_81)。第一次使用后,数据类型将包含在项目和选择列表中。

  3. 执行Inventory块:
    在功能块中执行Inventory命令。为此,您可以调用“Inventory”或“Ident_Profile”块并参数化块接口以满足要求。必须使用先前创建的“字节数组”关联IDENT_DATA参数。

    使用什么格式的Inventory命令的用户数据以匹配Inventory数据结构?

  4. 执行"Deserialize" 指令:
    成功执行Inventory(完成位)后,调用“Deserialize”块。Inventory数据的字节数组传输到参数SRC_ARRAY。具有Inventory结构的变量将传递给参数DEST_VARIABLE。POS参数指示有多少字节将被反序列化。该指令可以通过返回值RET_VAL进行诊断。

    使用什么格式的Inventory命令的用户数据以匹配Inventory数据结构?

通过AT构造将Inventory数据转换为适当的数据结构
以下按步骤说明如何通过AT构造将Inventory数据转换为适当的数据结构:

  1. 准备Inventory:
    创建一个执行Inventory命令和转换的功能块。此外,还需在功能块的静态区域中创建“字节数组”类型的变量。将变量的保持性更改为“在IDB中设置”。
  2. 准备Inventory数据类型的变量:
    使用适当的Inventory数据类型或使用结构模拟数据类型创建变量。您必须根据所用的“Inventory”属性选择数据类型。请参阅该FAQ问题的表格。

    注意

    使用属性80/81时,变量必须是匹配的数据类型。 结构是不允许的。
  3. 使用AT构造:
    使用AT构造覆盖变量。TIA帮助(“F1”)中提供了所有关于“AT与重叠标签”的信息,搜索“使用AT重叠标记”或浏览导航区域中的以下路径:"信息系统>对PLC 进行编程>编程基本知识>操作数的使用和寻址>寻址操作数>数据块中的变量寻址>使用AT覆盖变量”

    使用什么格式的Inventory命令的用户数据以匹配Inventory数据结构?

  4. 执行Inventory块:
    在功能块中执行Inventory命令。为此,您可以调用“Inventory”或“Ident_Profile”块并参数化块接口以满足要求。必须使用先前创建的“字节数组”关联IDENT_DATA参数。
    使用什么格式的Inventory命令的用户数据以匹配Inventory数据结构?
  5. 成功执行Inventory(完成位)后,Inventory数据将自动定位到已创建的结构/数据类型中。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc342573.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论