首页 理论教育 用编程状态进行程序调试注意事项

用编程状态进行程序调试注意事项

时间:2023-06-29 理论教育 版权反馈
【摘要】:调试的一般步骤是:定义程序状态的显示→选择调试的操作模式→定义调用环境(可选)→开/关调试。在用程序状态功能调试程序时,出现的错误可能会造成严重损害,对此要做好防范。在程序状态启动前,不得修改数据块。

用编程状态进行程序调试注意事项

1.进入程序状态的条件和调试步骤

进入程序状态的条件:程序已编译下载到CPU;打开逻辑块,用菜单命令“调试→监视”,进入在线监控状态;CPU和用户程序正在运行。

调试的一般步骤是:定义程序状态的显示→选择调试的操作模式→定义调用环境(可选)→开/关调试。要设置断点,以单步模式来执行程序,必须设置测试操作模式(用菜单命令“调试→操作”设置)。这些测试功能不能用于过程操作模式。在用程序状态功能调试程序时,出现的错误可能会造成严重损害,对此要做好防范。因此一般不直接调用整个程序来调试,而是从调用体系最深的嵌套层的块开始,逐个地调用块,然后单独对其进行调试。例如,在OB1中调用它们,然后通过监视和修改变量,为块创建要测试的环境。

2.程序状态显示

可以通过在程序编辑器中显示每条指令的程序状态(RLO、状态位)或相应寄存器的内容来调试程序。通过在程序编辑器窗口使用菜单命令“选项→自定义”对话框的“STL”标签里定义显示信息的范围,如图5-34所示。

用程序状态监视STL程序如图5-35所示,从光标选择的网络开始监视程序状态。右边窗口显示每条指令执行后的逻辑运算结果(RLO)和状态位STA(Status)、累加器1(STANDARD)、累加器2(ACCU2)和状态字(STATUS…)。用菜单命令“选项(Options)→自定义(Custom-ize)”打开的对话框分STL标签页选择需要监视的内容,用LAD/FBD标签页可以设置梯形图(LAD)和功能块图。

梯形图的状态显示如图5-36所示,在LAD和FBD中预设颜色,用绿色实线表示状态实现,蓝色点划线表示状态没有实现,黑色实线表示状态未知。线类型和颜色的预设值可以在菜单命令“选项→自定义”、“LAD/FBD”标签页下修改。程序状态的显示从选择的程序段开始,周期性更新。

梯形图中元素状态表示定义:触点的状态是如果地址具有值“1”代表实现,如果地址具有值“0”代表没有实现,如果地址值为未知则代表未知;具有启用输出(ENO)的元素的状态对应于将ENO输出值作为地址触点的状态,如果启用的输出没有连接,具有启用输出(ENO)的元素以黑色显示;具有Q输出的元素的状态对应于具有地址值触点的状态;如果调用后BR位被置位,那么CALL状态将实现;如果执行跳转(即如果跳转条件满足),那么跳转指令的状态将实现。

978-7-111-46052-7-Chapter05-47.jpg

图5-34 定义状态域显示内容

978-7-111-46052-7-Chapter05-48.jpg

图5-36 梯形图的状态显示

梯形图中线状态表示定义:如果未穿过线或如果线状态未知,则这些线是黑色的;从母线开始的线状态始终为“1”;从并联分支开始的线状态始终为“1”;如果元素前的线状态和元素状态均为“1”,那么元素后的线状态也将为“1”;如果在NOT前的线状态不为“1”,那么在NOT后的线状态为“1”(反之亦然);如果满足在相交前至少有一条线的状态为“1”或在分支前的线状态为“1”,则线状态将在一些线相交后为“1”。

梯形图中参数状态表示定义:以粗体显示的参数值为当前值;以细体字显示的参数值来自前一个周期或当前扫描周期不处理程序部分。

程序状态功能监视数据块。在数据视图(见图5-37)中查看在线数据块。可以通过在线数据块或离线数据块激活显示。在这两种情况下,会显示PLC中的在线数据块的内容。在程序状态启动前,不得修改数据块。如果在线数据块和离线数据块的结构有所不同(声明),可以根据要求直接将离线数据块下载到PLC中。数据块必须位于“数据视图”中,以便在线值可以在“实际值”栏中显示。当状态激活时,不能切换到声明视图。更新时,在状态栏中可以看见绿色条,并显示工作模式,只能更新画面中可见的数据块部分。数值以相应数据类型的格式显示;格式不能改变。在程序状态结束后,“实际值”栏再次显示在程序状态之前有效的内容。不能将更新后的在线值传送到离线数据块中。所有基本数据类型都在共享数据块中更新,也可在所有的实例数据块的声明(输入/输出/输入-输出/静态)中更新。有些数据类型不能更新,如参数类型、DATE_AND_TIME和字符串等。

978-7-111-46052-7-Chapter05-49.jpg(www.xing528.com)

图5-37 数据视图

3.单步与断点调试

只能在程序编辑器中的语句表编程模式下进行单步/断点的设置和执行工作。在单步/断点模式下调试时,进行逐个语句地执行程序(单步)和设置断点的操作。进入单步/断点模式需满足以下几个条件。

1)只能在语句表中使用单步和断点功能,对于梯形图或功能块图中的块,必须使用菜单命令“查看→STL”来改变视图。

2)执行菜单命令“选项→自定义”,在对话框中选择STL标签页,激活“立即激活新断点”选项。

3)必须设置测试操作模式,单步模式测试不能在操作模式下进行,用菜单命令“调试→操作”使CPU工作在测试(Test)模式。

4)不得保护块,不得在编辑器中改变打开的块,必须在线打开被调试的块。

5)设置断点时不能起动程序状态(Monitor)功能。

6)STL程序中有断点的行、调用块的参数所在的行、空的行或注释行不能设置断点。

在“调试”菜单中可以找到能用来设置、激活或删除断点的菜单命令,如图5-38所示。也可以使用断点工具栏中的图标选择那些菜单命令。使用菜单命令“查看→断点条”来显示断点工具栏。在满足单步/断点设置条件时,在语句表中设置断点,将光标置于要设置断点的指令行,在STOP或RUN-P模式下执行菜单命令“调试→设置断点”,语句行用空心圆圈标记断点,该指令行左侧会出现一小圆,如图5-39所示,表明断点设置成功,同时弹出可移动的显示寄存器的小窗口,使用菜单命令“查看→PLC寄存器”可以打开和关闭该窗口。单步模式一次只执行一条指令。

978-7-111-46052-7-Chapter05-50.jpg

图5-38 单步/断点操作设置

其他的单步/断点菜单指令有“调试→删除断点”(逐个删除断点),或者可以使用菜单命令“调试→删除所有断点”(删除所有断点)、“调试→断点激活”(激活后断点用实心圆圈标记)、“调试→显示下一个断点”(光标跳转到所选择的下一个断点,而无需处理块)、“调试→恢复运行”(继续运行程序直到下一个断点)、“调试→执行下一个命令”(在单步模式下进行测试)、“调试→执行调用”(跳转到块。可以继续在那里以单步模式测试,也可以设置断点。在块结束处,程序跳转回块调用后的下一个语句)。

978-7-111-46052-7-Chapter05-51.jpg

图5-39 断点及断点处寄存器的内容

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈