长沙工控帮教育科技有限公司整理 Copy
8 符合PNO AK 1131的DPV1 SFB
8.3 用SFB54“RALRM” STATUS[3]从DP从站接收中断
注意
SFB52 “RALRM”接口与“符合IEC 61131-3标准的PROFIBUS指南PROFIBUS通讯 和代理功能块”标准中定义的FB “RALRM”完全相同。
描述
SFB
“RALRM”将从外围设备模块(集中结构)或者从DP从站组件接收含所有相应信息的 中断。然后将此信息提供给输出参数。
输出参数中的信息包含被调用OB的启动信息以及中断源的信息。
由于要检查外围设备中断,故只能在由CPU操作系统启动的中断OB中调用SFB54。
注意
如果要在启动事件并非由外围设备触发的OB中调用SFB54 “RALRM”,则SFB输出 中提供的信息便会相应减少。
确保在不同的OB中调用SFB 54 “RALRM”时使用不同的背景数据块。如果要在相关 中断OB外部计算SFB54调用结果数据,则对每个OB启动事件应该使用单独的背景 数据块。
SFB 54调用
可以在三种工作模式(MODE)下调用SFB54 “RALRM”。下表予以说明。
MODE SFB54 ...
0 ...在输出参数ID中显示触发中断的组件并将输出参数NEW设置为TRUE。
1 ...描述所有输出参数,与中断触发组件无关。
2 ...检查是否是输入参数F_ID中指定的组件触发了中断。
• 如果未触发中断,则NEW = FALSE
• 如果已触发中断,则NEW = TRUE,且描述所有其它输出参数
长沙工控帮教育科技有限公司整理
参数 声明 数据类型 存储区域 描述 MODE INPUT INT I、Q、M、D、L、常数 工作模式
F_ID INPUT DWORD I、Q、M、D、L、常数 要从中接收中断的组件(模块)的逻辑起 始地址
MLEN INPUT INT I、Q、M、D、L、常数 要接收的数据中断信息最大长度 (以字节计)
NEW OUTPUT BOOL I、Q、M、D、L 已接收新中断。
STATUS OUTPUT DWORD I、Q、M、D、L SFB或DP主站的出错代码
ID OUTPUT DWORD I、Q、M、D、L 已从中接收中断的组件(模块)的逻辑 起始地址。
位15包含I/O ID:0代表输入地址;
1代表输出地址 LEN OUTPUT INT I、Q、M、D、L 已接收中断信息的长度 TINFO IN_OUT ANY I、Q、M、D、L (任务信息)
OB启动和管理信息的目标范围 AINFO IN_OUT ANY I、Q、M、D、L (中断信息)
标题信息和附加中断信息的目标区域 至少应为AINFO提供MLEN字节。
当心
如果选择的目标区域TINFO或AINFO能容纳的字节数过少,则SFB54不能输入完整 信息。
目标区域TINFO的数据结构
字节 含义
0至19 当前已调用SFB54的OB的启动信息:
• 字节0到11:结构类似于SFC6SP;“RD_SINFO”中的参数TOP_SI
• 字节12到19:请求OB的日期和时间 20至27 管理 信息
长沙工控帮教育科技有限公司整理
管理信息的结构
TINFO
字节 数据类型 含义
根据调用SFB54的各个OB的不同,可能仅会部分改写目标区域TINFO和AINFO。
关于分别输入哪些信息,请参考下表。
出错信息
输出参数STATUS包含一些信息。它被解释为ARRAY[1...4] OF BYTE,出错信息的 结构如下:
域元素 名称: 含义
STATUS[1] Function_Num • B#16#00(如果无故障)
• DPV1-PDU的功能ID:在出错情况下,与B#16#80 进行或链接。如果未使用DPV1协议单元:B#16#C0。
STATUS[2] Error_Decode 出错ID的位置 STATUS[3] Error_Code_1 出错ID
STATUS[4] Error_Code_2 制造商特定出错ID扩展
STATUS[2]可具有以下值:
Error_Decode (B#16#...)
源 含义
00到7F CPU 无故障或无警告
80 DPV1 因不符合IEC 61158-6而出错
81到8F CPU B#16#8x显示在SFB的第n个调用参数中存在出错。
FE、FF DP配置文件 配置文件特定出错
STATUS[3]可具有以下值:
Error_Decode (B#16#...)
Error_Code_1 (B#16#...)
Error_Decode (B#16#...)
Error_Code_1 (B#16#...)
按照DVP1的解释 含义
96 H系统中发生主备机切换,先前的主CPU已进入STOP
模式。当时正在处理一个OB。SFB54不能提供OB启动 信息、管理信息、标题信息或附加中断信息。
可使用SFC6 “RD_SINFO”读出OB启动信息。此外,
还可以使用SFC13 “DPNRM_DG”同步读取OB4x、
55、56、57、82和83的受影响DP从站的当前诊断帧 (地址信息来自OB启动信息)。
Error_Decode (B#16#...)
Error_Code_1 (B#16#...)
Error_Decode (B#16#...)
Error_Code_1 (B#16#...)
按照DVP1的解释 含义
8F 00到FF 第15个调用参数中存在出错
FE、FF 00到FF 配置文件特定出错
出现DPV1出错时,DP主站会将STATUS[4]传递给CPU和SFB。如果不出现DPV1 出错,则此值被设置为0,但对于SFB52则会出现以下例外情况:
• STATUS[4]包含RECORD中的目标区域长度(如果MLEN > RECORD中的目标 区域长度)
• STATUS[4]=MLEN(如果实际数据记录长度 < MLEN < RECORD中的目标区域 长度)