PE_Measurement_Value_RSP: 生成所查询的测量值作为应答 (S7-300) 说明辅助块“PE_Measurement_Value_RSP”将生成对命令 Get_measurement_values (页 7783)的 响应。 在此响应中,将返回所请求的测量值。 参数 下表列出了“PE_Measurement_Value_RSP”辅助块的参数:参数 声明 数据类型 存储区 说明 PE_I_DEV_NE W Input BOOL I、Q、M、D、L 或 常数该参数必须与“PE_I_DEV (页7785)”指令的 输出参数 NEW 进行互连。仅当参数值设为 “1”时才会处理辅助块。 CMDInput INT I、Q、M、D、L 或 常数 PROFIenergy 命令的 Service-Request-ID该参数必须与“PE_I_DEV (页7785)”指令的 输出参数 CMD 进行互连。 CMD_MODIFI ER Input INTI、Q、M、D、L 或 常数 PROFIenergy 子命令(仅当 CMD=3,或 CMD=16 时,才进行评估)。 该参数必须与“PE_I_DEV”指令的输出参数 CMD_MODIFIER 进行互连。 Count Input BYTE I、Q、M、D、L 或常数 测量值的数目 (Measurement_Values) Measurement _Values Input ANY D指向具有测量值 (Measurement_IDs) 数组 的指针。 有关基于 PROFIenergy 配置文件的数组结构信息,请参见“PI 命令 “Query_Measurement”- “Get_Measurement_values”(页 7783)” ACTIVATE InOut BOOL I、Q、M、D、L 在输入 ACTIVATE的上升沿处,该指令将输 入参数复制到 DATA_ERROR_RSP 数据区 中。通过该指令复位此参数。 当“PE_I_DEV(页 7785)”指令的参数 NEW 处检测到上升沿后,必须 10 秒内设置参数。
参数 声明 数据类型 存储区说明 CMD_MODIFI ER Input INT I、Q、M、D、L 或 常数 PROFIenergy 子命令(仅当CMD=3,或 CMD=16 时,才进行评估)。该参数必须 与“PE_I_DEV”指令的输出参数 CMD_MODIFIER 进行互连。Count Input BYTE I、Q、M、D、L 或 常数 所支持的测量值数目(测量 ID) Measurement _ ListInput ANY D 指向具有所支持 Measurement_ID 数组的 指针。 有关基于 PROFIenergy配置文件的数组结 构信息,请参见“PI 命令 “Query_Measurement”- “Get_Measurement_list”(页 7780)” ACTIVATE InOut BOOL I、Q、M、D、L 在输入 ACTIVATE的上升沿处,该指令将 输入参数复制到 DATA_ERROR_RSP 数据 区中。通过该指令复位此参数。 当“PE_I_DEV(页 7785)”指令的参数 NEW 处检测到上升沿后,必须 10 秒内设 置参数。 VALID InOut BOOLI、Q、M、D、L 该参数必须与“PE_I_DEV (页7785)”指令 的输入 VALID 进行互连。 PROFIenergy控制器的响应数据准备就绪 可进行传送时,辅助块即可设置该参数。 DATA_ ERRORRSP InOut ANY D指向存储响应数据的数据区的指针。此参 数与指令“PE_I_DEV (页 7785)”中 DATA_ERRORRSP的指针相同。所寻址的 数据区中包含完整的 PROFIenergy 帧。 Zui小长度:244 个字节 ERROR Output BOOLI、Q、M、D、L • "0": 无错误 • "1": 出错。 STATUS Output WORD I、Q、M、D、L • "0":无错误 • “0x80B1”:ANY 设置错误,如范围不 正确 有关有效数据类型的更多信息,请参见“有效数据类型概述。参数 声明数据类型 存储区 说明 VALID InOut BOOL I、Q、M、D、L 该参数必须与“PE_I_DEV (页7785)”指令的输入 VALID 进行互连。 PROFIenergy 控制器的响应数据准备就绪可 进行传送时,辅助块即可设置该参数。 DATA_ERRORRSP InOut ANY D 指向存储响应数据的数据区的指针。此参数 与指令“PE_I_DEV(页 7785)”中 DATA_ERRORRSP 的指针相同。所寻址的数 据区中包含完整的 PROFIenergy 帧。Zui小长度:244 个字节 ERROR Output BOOL I、Q、M、D、L • "0": 无错误 • "1": 出错。STATUS Output WORD I、Q、M、D、L • "0": 无错误 • “0x80B1”:ANY 设置错误,如范围不正 确有关有效数据类型的更多信息,请参见“有效数据类型概述。模块参数分配 (S7-300, S7-400) 写入和读取数据记录(S7-300, S7-400) 原理 某些模块具有一个只写系统数据区域,程序可向该区域传送数据记录。 此数据存储的数据 记录编号从0 一直到 240。不是每个模块都包含所有数据记录(见下表)。 模块还可能具有一个只读系统数据区域,程序可从该区域读取数据记录。此数据存储的数 据记录编号从 0 一直到 240。不是每个模块都包含所有数据记录(见下表)。 说明 有些模块具有这两个系统数据区域。它们是两个分开的区域,唯一的共同点是它们的逻辑 结构相同。只写系统数据区域 下表说明了只写系统数据区域的结构,各个数据记录的允许大小,以及可向该区域写入的 指令。 数据记录编 号 内容 大小 限制 可使用指令写入 0 参数 对于 S7-300:2 到 14 个字节 只能由 S7-400 写 入 WR_DPARM (页 7814) PARM_MOD(页 7809) 1 参数 对于 S7-300: 2 到 14 个字节 (数据记录 0 和 1 一 起共有 16 字节。)- WR_PARM (页 7813) WR_DPARM (页 7814) PARM_MOD(页 7809) 2 到 127 用户数据 每个 ≤ 240 字节 - WR_PARM (页 7813)WR_DPARM (页 7814) PARM_MOD (页 7809) WR_REC (页 7697)128 到 240 参数 每个 ≤ 240 字节 - WR_PARM (页 7813) WR_DPARM(页 7814) PARM_MOD (页 7809) WR_REC系统资源如果以较短时间间隔依次启动多个不同步的数据记录传送,则由操作系统分配系统资源可确 保执行所有作业,各个作业之间不会相互干扰。如果达到系统资源的限制,则这种情况将在 RET_VAL 中加以指示。 只需将作业重复,即可 补救这种临时错误状况。一个指令类型可处于激活状态的作业的Zui大数目取决于 CPU。 RD_DPAR: 读取模块数据记录 (S7-300, S7-400)说明 使用此指令,可以读取编号为已组态系统数据中寻址组件的 INDEX 的数据记录。 该组件可以是中央机架中的一个模块或一个分布式组件(PROFIBUS DP 或 PROFINET IO)。 输出参数 VALID 的值 TRUE表示数据记录已成功传送到目标区域 RECORD。 此时,LEN 输出 参数包含所读取数据的长度(字节)。如果在传送数据记录过程中出现错误,则由输出参数 ERROR 表示。此时,输出参数 STATUS 包含错误信息。功能描述指令“RD_DPAR”不同步执行,即会跨过多次调用。 通过 REQ = 1 来调用“RD_DPAR”,即可启 动数据记录传送。输出参数 BUSY 和输出参数 STATUS 的第 2 个和第 3 个字节用于显示作业状态。 STATUS 的 第 2 个和第 3个字节与不同步执行的指令的输出参数 RET_VAL 一致。 另请参见: 同步指令和异步指令之间的不同之处 (页 6480).如果 BUSY 输出参数的值为 FALSE,表明数据记录传输已完成。 参数 下表列出了指令“RD_DPAR”的参数: 参数 声明数据类型 存储区 说明 REQ Input BOOL I、Q、M、D、L REQ = 1:读取请求 LADDR Input WORDI、Q、M、D、L 或 常量 模块的任何逻辑地址 位 15 指示是否存在输入地址(位 15 = 0)或输出地址(位 15 = 1)。INDEX Input INT I、Q、M、D、L 或 常量 数据记录编号 VALID Output BOOL I、Q、M、D、L已收到新的数据记录,并且有效 BUSY Output BOOL I、Q、M、D、L BUSY = 1:作业仍未完成。 ERROROutput BOOL I、Q、M、D、L ERROR = 1:读取过程中发生错误。 STATUS Output DWORDI、Q、M、D、L • 调用 ID(字节 2 和 3)或错误代码 • 字节 1: B#16#00,未出错时。 否则 为DPV1-PDU 的函数 ID: 在数据记录 读取 B#16#DE 出错时,在数据记录写 入 B#16#DF 出错时。 如果没有使用DPV1 协议元素: B#16#C0。 • 字节 4: 制造商特定的错误 ID 扩展。