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 主站时,不能使用站诊断中的过程中断,因为他们只是进来的 事件,而不是发出的事件,所以不能报告中断。