S7 您所在的位置:网站首页 s7-1200顺序功能图 S7

S7

#S7| 来源: 网络整理| 查看: 265

2.6 用STEP7调试程序

有两种调试用户程序的方法:程序状态与监控表(Watch Table)。程序状态可以监视程序的运行,显示程序中操作数的值和程序段的逻辑运算结果(RLO),查找用户程序的逻辑错误,还可以修改某些变量的值。

使用监控表可以监视、修改和强制用户程序或CPU内的各个变量。可以向某些变量写入需要的数值,来测试程序或硬件。例如,为了检查接线,可以在CPU处于STOP模式时给外设输出点指定固定的值。

2.6.1 用程序状态功能调试程序

1.启动程序状态监视

与PLC建立好在线连接后,打开需要监视的代码块,单击程序编辑器工具栏上的“启用/禁用监视”按钮978-7-111-57703-4-Chapter02-112.jpg,启动程序状态监视。如果在线(PLC中的)程序与离线(计算机中的)程序不一致,项目树中的项目、站点、程序块和有问题的代码块的右边均会出现表示故障的符号。需要重新下载有问题的块,使在线、离线的块一致,上述对象右边均出现绿色的表示正常的符号后,才能启动程序状态功能。进入在线模式后,程序编辑器最上面的标题栏变为橘红色。

如果在运行时测试程序出现功能错误或程序错误,可能会对人员或财产造成严重损害,应确保不会出现这样的危险情况。

2.程序状态的显示

启动程序状态后,梯形图用绿色连续线来表示状态满足,即有“能流”流过,见图2-40中较浅的实线。用蓝色虚线表示状态不满足,没有能流流过。用灰色连续线表示状态未知或程序没有执行,黑色表示没有连接。

Bool变量为0状态和1状态时,它们的常开触点和线圈分别用蓝色虚线和绿色连续线来表示,常闭触点的显示与变量状态的关系则反之。

进入程序状态之前,梯形图中的线和元件因为状态未知,全部为黑色。启动程序状态监视后,梯形图左侧垂直的“电源”线和与它连接的水平线均为连续的绿线,表示有能流从“电源”线流出。有能流流过的处于闭合状态的触点、指令方框、线圈和“导线”均用连续的绿色线表示。

978-7-111-57703-4-Chapter02-113.jpg

图2-40 程序状态监视

图2-40是星形-三角形降压起动的梯形图。接通连接在PLC的输入端I0.0的小开关后马上断开它(模拟外接的起动按钮的操作),梯形图中I0.0的常开触点接通,使Q0.0(电源接触器)和Q0.1(星形接触器)的线圈通电并自保持。TON定时器的IN输入端有能流流入,开始定时。TON的当前时间值ET从0开始增大,达到PT预置的时间8s时,定时器的位输出"T1".Q变为1状态,其常开触点接通,使Q0.2(三角形接触器)的线圈通电;其常闭触点断开,使Q0.1(星形接触器)的线圈断电。电动机由星形接法切换到三角形接法运行。

3.在程序状态修改变量的值

用鼠标右键单击程序状态中的某个变量,执行出现的快捷菜单中的某个命令,可以修改该变量的值。对于Bool变量,执行命令“修改”→“修改为1”或“修改”→“修改为0”;对于其他数据类型的变量,执行命令“修改”→“修改值”。执行命令“修改”→“显示格式”,可以修改变量的显示格式。

不能修改连接外部硬件输入电路的过程映像输入(I)的值。如果被修改的变量同时受到程序的控制(例如受线圈控制的Bool变量),则程序控制的作用优先。

2.6.2 用监控表监控与强制变量

使用程序状态功能,可以在程序编辑器中形象直观地监视梯形图程序的执行情况,触点和线圈的状态一目了然。但是程序状态功能只能在屏幕上显示一小块程序,调试较大的程序时,往往不能同时看到与某一程序功能有关的全部变量的状态。

监控表可以有效地解决上述问题。使用监控表可以在工作区同时监视、修改和强制用户感兴趣的全部变量。一个项目可以生成多个监控表,以满足不同的调试要求。

监控表可以赋值或显示的变量包括过程映像(I和Q)、外设输入(I:P)、外设输出(Q:P)、位存储器(M)和数据块(DB)内的存储单元。

1.监控表的功能

1)监视变量:在计算机上显示用户程序或CPU中变量的当前值。

2)修改变量:将固定值分配给用户程序或CPU中的变量。

3)对外设输出赋值:允许在STOP模式下将固定值赋给CPU的外设输出点,这一功能可用于硬件调试时检查接线。

2.生成监控表

打开项目树中PLC的“监控与强制表”文件夹,双击其中的“添加新监控表”,生成一个名为“监控表1”的新的监控表,并在工作区自动打开它。根据需要,可以为一台PLC生成多个监控表。应将有关联的变量放在同一个监控表内。

3.在监控表中输入变量

在监控表的“名称”列输入PLC变量表中定义过的变量的符号地址,“地址”列将会自动出现该变量的地址。在地址列输入PLC变量表中定义过的地址,“名称”列将会自动地出现它的名称。如果输入了错误的变量名称或地址,出错的单元的背景变为提示错误的浅红色,标题为“i”的标示符列出现红色的叉。

可以使用监控表的“显示格式”列默认的显示格式,也可以用鼠标右键单击该列的某个单元,选中出现的列表中需要的显示格式。图2-41的监控表用二进制格式显示QB0,可以同时显示和分别修改Q0.0~Q0.7这8个Bool变量。这一方法用于I、Q和M,可以用字节(8位)、字(16位)或双字(32位)来监视和修改多个Bool变量。

978-7-111-57703-4-Chapter02-114.jpg

图2-41 监控表

复制PLC变量表中的变量名称,然后将它粘贴到监控表的“名称”列,可以快速生成监控表中的变量。

4.监视变量

可以用监控表的工具栏上的按钮来执行各种功能。与CPU建立在线连接后,单击工具栏上的978-7-111-57703-4-Chapter02-115.jpg按钮,启动监视功能,将在“监视值”列连续显示变量的动态实际值。

再次单击该按钮,关闭监视功能。单击工具栏上的“立即一次性监视所有变量”按钮978-7-111-57703-4-Chapter02-116.jpg,即使没有启动监视,将立即读取一次变量值,在“监视值”列用表示在线的橙色背景显示变量值。几秒钟后,背景色变为表示离线的灰色。

位变量为TRUE(1状态)时,监视值列的方形指示灯为绿色。位变量为FALSE(0状态)时,指示灯为灰色。图2-41中的MD12是定时器的当前时间值,在定时器的定时过程中,MD12的值不断增大。

5.修改变量

单击“显示/隐藏所有修改列”978-7-111-57703-4-Chapter02-117.jpg按钮,出现隐藏的“修改值”列,在“修改值”列输入变量新的值,并勾选要修改的变量的“修改值”列右边的复选框。输入Bool变量的修改值0或1后,单击监控表其他地方,它们将自动变为“FALSE”(假)或“TRUE”(真)。单击工具栏上的“立即一次性修改所有选定值”按钮978-7-111-57703-4-Chapter02-118.jpg,复选框打勾的“修改值”被立即送入指定的地址。

用鼠标右键单击某个位变量,执行出现的快捷菜单中的“修改”→“修改为0”或“修改”→“修改为1”命令,可以将选中的变量修改为FALSE或TRUE。在RUN模式修改变量时,各变量同时又受到用户程序的控制。假设用户程序运行的结果使Q0.0的线圈断电,用监控表不可能将Q0.0修改和保持为TRUE。在RUN模式不能改变I区分配给硬件的数字量输入点的状态,因为它们的状态取决于外部输入电路的通/断状态。

在程序运行时如果修改变量值出错,可能导致人身或财产的损害。执行修改功能之前,应确认不会有危险情况出现。

6.在STOP模式改变外设输出的状态

在调试设备时,这一功能可以用来检查输出点连接的过程设备的接线是否正确。以Q0.0为例(见图2-42),操作的步骤如下:

978-7-111-57703-4-Chapter02-119.jpg

图2-42 在STOP模式改变外设输出的状态

1)在监控表中输入外设输出点Q0.0:P,勾选该行“修改值”列右边的复选框。

2)将CPU切换到STOP模式。

3)单击监控表工具栏上的978-7-111-57703-4-Chapter02-120.jpg按钮,切换到扩展模式,出现与“触发器”有关的两列(见图2-42)。

4)单击工具栏上的978-7-111-57703-4-Chapter02-121.jpg按钮,启动监视功能。

5)单击工具栏上的978-7-111-57703-4-Chapter02-122.jpg按钮,出现“启用外围设备输出”对话框,单击“是”按钮确认。

6)用鼠标右键单击Q0.0:P所在的行,执行出现的快捷菜单中的“修改”→“修改为1”或“修改”→“修改为0”命令,CPU上Q0.0对应的LED(发光二极管)亮或熄灭,监控表中该行不再显示黄色三角形。

CPU切换到RUN模式后,工具栏上的978-7-111-57703-4-Chapter02-123.jpg按钮变为灰色,该功能被禁止,Q0.0受到用户程序的控制。如果有输入点或输出点被强制,则不能使用这一功能。为了在STOP模式下允许外设输出,应取消强制功能。

因为CPU只能改写,不能读取外设输出变量Q0.0:P的值,符号978-7-111-57703-4-Chapter02-124.jpg表示该变量被禁止监视(不能读取)。将光标放到图2-42最下面一行的“监视值”单元时,将会出现弹出项方框,提示“无法监视外围设备输出”。

7.定义监控表的触发器

触发器用来设置在扫描循环的哪一点来监视或修改选中的变量。可以选择在扫描循环开始、扫描循环结束或从RUN模式切换到STOP模式时监视或修改某个变量。

单击监控表工具栏上的978-7-111-57703-4-Chapter02-125.jpg按钮,切换到扩展模式,出现“使用触发器监视”和“使用触发器进行修改”列(见图2-42)。单击这两列的某个单元,再单击单元右边出现的978-7-111-57703-4-Chapter02-126.jpg按钮,用出现的下拉式列表设置监视和修改该行变量的触发点。

触发方式可以选择“仅一次”或“永久”(每个循环触发一次)。如果设置为触发一次,单击一次工具栏上的按钮,执行一次相应的操作。

8.强制的基本概念

可以用强制表给用户程序中的单个变量指定固定的值,这一功能被称为强制(Force)。强制应在与CPU建立了在线连接时进行。使用强制功能时,不正确的操作可能会危及人员的生命或健康,造成设备或整个工厂的损失。

S7-1200系列PLC只能强制外设输入和外设输出,例如强制I0.0:P和Q0.0:P等。不能强制组态时指定给HSC(高速计数器)、PWM(脉冲宽度调制)和PTO(脉冲列输出)的I/O点。在测试用户程序时,可以通过强制I/O点来模拟物理条件,例如用来模拟输入信号的变化。强制功能不能仿真。

在执行用户程序之前,强制值被用于输入过程映像。在处理程序时,使用的是输入点的强制值。在写外设输出点时,强制值被送给过程映像输出,输出值被强制值覆盖。强制值在外设输出点出现,并且被用于过程。

变量被强制的值不会因为用户程序的执行而改变。被强制的变量只能读取,不能用写访问来改变其强制值。

输入、输出点被强制后,即使编程软件被关闭,或编程计算机与CPU的在线连接断开,或CPU断电,强制值都被保持在CPU中,直到在线时用强制表停止强制功能。

用存储卡将带有强制点的程序装载到别的CPU时,将继续程序中的强制功能。

9.强制变量

双击打开项目树中的强制表,输入I0.0和Q0.0(见图2-43),它们后面被自动添加表示外设输入/输出的“:P”。只有在扩展模式才能监视外设输入的强制监视值。单击工具栏上的“显示/隐藏扩展模式列”按钮978-7-111-57703-4-Chapter02-127.jpg,切换到扩展模式。将CPU切换到RUN模式。

同时打开OB1和强制表,用“窗口”菜单中的命令,水平拆分编辑器空间,同时显示OB1和强制表(见图2-43)。单击程序编辑器工具栏上的978-7-111-57703-4-Chapter02-128.jpg按钮,启动程序状态功能。

978-7-111-57703-4-Chapter02-129.jpg

图2-43 用强制表强制外设输入和外设输出点

单击强制表工具栏上的978-7-111-57703-4-Chapter02-130.jpg按钮,启动监视功能。用鼠标右键单击强制表的第一行,执行快捷菜单命令,将I0.0:P强制为TRUE。单击出现的“强制为1”对话框中的“是”按钮确认。强制表第一行出现表示被强制的978-7-111-57703-4-Chapter02-131.jpg符号,第一行“F”列的复选框中出现勾。PLC面板上I0.0对应的LED不亮,梯形图中I0.0的常开触点接通,上面出现被强制的978-7-111-57703-4-Chapter02-132.jpg符号,由于PLC程序的作用,梯形图中Q0.0的线圈通电,PLC面板上Q0.0对应的LED亮。

用鼠标右键单击强制表的第二行,执行快捷菜单命令,将Q0.0:P强制为FALSE。单击出现的“强制为0”对话框中的“是”按钮确认。强制表第二行出现表示被强制的978-7-111-57703-4-Chapter02-133.jpg符号。梯形图中Q0.0线圈上面出现表示被强制的978-7-111-57703-4-Chapter02-134.jpg符号,PLC面板上Q0.0对应的LED熄灭。

10.停止强制

单击强制表工具栏上的978-7-111-57703-4-Chapter02-135.jpg按钮,停止对所有地址的强制。被强制的变量最左边和输入点的“监视值”列红色的标有“F”的小方框消失,表示强制被停止。复选框后面的黄色三角形符号重新出现,表示该地址被选择强制,但是CPU中的变量没有被强制。梯形图中的978-7-111-57703-4-Chapter02-136.jpg符号也消失了。

为了停止对单个变量的强制,可以清除该变量的F列的复选框,然后重新启动强制。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有