• 沒有找到結果。

4 S7-400 中央处理单元

4.12 CPU 41x 作为 DP 主站/DP 从站

4.12.7 CPU 41x 作为 DP 从站:站状态 1 至 3

定义

站状态1 至 3 概述了 DP 从站的状态。

表4-15 站状态 1 的结构(字节 0)

位 含 意 做什么

0 1:DP 主站不能寻址 DP 从站 • 更正DP 从站上的 DP 地址设定

• 连接总线连接器了吗?

• DP 从站上电了吗?

• RS 485 中继器设置正确吗?

• 复位DP 从站 1 1:DP 从站没有准备好数据传输 • 等待DP 从站上电

2 1:DP 主站发送给 DP 从站的组态数据与 DP • 更正输入到软件中的DP 从站类型和组态 站状态 1 至 3

主站 PROFIBUS 地址 高字节 制造商 ID 低字节 制造商 ID

模板诊断

(长度取决于在中间存储器中 组态地址区的长度1)

站诊断

(长度取决于在中间存储器中 组态地址区的长度)

长沙工控帮教育科技有限公司整理

位 含 意 做什么

6 1:DP 从站的类型与软件组态不相符 更正输入到软件中的站类型(参数赋值错误) 7 1:通过不同 DP 主站分配给 DP 从站的参数

正在访问DP 从站

当使用编程器或其他DP 主站访问时,该位 总为1。

参 数 赋 值 主 站 的 DP 地 址 在 “ 主 站 PROFIBUS 地址”诊断字节中

表4-16 站状态 2 的结构(字节 1)

位 含 义

0 1:必须对 DP 从站进行参数和从新组态

1 1:诊断报文发出。直到故障排除后,DP 从站不能继续(静态诊断报文) 2 1:如果 DP 从站用 DP 地址预置,则该位总置为“1”

3 1:该 DP 从站的响应监控始能 4 0:该位总为“0”

5 0:该位总为“0”

6 0:该位总为“0”

7 1:DP 从站禁止 – 从周期循环中撤出

表4-17 站状态 3 的结构(字节 2)

位 含 义

0 至 6 0: 该位总为“0”

7 1: 诊断报文超出了DP 从站的存储容量

• DP 主站不能在诊断缓冲区内输入 DP 从站发送的全部诊断信息

主站PROFIBUS 地址

主站PROFIBUS 地址诊断字节包括 DP 主站的 DP 地址,这些主站为:

• 参数化的 DP 从站的主站

• 已经对 DP 从站进行读和写访问主站

主站PROFIBUS 地址

表4-18 主站 PROFIBUS 地址的结构(字节 3)

位 含 义

已参数化DP 从站和已对 DP 从站进行读/写操作的 DP 主站的 DP 地址 0 至 7

FFH:DP 从站还没有被任何 DP 主站进行参数化

长沙工控帮教育科技有限公司整理

制造商ID

制造商ID 包含一个 DP 从站类型的代码。

表4-19 制造商 ID 的结构(字节 4、5)

字节4 字节5 制造商的ID (CPU)

80H C5H 412-1 80H C6H 412-2 80H C7H 414-2 80H C8H 414-3 80H CAH 416-2 80H CBH 416-3 80H CCH 417-4

长沙工控帮教育科技有限公司整理

模板诊断

图4-14 CPU 41x 的模板诊断的结构

第 30 个组态地址区 第 31 个组态地址区 第 32 个组态地址区

第 22 至 29 个组态地址区 第 14 至 21 个组态地址区 第 6 至 13 个组态地址区 模板诊断的长度

包括 6 字节(取决于组态地址区的数量,最多 6 字节) 模板诊断的代码

预置组态不等于实际组态 预置组态不等于实际组态 预置组态不等于实际组态 第1 个组态地址区

第2 个组态地址区 第3 个组态地址区 第4 个组态地址区 第5 个组态地址区

长沙工控帮教育科技有限公司整理

站诊断

站诊断提供DP 从站的详细信息。站诊断起始地址为字节 x,包括最多 20 字节。

下图所示为中间存储器的组态地址区的结构和内容。

图4-15 站诊断的结构

字节x+4

字节x+1 决定的字节 x+4 的含义(见图 4-15)

在字节x+1 中,代码表示为:

诊断中断(01H) 过程中断(02H)

诊断数据包含16 字节 CPU 的状态信息。图 4-16 为诊断数据前4 个字节的内容,后 12 个字节始终 为0。

你可以按照所想要实现的过程中断对中断信息的 4 个字节进行编程。用 SFC 7”DP_PRAL”将这 4 个字节传送到DP 主站。

包括字节x 地站诊断长度(=最大 20 字节) 站诊断的代码

01H:诊断中断代码 02H:过程中断代码

中间存储器的组态地址区的数量 数码+3

例如:CPU=02H 第一个诊断地址=04H 第二个诊断地址=05H,等等 (固定为 0)

诊断数据(见表 4-16) 和中断数据

长沙工控帮教育科技有限公司整理

诊断中断的字节x+4 至 x+7

图4-16 表示了诊断中断字节 x+4 至 x+7 的结构和内容。这些字节的内容对应于 STEP 7 中诊断数据记录0 的内容(在这种情况下,不是所有的位都被赋值)。

图4-16 诊断和过程中断的字节 x+4 至 x+7

用S7/M7 主站中断

CPU 41x 作为 DP 从站时,你可以从用户程序触发 DP 主站中的过程中断。通过在用户程 序中调用SFC 7”DP_PRAL”来触发 OB 40。使用 SFC 7 可以将中断信息以双字格式将中 断信息传送给DP 主站,可以在 OB 40 的 OB40_POINT_ADDR 变量中评估。你可以根据 自己的选择编程中断信息。

用其他DP 主站中断

如果用其他DP 主站运行 CPU 41x,这些中断反射在 CPU 41x 地站诊断中。你只能在 DP 主站的用户程序中处理相关的诊断事件。

0:模板正常 1:模板有故障

中间存储器的地址区的标示符(常数)

0:RUN 模式 1:STOP 模式

长沙工控帮教育科技有限公司整理

注意

当时用不同的DP 主站时,通过站诊断评估诊断中断和处理中断。

• DP 主站可以存储诊断报文;也就是说,诊断信息应该存储在 DP 主站的环形缓冲区 内。如果DP 主站不能存储诊断报文,则只能评估最后收到的一条诊断报文。

• 必须在用户程序中以常规的间隔顺序排列站诊断中的相关的位。必须考虑PROFIBUS DP 总线循环时间,以便与总线循环时间同步顺排这些位。

• 当 IM 308C 作为 DP 主站时,不能使用站诊断中的过程中断,因为他们只是进来的 事件,而不是发出的事件,所以不能报告中断。