探头 TM0180-07-00-06-10-02
探头 TM0180-07-00-06-10-02
探头 TM0180-07-00-06-10-02
探头 TM0180-07-00-06-10-02
诊断OB82:如果一个支持诊断,并且已经对其释放了诊断中断的模块识别出一个错误,它既对进入事件也对外出的事件向CPU发出一个诊断中断的请求。操作系统然后调用OB82。在OB82自己的局部变量里包含有有缺陷模块的逻辑基地址和4个字节的诊断数据。如果你还没有编程OB82,则CPU进入“停止”模式。你可以阻断或延迟诊断中断OB,并通过SFC39-42重新释放它。
2)子机架故障OB86:如果识别出一个DP主站系统或一个分布式I/O站有故障(既对进入事件也对外出的事件),该CPU的操作系统就调用OB86。如果没有编程OB86但出现了这样一个错误,CPU就进入“停止”模式。你可以阻断或延迟OB86并通过SFC39-42重新释放它。
3)I/O访问出错OB122:当访问一个模块的数据时出错,该CPU的操作系统就调用OB122。比方说,CPU在存取一个单个模块的数据时识别出一个读错误,那么操作系统就调用OB122。该OB122以与中断块有相同的优先级类别运行。如果没有编程OB122,那么CPU由“运行”模式改为“停止”模式。
25:为什么在某些情况下,保留区会被重写?
在STEP7的硬件组态中,可以把几个操作数区定义为“保留区”。这样可以在掉电以后,即使没有备份电池的话,仍能保持这些区域中的内容。如果定义一个块为“保留块”,而它在CPU中不存在或只是临时安装过,那么这些区域的部分内容会被重写。在电源接通/断开之后,其他内容会在相关区里找到。
26:为何不能把闪存卡的内容加载入S7300CPU?
你的项目在闪存卡上。现在要用它加载S7300。但加载结束后发现CPU的RAM中仍是空的。出现此问题的原因是你的程序里有无法处理的,"错误的"***块(比如说,OB86没有DP接口)。在重新设置和重新启动CPU后,RAM仍是空的。诊断缓冲区对这个"无法加载"的块会提示一些信息。
27:当把CPU315-2DP作为从站,把CPU315-2DP作为主站时的诊断地址
在组态一个CPU315-2DP站时,你使用S7工具“H/WCONFIG”来分配诊断地址。如果发生一个故障,这些诊断地址被加入诊断OB的变量“OB82_MDL_ADDR”里。你可在OB82里分析此变量,确定有故障的站并作出相应的反应。
下面是如何分配诊断地址的例子:
第1步:通过CPU315-2DP组态从站并赋予一个诊断地址,比如422。
第2步:通过CPU315-2DP组态主站
第3步:把组态好的从站链接到主站并赋予一个诊断地址,比如1022。
28:需要为S7-300CPU的DP从站接口作何种设置,才可以使用它来进行路由选择?
如果使用CPU作为I-Sl***e,并且该CPU也起S7路由器的作用,那么请注意如下事项:
用于路由选择的从站的DP接口必须设置为活动状态。这可以在HWConfig中完成:在DP接口的属性对话框中,选项"Commissioning/Testoperation"或"Programming,status/modify..."必须***。关于这些设置的注意事项可以在下表中获得。
对于S7路由连接,有4种可用的连接资源-与其它任何连接资源无关。没有使用PG/OP的连接资源或S7基本通信.
如果必须通过DP接口来建立一个与位于其机架上的通信伙伴连接时(如在CP343-1中),也要使用一个路由连接。而对于通过MPI接口与一个位于其机架上的通信伙伴的连接,则不使用路由连接资源,因为在这种情况下,能够直接到达伙伴。注意事项:这不适用于CPU318。
29:为什么当使用S7-300CPU的内部运行时间表时,没有任何返回值?
当对CPU312IFM到316-2DP参数化系统功能块SFC2,SFC3和SF***时,为一个运行时间表规定了一个大于"B#16#0"的标识符,那么将出错并且所需的功能也无法用。此种情况下,将在块的"RETVAL"输出处输出标识符"8080h"。
说明:对于这些CPU,只有一个计时器可用。因此你应该只用标识符"B#16#0"。在一个周期块(OB1,OB35)里一定不能调用系统功能SFC2"SET_RTM",而是应该在重启动OB(OB100)调用它。你也可以通过外部触发器来启动该块。不然的话,该块将老是复位运行计时表,永远完成不了计数。
30:变量是如何储存在临时局部数据中的?
L堆栈永远以地址“0”开始。在L堆栈中,会为每个数据块保留相同个数的字节,作为存放每个块所拥有的静态或局部数据。