所需的OB:机架效果故障OB

1:使用CPU 315F和ET 200S时应如何避免出现“通讯故障”消息使用CPU S7 315F, ET 200S以及故障安全DI/DO模块那么您将调用OB35 的故障安全程序。而且您已经接受所有监控时间的默认设置值,并且愿意接收“通讯故障”消息 OB 35 默认设置为100毫秒。您已经将F I/O模块的F监控时间设定为100毫秒因此至少每100毫秒要寻址一次I/O模块。但是由于每100毫秒才调用一次OB 35因此会发生通讯故障。要确保OB35的扫描间隔和F监控时间有所差别请确保F监控时间大于OB35的扫描间隔时间。

3:如何判断电源或缓冲区出错如:电池故障?    如果电源(仅S7-400)或缓冲区中的一个错误触发一个事件则CPU操作系统访问OB81。错误纠正后重新访问OB81。电池故障情况下如果电池 檢测中的BATT.INDIC开关是激活的,则 S7-400仅访问OB81如果没有组态OB81,则CPU不会进入操作状态STOP如果OB81不可用,则当电源出错时CPU仍保持运行。

请注意创建的數据区域(如一个双字)不能组态在过程映象的边界上,因为在该数据块中只有边界下面的区域能够被读入过程映像,因此不可能从过程映潒访问 数据 因此,这些组态规则不支持这种情况:例如在一个 256 字节输入的过程映像的 254 号地址上组态一个输入双字。 如果一定需要如此選址则必须相应地调整过程映像的大小(在CPU的Properties中)。

5:在S7 CPU中如何进行全局数据的基本通讯在通讯时需要注意什么?
    全局数据通讯用于交换尛容量数据全局数据(GD)可以是:
     数据交换是指在连入单向或双向GD环的CPU之间以数据包的形式交换数据。GD环由GD环编号来标识
    双向连接:两个CPUの间的连接:每个CPU都可以发送和接收一个GD数据包。
必须确保接收端CPU未确认全局数据的接收如果想要通过相应通讯块(SFB、FB或FC)来交换数据,则必须进行通讯块之间的连接通过定义一个连接,可以极大简化通讯块的设计该定义对所有调用的通讯块都有效且不需要每次都重新定義。

免中心分配器割裂网络因为这些设备只能工作于半双工模式。

域内指定一个修正因子这个修正因子只影响CPU的硬件时钟。时间中断源自于系统时钟并且和硬件时钟的设定毫无关系。

64)时同时可以处理一个被动作业(SERVE作业、SFB 65)。

15:如何在已配置为DP从站的两个CPU模块间组态直接数据交换(节点间通信)
    两个CPU站配置为DP从站,而且由同一个DP主站操作它们之间的通信通过配置交换模式为DX可以完成直接数据交换。

     对于單向基本通信使用系统功能 SFC67 (X_GET)从一个被动站读取数据,使用系统功能SFC68(X_PUT)将数据写入一个被动站(服务器)这些块只有在主动站中才调用。对于┅个双向 基本通信调用站中的系统功能SFC65 (X_SEND),在该站中想将数据发送到另一个主动站在同样为主动的主动接收站中,数据将通过系统功能SFC66 (X_RCV)記录
     两种类型的基本通信中,每次块调用可以处理最多 76 字节的用户数据对于S7-300 CPU,数据传送的数据一致性是 8 个字节对于S7-400 CPU则是全长。 如果連接到S7-200必须考虑到S7-200只能用作一个被动站。

17:什么是自由分配 I/O 地址    地址的自由分配意味着您可对每种模块(SM/FM/CP)自由的分配一个地址。地址分配在 STEP 7 里进行先定义起始地址,该模块的其它地址以它为基准
自由分配地址的优点:因为模块之间没有地址间隙,就可以优化地使用可鼡地址空间在创建标准软件时,分配地址过程中可以不考虑所涉及的 S7-300 的组态

18:诊断缓冲器能够干什么?
更快地识别故障源因而提高系统的可用性。评估STOP之前的最后事件并寻找引起STOP的原因。
   诊断缓冲器是一个带有单个诊断条目的循环缓冲器这些诊断条目显示在事件發生序列中;第一个条目显示的是最近发生的事件。如果缓冲器已满最早发生的事件 就会被新的条目所覆盖。根据不同的CPU诊断缓冲器嘚大小或者固定,或者可以通过HW Config中通过参数进行设置

19:诊断缓冲器中的条目包括哪些?1) 故障事件
2) 操作模式转变以及其它对用户重要嘚操作事件
     在操作模式STOP下在诊断缓冲器中尽量少的存储事件,以便用户能够很容易在缓冲器中找到引起STOP的原因因此,只有当事件要求鼡户产生一个响应 (如计划系统内存复位电池需要充电)或必须注册重要信息(如固件更新,站故障)时才将条目存储在诊断缓冲器中。

20:如哬确定MMC的大小以便完整地存储STEP 7项目
     为了给项目选择合适的MMC,需要了解整个项目的大小以及要加载块的大小可以按照如下所述的方法来確定项目的大小:
1) 首先归档STEP 7项目。然后在Windows资源浏览器中打开已归档项目并确定其大小(选中该项目并右击)。这会告诉您归档文件的大小
3) 必须将该值和已经确定的归档项目的大小相加。这样就可以得出在一个MMC上保存整个项目所需的总内存的大小

21:CPU全面复位后哪些设置會保留下来?      复位CPU时内存没有被完全删除。整个主内存被完全删除了但加载内存中数据,以及保存在Flash-EPROM存储卡(MC)或微存储卡(MMC)上 的数据则會全部保留下来。除了加载内存以外计时器(CPU 312 IFM除外)和诊断缓冲也被保留。具有MPI接口或一个组合MPI/DP接口的CPU只在全部复位之前保留接口所采用的當前地址和波特率另一方面,另一 个PROFIBUS地址也被完全删除不能再访问。

22:为什么不能通过MPI在线访问CPU
   如果在CPU上已经更改了MPI参数,请检查硬件配置可以将这些值与在"Set PG/PC interface"下的参数进行比较,看是否有不一致
    或者可以这样做:打开一个新的项目,创建一个新的硬件组态在CPU的MPI接口的属性中为地址和传送速度设置各自的值。将"空"项目写入存储卡中把该 存储卡插入到CPU 然后重新打开CPU的电压,将位于存储卡上的设置傳送到CPU现在已经传送了MPI接口的当前设置,并且像这样的话只要接口没有故障就可以建立连接。 这个方法适用于所有具有存储卡接口的S7-CPU

23:错误OB的用途是什么?
S7-CPU可以识别两类错误:
1) 同步错误: 这些错误在处理特定操作的过程中被触发并且可以归因于用户程序的特定部汾。
2) 异步错误: 这些错误不能直接归因于运行中的程序这些错误包括优先级类的错误,自动化系统中的错误(故障模块)或者冗余的错误

24:在DP从站或CPU315-2DP型主站里应该编程哪些“故障 OBs”?    在组态一个作为从站的CPU315-2DP站时必须在STEP7程序中编程下列OB以便评估分布式I/O类型的错误信息:

   1) 診断OB82:如果一个支持诊断,并且已经对其释放了诊断中断的模块识别出一个错误它既对进入事件也对外出的事件向 CPU 发出一个诊断中断的請求。操作系统然后调用 OB82在 OB82 自己的局部变量里包含有有缺陷模块的逻辑基地址和 4 个字节的诊断数据。如果你还没有编程 OB82, 则 CPU 进入“停止”模式你可以阻断或延迟诊断中断 OB ,并通过 SFC 39 - 42 重新释放它

   2) 子机架效果故障OB86:如果识别出一个 DP 主站系统或一个分布式 I/O 站有故障(既对进入倳件也对外出的事件),该 CPU 的操作系统就调用 OB 86 如果没有编程 OB 86 但出现了这样一个错误, CPU 就进入“停止”模式你可以阻断或延迟 OB86 并通过 SFC 39 - 42 重噺释放它。

3) I/O 访问出错OB122:当访问一个模块的数据时出错该CPU的操作系统就调用OB 122。比方说CPU在存取一个单个模块的数据时识别出一个读错误,那么操作系统就调用OB 122该OB 122以与中断块有相同的优先级类别运行。如果没有编程OB 122,那么CPU由“运行”模式改为“停止”模式

25:为什么在某些凊况下,保留区会被重写?
   在STEP 7的硬件组态中可以把几个操作数区定义为“保留区”。这样可以在掉电以后即使没有备份电池的话,仍能保持这些区域中的内容如果定义一个块为 “保留块”,而它在 CPU 中不存在或只是临时安装过那么这些区域的部分内容会被重写。在电源接通/断开之后其他内容会在相关区里找到。

26:为何不能把闪存卡的内容加载入S7 300 CPU   你的项目在闪存卡上。现在要用它加载 S7 300 但加载结束后發现 CPU 的 RAM 中仍是空的。出现此问题的原因是你的程序里有无法处理的"错误的"组织块(比如说, OB86 没有 DP 接口) 在重新设置和重新启动 CPU 后, RAM 仍是空的。 诊断缓冲区对这个"无法加载"的块会提示一些信息

28:需要为S7-300 CPU的DP从站接口作何种设置,才可以使用它来进行路由选择
对于S7 路由连接,有 4 種可用的连接资源-与其它任何连接资源无关没有使用PG/OP的连接资源或S7基本通信。
    如果必须通过DP接口来建立一个与位于其机架效果上的通信夥伴连接时(如在 CP 343-1 中)也要使用一个路由连接。而对于通过MPI接口与一个位于其机架效果上的通信伙伴的连接则不使用路由连接资源,因为茬这种情况下能够直接到达伙伴。注 意事项:这不适用于CPU 318

"B#16#0"的标识符,那么将出错并且所需的功能也无法用此种情况下,将在块的" RETVAL"输絀处输出标识符 "8080h"
    说明:对于这些 CPU,只有一个计时器可用因此你应该只用标识符 "B#16#0"。 在一个周期块(OB1, OB35)里一定不能调用系统功能 SFC2 "SET_RTM"而是应该在偅启动OB(OB100)调用它。你也可以通过外部触发器来启动该块不然的话,该块将老是复位运行计时表永远完成不了 计数。

30:变量是如何储存在臨时局部数据中的
    L 堆栈永远以地址“0”开始。 在 L 堆栈中会为每个数据块保留相同个数的字节,作为存放每个块所拥有的静态或局部数據
当某个块终止时,那么它的空间随之也被重新释放出来 指针总是指向当前打开块的第一个字节。

31:在CPU经过完全复位后是否运行时间計数器也被复位
    使用S7-300时,带硬件时钟(内置的 “实时时钟”)和带软件时钟的 CPU 之间有区别对于那些无后备电池的软件时钟的 CPU,运行时间计數器在 CPU 被完全复位后其最后值被删除而对于那些有后备电池的硬件时钟的 CPU,运行时间计数器的最后值在 CPU 被完全复位后被保留下来同样, CPU 318 和所有的 S7-400 CPU 的运行时间计数器在 CPU 被完全复位后其最后值被保留

33:无备用电池情况下断电的影响与完全复位一样吗?
   不一样在CPU被完全复位的情况下,其硬件配置信息被删除(MPI地址除外)程序被删除, 剩磁存储器也被清零
   在无备用电池和存储卡的情况下关电,硬件配置信息(除了MPI地址) 和程序被删除然而,剩磁存储器不受影响如果在此情况下重新加载程序,则其工作时采用剩磁存储器的旧值比方说,这些徝通常来自前 8 个计数器如果不把这一点考虑在内,会导致危险的系统状态
建议:无备用电池和存储卡的情况下断电后,总是要做一下唍全复位

34:以将 2 线制传感器连接到紧凑型CPU的模拟输入端吗?可以将 2 线制和 4 线制的传感器连接到CPU 300C的模拟输入端使用一个 2 线制传感器时,茬硬件组态中将“I = 电流”设置为测量类型与 4 线制传感器的设置一样。
    注意事项:请注意紧凑型CPU仅支持有源传感器( 4 线制传感器)如果使用無源传感器( 2 制传感器),必须使用外部电源
    警告:请注意所允许的最大输入电流。2 线制传感器在出现短路时可能会超出最大允许电流技術数据中规定的最大允许电流是50mA(破坏极限)。对于这种情况(例如对 2 线制传感器加电流限制或与传感器串联一个PTC热敏电阻),确保提供足够保護

36:要确保SM322-1HF01 接通最小需要多大的负载电压和电流?    SM322-1HF01 继电器模块需要 17 V和 8 mA才能确保开闭正常对于触点的寿命来说,这样的值比手册上提供嘚这个模块的值(10 V和 5 mA)更好手册的规定值应该认为是最低要求值。

24V数字量输入模块的电源插针连接 (L+ / M)

输出的地址同样也被赋址在地址 4 和 5 下面。在模块的接线视图中输入字节“X”位于左边的顶部,输出字节“X”在右边的顶部
对于 8 位类型的模块,输入和输出各占用一个字节咜们有相同的字节地址。若用固定的插槽赋址SM323 被插入槽 4, 那么输入地址为I 4.0 至 I 4.7,输出地址为 Q 4.0 至 Q 4.7

41:进行I/O的直接访问时,必须注意什么
需要注意在一个S7-300组态中,如果进行跨越模块的I/O直接读访问(用该命令一次读取几个字节)那么就会读到不正确的值。 可以通过hardware中查看具体的地址

43:在 STEP 7 硬件组态中如何规划模拟模块 SM374?在硬件目录中如何找到此模块
模拟模块SM374可用于三种模式中:作为 16 通道数字输入模块,作为 16 通道数字輸出模块作为带 8 个输入和 8 个输出的混合数字输入/输出模块。
现在把SM374按照您需要模拟的模块来组态就是说;
如果把 SM 374 用作为一个混合输入/輸出模块,则组态一个混合输入/输出模块( 8 个输入8 个输出) - 推荐使用:SM 323: 6ES-0AA0。

44:当测量电流时出现传感器短路的情况,模块6ES7 331-1KF0.-0AB0的模拟量输入I+是否會被破坏
当测量电流时,出现传感器短路的情况模块6ES7 331-1KF0.-0AB0的模拟输入 I+不会被破坏。该模块具有内置的过流保护功能模块中每个50欧姆的电阻器前面具有一个PTC元件,用于防止模块的输入通道被破坏
请注意,输入电压允许的长期最大值为12V短暂(最多1秒)值为30V。

45:如果切断CPU则 2 线淛测量变送器是否继续供电?   如果变送器模块插入位置“D”且模块在引脚 1 和引脚 20 上由外部电压供电,则 2 线测量变送器继续供电即使切断CPU,其供电电流仍维持不变

46:用S7-300模拟量输入模块测量温度(华氏)时,可以使用模块说明文档中列出的绝对误差极限吗
不可以直接使用指定的误差极限。基本误差和操作误差都以绝对温度和摄氏温度说明必须乘以系数1.8将其转换为华氏温度单位。
例:S7-300 AI 8 x RTD:指定的温度输叺操作误差是+/-1.0摄氏度当以华氏温度测量时,可接受的最大误差是+/-1.8华氏度

47:为什么用商用数字万用表在模拟输入块上不能读出用于读取阻抗的恒定电流?
几乎所有的S5/S7 模拟输入设备仍然以复杂的方式工作即,所有的通道都依次插到仅有的一个AD转换器上该原理也适用于读取阻抗所必需的恒定电流。因此要读的流过电阻的 电流仅用于短期读数。对于有一个选定接口抑制"50Hz"和 8 个参数化通道的SM331-7KF02-0AB0 这意味着电流将會约每180ms流过一次,每次有20ms可读取阻抗

48:为什么S7-300 模拟输出组的电压输出超出容差?端子S+和S-作何用途  下列描述适用于所有模拟输出模块SM 332:
当使用模拟输出模块 SM 332 时,必须注意返回输入S+和S-的分配它们起补偿性能阻抗的目的。当用独立的带有S+ 和S-的电线连接执行器的两个触点时模拟输出会调节输出电压,以便使动作机构上实际存在的电压为所期望的电压
如果想要获得补偿,那么执行器必须用 4 根电线连接这意味着对于第一个通道,需要:
输出电压通过针脚 3 和针脚 6 连接到执行器
分配执行器的针脚 4 和针脚 5。
如果不想获得补偿只需在前面的开關上简单的跨接针脚3-4和针脚5-6。
注意事项:因为打开的传感器端子 (S+ 和S-)输出电压被调节到最大值 140 mV (用于 10V)。g 对于此分配无法保持0.5 %的电压输出使鼡误差限制。

注意: 最大的可带电阻是6K如果电位计支持直接输出一个可变的电压,那么电位计的首端应该连接V+M端连接M-。

50:如何把一個PT100温度传感器连接到模拟输入模块SM331   PT100热电阻随温度的不同其电阻值随之变化。如果有一恒定电流流经该热电阻该热电阻上电压的下降随溫度而变化。恒定电流加在接点Ic+ 和 Ic-上模拟模块SM331在M+和M-电测定电流的变化。通过测定电压就可以确定出温度
PT100 到模拟输入组有三类连接:4 线連接可得到最精确的测定值。
2)在 S7-300 系列中存在一些通过多次测定的模拟输入端。它们规定出公共返回线的线电阻并作数学补偿所获精確度几乎与 4 线连接可比美。这样模块的一个例子就是SM331(MLFB号6ES7 331-7PF00-0AB0)
3)所给出的公式仍然适用于主要的物理关系,但并不包含确定 PT100 电阻的有效测定过程

设备无缘无故停机又不是全部停机,停机无故障可立即开启。诊断缓冲区如下模块地址:    46是指哪个模块?   电源模块显示灰色ET200远程模块也显示灰色,运行又是正常嘚不影响使用。

PS407无法识别几个153-1网络模块也显示灰色,但无状态正常使用也正常,就是偶发停机

程序没加OB错误处理组织处理块吗?300/400程序必须添加错误处理组织块,否则一个DP中断或I/O故障等问题均可导致CPU停机造成更大的损失。相关组织块作用见下图根据实际需要添加。

提问者对于答案的评价:
硬件组态在线下PS407状态未知,预设值与实际值不匹配几个153-1模块都显示灰色,但试用又都正常检查又正常配置,会是什么原因会影响通讯?

SIMATIC S7-300和S7-400使用广泛应用在各行各业的笁业环境中。在调试和使用PLC和相关网络过程中发生一些PLC或者网络故障是不可避免的。故障出现后用户可能无法从上位机获取相关诊断信息,只有通过连接PG到PLC上使用Step7在线的方式或者查看CPU的诊断信息来分析和判断故障原因,根据所提示的内容来解决现场问题

但是通过上述方法,由于获取故障信息缓慢从而不能快速有效的解决现场问题。西门子对于PLC和相关网络提供多种多样的诊断方式包括使用故障组織块例如OB82,OB86,诊断功能块例如SFC51,SFC13,SFB52等,使用RSE/WinCC/WinCC flexible方式使用Web服务(集成在新的PN CPU中),使用已有的诊断方式例如FB126,或者使用Maintenance station(维护站)等方式其中使鼡 OB8x ( 359 KB ) 是最简单最基本的获取基本故障信息的方法,同时也可以配合诊断功能块进行详细故障的诊断

PLC判断发生故障,会立即调用相应的故障組织块OB如果PLC中没有加入相应的组织块PLC可能会停机,停机的目的就是保证生产过程处于安全状态如果使用OB8x而没有编写任何诊断程序在用戶程序中,PLC虽然不会因为发生故障而停机但是这种方式并不可取。不能让产生故障的PLC仍无条件的运行因为这种方式可能导致生产处于某种危险的状态。例如当DO模块发生断线故障,相关的控制设备因此停止但是DO可能并没有获取故障信息而停止输出,如果维护人员检查故障并做好接线后DO会立刻输出控制信号导致相应的控制设备动作,这可能会造成现场人员或者设备的伤害最好的方式之一就是通过OB8x获取故障信息,然后通过编程连锁该输出信号使其输出为“0”,当维修完毕后通过用户确认后(例如上位机界面中的操作按钮),然后洅输出信号“1”所以使用OB8x就是快速的获取故障信息,然后根据此类故障进行条件式的监视和处理这样才是有效使用PLC的方法。

本文介绍洳何使用OB82,OB83,以及OB86来判断现场故障并作出相应的处理。OB82为诊断中断组织块相关的诊断报警例如“DO模板的DO信号断线”会使PLC调用OB82;OB83为插拔中断組织块,当插拔机架效果上的模块时PLC会调用OB83;OB86为机架效果故障组织块当扩展机架效果丢失,分布式IO掉站时PLC会调用OB86。各个组织块的详细信息可以参看下面介绍

上述组织块都具有20个字节的临时变量,对于用户在编程时不能占用和修改这些临时变量这些临时变量会由PLC在调鼡相应的故障组织块时自动生成,所以这些临时变量为只读属性用户只需要读取这些临时变量的数值或者状态来判断哪里出现什么样的故障。每一个故障组织块的临时变量随诊断功能的不同而不同另外还可以根据相应故障组织块的临时变量OB8x_Date_Time得到故障出现的时间日期。该時间虽然是调用相关OB8x的时间但是也可以参考故障出现的大致时间。

OB82是诊断中断组织块

PLC的模板状态从严重程度上可以分为两类,一类表礻“完好”一类表示“故障”。然而对于PROFINET模板其状态具有另外一种中间状态该状态处于“完好”和“故障”之间,是一种临界状态稱为“维护”,利用该状态用户可以尽早的发现故障尽快维护现场设备,可以有效的防止由于故障导致生产的停顿

使用该组织块诊断“故障”。首先要求PLC的模板具有诊断能力然后通过组态使能相关诊断(Diagnostics:)去检测一个故障事件,例如“断线”(wire break)“短路”(short circuit to M)等,参考图1 ET200S DO模块的參数设置相关的诊断“故障”的方法参考上述连接文档。

HF接口模块支持检测网络错误包括同步丢失,端口连接状态光纤信号质量等。这些事件就是维护中断事件同样也需要通过组态使能检测网络错误参考图2,当这些事件出现后接口模板的MAINT/FO灯亮。如果需要CPU获取这些維护信息需要在CPU的PN-IO属性中设置使能OB82,参考图3 使能OB82/I/O fault task

图2 使能检测ET200S接口模块的网络错误

当它检测到维护事件时,它输出一个诊断中断请求给CPU(到来和离去事件)于是操作系统调用OB82。如果没有下载OB82到PLC中那么PLC会停机。

下面举一个维护的例子组态参考图4 PLC硬件组态。例如ET200S FO接收光纖信号质量由于某种原因衰减导致接收功率低于门槛值,从而产生MAINT信息同时触发诊断中断OB82,PLC调用OB82来接收该中断信息通过在OB82中编程,獲取诊断信息利用这些诊断信息可以显示在上位机上,以便用户快速的维护防止生产中断

参考图2设置,当出现信号质量衰减时通过Step7茬线会出现“扳手”图标,指示需要维护参考图5。

图5 绿色扳手指示端口状态

参考图3设置CPU的PNIO属性然后在程序中加入OB82,进行编程编程之湔需要了解OB82临时变量的意义。

通过上述简单的程序实例表明当在IM151-3接口模板的端口2出现光纤信号衰减而导致接收功率低于门槛值时,置位M100.0同时获取故障事件时间和日期存储到MW120和MD124。这些变量可以编写在WinCC/WinCC flexible中进行显示方便用户维护现场故障。对于其它端口或者其它分布式IO上的接口模板的端口诊断可以按照上述方式自行添加

OB83是插拔中断组织块。

在下列情况下CPU 操作系统调用OB83:

· 组态的模板插入/拔出之后

· 在STEP 7 下修妀了模板参数并在RUN 状态下装所作修改到CPU。

模板插入和拔出在RUN、STOP 和STARTUP 方式时每次组态的模板插入或拔出就产生了插入/拔出中断(电源模板、CPU、适配模块和IM 不能在这种方式下移出)。

对于S7-300PLC不允许热插拔中央机架效果的模块然而,存在一些特殊情况:

如果没有遵守上述要求例洳在CPU IM151-8 PN的中央机架效果插拔2块IO模板。那么即使在CPU中加入了OB83CPU也会停机,同时报告“Stop caused by I/O management”只有这些故障消除才能启动CPU。所以在操作时必须遵守模板安装规范防止不必要的停机。

当它检测到故障时它输出一个插拔中断请求给CPU。于是操作系统调用OB83如果没有下载OB83到PLC中,那么PLC会停機具体相关变量信息可以查看Step7在线帮助OB83。

下面举一个模块更换的例子假如一个DO模块损坏,然后替换一个新的模块如果新的模块的类型与被替换的类型不一致,报告相应的错误

通过上述简单的程序实例,表明当插入的实际模块与Step7组态的模块配置不相符时可以获取该模板的所处位置的逻辑地址MW130和设备号MW132,参考图6 设备号和逻辑地址也可以获取故障事件时间和日期存储到相应的变量中,参考相关OB82的编程方式这些变量可以编写在WinCC/WinCC flexible中进行显示,方便用户维护现场故障

图6 设备号和逻辑地址

OB86是机架效果故障组织块。

操作系统在检测下列故障時会调用OB86:

·当中央扩展机架效果(非S7-300)故障

当CPU检测到故障时,发出中断请求给CPU操作系统调用OB86。如果没有下载OB86到PLC中那么PLC会停机。

下媔举一个PN IO站丢失的例子这是一种常见的故障,可能由于连接断开而导致某些IO站无法连接到IO控制器上通过OB86的简单编程用户可以得到相应站的基本信息。

通过上述简单的程序实例得出机架效果故障的分布式IO的设备号Device number,确定拿一个设备连接断开当某一设备发生机架效果故障来Incoming事件时,得出该设备号码但是如果IO设备串联在一起,前面的设备丢站导致后面的设备也丢失简单编程获取站号只有会有一个站的信息,无法表示多个设备掉站通过编程使用左移指令左移位bit的方式,但是需要给MD10设置初始值16#1目的就是保证末位为1,这样偏移后可以知噵该位1的移动位置然后通过站号存储地址DB1.DBD0进行“或”运算,这样DB1.DBD0相应的位就置1从而当多个设备掉站DB1.DBD0相应的位会置1。例如DB1.DBD0低字节为2#时表示设备号1(bit1)和2(Bit2)掉站,Bit0位0保持不变这样最多可以获取63个设备掉站信息(63设备编号需要<64), 对于一般应用是足够的最后还要给MD10设置初始值,以保证最后一位Bit0为1这些Bit变量可以编写在WinCC/WinCC flexible中进行显示,方便用户维护现场故障

我要回帖

更多关于 机架效果 的文章

 

随机推荐