243硬件故障诊断指导和软件调试工具STEP7--Micro/WIN提供软件工具帮助您调试和测试您的程序。这些特征包括:监视S7--200正在执行的用户程序状态,为S7--200指定运行程序的扫描次数,强制变量值等。使用表8-1作为S7--200硬件故障诊断和找到解决方案的指导。本章内容:调试应用程序244...................................................................显示程序状态246...................................................................使用状态图来显示和修改S7--200中的数据247...........................................强制指定值248.....................................................................指定程序执行的扫描周期数248........................................................硬件故障诊断指导249................................................................S7-200可编程控制器系统手册244调试应用程序STEP7--Micro/WIN为帮助用户调试程序提供了多种手段:书签,交叉参考表,运行模式下编辑。使用书签使编程更方便您在程序中可以使用书签,它可以使您在一个很长的程序中,很方便的在编辑行之间前后移动。您可以移动到程序的下一个标签行或前一个标签行。使用交叉参考表来检查应用程序交叉参考表中能够显示应用程序中的交叉参考和元件使用信息。交叉参考表能够识别程序中使用的所有操作数;程序块、程序段或者程序行的位置以及每一块使用该操作数的相关指令。您可以在符号地址和绝对地址之间切换来改变所有操作数的表现形式。图8-1交叉参考表提示在交叉参考表中双击某一行可以切换到程序中的相应位置。在RUN模式下编辑应用程序S7--200CPURel.2.0及CPURel.2.0以上的CPU模块支持RUN模式下编辑的功能。RUN模式下编辑功能可以在对控制过程影响较小的情况下,对用户程序进行少量修改。该功能也能使您对程序进行大量的改动,但这样做对程序的执行影响较大,甚至是危险的。警告当在RUN模式下向S7--200下载修改过的程序时,修改的程序将立即影响过程操作。在RUN模式下修改程序会导致不可预见的系统操作,可能会导致严重的人身伤害和财产损失。只有了解RUN模式下修改程序对系统运行会造成何种影响的被授权人员,才可以执行在RUN模式下编辑程序。要在RUN模式下编辑应用程序,在线的S7--200CPU必须支持RUN模式下编辑,并且该CPU必须处于RUN状态。1.在命令菜单中选择DebugProgramEditinRUN。2.如果您打开的项目与S7--200中的程序不同,将提示您存盘。RUN模式下编辑功能只能编辑CPU中的程序。3.STEP7--Micro/WIN对于您将在RUN模式下编辑程序提出警告,提示您是继续下一步还是取消操作。如果您选择继续,STEP7--Micro/WIN会在S7--200中上载程序。现在您可以在RUN模式下编辑程序了。编辑中没有严格的限定。交叉参考第8章硬件故障诊断指导和软件调试工具245提示上升沿(EU)和下降沿(ED)指令带一个操作数。若需要查看有关边沿指令的信息,在屏幕上的示窗部分选择交叉参考图标,边沿指令使用标签页中列出了程序中使用的边沿指令的号码。在编辑应用程序时,请注意不要使用重复的号码。在RUN模式下载程序RUN模式编辑功能允许在S7--200处于RUN模式时下载程序块。在下载程序块之前,考虑到RUN模式下编辑对S7--200操作的影响,请注意以下情况:-如果在RUN模式编辑状态下取消一个输出控制逻辑,则输出在下一次CPU上电之前或CPU转换到STOP模式前将保持上一个状态。-如果在RUN模式编辑状态下取消一个正在运行的HSC或PTO/PWM功能,则这些功能在下一次CPU上电或CPU转换到STOP模式前将保持运行状态。-如果在RUN模式编辑状态下取消ATCH指令,但没有删除中断程序,则在下一次CPU上电或CPU转换到STOP模式之前将继续执行中断。同样,如果删除DTCH指令,在下一次CPU上电之前或CPU转换到STOP模式前中断将不会停止。-如果在RUN模式编辑状态下加入ATCH指令,并且满足第一次扫描标志的条件,则在下一次CPU上电或CPU从STOP转换到RUN模式前不会执行这些指令。-如果在RUN模式编辑状态下取消ENI指令,则在下一次CPU上电之前或CPU从RUN转换到STOP模式前将继续执行中断。-如果在RUN模式编辑状态下修改接收指令的地址表,并且在旧程序向新程序转换时接收指令处于激活状态,则所接收的数据写入旧地址表。NETR和NETW指令同样如此。-由于RUN模式编辑不影响第一次扫描标志,因此在下一次CPU上电之前或CPU从STOP转换到RUN模式前第一次扫描标志的逻辑条件不执行。提示在RUN模式下载应用程序,S7--200必须支持RUN模式下编辑;程序编译必须没有错误;STEP7--Micro/WIN与S7--200之间的通讯必须畅通。您只能下载程序块。在RUN模式下下载程序,点击下载按钮或在命令菜单中选择FileDownload即可。若程序编译正确,STEP7--Micro/WIN将程序块下载到S7--200上。退出RUN模式编辑要退出RUN模式编辑,在命令菜单中选择DebugProgramEditinRUN,然后点击取消复选标志即可。如果修改完后没有存盘,STEP7--Micro/WIN会有三种提示:继续编辑、下载并退出RUN模式编辑或者不下载退出。S7-200可编程控制器系统手册246显示程序状态STEP7--Micro/WIN允许您在程序执行时监视其状态。当您监视程序状态时,程序编辑器会显示指令操作数的值。要显示程序状态,点击ProgramStatus按钮或选择命令菜单DebugProgramStatus即可。显示LAD和FBD程序的状态对于显示LAD和FBD程序的状态,STEP7--Micro/WIN提供了两种选择。-扫描结束的状态:STEP7--Micro/WIN在经过多个扫描周期得到显示状态值之后,刷新屏幕显示状态。状态显示并不反映程序执行时每个元素的实际状态。扫描结束状态不显示L存储器或者累加器的状态。对于扫描结束状态显示,状态值在所有CPU操作模式下都刷新。-执行状态:STEP7--Micro/WIN在S7--200程序执行过程中,显示程序段中的状态值。要显示执行状态,需在命令菜单中选择DebugUseExecutionStatus。对于执行状态,状态值只有在CPU处在RUN模式时才刷新。提示STEP7--Micro/WIN提供一种简单的方法来改变变量的状态。只要选择变量并且用右键单击就会显示选择菜单。对LAD和FBD程序中的状态显示进行配置STEP7--Micro/WIN为在程序中显示状态提供了多种选择。要为程序状态显示作配置,在命令菜单中选择ToolsOptions,然后选择程序编辑器并点击程序编辑器标签页即可,如图8-2所示。图8-2状态显示的选项第8章硬件故障诊断指导和软件调试工具247显示STL程序的状态您可以监视逐条指令编程的STL程序的执行状态。对于一个STL程序,STEP7--Micro/WIN在屏幕上显示指令的状态。从编辑器窗口顶部的第一条STL语句开始,STEP7--Micro/WIN的S7--200采集状态信息。当您滚动编辑器窗口的屏幕时,新的信息从S7--200采集上来。STEP7--Micro/WIN不断地刷新屏幕上的数值。要使屏幕刷新暂停,选择触发暂停按钮。当前值会保持在屏幕上,直到触发暂停按钮失效。为STL程序中显示的参数作配置为STL程序中显示的参数作配置STEP7--Micro/WIN允许您在STL指令中显示多种参数状态。在命令菜单中选择ToolsOptions,然后选择程序编辑器并点击STL状态标签页。参见图8-3。图8-3STL状态显示选项使用状态图来显示和修改S7--200中的数据状态图允许您在S7--200运行程序时,读、写、强制和监视变量数据。在命令菜单中选择ViewComponentStatusChart来创建一个状态图。图8-4中给出了一个状态图的例子。您可以创建多个状态图。STEP7--Micro/WIN提供工具条图标来对状态图进行操作:升序排列、降序排列,单次读、全部写、强制、全部强制、和读所有强制值。要为单元选择格式,选择该单元并单击鼠标右键会显示关联菜单。图8-4状态图S7-200可编程控制器系统手册248强制指定值S7--200CPU允许您用指定值来强制赋给一个或所有的I/O点(I和Q位)。另外您也可以强制改变最多16个内部存储器数据(V或M)或模拟I/O量(AI或AQ)。V和M存储器变量可以按字节、字或双字来改变。模拟量只能以字方式改变,以偶字节开始(如AIW6或AQW14)。所有强制指定值存储在S7--200的永久存储器中。因为在扫描周期的不同阶段(执行程序、或I/O更新、或通讯处理阶段)可能会改变强制数据。所以在扫描周期的不同时间,CPU又使用了这些强制变量。-读取输入:当读取输入值时,S7--200使用强制指定值作为输入值。-在程序中执行控制逻辑:S7--200使用强制值作为所有立即I/O值。程序执行后,强制数据最多可用于16个存储器。-处理通讯请求:强制数据用于所有读/写通讯。-写输出:S7--200使用强制值作为输出。您可以使用状态表来强制变量,要强制一个新值,将其输入到状态表的新值列中,然后按工具条上的强制钮。要将一个已经存在的当前值变为强制值,在当前值列中选中该变量,然后按强制钮。执行程序处理通讯请求执行CPU自诊断写入输出读取输入扫描周期图8-5S7--200扫描周期提示强制功能优于立即I/O指令。强制功能同样优于在STOP模式下使用的输出表。如果S7--200进入STOP模式,输出点上为强制值而不是输出表中配置的值。指定程序执行的扫描周期数为了帮助您调试程序,STEP7--Micro/WIN允许您指定程序的扫描周期数。您可以使让S7--200在首次扫描时执行一次程序。这使您能够监视首次扫描之后,S7--200中的数据。在命令菜单中选择DebugFirstScan即可。您可以指定程序执行的扫描次数(从1到65,535)。这使您能在变量变化时监视程序。在命令菜单中选择DebugMultipleScans,然后指定扫描次数即可。第8章硬件故障诊断指导和软件调试工具249硬件故障诊断指导表8-1S7--200硬件故障诊断指导问题可能原因解决方法输出不工作S被控制的设备产生了损坏S程序错误S接线松动或不正确S输出过载S输出被强制S当接到感性负载时,(例如电机或继电器),需要使用一个抑制电路,参考第3章。S修改程序。S检查接线,如果不正确,要改正。S检查输出的负载功率。S检查CPU是否有被强制的I/O。S7--200上SF(系统故障)灯亮(红)下面给出了可能的原因:S用户程序错误--0003看门狗错误--0011间接寻址--0012非法的浮点数--0014范围错误S电气干扰(0001到0009)S元件损坏(0001到0010)读出致命错误代码号后,其错误类型可参考附录A。S对于编程错误,检查FOR,NEXT,JMP,LBL和比较指令的用法。S对于电气干扰:--参考第3章的接线指南。控制面板良好接地和高电压与低电压不并行引线是很重要的。--把24VDC传感器电源的M端子接到地。LED灯全部不亮S保险丝烧断S24V供电线接反S不正确的供电电压把电源分析器连接到系统,检查过电压尖峰的幅值和