发布于 2010-11-01 16:15:27
6楼
读取模块断线信息的具体方法如下(已实现,供参考):
(1)启用诊断中断和断线检查;
(2)通过系统功能 SFC 51 "RDSYSST"(读取系统状态),可以读取系统状态列表或部分系统状态列表。调用 SFC 51时,通过将值”1”赋给输入参数REQ来启动读取。如果可以立即读取系统状态,则 SFC将在BUSY输出参数中返回值 0。如果 BUSY包含值1,则尚未完成读取功能。
(3)使用SSL-ID W#16#00B3可以读取一个模块的所有诊断数据(≤ 220字节,数据记录1),参数INDEX为逻辑基址。在诊断中断OB82中调用 SFC 51 "RDSYSST",并访问启动该诊断中断的模块,可以会立即读取系统状态,使用OB82本地变量OB82_MDL_ADDR来读取故障模块的逻辑基址,并将该值赋给INDEX。
物竞天择,适者生存!