【OB86配合SFC12在PROFINET诊断中的应用】

OB86是机架故障组织块,操作系统在检测到下列PN系统故障时将调用OB86:

1、检测到PROFINET IO设备故障,故障产生和消失时分别调用一次OB86;

2、使用SFC12“D_ACT_DP”的模式4禁止一个PROFINET IO或PROFIBUS DP站时;

3、使用SFC12“D_ACT_DP”的模式3激活一个PROFINET IO或PROFIBUS DP站时;

4、检测到PROFINET IO系统、PROFINET IO设备或PROFINET IO设备的某些子模块的故障。

【PROFINET诊断故障可能进一步触发SFB20】

1、SFB20的作用:如果S7/M7-300/400或C7-300 CPU处于RUN、HALT操作模式或正在启动,则该功能块将触发这些模块的停机(STOP)功能;

2、应对方法:检查你的程序,程序中的控制逻辑调用了SFB20。即,在SFB20 “STOP”的控制输入REQ上有上升沿,则将由ID寻址的远程设备切换到STOP模式。看看是什么条件触发了REQ;

3、详见《S7-300400的系统软件和标准功能》中的19.12通过SFB 20“STOP”将远程设备切换到STOP状态。

【通过对OB86的编程,可以用人机界面画面上的指示灯显示PROFINET IO设备的状态】

假设CPU为CPU 315-2PN/DP,以太网上有6个IO设备号分别为1~6的PROFINET IO设备。在SIMATIC管理器中生成一个人机界面(HMI)的站点,在网络组态工具NetPro中,将CPU和HMI连接到以太网上。双击HMI站点中的“画面_1”,打开WinCC flexible的项目,在画面上生成6个指示灯。在PLC的程序中用M10.1~M10.6来控制HMI画面上的6个PROFINET IO设备的状态指示灯。有故障的IO设备的存储器位为1状态,指示灯点亮。OB86的局部变量OB86_EV_CLASS(LB0)为16#39、16#38分别表示故障出现和消失。故障代码OB86_FLT_ID(LB1)为16#CA表示PROFINET IO系统故障。OB86_FLT_ID为16#CB表示PROFINET IO设备故障或故障消失。此时OB86_RESERVED_1为16#C4,OB86_Z23(LD8)的第0~第10位为IO设备号,第11~第14位为IO系统的ID(编号),该项目只有一个PROFINET IO系统。根据上述信息可以控制显示故障IO设备状态的指示灯。

【OB86示例程序】

下面是OB86中的程序。出现PROFINET IO系统故障时(LW0为16#39CA),将16#7E送MB10,M10.1~M10.6全部被置为1,点亮所有的PROFINET IO设备的故障指示灯。某个PROFINET IO设备出现故障时(LW0为16#39CB),将故障IO设备的编号和M10.0的地址相加,计算出故障IO设备对应的地址,然后用间接寻址将对应的M位置位,点亮故障IO设备对应的指示灯。某个PROFINET IO设备故障消失时(LW0为16#38CB),用同样的方法计算出故障IO设备对应的地址,然后用间接寻址将对应的M位复位,熄灭故障IO设备对应的指示灯。

A(
 L W#16#39CA
 L LW 0
 ==I

JCN m001 //不是PROFINET IO系统故障出现则跳转
L B#16#7E //令MB10的第1~第6位为1
T MB 10 //点亮1~6号IO设备的指示灯
m001: A(
 L W#16#39CB
 L LW 0
 ==I //PROFINET IO设备故障出现时比较条件满足
 )
A(
 L B#16#C4
 L #OB86_RESERVED_1 //再次确认
==I

JCN m002 //不是PROFINET IO设备故障出现则跳转
L LD 8 //装载OB86_Z23
 L 2#11111111111
 AW //提取故障IO设备编号
L P#10.0 //起始地址送累加器1
 +D
 T LD 20 //故障IO设备对应的存储器位地址送地址指针
S M [LD 20] //点亮故障IO设备对应的指示灯
m002: A(
 L W#16#38CB
 L LW 0
 ==I //PROFINET IO设备故障消失时比较条件满足
 )
A(
 L B#16#C4
 L #OB86_RESERVED_1 //再次确认
==I

JCN m003 //不是IO设备故障消失则跳转
L LD 8 //装载OB86_Z23
 L 2#11111111111
 AW //提取故障IO设备编号
L P#10.0 //起始地址送累加器1
 +D
 T LD 20 //故障IO设备对应的存储器位地址送地址指针
R M [LD 20] //熄灭故障IO设备对应的指示灯
m003: NOP 0

业以太网:西门子PROFINET诊断功能SFC12-OB86-SFB20概览的更多相关文章

  1. nancy中的诊断功能面板1

    nancyfx中有一项 诊断功能 ,可以查看网站的基本信息和其他相关信息,还包括查看会话信息,请求输出信息等. 假设你已经安装完了nancyfx.现在开始使用诊断功能: 一 安装 在你的Bootstr ...

  2. Windows Azure入门教学系列 (九):Windows Azure 诊断功能

    本文是Windows Azure入门教学的第九篇文章. 本文将会介绍如何使用Windows Azure 诊断功能.跟部署在本地服务器上的程序不同,当我们的程序发布到云端之后,我们不能使用通常的调试方法 ...

  3. 苹果iOS手机后门的”诊断功能论“不攻自破

    7月23日.苹果公司公布公告,题为"iOS:About diagnostic capabilities"("iOS:关于诊断功能").当中声称:iOS offe ...

  4. 告别诊断烦恼 | 应用实时监控 ARMS 上线智能和实时诊断功能

    为什么要做这个功能? 作为一款应用性能监控产品,我们通常会给用户展示两类数据: 第一种是统计数据:用户通过使用统计数据设置报警(比如应用响应时间大于2s),缩小问题范围(比如报警时间范围内,是哪一个接 ...

  5. MongoDB负载信息一目了然 阿里云HDM重磅发布MongoDB监控和诊断功能

    混合云数据库管理(HDM)的统一监控.告警.诊断功能新增了对MongoDB的支持. 通过直观的方式将MongoDB多个维度的负载信息统一整合,不仅可以清晰的查看实时负载信息,也可以方便的确认历史负载情 ...

  6. “体检医生”黑科技|让AI开发更精准,ModelArts更新模型诊断功能

    摘要:华为云AI开发平台ModelArts黑科技加持AI研发,让模型开发更高效.更简单,降低AI在行业的落地门槛.全面的可视化评估以及智能诊断功能,使得开发者可以直观了解模型各方面性能,从而进行针对性 ...

  7. DBA_实践指南系列10_Oracle Erp R12诊断功能Diagnostic(案例)

    2013-12-10 Created By BaoXinjian Thanks and Regards

  8. 各种工业以太网比较(EtherCAT,EtherNet/IP,ProfiNet,Modbus-TCP,Powerlink)

    EtherCAT(以太网控制自动化技术)是一个以以太网为基础的开放架构的现场总线系统,EterCAT名称中的CAT为ControlAutomation Technology(控制自动化技术)首字母的缩 ...

  9. VS自带的功能:性能和诊断

    先看一眼代码: using System; using System.Collections.Generic; using XCode; using XCode.Configuration; usin ...

随机推荐

  1. ASP .NET My97DatePicker

    My97DatePicker http://jingyan.baidu.com/article/e6c8503c7244bae54f1a18c7.html <input type="t ...

  2. 简单说说Delphi中线程的释放

    线程的释放方式有两种:一种是线程在运行完成后自动释放,一种是手动释放. 无论是那种释放,都应该在线程停止后进行释放. 然而线程的停止也有两种情况:一种是不需要设置标志位,直接完成:一种是由于execu ...

  3. Github上的watch、star和fork分别是什么意思

    Github上的watch.star和fork分别是什么意思呢? 1.watch可以用来设置接收邮件提醒 2.如果想持续关注该项目就star一下 3.如果想将项目拷贝一份到自己的账号下就fork fo ...

  4. Qt之使用setWindowFlags方法遇到的问题(追踪进入QWidget的源码分析原因,最后用WINAPI解决问题)good

    一.简述 前段时间在使用setWindowFlags方法时遇到了一个坑,具体情况是想通过窗口界面上一个checkBox来控制窗口当前状态是否置顶,而Qt提供了Qt::WindowStaysOnTopH ...

  5. Delphi中close与Terminate方法的区别

    在有多个Form窗体时可以体现出来.用close是只关闭本窗体,而用Application.terminate是关闭整个程序,包括所有窗体.(1)当Close是一个主窗体时,程序会退出.Close会发 ...

  6. win10中使用sqlserver2008r2 SQL Server 配置管理器

    原文:win10中使用sqlserver2008r2 SQL Server 配置管理器 使用 Windows10 访问 SQL Server 配置管理器 因为 SQL Server 配置管理器是 Mi ...

  7. 浏览器禁用cookie后php如何保持session会话-use_trans_sid机制

    原文:浏览器禁用cookie后php如何保持session会话-use_trans_sid机制 为防止浏览器禁用cookie导致服务器会话无法保持,php开发了一个机制,该机制开启后,浏览器发起请求后 ...

  8. SendMessage发送自定义消息及消息响应(VC版)

    控件向父窗体发送自定义消息,父窗体定义处理此消息的函数  程序源代码(整个工程)下载:http://download.csdn.net/detail/qq2399431200/6274793 效果描述 ...

  9. 程序员该如何过好他的整个职业生涯?(最重要的是你得一直往前走。拐点不是你的工资。想起很久前有个人说我“逻辑性”比较强)good

    作者|池建强 编辑|小智   戳阅读原文,获得短信提醒,不错过下次InfoQ大咖说直播! 1 写在前面 加入极客邦的第一天就被拉到了「大咖说」的现场,这也是我始料未及的事情.从锤子科技正式离职之后,我 ...

  10. 用 eric6 与 PyQt5 实现python的极速GUI编程(35篇PyQT和200多篇Python)

    [题记] 我是一个菜鸟,这个系列是我的学习笔记. PyQt5 出来有一段时间了, PyQt5 较之 PyQt4 有一些变化,而网上流传的几乎都是 PyQt4 的教程,照搬的话大多会出错. eric6 ...