参数STATUS (S7-300, S7-400) 参数 STATUS 的结构 STATUS 输出参数包含错误信息。如果解释为ARRAY[1...4] OF BYTE ,则错误信息的结构如 下所示: 域元素 名称 含义 STATUS[1]Function_Num • B#16#00(未发生错误时) • DPV1-PDU 函数 ID:如果发生错误,将输出B#16#80(读取数据记录:B#16#DE;写入数据记 录:B#16#DF)。如果未使用 DPV1 协议元素: B#16#C0STATUS[2] Error_Decode 错误 ID 的位置 STATUS[3] Error_Code_1 错误 IDSTATUS[4] Error_Code_2 制造商特定的错误 ID 扩展 域元素 STATUS[2] STATUS[2]的值可以为: Error_Decode (B#16#...) 源 含义 00 到 7F CPU 无错误或无警告 80 DPV1错误,符合标准 IEC 61158-6 81 到 8F CPU B#16#8x 表示该指令的第 x 个调用参数中出错。 FE, FFDP 行规 行规特定的错误 域元素 STATUS[3] STATUS[3] 的值可以为: Error_Decode(B#16#...) Error_Code _1 (B#16#...) 说明(根据 DVP1) 含义 00 00 - 无错误,无警告70 00 reserved, reject 首次调用;没有有效数据记录传送。
参数 声明数据类型 存储区 说明 TINFO (页 7675) InOut ANY I、Q、M、D、L (taskinformation) OB 启动和管理信息的目标区域 注:请注意,在 S7-300 CPU 中,参数 TINFO 通常需要指定DB 参数的所有规 范(如,P#DB13.DBX0.0 字节 100)。只有 S7-300 CPU,才可省略显 式 DB编号,否则会导致用户程序报错。 AINFO (页 7678) InOut ANY I、Q、M、D、L (alarminformation) 标头信息和附加中断信息的目标区域 对于 AINFO,长度至少为 MLEN 个字 节。 注:请注意,在S7-300 CPU 中,参数 AINFO 通常需要指定 DB 参数的所有规 范(如,P#DB13.DBX0.0 字节 100)。只有S7-300 CPU,才可省略显 式 DB 编号,否则会导致用户程序报错。 有关有效数据类型的更多信息,请参见“有效数据类型概述(页 255)”。 说明 如果选择的目标区域 TINFO 或 AINFO 太短,则指令不能输入全部信息。 另请参见“目标区域TINFO 和 AINFOError_Decode (B#16#...) Error_Code _1 (B#16#...) 说明(根据DVP1) 含义 01 reserved, reject 第一次调用;已启动数据记录传送 02 reserved, reject中间调用;数据记录传输已激活 80 90 reserved, pass 逻辑起始地址无效 92 reserved, pass ANY指针类型非法 93 reserved, pass 未组态通过 ID 或 F_ID 寻址的 DP 组件。 95 -读取附加中断信息时出错(如果是通过外部 DP 接口读取集中式或分布式 I/O 的附加中断 信息,则该错误将输出为“组错误”)。注:在连接和更新过程中,不能临时提供附 加中断信息。 96 - 主站 CPU 处于 STOP 模式。正处理一 个OB。指令“RALRM (页 7667)”不能提供 OB 启动信息、管理信息、标头信息或附加 中断信息。 OB启动信息可使用指令“RD_SINFO (页 7900)”读取。还可使用指令 “DPNRM_DG(页 7727)”,不同步读取 OB 4x、55、56、57、82 和 83 的受影响 DP 从 站的当前诊断帧(来自 OB启动信息的地址 信息)。 A0 read error 读取模块时收到否定确认。 A1 write error 写入模块时 否定确认A2 module failure 第 2 层发生 DP 协议错误(例如,从站故障 或者总线问题) A3 reserved, pass发生常规通信错误或 IO 设备/DP 从站不可访 问 A4 reserved, pass 通信总线上的通信中断Error_Decode(B#16#...) Error_Code _1 (B#16#...) 说明(根据 DVP1) 含义 A5 reserved,pass – A7 reserved, pass DP 从站或模块被占用(临时错误) A8 version conflict DP从站或模块报告版本不兼容 A9 feature not supported DP 从站或模块不支持该功能 AA 到 AF userspecific DP 从站或模块在其应用程序中报告制造商 特定的错误。请参见 DP 从站或模块制造商 提供的文档。 B0invalid index 模块无法识别数据记录 非法数据记录编号 ≥ 256 B1 write length error 参数RECORD 中指定的长度不正确: • 对于“RALRM (页 7667)”:AINFO 中的 长度错误; •对于“RDREC (页 7657)”和“WRREC (页 7660)”:MLEN 中的长度错误 B2invalid slot • 所组态的插槽 未占用。 • 对于 PROFINET IO 和 PROFIBUS DP:IO 设备/DP从站不可访问 B3 type conflict 实际模块类型 与指定的模块类型 不匹配 B4 invalid area DP从站或模块报告访问了无效区域 B5 state conflict DP 从站或模块未就绪 B6 access denied DP从站或模块拒绝访问 B7 invalid range DP 从站或模块报告参数范围或值范围无效。Error_Decode(B#16#...) Error_Code _1 (B#16#...) 说明(根据 DVP1) 含义 B8 invalidparameter DP 从站或模块报告参数无效 B9 invalid type DP 从站或模块报告类型无效 • 对于“RDREC(页 7657)”:缓冲区过小 (无法读取子集) • 对于“WRREC (页 7660)”:缓冲区过小(无法写入子集) BA 到 BF user specific DP 从站或模块在访问时报告制造商特定的 错误。请参见 DP从站或模块制造商提供的 文档。 值 B#16#BA 的注意事项:以下信息适用于 H 系统中的 PROFINET:如果带有返回值W#16#80BA 的数据记录作业被拒绝,则必 须重复执行该作业。 C0 read constrain conflict对于“WRREC (页 7660)”:只有 CPU 处于 STOP 模式时才能写入数据。注:这意味着不能由用户程序写入。只能使用 PG/PC 在线 写入数据。 对于“RDREC (页 7657)”:模块传送数据记 录,但没有数据或只有CPU 处于 STOP 模式 时才能读取数据。注:如果只有 CPU 处于 STOP 模式时才能读取数据,则不能由用户程序进行评估。此时,只能使用 PG/PC 在线 读取数据。 C1 write constrain conflict模块上前一写入作业的数据(用于同一数据 记录)尚未有模块处理。 C2 resource busy 模块正在处理 CPU 支持的Zui大作业数量。 C3 resource unavailable 所需的操作资源当前被占用。 C4 -发生内部临时错误。无法执行该作业。 重复执行该作业。如果经常发生该错误,则 需检查是否安装有电气干扰源。Error_Decode(B#16#...) Error_Code _1 (B#16#...) 说明(根据 DVP1) 含义 C5 - DP从站或模块不可用。 C6 - 由于取消了优先级,取消了数据记录传 输 C7 - 由于 DP 主站暖启动或冷启动,作业异常中 断C8 到 CF - DP 从站或模块报告制造商特定的资源错 误。请参见 DP 从站或模块制造商提供的文 档。 Dx userspecific 特定于 DP 从站。请参见 DP 从站的说明。 8x (x = 1, ... 9, A, B, C, D, E,F) 00 到 FF - 第 y 调用参数出错 (y = 1, ...15) • Error_Code_1 = 00:操作模式无效 •有关 Error_Code_1 的其它所有值,请参 见“通过输出参数 RET_VAL 评估错误 (页 184)” FE,FF 00 到 FF - 行规特定的错误 域元素 STATUS[4] 如果发生了 DPV1 错误,则 DP 主站将 STATUS[4]传递给 CPU 和该指令。无 DPV1 错误时,该 值置为 0,对于指令“RDREC (页 7657)”和“WRREC(页 7660)”,下列情况例外: • 如果 LEN > RECORD 的目标范围长度,则STATUS[4] 中包含 RECORD 的目标范围长度 • 如果实际数据记录长度 < LEN <RECORD 的目标范围长度,则 STATUS[4]=LEN • 如果 STATUS[4] 必须设置大于 255,则STATUS[4]=0。 在 PROFINET IO 中,STATUS[4] 的值为 0。