SIEMENS 西门子 S120伺服电机 1FK7022-5AK71-1LG5-Z
ReconfigIOSystem:重新组态 IO 系统 (S7-1200, S7-1500) ReconfigIOSystem:重新组态 IO 系统 (S7-1500) 说明 可使用“ReconfigIOSystem”指令将数据记录传送到 CPU 的 PROFINET 接口。此数据记录 (“CTRLREC”参数)包含以下用于控制组态的信息: • 待激活的可选 IO 设备列表 • 待指定伙伴端口的列表(如果已在 IO 设备的端口属性中设置“由用户程序设置伙 伴”(Partner is set by the user program) 选项) 说明 在 MODE 1 和 MODE 3 中,“ReconfigIOSystem”指令使用“D_ACT_DP”指令内部启用/禁用 IO 设备。因此,请遵守此指令的说明中的规则和注意事项。 另请参见“D_ACT_DP:禁用/启用分布式 I/O 设备 ”。DP 从站/PROFINET IO 设备将激活,但实际上所激活的 DP 从站/PROFINET IO 设备无法访问并显示相应的系统诊断信息。 如果随后可再次访问 DP 从站/PROFINET IO 设备,就会引起标准的系统行为(例如,调用为 此组态的 OB)。 说明 启用 DP 从站/PROFINET IO 设备可能需要一些时间。如果要取消当前正在执行的激活作业, 则可通过与 LADDR 的相同值和 MODE =2 启动“D_ACT_DP”。使用 MODE = 2 重复调用 “D_ACT_DP”,直至显示 RET_VAL =0 指示激活的作业已成功取消。 如果想启用从-从通信中的 DP 从站,建议首先启用发送器,然后启用接收器。下表列出了“D_ACT_DP”指令的参数: 参数 声明 数据类型 存储区 说明 REQ Input BOOL I、Q、M、D、L 或 常量 电平触发控制参数 REQ=1:启用或禁用运行 MODE Input USINT I、Q、M、D、L 或 常量 作业标识符 可能值: • 0:请求寻址组件 启用或禁用的信息 (通过 RET_VAL 参数输出) • 1:启用 DP 从站/PROFINET IO 设备 • 2:禁用 DP 从站/PROFINET IO 设备 LADDR Input HW_DEVICE I、Q、M、D、L 或 常量 DP 从站 (HW_DPSlave)/PROFINET IO 设备 (HW_Device) 的硬件标识符 可以从标准变量表的“系统常量”(System constants) 中获得编号。 如果该处同时指定了设备诊断的标识符以 及操作状态转换的 ID,则必须使用设备诊 断的代码。
指令版本之间的相互关系 版本为 V1.1 的指令“ReconfigIOSystem”要求“WRREC”指令的版本为 V1.1。 版本为 V1.0 的指令“ReconfigIOSystem”要求“WRREC”指令的版本为 V1.1。 功能描述 “ReconfigIOSystem”为异步执行指令,可以跨多个调用执行。在 REQ=1 时,通过调用 “ReconfigIOSystem”来启动作业。 输出参数 STATUS 和 BUSY 用于指示作业状态。 说明 “ReconfigIoSystem”运行时的限制条件 “ReconfigIOSystem”运行时,S7-1500 Motion Control 工艺数据块无法访问。 参数 下表列出了“ReconfigIOSystem”指令的参数: 参数 声明 数据类型 存储区 说明 REQ Input BOOL I、Q、M、D、L 或 常量 边沿触发控制参数 REQ=1:执行数据传送 MODE Input UINT I、Q、M、D、L 或 常量 用户可以控制指令如何使用 MODE 参数。 可以在下表中找到详细的功能描述。 可能的值: • 1:为转换相位禁用 IO 系统的所有 IO 设备 • 2:根据数据记录设置 (CTRLREC) 重新 组态 IO 系统 • 3:在重新组态后重新启用 IO 系统的所 有 IO 设备 LADDR Input HW_INTERFA CE I、Q、M、D、L 或 常量 PROFINET 接口的硬件标识符(IO 控制器) CTRLREC Input VARIANT I、Q、M、D、L 用于控制 IO 系统的实际组态的数据记录 DONE Output BOOL I、Q、M、D、L 0:指令尚未完成 1:指令已完成参数 MODE MODE 输入参数可以具有以下值: MODE 说明 1 通过以模式 1 调用该指令,可禁用 IO 系统中的所有 IO 设备。指令 “ReconfigIOSystem”将在内部调用指令“D_ACT_DP"”。“ReconfigIOSystem”将 在以下输出参数中返回由 D_ACT_DP 检测到的错误: • STATUS(错误代码) • ERR_INFO(IO 设备的硬件标识符导致发生错误)。 在 STATUS 和 ERR_INFO 中,CPU 会输入上次确定的错误/硬件标识符,并覆 盖现有错误代码。因此,还可以在输入的错误外提供其它错误。 2 为控制 IO 系统的实际组态,该指令将数据记录传送到 PROFINET 接口,该接 口通过 LADDR 寻址。有关数据记录结构的信息,请参见下文。有关用于分析 错误的 STATUS 参数,请参见下文。 3 IO 系统中的所有非可选 IO 设备和控制数据记录 CTRLREC 中列出的可选 IO 设 备已启用。 CTRLREC 数据记录中未列出的可选 IO 设备仍处于禁用状态。 如果扩展单元中的 IO 设备在 CTRLREC 控制数据记录中列出,PN IO 系统将有 以下反应: • 使用模式 3 调用 ReconfigIOSystem 时,扩展单元的 IO 设备仍处于禁用状 态。 此反应与没有组态控制的 IO 设备的组态的反应一致。扩展单元中的 IO 设 备在默认情况下禁用,并且必须在用户程序中启用。控制数据记录的结构 可以使用控制数据记录(“CTRLREC”参数)向 CPU 的 PROFINET 接口通知哪些可以选择组态 的 IO 设备在实际 IO 系统组态中可用,以及将要设置哪些端口互连。 这要求组态允许调整 IO 系统组态: • 控制数据记录中列出的 IO 设备必须作为“可选 IO 设备”启用(IO 设备属性:“PROFINET 接口 [X1] > gaoji选项 > 接口选项”(PROFINET interface [X1] > Advanced options > Interface options)。 • 仅当相应端口的伙伴端口设置为“由用户程序设置伙伴”时,控制数据记录中列出的端 口互连才可用。 参数 CTRLREC 的数据类型为“VARIANT”。“CTRLREC”控制数据记录必须具有以下结构: • ReconfigIOSystem V1.1 及以下版本:数据类型为 Word 的数组元素(用于数值寻址) • ReconfigIOSystem V1.2 及以上版本:数据类型为 UInt 的数组元(用于符号或数值寻址) 或数据类型为 Word 的数组元素(用于数值寻址) 下面介绍了具有 Word 元素数据类型的“CTRLREC”的基本结构成分。 可以在网络视图或设备视图的“系统常量”(System constants) 选项卡中直接读取所需的硬件 标识符。为此,请在网络视图(IO 设备)或设备视图(PROFINET 接口)中选择对象。 建议:通过使用硬件标识符的名称来使用硬件标识符的符号地址。制造商特定的错误 ID 扩展: • B#16#00 数据记录错误(例如填充字节值不正确,即不等于 0) • B#16#01 预留 • B#16#02 数据记录中 IO 设备的至少一个站编号无效(未组态、指向 非可选 IO 设备,或者 IO 控制器的值为 0) • B#16#03 数据记录中至少一个指定的伙伴端口无效: 示例: – 伙伴端口的子插槽地址不可用 – 伙伴端口组态不正确(正确的设置为:“由用户程序设置伙 伴”(Partner is set by the user program)) – 伙伴端口属于已禁用的 IO 设备 • B#16#10 CTRLREC 控制数据记录的版本无效(指定的版本不受支持) • B#16#11 要在 CTRLREC 控制数据记录中激活的可选 IO 设备数量不受 支持 • B#16#12 CTRLREC 控制数据记录中指定的互连数量(“在用户程序中 设置的伙伴”)不受支持 • B#16#13 硬件标识符向设备编号的内部转换失败。ERR_INFO 输出参 数包含导致出错的设备的硬件标识符。 • B#16#14 一致性错误:CTRLREC 控制数据记录的长度与控制数据记录 中的信息不匹配。示例:指定了 20 个可选 IO 设备,但控制数据记录 的长度仅为 10 个字节。转发的内部调用的 D_ACT_DP 指令的错误代码。 有关这些错误代码的含义,请参见“D_ACT_DP (页 2888)”。 IO 设备的硬件标识符会导致在 ERR_INFO 中输入错误(条目被后续错误 连续覆盖)。如果涉及多个 IO 设备,建议使用 STEP 7 进行在线诊断。 对于 IRT 组态:IO 设备的设备编号应遵守以 IO 控制器开头的拓扑互连, 采用升序,请参见此处。ReconfigIOSystem 的编程示例 (S7-1200, S7-1500) 简介 在以下示例中,将在程序中使用控制数据记录“CTRLREC”组态一个 IO 系统。目标组态应包括 一个 S7-1500 CPU、一个 IO 设备(如,ET 200MP)和一个可选的 IO 设备(如,ET 200SP)。为此,需禁用现有的 IO 系统,将组态值传送到该 CPU 的 PROFINET 接口中并启 用该 IO 设备。 有关数据记录的更多信息,请参见“数据记录类型概述。