SIEMENS西门子 ET200S 输出模块 6ES71324BB010AB0
DPSTATUS - DP_RECV 参数 (S7-300, S7-400) DPSTATUS DP 主站模式和 DP 从站模式的 DPSTATUS 输出参数的编码不同。NDR ERROR STATUS 含义 0 1 8F32H 参数包含的 DB 编号太大。 0 1 8F33H DB 编号错误。 0 1 8F3AH 没有装载目标区域(DB)。 0 1 8F42H 从 I/O 区域中读取参数超时。 0 1 8F43H 将参数写入 I/O 区域超时。 0 1 8F44H 在访问路径中要读取的参数地址被禁用。 0 1 8F45H 在访问路径中要写入的参数地址被禁用。 0 1 8F7FH 内部错误,例如,非法 ANY 引用。 0 1 8090H 不存在拥有该地址的模块。 0 1 8091H 逻辑基址不是一个双字边界。 0 1 80A0H 读取模块时的否定确认。 0 1 80B0H 该模块不能识别数据记录。 0 1 80B1H 要发送的数据字节的数目超出该服务的上限(适用于 DP 主站和 DP 从站模式)。 0 1 80C0H 无法读取数据记录。 0 1 80C1H 当前正在处理所指定的数据记录。 0 1 80C2H 未决的作业太多。 0 1 80C3H 资源已占用(储存器)。 0 1 80C4H 通信错误(临时发生,通常建议在用户程序中重复执行该作业)。 0 1 80D2H 逻辑基址错误。
DP 主站模式中的 DPSTATUS 的位含义 位 含义 7 没有使用 6 该位未设置。 请阅读手册中的信息。 5, 4 DP 主站的 DPSTATUS 的数值: 00 RUN 01 CLEAR 10 STOP (现在是 OFFLINE 模式) 11 OFFLINE 请阅读手册中的信息。 3 值 1: 周期性同步处于活动状态 2 值 0: 不存在新的诊断数据 数值 1: 评估可用的诊断列表;至少一个站有新的诊断数据。 1 值 0: 所有 DP 从站都处于数据传送阶段 数值 1: 评估站列表有效 0 DP 模式 值 0: DP 主站模式 当没有设置该位时,其他位只具有指定的含义。DP 从站模式中的 DPSTATUS 的位含义 位 含义 7-5 没有使用 4 该位未设置。 请阅读手册中的信息。 3 该位未设置。 请阅读手册中的信息。 2 值 1: DP 主站 1 处于 CLEAR 模式。 DP 从站在用于输出的 DP 数据中接收数值 0。 这对已发送的发送 数据没有影响。 1 值 1: 还未完成组态/参数分配。 0 值 1: DP 从站模式: 当设置该位时,其他位只具有指定的含义。 说明 请注意,在设置返回参数 NDR=1 之前,禁止计算 DPSTATUS。DP_DIAG (S7-300, S7-400) 说明 DP_DIAG 指令用于请求诊断信息。 可以使用下列作业类型: • 请求 DP 站列表 • 请求 DP 诊断列表; • 请求 DP 单个状态; • 非周期性地读取 DP 从站的输入/输出数据 • 读取较早的 DP 单个诊断信息• 读取 DP 状态。 • 读取用于 PLC/CP 停止的 DP 模式 • 读取 DP 从站的当前状态。 通过指定一个站地址,还可以为一个指定的从站请求诊断数据。 为了将诊断数据传送到 CPU,应该在 CPU 中保留一个内存区域,然后在调用中指定该区域。 该内存区域可以是一个数据块区或一个位存储区。 还可以在作业中指定可用内存区域的Zui 大长度。 说明 DP_DIAG 指令只有在 DP 主站模式下才有实际用途。 例外 只要运行着该指令,就不能为该指令提供新的作业数据。 例外情况: 请求 DP 站列表或 DP 诊断列表时。DP_DIAG 的参数 (S7-300, S7-400) 形式参数的说明 下表对 DP_DIAG 指令的所有形式参数进行了说明: 参数 声明 数据类型 取值范围 说明 CPLADDR INPUT WORD 模块起始地址 当组态 CP 时,在组态表中显示模块的起始地 址。 在此指定该地址。 DTYPE INPUT BYTE 0: 站列表 1: 站列表 2: 当前诊断信息 3: 原诊断信息 4: 读取 状态 5: 读取 CPU 的 STOP 状态 6: 读取 CP 的 STOP 状态 7: 读取输入数据 (非周期地) 8: 读取输出数据 (非周期地) 10: 读取 DP 从站的 当前状态 诊断类型 站 INPUT BYTE DP 从站的站地址 DIAG INPUT ANY (仅下列类型 允许作为 VARTYPE: BYTE、 WORD 和 DWORD) 长度必须设置在 1 至 240 之间 指定地址和长度 数据区地址。 引用下列选项: • PI 区 • 存储器位区 • 数据块区参数 声明 数据类型 取值范围 说明 NDR OUTPUT BOOL 0: - 1:新数据 该参数指示是否已接受新数据。 对于与 ERROR 和 STATUS 参数一起使用时的含 义,请参见参数 NDR、ERROR 和 STATUS (页 9274) ERROR OUTPUT BOOL 0: - 1:错误 故障代码 对于与 NDR 和 STATUS 参数一起使用时的含 义,请参见参数 NDR、ERROR 和 STATUS (页 9274)。 STATUS OUTPUT WORD 参见列表 状态代码 对于与 NDR 和 ERROR 参数一起使用时的含 义,请参见参数 NDR、ERROR 和 STATUS (页 9274)。 DIAGLNG OUTPUT BYTE 参见列表 这包含通过 PROFIBUS CP 可以使用的数据的 实际长度(单位为字节),与在 DIAG 参数中指 定的缓冲区大小无关。 以下说明适用于具有 DTYPE 4、5 和 6 的作业 类型 此时,DIAGLNG 的值总是“1”。 DIAG 参数中 返回的值因而与评估无关。 在此情况下,相 关值包含在 STATUS 参数中。DP_DIAG 的作业类型 DTYPE 对应的 作业 参数 站 DIAGLNG 确认代码 (包含在 STATUS 参数中,如表“DP_DIAG 代码”所示) 0 读取 DP 站列 表 --- - 忽略 - 通过 DP 站列表,可以在用户程序中获取有关状态和 DP 从站可用性的信息。DP 站列表中的信息与通过组 态分配给 DP 主站的所有 DP 从站相关。 1 读取 DP 诊断列 表 --- - 忽略 - DP 诊断列表提示 CPU 关于 DP 从站的新诊断数据信 息。 2 读取当前 DP 单 个诊断数据 1...126 >=6 当前 DP 单个诊断数据会将 DP 从站的当前诊断数据告 知给 CPU 程序。 3 读取较早的 DP 单个诊断信息 1...126 >=6 较早的 DP 单个诊断数据会将 DP 从站较早的诊断数据 告知给 CPU 程序。该数据存储在 PROFIBUS CP 上,并 根据环形缓冲区的“后进先出”原理读取。 环形缓冲区的结构在下文中解释。 如果 DP 从站诊断数据频繁地改变,那么可在 DP 主站 的 CPU 程序中使用该功能获取和评估 DP 从站的诊断 数据。 4 读取由 DP‐ CTRL 作业 (CTYPE=4) 请 求的运行状态 =1 通过该作业,可读取之前由 DPCTRL 作业 (CTYPE=4) 设置的 DP 运行状态。 注:读出的运行状态与当前的运行状态不一定匹配。 可能的工作状态如下: • RUN • CLEAR • STOP(映射为 OFFLINE 状态)*) • OFFLINEDTYPE 对应的 作业 参数 站 DIAGLNG 确认代码 (包含在 STATUS 参数中,如表“DP_DIAG 代码”所示) 5 读取用于 CPU STOP 的 DP 状 态 =1 通过该作业,可以查找当 CPU 变为 STOP 模式时, PROFIBUS CP 改变到的 DP 状态: • RUN • CLEAR • STOP(映射为 OFFLINE 状态)*) • OFFLINE 缺省情况下,当 CPU 变为 STOP 模式时,PROFIBUS CP 改变到 DP 状态 CLEAR。 6 读取 CP STOP 的 DP 状态 =1 通过该作业,可以查找当 CP 变为 STOP 模式时, PROFIBUS CP 改变到的 DP 状态: • STOP(映射为 OFFLINE 状态)*) • OFFLINE 缺省情况下,当 CP 变为 STOP 模式时,PROFIBUS CP 改变到 DP 状态 OFFLINE。 7 读输入数据 1...126 >=1 通过该作业,DP 主站(等级 2)读取 DP 从站的输入数 据。该功能也称为共享输入。 8 读取输出数据 1...126 >=1 通过该作业,DP 主站(等级 2)读取 DP 从站的输出数 据。该功能也称为共享输出。 10 读取 DP 从站 的当前状态 1...126 >=0 通过该作业,可以读取 DP 从站的当前状态。可能的状 态如下: • DP 主站与 DP 从站周期性地交换数据。 • DP 主站周期性地读取 DP 从站的输入数据。 • DP 主站周期性地读取 DP 从站的输出数据。 • DP 主站当前没有周期性地处理该 DP 从站。 *) Zui新的模块(自模块类型 DA02 起)不再支持 STOP 状态。