测试功能 目录 页 程序的状态监视功能 ............................................................................................................……………... 2 程序状态监视的模式.........................................................................................…………………………. 3 程序状态监视的触发点 …..………..................................................................……………………….. 4 程序状态显示信息的选择 ............................................................………………………………………... 5 启动“Monitor/Modify Variables”工具 ……………........................................................………………... 6 输入变量表 .............................................................................................................…………………….. 7 监视和修改变量 .............................................................................................…………………………. 8 设定触发点 .................................................................................................................…………………. 9 保存变量表 .............................................................................................................………………….. 10 打开变量表 .............................................................................................................………………….. 11 建立与CPU的连接 ........................................................................................……………………….... 12 在停止模式修改输出............................................................................................……………………... 13 强制功能 ....................................................................................................................................... ….. 14 断点调试功能 (1) ..................................................................................................................………... 15 断点调试功能 (2) ...................................................................................................................……….. 16 练习11.1:监视和修改变量 .............................................................……………………………............ 17 练习11.2: 在停止状态修改变量 .....................................................................…………………………. 18 练习11.3: 修改变量功能的触发点使用 ..........................................…………………………………….. 19 练习11.4: 强制功能 ..................................................................................................…………............ 20 练习11.5:程序状态和监视变量的结合 .....................………………………………………....................... 21
程序的状态监视功能 监视 通过用鼠标点击眼镜图标或选择菜单Debug -> Monitor, 可以激活当前所打开块的监视测试模式。 在测试模式下,LAD / FBD的元件用不同的颜色显示。 通过菜单Options -> Customize 进行选择。 例如:• 状态有效 -> “元件显示绿色” • 状态无效 -> “元件显示蓝色” 注 1. 当“Monitor”模式激活时,不能修改程序。 也不能进行显示切换 (LAD,STL,FBD) 。 2. 只显示那些正在执行的指令状态。 当 CPU 在停止模式或当块不调用时,状态不显示。
程序状态监视的模式 Debug-> 操作 有两个操作测试模式,它们的不同在于它们对用户程序的循环周期的影响不同: • Process operation (过程操作) • Test operation (测试操作) Process 操作 在过程操作中,测试功能受限制,保证循环周期不超时。 程序循环的状态仅由它们首次执行决定。 “Breakpoint”(断点)和 “Single-step” ( 单步程序执行 ) 的测试功能不能执行。 Test 操作 在测试操作中,所有测试功能可以不带限制地执行。 程序执行的状态由它们每次执行时决定。 由于每次循环执行时刷新测试功能的“程序状态”,循环扫描时间将显著增加。 参数分配 上面的信息只有在硬件组态时没有分配操作模式的情况下才有效。 当分配CPU参数时,可以在“Protection”标签页上定义操作模式。这个设定在“Operation”对话框中就不再改变。
程序状态监视的触发点 触发点 选择菜单 Debug -> Call Environment 后,弹出一个对话窗(见幻灯片),在这里可以输入调用路径。如果一个块在一个程序中被调用几次,并且要监视某一次调用时,这个设置是有用的。也可以指定数据块作为触发条件。 块的状态显示从指定的DB被打开开始。 调用路径 在例中,FC 1 被调用三次 (见程序结构)。 所以, 可以特定地监视其中的一个调用,在被测块的前面输入三个上级的块,这样调用发生在三个不同的块。所以,输入FC 30,可以监视第三次调用, 打开数据块 在例中,FB 1 被FC 40块多次调用。在这种情况下,调用路径不能用来测试。这里使用打开的数据块作为测试的触发器。 由于FB也使用一个背景数据块,可以使用DB 2作为触发条件。 在本例中,第一次调用使用DB 1, 第二次调用使用 DB 2,第三次调用使用DB 3。为了看第二次调用,需要输入DB 2。 注 带调用路径的测试需要在“ 测试”模式下。
程序状态显示信息的选择 LAD/STL/FBD 编辑器 -> Options ->Customize ... 或 在运行状态: 在下面的位置点击鼠标右键 简介 在块状态中,可以选择在屏幕上要显示的信息。缺省情况下,显示状态位、RLO和标准状态(累加器1)。 如果要显示其他信息,选择菜单 Options -> Customize -> STL. 对话窗 在屏幕上可以看到的集中信息的对话窗,除缺省的信息显示外,也可以显示下面的信息: • AR1 地址寄存器 1,仅对寄存器间接寻址有意义 • AR2 地址寄存器 2,仅对寄存器间接寻址有意义 • 累加器 2 • DBR1 数据块寄存器 1 (全局或首次打开的 DB ) • DBR2 数据块寄存器2 (局部或第二个打开的DB) • Indirect,仅对存储器间接寻址有意义 (显示MD 和 DD中的内容,例如指令 L IW [MD 100] ). 注 在运行状态,可以隐去或显示附加信息,可以修改表示格式 ( 十 进制,十六进制,实数) 或显示分割符。在RLO,STA等的标题上点击鼠标右键, 选择需要的菜单选项 (见屏幕)。
启动“Monitor/Modify Variables”工具 概述 “监视/修改变量”是另一个STEP 7 工具,可以用可选的格式监视程序变量。 也可以修改CPU中的状态或变量内容。 工具条 通过菜单 View -> Toolbar 可以修改工具条。可以激活/取消三种不同的工具条: • 标准 • 查看 • 变量 查看 通过菜单 View -> Symbol / Symbol Comment / Monitor Format / Monitor Value / Modify Value 或利用“查看”工具条可以调整变量表中的列数。
输入变量表 建立 VAT 有两个方法建立变量表: 1. 在LAD/STL/FBD 编辑器中,选择菜单 PLC -> Monitor/Modify Variables, 利用这个表可以直接在线工作。 2. 在SIMATIC 管理器中,当“Blocks”文件夹打开时,选择菜单 Insert New Object -> Variable Table,这样,离线建立变量表。保存并再次打开它,切换 到在线模式,并进行测试。 表 要监视或修改的每个地址占用变量表中的一行。 变量表每列的含义如下: 地址 该列显示变量的绝对地址 符号 变量符号,它和符号表中输入的相同 符号注释 该列显示符号表的符号注释 监视格式 该列包含一个标准设置,如:HEX. 可以修改成如下的格式: • 在格式列点击鼠标右键,弹出一个格式表 • 或 在格式列连续点击鼠标左键,直到出现需要的格式 监视值 这里显示最近刷新的变量值。 修改值 在该列中输入变量的新值。
监视和修改变量 监视 用下面两个方法监视变量: 监视 用下面两个方法监视变量: • 通过菜单Variable -> Update Monitor Values 或在图标 上点击,监视 刷新的值一次。 • 通过菜单Variable -> Monitor或在图标 上点击,每个扫描周期刷新监视 值。 修改 修改变量的过程: 1. 用鼠标左键,点击“Modify Value”一列的行,修改变量。 2. 用正确的数据格式输入值。 3a. 选择菜单 Variable -> Activate Modify Values 或点击图标 (或见3b), 激活修改值一次 。 3b. 选择菜单Variable -> Modify 或点击图标 ,激活每个周期修改值。 4. 利用“Monitor”测试功能检查修改值是否输入变量。 修改值生效 点击图标 可以使输入变量表中的修改值生效。 无效的值象注释一样显示,再次点击图标使修改值再次生效。 只有有效的修改值才能激活。
设定触发点 PII 循环程序执行的开始 循环程序 执行 转换: RUN --> STOP 循环程序的结束 PIQ Trigger 通过菜单Variable -> Set Trigger... 或点击图标 可以设定“监视和修改变量”工具中的触发点。 Trigger Points “Monitor Trigger Point” 指定何时被监视的变量值刷新。 “Modify Trigger Point”指定何时固定值分配给要修改的变量。 Trigger Frequency “Monitor Trigger Frequency”指定是当触发点到达时刷新一次或每个扫描周期刷新 (每次当触发点到达时). “Modify Trigger Frequency”指定把新值分配给要修改的变量一次或每个扫描周期分配。 注意 ! 当“Monitor Trigger Frequency”设定为一次时,点击图标 或 有相同的效果:值被刷新一次。 当“Modify Trigger Frequency”设定为一次时,点击图标 或 有相同的效果:值被激活一次。 当触发频率设定为“每周期”时,上面提到的图标有和前面描述所不同的效果。 当对监视和修改设定相同的触发点时,监视具有优先级。也就是说先处理监视。 注 对一些 CPU 型号 (例如:CPU 314-1AE03),当“Modify Trigger Frequency”设定为“每次扫描周期”,在每个扫描周期不执行修改功能。 补救:使用“强制”测试功能。 循环程序的结束 PIQ
保存变量表 保存 当取消或完成一个测试任务时,可以保存变量表。 保存 当取消或完成一个测试任务时,可以保存变量表。 变量表的名称由字母“VAT”带一个 0 到 65535 ( 两者不带空格 ), 例如:“VAT 5”。
打开变量表 操作 1. 激活菜单 Table -> Open。 2. 选择打开对话窗中的项目名称。 2. 选择打开对话窗中的项目名称。 3. 选择项目下的有关程序并单击“Blocks”文件夹。 4. 在右边的窗口中选择需要的表。 5. 用“OK”确认。
CPU (从硬件站 “Station 2” 来的VAT) 组态的 CPU (从硬件站 “Station 2” 来的VAT) Station 2 直接连接的 CPU Station 1 PG PLC 在VAT中的变量是CPU程序的变量部分。 在监视和修改变量前,必须建立和有关CPU的联系。可以把每个变量表连接到不同的CPU。选择菜单PLC -> Connect To . . . 或单击工具条中的图标建立和下面CPU的连接: • 组态的 CPU • 直接 CPU • 可访问的 CPU . . . 组态的 CPU 显示S7程序(硬件站)中存的CPU的变量。 直接连接的CPU 显示和编程器直接连接的CPU中的变量。 可访问的 CPU 显示对话窗中选择的CPU中的变量。 选择菜单 PLC -> Connect To -> Accessible CPU... 建立一个和可访问CPU的连接。这样,可以在网络中建立和每个CPU 的连接。
在停止模式修改输出 概述 “Enable Peripheral Outputs”功能把外设输出(PQ)脱离禁止输出。这样,可以在STOP模式下修改外设输出。 选择 允许外设输出的过程如下: 1. 选择菜单 Table -> Open 打开包含要修改或选中的变量表 (VAT)窗口 2. 选择菜单 PLC -> Connect to 建立一个和需要的CPU的连接,这样,可以修改 选中的变量表的外设输出。 3. 选择菜单PLC -> Operating Mode 打开操作模式对话窗,把CPU切换到STOP 模式。 4. 在“Modify Value”一列中输入外设需要的值。 例: PQB 7 修改值: 2#01000011 PQW 4 W#16#0027 PQD 4 DW#16#0001 5. 通过选择菜单Variable -> Enable Peripheral Outputs.切换到“Enable Peripheral Outputs”(允许外设输出)模式。 6. 选择菜单Variable -> Activate Modify Values 修改外设输出。“Enable Peripheral Outputs” (允许外设输出)保持有效,直到通过选择菜单 Variable -> Enable Peripheral Outputs 再次关闭该功能。 7. 分配新值,用第4步再次启动。 注 • 如果CPU 改变操作模式,从STOP 到 RUN 或STARTUP,会弹出一个信息。 • 如果CPU 在RUN 模式而且选择了“Enable Peripheral Outputs” (允许外设 输出)功能,也会弹出一个信息。
强制功能 强制 用强制功能可以为用户程序变量建立预设值。对于S7-400,输入、输出、位存储器和外设都可以强制。对于S7-300,只有输入和输出可以。 注意 对一个CPU只能打开一个强制变量窗口。 • 在强制值窗口,可以找到当前在线连接的变量表名称。 • 在状态条中可以发现当前强制任务的日期和时间。 • 当强制值窗口打开时,不能监视和修改变量。 在启动“强制”功能前,应该确保在同一个CPU上没有人同时执行该功能。 通过菜单 Variable > Stop Forcing 只能取消或结束强制任务。 关闭强制值窗口或退出“监视/修改变量”应用程序并不能取消强制任务。 利用菜单 Edit -> Undo.不能取消“强制”。找一找强制变量和修改变量的区别。 注意 ! 请注意,执行“强制”功能时不正确的处理会: • 威胁生命或人身健康 • 给机器或整个系统造成损坏 注 该功能仅对特定的 CPU 版本有效 (例如:CPU 314-1AE03). !
断点调试功能(1) 断点 借助于这个测试功能,可以单步地测试用语句表编程语言建立的程序。例如:在编程时可以测试程序循环。有的CPU可以设置几个断点。 断点功能 在程序编辑器中通过菜单“Test”或通过断点条选择断点功能。 断点条 通过选择菜单程序编辑器中的 View -> Breakpoint Bar,选择显示断点条。 注 为了执行这些测试功能,必须满足下面的要求: • “Test Operation”模式必须分配参数 • 要测试的块必须在线 注意 ! 如果选择断点有效,CPU 停止在该指令上。为了安全,输出禁止。 注 该功能仅对特定的 CPU 版本有效 (例如:CPU 314-1AE03). !
断点调试功能(2) 断点 下一条指令 断点条 设定/取消断点 断点激活 显示下一个断点 执行调用 删除所有断点 恢复 下一条指令 设定/取消断点 断点激活 显示下一个断点 执行调用 删除所有断点 恢复 下一条指令 设置/取消断点 利用“设置/取消断点”可以确定程序执行到何处停止。断点处的指令不执行。 断点激活 利用“断点激活”可以激活所有的断点, 不仅包括已经设置的,也包括那些要设置的。 显示下一个断点 利用“显示下一个断点”,编辑器跳到下一个选择的断点,而不执行程序。 恢复 利用“恢复”,程序运行到下一个激活的断点处。 下一条指令 利用“下一条指令”,可以单步执行程序。如果遇到块调用,用“下一条指令”就跳到块后的第一条指令。 执行调用 这里,当遇到块调用时,利用“执行调用”可以进入块内。 在块的结束跳回到块后的下一条指令。
练习11.1:监视和修改变量 32 通道培训单元 16通道培训单元 目的 你已经用传送带模型作过实验,现在要检查传送带上的所有传感器和执行器。 操作 • 在S7 程序“My Program”中插入变量表 VAT 1 • 在表中输入上面幻灯片给出的地址,由于没有给这个S7程序建立符号表,上 面的符号仅用于定位,你看不到。 注:保存录入的内容。用菜单 Insert -> Block, 在表中输入8行,例如:I 8.0 到 I 8.7。 • 保存变量表 • 建立和CPU的连接 • 把监视和修改的触发点设为“Start of cycle”(循环开始);触发频率设 为“Every cycle”(每个周期)。 • 激活“监视变量”功能 • 检查传送带上的所有传感器 • 退出监视功能 • 对于输出,在修改值列一个接一个输入“1”,启动“修改”功能,现在检查 传送带上的所有执行器。 结果 知道你的传送带模型是否功能齐全,如果没有,请告诉指导教师。
练习11.2:在停止状态修改变量 目的 由于故障 CPU 进入停止模式。现在系统要转换到一个确定状态, 在停止模式下利用修改功能把传送带模型移动到右面的光电开关。 操作 • 把CPU 切换到 STOP. • 在变量表 VAT 1中,输入一个新行,地址是 PQB 8 . • 把监视格式切换成“BIN”. • 输入 “00100000”作为新地址的修改值 • 利用菜单 Variable -> Enable Peripheral Outputs. • 利用菜单 Variable -> Activate Modify Values 触发监视功能. • 把传送带模型移动到右面,直到遇到光电开关 • 当到达光电开关时,按“Esc”钮结束传送带模型修改 结果 在停止状态执行修改功能。
练习11.3:修改变量功能触发点的使用 目的 理解使用修改变量时触发点的含义。 目的 理解使用修改变量时触发点的含义。 操作 • 在程序“My Program”的OB1中输入一个新段(见幻灯片) • 传输S7程序“My Program”中的所有块 • 如果CPU处于STOP模式,把 CPU 切换到 RUN模式 • 在变量表VAT 1中,输入另外地址 Q 4.6 . • 按照幻灯片设定触发点 • 试着把输出修改成“0”. • 如果它不能修改,试一试另一个触发点 结果 知道使用修改变量功能时触发点如何操作。
练习11.4:强制功能 目的 系统中的传感器信号失效,利用“强制”功能模拟这些信号。 目的 系统中的传感器信号失效,利用“强制”功能模拟这些信号。 操作 • 在“Monitor and Modify Variable”工具中选择菜单 Variable -> Display Force Values. • 在“Force Values”窗口中,输入地址 I 0.0 到 I 0.2 的强制值 (见幻灯片). • 通过菜单 Variable -> Force 触发强制功能 • 关闭“Force Values”窗口 • 确定CPU如何动作 结果 给输入信号分配强制值。 注 由CPU的版本和型号决定能否做此练习。 (摘去编程器,也可保持强制状态,修改变量只在连机时才能执行)
练习11.5:程序状态和监视变量的结合 目的 同时执行几个测试功能。 目的 同时执行几个测试功能。 操作 • 在一个窗口中,打开“Monitor and Modify Variable”工具,在另一个窗口中打开 LAD/STL/FBD 编辑器 (S7程序“My Program”中的FC 1 块). • 安排两个窗口,使之同时可见 • 在“Monitor and Modify Variable”窗口中加入地址I 0.0 到 I0.2 • 激活监视变量功能 • 在“LAD/STL/FBD编辑器”窗口中激活程序状态 • 分析“强制”功能对测试FC1块的影响 • 取消强制任务选择菜单 Variable -> Display Force Values 和Variable -> Stop Forcing. 结果 熟悉了利用几个窗口工作,这在诊断故障时是有帮助的。