RD_DPARA: 异步读取模块数据记录 (S7-300) 说明 使用此指令,可以读取编号为已组态系统数据中所选模块的RECNUM 的数据记录。 此读取 数据记录将输入到参数 RECORD 所覆盖的目标区域。 功能描述指令“RD_DPARA”不同步执行,即会跨过多次调用。 通过 REQ = 1 来调用该指令,即可启动 作业。 输出参数 RET_VAL和 BUSY 用于指示作业状态。 另请参见: 同步指令和异步指令之间的不同之处参数 声明 数据类型 存储区 说明 LEN OutputINT I、Q、M、D、L 所读取数据记录信息的长度 RECORD InOut ANY I、Q、M、D、L所读取数据记录所在的目标区域 注: 注意,对于 S7-300 CPU,参数 RECORD 需要 DB 参数的所有技术数据(例如,P#DB13.DBX0.0 字节 100)。只 有 S7-300 CPU,才可省略显式 DB 编号,否则会导致用户程序报错。
下表列出了指令“RD_DPARA”的参数: 参数 声明 数据类型 存储区 说明 REQ Input BOOLI、Q、M、D、L REQ = 1:读取请求 LADDR Input WORD I、Q、M、D、L 或 常量 模块的任何地址。对于输出地址,必须 设置Zui高有效位。 RECNUM Input BYTE I、Q、M、D、L 或 常量 数据记录编号(取值范围: 0至 240) RET_VAL Return INT I、Q、M、D、L 如果执行指令时出错,则返回值中会包 含一个错误代码。如果传送过程中未发生错误,则有以下 两种不同情况: • 如果目标区域大于读取数据记录,则 RET_VAL 包含实际读取的数据记录的长度(字节)。 • 如果读取数据记录等于目标区域的长 度,则 RET_VAL =“0”。 BUSY Output BOOLI、Q、M、D、L BUSY = 1:作业仍未完成。 RECORD Output ANY I、Q、M、D、L所读取的数据记录的目标区域。 数据类 型只能为“BYTE ”。 注: 注意,对于 S7-300 CPU,参数 RECORD 需要 DB参数的所有技术数据 (例如,P#DB13.DBX0.0 字节 100)。 只有 S7-300 CPU,才可省略显式 DB 编号,否则会导致用户程序报错。 有关有效数据类型的更多信息,请参见“有效数据类型概述。PARM_MOD: 传送模块数据记录(S7-300, S7-400) 说明 可使用指令“PARM_MOD”将模块的所有已组态数据记录传送到该模块。通过此指令,数据记录是静态还是动态无关紧要。 参数 下表列出了“PARM_MOD”指令的参数: 参数 声明 数据类型 存储区 说明 REQ InputBOOL I、Q、M、D、L REQ= 1:写请求 IOID Input BYTE I、Q、M、D、L 或 常量 地址区域标识符: •B#16#54 = 外设输入 (PI) • B#16#55 = 外设输出 (PQ) 如果模块是混合型模块,则必须指定低位地址区域标识符。如果这些地址相同,则 指定 B#16#54。 LADDR Input WORD I、Q、M、D、L 或 常量模块的逻辑基本地址。对于混合模块,必 须指定两个地址中较低的地址。 RET_VAL Return INT I、Q、M、D、L在指令执行过程中如果发生错误,则返回 值将包含错误代码。 BUSY Output BOOL I、Q、M、D、L BUSY =1:写入过程尚未完成。 有关有效数据类型的更多信息,请参见“有效数据类型概述。错误信息 “实际”错误信息(错误代码W#16#8xyz)可分为以下两类: • 临时错误(错误代码 W#16#80A2 至 80A4、80Cx):此类错误无需用户介入即可避免,可调用指令(根据需要,可多次调用)。 临时错误举例:当前正在使用的必要资源(W#16#80C3)。• yongjiu错误(错误代码 W#16#809x,80A1,80Bx,80Dx):这类错误代码不能自行修正。只有在消除该错误之后,重新尝试调用该指令才会成功。 yongjiu错误举例:要传送的数据记录的长度不正确(W#16#80B1)。 说明 如果使用指令 WR_PARM、WR_DPARM 或 PARM_MOD 将数据记录传送到 DPV1从站,并 且该从站在 DPV1 模式下运行,则 DP 主站通过以下方式来评估所接收的错误信息: 如果错误信息在 W#16#8000 ~W#16#80FF 或 W#16#F000 ~ W#16#FFFF 范围内,则 DP主站会将错误信息传送给指令。如果错误信息超出该范围,则 DP 主站会将值 W#16#80A2 传送给指令,并将从站挂起。指令“RD_DPARM (页 7812)”、“WR_PARM (页 7813)”、“WR_DPARM(页 7814)”和 “PARM_MOD”的显示。RD_DPARM: 读取已组态系统数据中的数据记录 (S7-400) 说明使用此指令,可以读取编号为已组态系统数据中寻址模块的 RECNUM 的数据记录。 此读取 数据记录将输入到参数 RECORD所覆盖的目标区域。 参数 下表列出了指令“RD_DPARM”的参数: 参数 声明 数据类型 存储区 说明 IOID InputBYTE I、Q、M、D、L 或 常量 地址区域标识符: • B#16#54 = 外设输入 (PI) • B#16#55 = 外设输出(PQ) 如果模块是混合型模块,则必须指定低位 地址区域标识符。如果这些地址相同,则 指定 B#16#54。 LADDR InputWORD I、Q、M、D、L 或 常量 模块的逻辑基本地址。 对于混合型模块, 必须指定这两个地址中的较低地址。 RECNUMInput BYTE I、Q、M、D、L 或 常量 数据记录编号(取值范围: 0 至 240) RET_VAL Return INTI、Q、M、D、L 如果读取数据记录与目标区域匹配且在传 送过程中未发生错误,则是所读取的数据 记录的长度(字节)。如果执行指令时出错,则返回值中会包含 一个错误代码。 RECORD Output ANY I、Q、M、D、L所读取的数据记录的目标区域。数据类型 只能为“BYTE ”。 有关有效数据类型的更多信息,请参见“有效数据类型概述。WR_PARM:写入模块数据记录 (S7-300, S7-400) 说明 使用此指令,可以将数据记录 RECORD 传送到寻址的模块。传送到该模块的参数不会覆盖 在组态过程中创建的参数。 要求 要传送的数据记录不能是静态的。模块描述中提供了有关哪些模块数据记录是静态数据记 录的信息。 参数 下表列出了指令“WR_PARM”的参数: 参数 声明 数据类型存储区 说明 REQ Input BOOL I、Q、M、D、L REQ = 1:写请求 IOID Input BYTEI、Q、M、D、L 或 常量 地址区域标识符: • B#16#54 = 外设输入 (PI) • B#16#55 = 外设输出 (PQ)如果模块是混合型模块,则必须指定低位地 址区域标识符。如果这些地址相同,则指定 B#16#54。 LADDR Input WORDI、Q、M、D、L 或 常量 模块的逻辑基本地址。对于混合型模块,必 须指定这两个地址中的较低地址。 RECNUM InputBYTE I、Q、M、D、L 或 常量 数据记录编号 RECORD Input ANY I、Q、M、D、L 数据记录 注: 注意,对于S7-300 CPU,参数 RECORD 需要 DB 参数的所有技术数据(例 如,P#DB13.DBX0.0 字节 100)。 只有S7-300 CPU,才可省略显式 DB 编号,否则 会导致用户程序报错。参数 声明 数据类型 存储区 说明 RET_VALReturn INT I、Q、M、D、L 指令执行期间,如果出现错误,则返回值会 包含相应的错误代码。 BUSY OutputBOOL I、Q、M、D、L BUSY = 1:写入过程尚未完成。 有关有效数据类型的更多信息,请参见“有效数据类型概述(页 255)”。 参数 RECORD 在第一次调用时,要传送的数据从参数 RECORD 中读取。如果数据记录的传送时间长于一 次调用的时间,则参数 RECORD 的内容不再与后续指令调用相关(对于同一作业)。 参数 RET_VAL另请参见: PARM_MOD: 传送模块数据记录 (页 7809). 说明 仅对 S7-400 如果发生常见错误W#16#8544,则只表示不能访问存储有数据记录的 I/O 存储区的任何字 节。 数据传送继续。 参见同步指令和异步指令之间的不同之处 (页 6480) WR_DPARM: 传送数据记录 (S7-300, S7-400) 说明使用此指令,可以将编号为 RECNUM 的数据记录从组态数据传送到寻址模块。 使用此指令时,数据记录是静态还是动态无关紧要。下表列出了指令“WR_DPARM”的参数: 参数 声明 数据类型 存储区 说明 REQ InputBOOL I、Q、M、D、L REQ = 1:写请求 IOID Input BYTE I、Q、M、D、L 或 常量 地址区域标识符:• B#16#54 = 外设输入 (PI) • B#16#55 = 外设输出 (PQ) 如果该模块是混合模块,则必须指定低位地址的区域标识符。如果地址相同,则必 须指定 B#16#54。 LADDR Input WORD I、Q、M、D、L 或 常量模块的逻辑基本地址。对于混合模块,必 须指定两个地址中较低的地址。 RECNUM Input BYTE I、Q、M、D、L 或 常量数据记录编号 RET_VAL Return INT I、Q、M、D、L 如果执行指令时出错,则返回值中会包含 一个错误代码。 BUSYOutput BOOL I、Q、M、D、L BUSY = 1:写入过程尚未完成。有关有效数据类型的更多信息,请参见“有效数据类型概述。