摘要:本文介绍了OB100组织块在西门子S7-300系列PLC中的故障诊断功能。本项目的设备属于石油开采设备,长时间放置在戈壁滩,在非正常停机情况下,需要对设备进行自启动控制。因此,完整的故障诊断功能应用显得尤为重要。
关键词:S7-300;PLC;OB100
Abstract:This paper introduces the fault diagnosis function of OB100 organization block in SIEMENS S7-300 series PLC.The equipment of the project belongs to the oil mining equipment,long time placed in Gobi,in the case of non normal shutdown,it need to automatically restart.Therefore,the fault diagnosis function application appears especially important.
Key Words:S7-300 PLC OB100
在很多实际工程应用中,客户会根据实际工况要求设备在非正常状态下实现诊断自动重启,公司出口到某中东国家油田的注水泵就要求附带该项功能。据此,在西门子的S7300系统中,调用组织块OB100便可以实现因某些原因要求执行重新暖启动的控制功能。当CPU 的状态由停止态转入运行态时,操作系统都调OB100。当OB100运行结束后,操作系统调用OB1。
OB100在CPU执行时 Warm Restart执行,且只执行一次,可用于变量的初始化,使用Step7不能时时监控程序的运行,可用Variable Table监控数据变化。
利用OB100先于OB1执行的特性,可以为用户主程序的运行准备初始变量或参数。当对CPU进入Warm Restart操作时,操作系统就会自动调用OB100,启动时过程映像和不保持的标志存储器、定时器及计数器被清除,保持的标志存储器、定时器和计数器以及数据块的当前值保持。CPU会自动调用OB100一次,然后循环程序OB1开始执行。用户对OB100进行适当的编程可以让CPU在暖启动时完成特定的设置任务OB100会因如下事件执行暖启动:
*电源合上之后
*选择开关由STOP转至RUN
*使用通讯功能请求之后
*多处理器的同步
*H系统连接建立之后
在本项目中,具体的硬件由西门子S7300 CPU315-2DP及MP277组成。
组态主站CPU315-DP。
调用OB100,并编程把OB100的临时变量存入DB100,以便进行故障分析
在OB100中编写程序,OB100中的变量调用时可以在符号名前加#或者直接用L0.0 LB0这样的表示
对于OB100,在帮助文件可查阅其相关代码。如图
代码内容:从帮助信息中得知,要实现自动重启,需要得到代码B#16#82,通过编程即可实现该项功能。当故障代码为B#16#81时,表明当前需要手动启动,在程序中可对自动启动命令进行清除。
实际应用:值得一提的是,如果需要在OB100中调用FB1块,且指定了MCP1StatSend和MCP1StatRec的地址数据块,当NCK重启后,尽管数据块长度是正确的,也可能会因为FC14的数据块长度错误造成PLC停机,此问题是由于OB100中的FB1功能块的参数,只能使用一个地址数据块。操作部件的参数必须是一个指定的数据块。若其他数据块需要使用指针,必须使用相同的DB块号。所有的操作部件没有必要使用参数化指针。
参考文献:
[1]S7300/400的系统软件和标准功能 参考手册 西门子(中国)有限公司自动化驱动集团2004.02.
[2]S7300,S7400语句表编程 参考手册 西门子(中国)有限公司自动化驱动集团2004.01.
[3]STEP7 V5.3编程西门子(中国)有限公司自动化驱动集团 参考手册 2004.12.
论文作者:黄海荣
论文发表刊物:《基层建设》2017年第25期
论文发表时间:2017/12/4
标签:功能论文; 数据论文; 变量论文; 参数论文; 代码论文; 中国论文; 程序论文; 《基层建设》2017年第25期论文;