西门子PLC 故障CPU诊断.docx

上传人:b****5 文档编号:7145848 上传时间:2023-01-21 格式:DOCX 页数:17 大小:361.66KB
下载 相关 举报
西门子PLC 故障CPU诊断.docx_第1页
第1页 / 共17页
西门子PLC 故障CPU诊断.docx_第2页
第2页 / 共17页
西门子PLC 故障CPU诊断.docx_第3页
第3页 / 共17页
西门子PLC 故障CPU诊断.docx_第4页
第4页 / 共17页
西门子PLC 故障CPU诊断.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

西门子PLC 故障CPU诊断.docx

《西门子PLC 故障CPU诊断.docx》由会员分享,可在线阅读,更多相关《西门子PLC 故障CPU诊断.docx(17页珍藏版)》请在冰豆网上搜索。

西门子PLC 故障CPU诊断.docx

西门子PLC故障CPU诊断

23.1诊断硬件和故障排除

通过出现的诊断符号,您可查看是否有可供模块使用的诊断消息。

诊断符号说明了相应模块的状态,而且,对于CPU,也说明了其工作模式。

当调用功能“诊断硬件”后,诊断符号将会显示在在线视图以及快速视图(缺省设置)或诊断视图的项目窗口中。

双击快速视图或诊断视图中的诊断符号,可启动“模块信息”应用程序来显示详细的诊断信息。

 

如何定位故障

1.使用菜单命令视图>在线打开项目的在线窗口。

2.打开所有的站,以便在其中组态的可编程模块均为可见。

3.查看是哪个CPU正在显示诊断符号,其指示了错误或故障。

按F1键打开解释诊断符号的帮助页面。

4.选择要检查的站。

5.选择菜单命令PLC>诊断/设置>模块信息以显示主站中CPU的模块信息。

6.选择菜单命令PLC>诊断/设置>诊断硬件以显示主站中CPU和故障模块的“快速视图”。

快速视图的显示已设置为缺省值(菜单命令选项>自定义,“视图”标签)。

7.选择快速视图中的故障模块。

8.点击“模块信息”按钮以获取关于在线模块的信息。

9.点击快速视图中的“在线打开站”按钮,以显示诊断视图。

诊断视图包括了按照其插槽顺序排列的站中的所有模块。

10.双击诊断视图中的模块,以便显示模块信息。

采用在线方式,您也可获得那些没有故障因而没有显示在快速视图中的模块的信息。

您当然不必执行所有的这些步骤;一旦您获得所需要的诊断信息,您就可停止。

23.2在线视图中的诊断符号

在在线项目窗口和具有组态表在线视图的硬件配置窗口中,显示诊断符号。

诊断符号便于检测故障。

只需看一眼模块符号,就知道有没有诊断信息。

如果没有出现故障,那么所显示的模块类型符号上不带附加的诊断符号。

如果模块有诊断信息,那么除显示模块符号外,还显示诊断符号,或以较低的对比度显示模块符号。

模块的诊断符号(实例:

FM/CPU)

 

工作模式的诊断符号(实例:

CPU)

强制诊断符号

 

更新诊断符号的显示

必须激活合适的窗口。

按下F5或在窗口中选择菜单命令视图>更新。

 

23.3诊断硬件快速视图

23.3.1调用快速视图

快速视图提供一种使用“诊断硬件”的快捷方式,其中的信息量少于在HWConfig的诊断视图中的详细显示信息。

当调用“诊断硬件”功能时,快速视图作为缺省显示。

显示快速视图

可以在SIMATIC管理器中,使用菜单命令PLC>诊断/设置>诊断硬件来调用此功能

可按如下方式使用介绍菜单命令:

如果选择了一个模块或S7/M7程序,那么在项目的在线窗口中。

如果在“可访问节点”窗口中选择一个节点(“MPI=...”),那么此条目属于CPU

从所显示的组态表中,可以选择希望显示其模块信息的模块。

23.3.2快速视图中的信息功能

快速视图中会显示如下信息:

在线连接到CPU的数据

CPU的诊断符号

被CPU检测出故障的模块的诊断符号(例如,诊断中断、I/O访问错误)

模块类型和模块地址(机架、插槽、具有站编号的DP主站系统)。

快速视图中的其它诊断选项

显示模块信息

通过点击“模块信息”按钮,可以调用该对话框。

该对话框根据所选模块的诊断能力,显示详细的诊断信息。

特别是,通过CPU的诊断信息,可以显示缓冲诊断区中的条目。

显示诊断视图

使用“在线打开站”按钮显示诊断视图,可以打开一个对话框,该对话框与快速视图不同,包含整个站的图形总览以及组态信息。

它侧重于在“CPU/故障模块”列表中高亮显示的模块。

23.4诊断硬件诊断视图

23.4.1调用诊断视图

使用本方法,可以为机架中的所有模块打开“模块信息”对话框。

诊断视图(组态表)显示机架级的站以及具有各自模块的DP站的实际结构。

 

注意

如果已离线打开组态表,则也可使用菜单命令站>在线打开来获得组态表的在线视图。

根据模块的诊断能力,在“模块信息”对话框中显示不同数目的标签。

在“可访问节点”窗口中,只有具有本身节点地址(MPI或PROFIBUS地址)的模块才可见。

在SIMATIC管理器中从项目的在线视图中调用

1.在SIMATIC管理器的项目视图中,使用菜单命令视图>在线,建立到可编程控制器的在线连接。

2.选择一个站,并双击打开该站。

3.接着打开其中的“硬件”对象。

打开诊断视图。

现在可以选择一个模块,然后使用菜单命令PLC>诊断/设置>模块信息调用其模块信息。

在SIMATIC管理器中从项目的离线视图中调用

执行下列步骤:

1.从SIMATIC管理器的项目视图中选择一个站,然后双击打开绍站。

2.接着打开其中的“硬件”对象。

打开组态表。

3.选择站>在线打开菜单命令。

4.打开HWConfig的诊断视图,同时打开由模块(例如,CPU)确定的站组态。

模块状态用符号表示。

请参见在线帮助,获取各种符号的含义信息。

在一个单独的对话框中列出故障模块和丢失的已组态模块。

从该对话框中,可以直接导航到其中一个选中的模块(“跳转到”按钮)。

5.双击对其状态感兴趣的模块符号。

该模块状态的详细分析在一个具有标签(根据模块类型)的对话框中给出。

从SIMATIC管理器的“可访问节点”窗口中调用执行下列步骤:

1.在SIMATIC管理器中使用菜单命令PLC>显示可访问节点,打开“可访问节点”窗口。

2.在“可访问节点”窗口中选择一个节点。

3.选择菜单命令PLC>诊断/设置>诊断硬件。

注意在“可访问节点”窗口中,只有具有本身节点地址(MPI或PROFIBUS地址)的模块才可见

23.4.2诊断视图中的信息功能

与快速视图相比,诊断视图显示在线可用的整个站组态。

这包含:

机架配置

所有已组态模块的诊断符号

从这些诊断符号中,可以读取每个模块的状态,如果是CPU模块,则可读取工作模式。

组态的模块类型、订货号、地址详细资料以及注释。

诊断视图中的附加诊断选项

通过双击模块,可以显示绍模块的工作模式。

23.5模块信息

23.5.1用于显示模块信息的选项

可从不同的起点显示“模块信息”对话框。

下列步骤是调用模块信息常使用的方法

实例:

在SIMATIC管理器中,通过“在线”或“离线”项目视图窗口。

在SIMATIC管理器中,通过“可访问节点”窗口

在HWConfig的诊断视图中

 

为了显示具有本身节点地址的模块的状态,可要求在线连接到可编程控制器。

可通过项目的在线视图或通过“可访问节点”窗口建立该连接。

为了显示具有本身节点地址的模块的状态,可要求在线连接到可编程控制器。

可通

过项目的在线视图或通过“可访问节点”窗口建立该连接。

23.5.2模块信息功能

可在“模块信息”对话框内的各种标签中查找每个模块的信息功能。

在激活状态下显示时,只显示与选中模块有关的那些标签。

所显示的附加信息

每个标签有下列显示信息:

到选中模块的在线路经

相应CPU的工作模式(例如,RUN、STOP)

选中模块的状态(例如,错误、正常)

如果具有各自的工作模式(例如,CP342-5),那么显示选中模块的工作模式(例如果从“可访问节点”窗口中打开了非CPU模块的模块信息,就不能显示CPU本身的工作模式以及选中模块的状态。

 

23.6在STOP(停止)模式中进行诊断

23.6.1确定停止原因的基本步骤

要确定CPU为何进入“停止”模式,可如下操作:

1.选择已进入停止模式的CPU。

2.选择菜单命令PLC>诊断/设置>模块信息。

3.选择“诊断缓冲区”标签。

4.可以从诊断缓冲区的最后一个条目确定停止原因。

如果发生编程错误:

1.例如,条目“由于没有加载编程错误OB而停止”表示CPU检测到一个程序错误,然后尝试启动(不存在的)OB来处理该编程错误。

前一个条目指代实际的编程错误。

2.选择与编程错误有关的消息。

3.点击“打开块”按钮。

4.选择“栈”标签。

23.6.2停止模式中的栈内容

通过评估诊断缓冲区和栈内容,可以确定用户程序处理期间发生的故障的原因。

例如,如果由于编程错误或“停止”命令导致CPU进入停止模式,那么模块信息中的“栈”标签显示块栈。

可以使用“I栈”、“L栈”和“嵌套栈”按钮来显示其它栈的内容。

栈内容给出哪个块中的哪条指令导致CPU进入停止模式的信息。

B栈内容

B栈,或称块栈,列出了变为停止模式之前调用的所有块以及没有完全处理的块。

I栈内容点击“I栈”按钮时,显示中断位置处的数据。

I栈,或称中断栈,包含中断时有效的数据或状态,例如:

累加器内容和寄存器内容

打开的数据块及其大小

状态字的内容

优先级(嵌套等级)

中断块

中断后,继续进行程序处理的块

L栈内容

对于B栈中列出的每个块,通过选择绍块并点击“L栈”按钮,可以显示相应的局部数据。

L栈,或称局部数据栈,包含发生中断时用户程序正在处理的块的局部数据值。

解释和评估所显示的局部数据要求非常熟悉系统。

所显示数据的第一部分对应于块的临时变量。

嵌套栈内容点击“嵌套栈”按钮时,显示中断位置处嵌套栈的内容。

嵌套栈是逻辑操作A(、AN(、O(、ON(、X(和XN(使用的存储区。

只有在中断时仍然打开括号表达式时,才激活绍按钮。

23.8诊断信息流

23.8.1诊断信息流

下图给出了SIMATICS7中诊断信息的流程。

 

 

显示诊断信息

可以在用户程序中使用SFC51RDSYSST读取诊断条目,或者用STEP7以通俗的语

言显示诊断信息。

它们提供了以下信息:

出错的地点和时间

该条目所属的诊断事件的类型(用户自定义的诊断事件、同步/异步的错误、工作模式改变)。

 

CPU中的诊断状态数据

诊断状态数据描述由系统诊断所监控的部件的当前状态。

下表给出了可以显示信息的议题(部分系统状态列表):

 

关于模块的诊断数据

除了CPU,还有其它具有诊断能力的模块(SM、CP、FM),它们的数据输入到系统状态列表中。

下表给出了可以显示信息的议题(部分系统状态列表):

23.8.3发送个人诊断消息

还可以使用系统功能SFC52WRUSMSG来扩展SIMATICS7的标准系统诊断:

在诊断缓冲区中输入个人诊断信息(例如,关于用户程序执行的信息)。

发送用户定义的诊断信息来登录站(监控设备,如PG、OP或TD)。

用户定义的诊断事件

诊断事件分成事件类别1至F。

用户定义的诊断事件属于事件类别8至B。

这些事件分成如下两组:

事件类别8和9包含具有固定编号和预定义文本的消息,这些消息可根据编号进行调用。

事件类别A和B包含可任意分配一个编号(A000-A0FF、B000-B0FF)以及文本的消息。

将诊断消息发送到站

除了在诊断缓冲区中生成用户定义的条目外,还可以使用SFC52WRUSMSG发送用户自定义的诊断消息来登录显示设备。

当使用SEND=1调用SFC52时,诊断消息写入到发送缓冲区,然后自动发送到在CPU上登录的一个或多个站。

如果不能发送消息(例如,因为没有登录显示设备,或因为发送缓冲区已满),那么依然在诊断缓冲区中输入用户定义的诊断事件。

23.8.4诊断功能

系统诊断会检测、评估以及报告可编程控制器中发生的错误。

为此,具有系统诊断

能力的每个CPU和每个模块(例如,FM354)都有一个诊断缓冲区,在该缓冲区中,按照事件的发生顺序输入所有诊断事件的详细信息。

诊断事件

下列条目显示为诊断事件,例如:

模块上的内、外部故障

CPU中的系统错误

工作模式变化(例如,从RUN变为STOP)

用户程序中的错误

插入/删除模块

通过系统功能SFC52输入的用户消息

存储器复位后,诊断缓冲区中的内容保持。

通过诊断缓冲区,可以在以后分析系统中的错误,查找引起STOP的原因或追踪并归类单个诊断事件的发生。

获取诊断数据

没有必要为采集通过系统诊断取得的诊断数据而编程。

这是一个自动运行的标准特性。

SIMATICS7提供各种诊断功能。

一些功能集成在CPU上,另一些功能由模块提

供(SM、CP和FM)。

显示故障

在模块的前面板上显示内、外部模块故障。

LED显示内容及其评估在S7硬件手册中进行描述。

对于S7-300,内部和外部故障作为一组错误一起显示。

CPU识别系统错误和用户程序中的错误,并在系统状态列表和诊断缓冲区中输入诊断消息。

这些诊断消息可在编程设备上读取。

具有诊断能力的信号和功能模块会检测内部和外部模块错误,并生成一个可通过中断OB进行响应的诊断中断。

23.9处理错误的程序措施

当CPU检测到程序处理中的错误(同步错误)以及可编程控制器中的错误(异步错误)时,就调用处理绍错误的相应组织块(OB):

错误

错误OB

I/O冗余错误

OB70

CPU冗余错误

OB72

时间错误

OB80

电源错误

OB81

诊断中断

OB82

插入/删除模块中断

OB83

CPU硬件故障

OB84

优先级错误

OB85

机架故障或分布式I/O中的站故障

OB86

通讯错误

OB87

编程错误

OB121

I/O访问错误

OB122

如果没有合适的OB可供使用,那么CPU进入停止模式。

否则,可以在OB中存储如

何响应绍错误情况的指令。

这表示可以减少或消除错误影响。

基本步骤

创建并打开OB

1.显示CPU的模块信息。

2.选择“性能数据”标签。

3.根据所显示的列表,确定是否允许绍CPU使用要编程的OB。

4.在程序的“块”文件夹中插入OB,然后打开绍OB。

5.进入进行错误处理的程序。

6.将OB下载到可编程控制器。

处理错误的程序措施

1.评估OB的局部数据,确定引起错误的确切原因。

局部数据中的变量OB8xFLTID和OB12xSWFLT包含错误代码。

在“系统和标准

功能参考手册”中描述了它们的含义。

2.跳转到响应该错误的程序段。

在系统和标准功能的在线参考帮助中的标题为“SFC51(RDSYSST)模块诊断实例”

的文本中,可以获取处理诊断中断的实例。

在相应的关于块的帮助中,可以获取关于OB、SFB和SFC的详细资料。

23.9.1评估输出参数RET_VAL

利用RET_VAL输出参数(返回值),系统功能指示CPU是否可以正确执行SFC功能。

返回值中的错误信息

返回值为整型数据类型(INT)。

整数符号指示它是正整数还是负整数。

返回值与“0”

值之间的关系指示在执行绍功能期间是否发生错误(参见表):

如果在执行绍功能期间,发生错误,那么返回值小于“0”。

整数的符号位为“1”。

如果执行绍功能期间,无错误,那么返回值大于或等于“0”。

整数的符号位为“0”。

 

响应错误信息

如果在执行SFC期间,发生错误,那么SFC在返回值(RET_VAL)中提供一个错误代码。

区别下列各种情况:

所有SFC都可输出的常规错误代码,以及

SFC根据其特殊功能可输出的特殊错误代码。

传送功能值

一些SFC还使用输出参数RET_VAL来传送功能值,例如,SFC64TIMETCK使用

RET_VAL传送所读取的系统时间。

在SFB/SFC帮助中,可以获取关于输出参数RET_VAL的更多详细资料。

 

23.9.2对检测到错误响应的错误OB

可检测错误

系统程序可检测下列错误:

CPU功能异常

系统程序执行错误

用户程序错误

I/O错误

根据错误类型,CPU进入停止模式或调用错误OB。

编程响应

可以设计程序来响应不同类型的错误,以及确定CPU的响应方式。

处理特殊错误的程序可以保存在错误OB中。

.如果调用了错误OB,那么执行绍程序。

 

错误OB

区别同步错误和异步错误的方法如下:

同步错误可分配给MC7指令(例如,给已经删除的信号模块的加载指令)。

异步错误可分配给优先级或整个可编程逻辑控制器(例如,超出周期)。

下表显示了可能发生的错误类型。

请参见“S7-300可编程控制器、硬件和安装手册”或“S7-400、M7-400可编程控制器、硬件和安装手册”,获取CPU是否提供所指定的OB的信息。

使用错误OB81的实例

利用错误OB的局部数据(启动信息),可以评估已经发生的错误类型。

例如,如果CPU检测到电池错误,那么操作系统调用OB81(参见图)。

 

可以编写一个程序,评估由OB81调用触发的事件代码。

还可以编写一个产生响应的程序,如激活一个与操作员站上的灯相连的输出。

错误OB81的局部数据

下表显示了在本例中,OB81的变量声明表中必须声明的临时变量。

电池错误(BOOL)符号必须看作一个输出(例如,Q4.0),以便程序的其它部分可以访问这些数据。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1