硬件故障诊断指导和软件调试工具 STEP 7--Micro/WIN提供软件工具帮助您调试和测试您的程序。
这些特征包括:监视 S7--200正在执行的用户程序状态,为 S7--200指定运行程序的扫描次数,强制变量值等。
使用表 8-1作为 S7--200硬件故障诊断和找到解决方案的指导。
本章内容:调试应用程序 244 ................................................................... 显示程序状态246 ...................................................................使用状态图来显示和修改 S7--200中的数据 247 ........................................... 强制指定值 248 .....................................................................指定程序执行的扫描周期数 248 ........................................................ 硬件故障诊断指导 249 ................................................................243244调试应用程序STEP 7--Micro/WIN为帮助用户调试程序提供了多种手段:书签,交叉参考表,运行模式下编辑。
使用书签使编程更方便您在程序中可以使用书签,它可以使您在一个很长的程序中,很方便的在编辑行之间前后移动。
您可以移动到程序的下一个标签行或前一个标签行。
使用交叉参考表来检查应用程序交叉参考表中能够显示应用程序中的交叉参考和元件使用信息。
交叉参考表能够识别程序中使用的所有操作数;程序块、程序段或者程序行的位置以及每一块使用该操作数的相关指令。
您可以在符号地址和绝对地址之间切换来改变所有操作数的表现形式。
图 8-1交叉参考表在 RUN 模式下编辑应用程序S7--200CPU Rel. 2.0及 CPU Rel. 2.0以上的 CPU 模块支持 RUN 模式下编辑的功能。
RUN 模式下编辑功能可以在对控制过程影响较小的情况下,对用户程序进行少量修改。
该功能也能使您对程序进行大量的改动,但这样做对程序的执行影响较大,甚至是危险的。
警告当在 RUN 模式下向 S7--200下载修改过的程序时,修改的程序将立即影响过程操作。
在 RUN 模式下修改程序会导致不可预见的系统操作,可能会导致严重的人身伤害和财产损失。
只有了解 RUN 模式下修改程序对系统运行会造成何种影响的被授权人员,才可以执行在 RUN 模式下编辑程序。
要在 RUN 模式下编辑应用程序,在线的 S7--200CPU 必须支持 RUN 模式下编辑,并且该 CPU 必须处于 RUN 状态。
1.在命令菜单中选择 Debug >Program Edit in RUN 。
2.如果您打开的项目与 S7--200中的程序不同,将提示您存盘。
RUN 模式下编辑功能只能编辑 CPU 中的程序。
3. STEP 7--Micro/WIN对于您将在 RUN 模式下编辑程序提出警告,提示您是继续下一步还是取消操作。
如果您选择继续, STEP 7--Micro/WIN会在 S7--200中上载程序。
现在您可以在 RUN 模式下编辑程序了。
编辑中没有严格的限定。
交叉参考在 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 模式下下载程序,点击下载按钮或在命令菜单中选择 File >Download 即可。
若程序编译正确, STEP 7--Micro/WIN将程序块下载到 S7--200上。
退出 RUN 模式编辑要退出 RUN 模式编辑,在命令菜单中选择 Debug >Program Edit in RUN ,然后点击取消复选标志即可。
如果修改完后没有存盘, STEP 7--Micro/WIN会有三种提示:继续编辑、下载并退出 RUN 模式编辑或者不下载退出。
245246显示程序状态STEP 7--Micro/WIN允许您在程序执行时监视其状态。
当您监视程序状态时,程序编辑器会显示指令操作数的值。
要显示程序状态,点击 Program Status 按钮或选择命令菜单 Debug >Program Status 即可。
显示 LAD 和 FBD 程序的状态对于显示 LAD 和 FBD 程序的状态, STEP 7--Micro/WIN提供了两种选择。
-扫描结束的状态:STEP 7--Micro/WIN在经过多个扫描周期得到显示状态值之后,刷新屏幕显示状态。
状态显示并不反映程序执行时每个元素的实际状态。
扫描结束状态不显示 L 存储器或者累加器的状态。
对于扫描结束状态显示,状态值在所有 CPU 操作模式下都刷新。
-执行状态:STEP 7--Micro/WIN在 S7--200程序执行过程中,显示程序段中的状态值。
要显示执行状态,需在命令菜单中选择 Debug >Use Execution Status 。
对于执行状态,状态值只有在 CPU 处在 RUN 模式时才刷新。
对 LAD 和 FBD 程序中的状态显示进行配置STEP 7--Micro/WIN为在程序中显示状态提供了多种选择。
要为程序状态显示作配置,在命令菜单中选择 Tools >Options ,然后选择程序编辑器并点击程序编辑器标签页即可,如图 8-2所示。
图 8-2状态显示的选项显示 STL 程序的状态您可以监视逐条指令编程的 STL 程序的执行状态。
对于一个 STL 程序, STEP 7--Micro/WIN在屏幕上显示指令的状态。
从编辑器窗口顶部的第一条 STL 语句开始, STEP 7--Micro/WIN的 S7--200采集状态信息。
当您滚动编辑器窗口的屏幕时,新的信息从 S7--200采集上来。
STEP 7--Micro/WIN不断地刷新屏幕上的数值。
要使屏幕刷新暂停,选择触发暂停按钮。
当前值会保持在屏幕上,直到触发暂停按钮失效。
为 STL 程序中显示的参数作配置为 STL 程序中显示的参数作配置 STEP 7--Micro/WIN允许您在 STL 指令中显示多种参数状态。
在命令菜单中选择 Tools > Options ,然后选择程序编辑器并点击STL 状态标签页。
参见图 8-3。
图 8-3STL 状态显示选项使用状态图来显示和修改 S7--200中的数据状态图允许您在 S7--200运行程序时,读、写、强制和监视变量数据。
在命令菜单中选择 View >Component >Status Chart来创建一个状态图。
图 8-4中给出了一个状态图的例子。
您可以创建多个状态图。
STEP 7--Micro/WIN提供工具条图标来对状态图进行操作:升序排列、降序排列,单次读、全部写、强制、全部强制、和读所有强制值。
要为单元选择格式,选择该单元并单击鼠标右键会显示关联菜单。
图 8-4状态图247S7-200可编程控制器系统手册强制指定值 S7--200 CPU允许您用指定值来强制赋给一个或所有的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-5 S7-200扫描周期提示强制功能优于立即I/O 指令。
强制功能同样优于在STOP 模式下使用的输出表。
如果S7--200 进入 STOP 模式,输出点上为强制值而不是输出表中配置的值。
指定程序执行的扫描周期数为了帮助您调试程序,STEP 7--Micro/WIN允许您指定程序的扫描周期数。
您可以使让S7--200在首次扫描时执行一次程序。
这使您能够监视首次扫描之后,S7--200中的数据。
在命令菜单中选择Debug > First Scan即可。
您可以指定程序执行的扫描次数(从1到65,535 )。