用指令诊断IO设备或DP从站状态的简易方法

已锁定

Automann

  • 帖子

    6168
  • 精华

    138
  • 被关注

    309

论坛等级:至圣

注册时间:2004-12-23

普通 普通 如何晋级?

用指令诊断IO设备或DP从站状态的简易方法

13552

11

2018-01-23 19:30:52

博途的扩展指令的“诊断”文件夹中的“读取IO系统的模块状态信息”指令DeviceStates可用来诊断S7-1200/1500的IO设备或DP从站的状态信息。它的功能类似于S7-300/400的FC125,其使用非常方便。

在某例程中,CPU 1516C-3 PN/DP为IO控制器,1号IO设备为ET 200SP。为了演示故障诊断功能,组态了一个并不存在的2号IO设备ET 200AL。

OB1中的指令“DeviceStates”的参数LADDR为PROFINET IO系统或DP主站系统的硬件标识符(见下图),参数MODE为1时读取已组态的IO设备/DP从站;为2读取有故障的IO设备/DP从站;为3读取已禁用的IO设备/DP从站;为4读取存在的IO设备/DP从站;为5读取出现问题的IO设备/DP从站。下图中该指令的MODE为2,用DeviceStates指令读取有故障的IO设备/DP从站。

InOut参数STATE用于输出由MODE参数选择的IO设备或DP从站的状态。在全局数据块“诊断状态”(DB1)中,生成数组“IO设备状态”,数据类型为Array[0..4] of Bool,作为参数STATE的实参。

在1号IO 设备有故障时监控DB1中的数组“IO设备状态”(见下图),数组元素“IO设备状态[0]”为组显示,它为1(TRUE)表示网络上至少有一个IO设备有故障。“IO设备状态[1]”和“IO设备状态[2]”为TRUE,表示1号IO设备ET 200SP和2号IO设备ET 200AL有故障。如果“IO设备状态[n]”为TRUE,表示n号IO设备有故障。可以用该数组的元素控制HMI画面上各IO设备对应的指示灯。

切换到离线模式后,将指令DeviceStates的参数MODE改为4(读取存在的IO设备),将程序下载后,“IO设备状态[1]”为TRUE,“IO设备状态[2]”为FALSE,表示1号IO设备ET 200SP存在,2号IO设备ET 200AL不存在。


用指令诊断IO设备或DP从站状态的简易方法 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有11109条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。