分析中断信息的实例

时间:2021-08-31点击次数:102

分析中断信息的实例

简介

分布式 S7 数字量输入模块(起始地址为 288)将触发硬件中断。 在 OB40 中,可以使用高级指令“RALRM”读取该模块的其它中断信息。 系统将检查**个通道是否已触发了硬件中断。

使用 S7 模块时,还可从 OB40 的启动信息中直接读取附加中断信息。 然而,DPV1 功能较多允许使用 59 个字节的附加中断信息,这远远大于 OB40 的启动信息。

通过“RALRM”分析 OB40 的中断信息

STL
// ...
// ...
//切换中断的触发地址 (288)
L DW#16#120
T "MD10"
CALL "RALRM" , "DB54"
MODE :=1 //函数模式: 1 = 设置所有输出参数(例如 F_ID 不受影响)
F_ID :="MD10" //中断所允许的插槽的起始地址
MLEN :=8 //附加中断信息的较大长度,单位为字节(例如,模块的通道状态)
NEW :="Alarm_neu" //接收中断? (接收 = 1)
STATUS:="DP_RALRM_STATUS" //函数结果的返回值/出错消息
ID :="Slotaddress_Interrupt" //要接收中断的插槽的起始地址
LEN :="Length_Alarminfo" //附加中断信息的长度(例如,4 个字节的标头信息 + 4 个字节的 S7 I/O 信息)
TINFO :=P#M 100.0 BYTE 28 //指向 OB 起始信息的指针 + MB 100 的 28 个字节的管理信息
AINFO :=P#M 130.0 BYTE 8 //指向标题信息目标区域的指针 + 补充的中断信息(较多 59 个字节)
A M 124.0 //中断触发器的输入 1(位 0)?
JC Alrm
BEU
Alrm: S Q 0.0 // 正在进行中断
// ...

http://shtxjd.cn.b2b168.com

下一篇:冗余 备用

产品推荐