长沙工控帮教育科技有限公司整理 Copy
8 符合PNO AK 1131的DPV1 SFB
8.4 用SFB75“SALRM”向DP主站发送中断
注意
SFB75“SALRM”接口与在标准“符合IEC 61131-3标准的PROFIBUS指南PROFIBUS 通讯和代理功能块”中定义的FB “SALRM”完全相同。
描述
SFB75“SALRM”从智能从站的用户程序向相关DP主站发送一个插槽中断,该DP 主站在过渡区域(虚拟插槽)中访问该中断。这将启动DP主站中的相关OB。
可以与中断一起发送附加中断特定信息。在DP主站中,可以使用SFB54“RALRM”
读取所有附加信息。
SFB75只能用在S7兼容模式中。
• DP:主站使用GSD文件集成I从站。
• S7兼容:在STEP 7中,通过HW配置将I从站与一个主站链接在一起。
工作原理
SFB75“SALRM”是异步SFB,这表示它的处理涉及多个SFB调用。通过使用 REQ = 1调用SFB75来启动中断的传送。
在DP主站确认或取消中断处理之前,发送过程始终保持活动状态。
输出参数BUSY与输出参数STATUS的字节2和3指示作业状态,其中STATUS 的字节2和3对应于异步工作SFC的RET_VAL输出参数(参见异步SFC中参数REQ、
RET_VAL和BUSY的含义)
如果输出参数BUSY = FALSE,则中断传送完成。
长沙工控帮教育科技有限公司整理
识别作业
当使用SFB 75向DP主站启动中断传送后,如果在完成当前作业前再次调用此SFB,
则此SFB的进一步响应将取决于新调用是否与前一个调用完全相同。
如果参数ID和TYPE与尚未完成的作业相匹配,则将会按顺序处理对SFB的新调用。
参数 声明 数据类型 存储区域 描述
REQ INPUT BOOL I、Q、M、D、L、常数 REQ = 1:传送中断
ID INPUT DWORD I、Q、M、D、L、常数 DP主站的过渡区域(虚拟插槽)的所有逻 辑地址,与在DP从站中看到的相同(站 的诊断地址和插槽2的逻辑地址除外)。
请在低字中查找相关信息。在高字中输 入零。位15包含I/O ID:0 = 输入地址,
1 = 输出地址。
ATYPE INPUT INT I、Q、M、D、L、常数 中断类型
中断类型的ID。可能的值:
• 1:诊断中断
• 2:硬件中断 ASPEC INPUT INT I、Q、M、D、L、常数 中断标识符:
• 0:无更多信息
• 1:进入的事件,插槽有故障
• 2:离开的事件,插槽不再有故障
• 3:离开的事件,插槽仍存在故障 LEN INPUT INT I、Q、M、D、L、常数 要发送的附加中断信息的长度
(以字节计) 最大值:16
DONE OUTPUT BOOL I、Q、M、D、L DONE=1:中断已传送 BUSY OUTPUT BOOL I、Q、M、D、L BUSY=1:中断传送仍忙 ERROR OUTPUT BOOL I、Q、M、D、L ERROR = 1:出现出错。
STATUS OUTPUT DWORD I、Q、M、D、L 出错信息 AINFO IN_OUT ANY I、Q、M、D、L 中断信息
附加中断信息的源区域
长沙工控帮教育科技有限公司整理
ATYPE参数
下表显示ATYPE的所有允许值,其中OB是在相关主站中启动的,且在DP模式中,
允许使用给定的中断类型。
ATYPE DPV1标准中的含义 S7 DP主站中的相关OB DP模式
DP S7兼容
1 诊断中断 诊断中断OB(OB82) – 是
2 硬件中断 硬件中断OB(OB 40到47) – 是
注意
除上表提供的信息外,中断类型的使用范围还受到DP主站的限制。
中断类型与S7主站工作模式的依存关系
对于S7兼容模式下的从站(在S7主站上工作),仅当相关DP主站处于RUN模式(DP:
工作)下时才能发送硬件和诊断中断。如果DP主站处于STOP模式(DP:清除),中断 将被禁用,SFB75将返回出错信息W#16#80C8。这种情况下,由用户负责在以后发 送中断。
ASPEC参数
按照适用标准,此参数将显示虚拟插槽的诊断状态。因此,仅当在发送诊断中 断时,才能为ASPEC分配非零值。
由于诊断中断的S7附加中断信息(数据记录0)包含进入/离开信息(参见字节0 中的位0),必须如下描述附加中断信息字节0中的位0 (模块故障):
ASPEC AINFO中的“模块故障”位 0 0 1 1 2 0 3 1
长沙工控帮教育科技有限公司整理
LEN参数
LEN参数用于确定要发送的附加中断信息的长度(以字节计)。允许的最大取值范围是 0到16。
对于所有可能的中断类型,下表显示在智能从站各种模式中,LEN的取值。
中断类型 DP S7兼容
诊断中断 – 4至16
硬件中断 – 4
下表显示为LEN分配一个不等于AINFO长度的值(以字节计)后,SFB75的响应。
LEN的值 SFB 75响应
<= 为AINFO指定的长度 SFB75向DP主站发送一个中断。传送的附加中断信息的字 节数与在LEN中指定的字节数相同。
超出允许的取值范围(< 0或 > 16) SFB75不发送中断。
出错信息:W#16#80B1,STATUS[4]=B#16#FF
> 为AINFO指定的长度 SFB75向DP主站发送一个中断。传送的附加中断信息的字 节数与在AINFO长度信息中指定的字节数相同。
出错信息:W#16#00B1,STATUS[4]=AINFO 中的长度信息
AINFO参数
AINFO是附加中断信息的源区域。就智能从站而言,可以用想要的任何值填充此 区域。但是,如果您使用的是S7系列的DP主站,则随中断一起发送的附加信息必须 符合S7惯例。
如果要发送诊断中断(ATYPE=1),则必须在数据记录0中输入正确的相关值,如必 要还要在数据记录1中输入正确的相关值。
下表是向您建议的一组S7兼容条目。此时已设置“模块故障”位(参见上文)。在实际命 名该位之前,此建议与缺省分配(恢复的智能从站或站在加电或者从STOP转换到 RUN后的现有分配)保持一致。
数据记录编号 分配
0 B#16#01、0B、00、00
1 对于S7兼容模式:数据记录0 + 12字节(含零) (参见诊断数据结构概述)
长沙工控帮教育科技有限公司整理
SFB75调用对模块状态信息和组出错LED(SF)的影响
对于所有CPU,智能从站的插槽属性都存储在模块状态信息中(参见SSL-ID W#16#xy91 - 模块状态信息)
使用SFB75发送诊断中断时,智能从站的操作系统会对基于AINFO字节0中的位0 (此位已作为“模块故障”添加到状态信息中)的从站本地模块状态信息和SF LED
如果在站恢复后,从用户角度来看I从站中存在故障,则必须通过SFB75 调用将这些故障报告给DP主站。
• DP主站中STOP到RUN工作模式的过渡(导致I从站中启动OB82) I从站中的模块 状态信息保持不变。DP主站将复位相关模块状态信息中的“模块故障”位。
• I从站中STOP到RUN工作模式的过渡(导致DP主站中启动OB 82) DP主站中的模 块状态信息保持不变;将复位I从站中的信息(复位“模块故障”)。
注意
上文提到的主站和I从站模块状态信息之间的所有差别只能发生在通过SFB75接收诊 断中断的那些插槽上。也就是说上文论述的纠正方法仅适用于此类插槽。
出错信息
STATUS输出参数包含出错信息。如果被解释为ARRAY[1 ... 4] OF BYTE,则此出 错信息的结构将如下表所示
域元素 含义
STATUS[1] • B#16#00:无故障
• B#16#C0:I从站检测到的出错 STATUS[2]、
STATUS[3]
对应于SFC的RET_VAL输出参数
STATUS[4] B#16#00,LEN和AINFO之间的一些长度冲突除外。这些例外显示在下表中。
下表显示SFB 75的所有特定出错信息。
ERROR STATUS[2,3]
(W#16# ...)
说明
0 0000 作业已完成,且没有出错。如果LEN < AINFO的长度,则只能传送附加中断信息 中的LEN字节。
0 00B1 LEN > AINFO的长度。作业已完成。已传送AINFO中的附加中断信息。
STATUS[4]将接收AINFO的长度。
0 7000 REQ=0的初始调用(空循环)。未发送中断。BUSY的值为0。
0 7001 REQ=1的初始调用。作业已启动。BUSY的值为1。
0 7002 中间调用(与REQ无关)。发送的中断尚未得到DP主站的确认。BUSY的值为1。
1 8090 在ID中指定的地址超出允许的地址范围或者未对其进行组态。
1 8091 • 您已在组态中禁用该中断。
• 此类从站不允许使用该中断。
1 8092 AINFO中的数据类型无效(BYTE和BLOCK-DB是有效类型) 1 8093 ID属于虚拟插槽。不能从其中请求任何中断。
1 80B0 ASPEC
• 与AINFO的字节0中的位0不匹配
• 使用的中断类型的值必须为0
• 超出允许的取值范围
1 80B1 LEN超出允许的取值范围。STATUS[4]接收B#16#FF。
长沙工控帮教育科技有限公司整理
ERROR STATUS[2,3]
(W#16# ...)
说明
80C3 所需资源(内存等)此时已被占用。
1 80C5 分布式I/O设备此时不可用(即站出现故障)
1 80C8 在当前DP主站工作模式下不允许使用该功能(DP主站是S7主站,并且处于STOP 模式下)。