西门子s7--200PLC中的出错处理
S7--200PLC将错误分为致命错误和非致命错误。您可以通过选择PLC > 信息菜单命令,来查看因错误
而产生的错误代码。
图5--6给出了PLC信息对话框,其中包括
错误代码和错误描述。
“上个致命错误”域显示西门子S7--200发生的前一致命错误代码。如果RAM区具有保持性,则在整个电源周期内也将保持该数
值。当S7--200全清或者RAM区掉电保护失败时,该区也被清除。
“致命错误总计”域是前一次CPU清除所有存储区后产生致命错误的次数。如果
RAM区具有保持性,则在整个电源周期内也会保持该数值。当S7--200全清或者
RAM区掉电保护失败时,该区也被清除。
附录C列出了S7-200的错误代码,而附录
D描述了可以用于监视错误的特殊存储区(SM)位。
非致命错误
非致命错误是指用户程序结构问题、用户程序指令执行问题和扩展I/O模块问题。您可以用
STEP7--Micro/WIN来得到所产生错误的错误代码。非致命错误有三个基本的分类。
程序编译错误
当下载程序时,西门子PLC S7--200会编译程序。如果S7--200发现程序违反了编译规则,会停止下载并产生一个
错误代码。(已经下载到S7-200中的程序将仍然在永久存储区中存在,并不会丢失。) 可以在修正错
误后再次下载程序。对于编译规则错误的列表,请参考附录C。
I/O错误
启动时,西门子S7--200从每个模块读取I/O组态。正常运行过程中,S7--200周期性的检测每个模块的状态
与启动时得到的组态相比较。如果S7--200检测到差别,它会将模块错误寄存器中的组态错误标志位
置位。除非此模块的组态再次和启动时获得的组态相匹配,否则S7-200不会从此模块中读取输入数据
或者写输出数据到此模块。
模块的启动信息存储在特殊存储器(SM)标志位中。应用程序可以监视这些标志位。关于I/O错误报告
的SM标志的更多信息,请参见附录D。SM5.0是全局I/O错误位,当扩展模块上存在一个错误条件
时,它将保持置位。
程序执行错误
在程序执行过程中有可能产生错误。这类错误有可能来自使用了不正确的指令或者在过程中产生了非
法数据。例如:一个编译正确的间接寻址指针,在程序执行过程中,可能会改为指向一个非法地址。
这是一个实时程序问题的例子。当实时程序问题发生时,SM4.3会在CPU处于RUN模式期间置位。
(实时程序问题的列表参见附录C)。程序执行错误信息存储在特殊寄存器(SM)标志位中。应用程序可
以监视这些标志位。对于用于报告程序执行错误的SM位的更多信息,请参考附录D。
当S7--200发生非致命错误时,S7--200并不切换到STOP模式。它仅仅是把事件记录到SM存储器中并
继续执行应用程序。但是如果用户希望在发生非致命错误时,将CPU切换到STOP模式,可以通过编
程实现。下列范例程序用于监视两个非致命错误标志位。当两个标志中任意一个置位,S7--200将切
换到STOP模式。
致命错误
致命错误会导致S7-200停止执行程序。按照致命错误的严重程度,S7--200使其部分或全部功能无法
执行。处理致命错误的目的是使S7-200恢复到安全状态,S7-200可据此对关于现有错误条件的询问
作出反应。当检测到一个致命错误时,S7-200将切换到STOP模式,打开SF/DIAG (红色) 和STOP
LED,忽略输出表,并关闭输出。除非致命错误条件被修正,否则S7-200将保持这种状态不变。
一旦消除了致命错误条件,必须重新启动CPU。可以用以下方法重新启动CPU:
1.重新启动电源
2.将模式开关由RUN或者TERM变为STOP
3.在STEP7--Micro/WIN命令菜单中选择PLC >上电复位以启动S7--200。这可以强制S7--200启
动并清除所有致命错误。
重启CPU会清除致命错误,并执行上电诊断测试来确认已改正错误。如果发现其他致命错误,s7-200CPU会
重新点亮错误LED指示灯,表示仍存在错误。否则CPU会开始正常工作。
有些错误可能会使CPU无法进行通讯。这种情况下您无法看到来自CPU的错误代码。这些错误类型指
出需要对西门子PLC S7--200进行维修的硬件故障;无法通过更改程序或清除S7--200的存储器对这些故障进行修正。
|