您现在的位置是:首页 > PLC技术 > PLC技术

STEP 7-Micro/WIN编程软件在运行模式下用状态表监视

来源:艾特贸易2017-06-05

简介虽然梯形图状态监视的方法很直观,但受到屏幕的限制,只能显示很小一部分程序。利用STEP7-Micro/WIN的状态表不仅能监视比较大的程序块或多个程序,而且可以编辑、读取、写入、强制

    虽然梯形图状态监视的方法很直观,但受到屏幕的限制,只能显示很小一部分程序。利用STEP 7-Micro/WIN的状态表不仅能监视比较大的程序块或多个程序,而且可以编辑、读取、写入、强制和监视PLC的内部变量,还可使用诸如单次读取、全部写入、读取全部强制等功能,以大大方便程序的调试。如果需要同时监视的变量不能在程序编辑器中同时显示,可以使用状态表监视功能。状态表始终显示“扫描结束状态”信息。    1.打开和编辑状态表    在程序运行时,可单击浏览条中的“状态表”图标,或右键单击指令树中的“状态表”选项,在弹出的菜单中选择“打开”,或执行菜单命令“查看”→“组件”→“状态表”,均可打开状态表窗口,如图3-46所示。打开后可对它进行编辑。
状态表窗口
    图3-46    状态表窗口    未启动状态表的监视功能时,可以直接在状态表的地址字段输入要监视的变量的地址,格式字段选择输入数据类型,定时器和计数器可分别按位或字监视。如果按位监视,运行后显示的是它们的输出位的0/1状态;如果按字监视,运行后显示的是它们的当前值。除了数据常量、累加器及高速计数器,PLC内存地址范围所列举的大多数内存类型均有效。    执行菜单命令“编辑”→“插入”,或右键单击状态表中的单元,执行弹出的菜单中的“插入”命令,可在状态表中当前光标位置的上部插入新的行,也可以将光标置于最后一行中的任意单元后按向下的箭头键,将新的行插在状态表的底部。    在已建立的符号表中选择地址并将其复制在状态表内可快速编辑状态表。右键单击指令树内的对应图标可进行重新命名操作。    2.创建新的状态表    如果要监视的元件很多,可将要监视的元件分组,把它们放在几个状态表中,因此要分别创建状态表。    右键单击指令树中的状态表图标,在弹出的快捷菜单中选择“插入”一“状态表”选项,即可创建新的状态表;或选择要建立状态表的一个或几个程序段,单击右键,在弹出的快捷菜单中选择“创建状态表”,能快速生成一个包含所选程序段内各元件的新状态表;或者打开状态表窗口,利用“编辑”菜单或右键单击弹出快捷菜单,选择“插入”→“状态表”选项即可。插入新的状态表后,状态表窗口底部出现名为“用户定义n”的新标签,并在指令树窗口中的状态表图标下创建一个单独组件。如果项目中有了多个状态表,可用状态表底部的标签选项卡进行切换。    3.启动和停止状态表    STEP 7-Micro/WIN与PLC的通信连接成功后,执行菜单命令“调试”→“开始状态表监控”,或单击工具栏上的“状态表监控”按钮,可以启动状态表的监控功能,再次操作可停止状态表监控。状态表被启动后,编程软件可从PLC收集程序运行时的动态信息,并对表中“当前值”列的数据更新显示,如图3-47所示。STEP 7-Micro/WIN还可以建立一个或多个状态表监控、调试程序操作。
状态表监控
    图3-47    状态表监控    注意:打开状态表并不能查看程序状态,必须启动状态表后才能获取状态信息;如果状态表是空的,则启动状态表也毫无意义,必须先建立状态表。    4.用状态表强制改变数值    状态表强制功能:可对程序中的某些变量强制性地赋值,将某地址中的当前值强迫赋为新的数值。一旦使用了强制功能,每次扫描循环都将数值重新用于该地址直到取消强制。    S7-200 CPU允许强制性地给所有的I/O点赋值,此外最多还可改变16个内部存储器数据(V或M)或模拟量I/O(AI或AQ)。状态表只能以字节、字或双字为单位改变V或M,从偶字节开始以字为单位(如AIW4)改变模拟量。如果没有实际的I/O接线,也可以用强制功能调试程序。强制的数据将永久性地存储在CPU模块的EEPROM中。    强制功能可以在现场不具备某些外部条件的情况下模拟工艺状态,通过强制V、M,可用来模拟逻辑条件,通过强制I/O点,可用来模拟物理条件,这一功能对调试程序非常方便。但是,如果S7-200与其他设备相连,强制可能导致系统进程操作无法预料,甚至引起人员伤亡或设备损坏等事故,所以进行强制操作要多加小心。    5.状态表强制的操作方法    启动状态表后,可利用“调试”菜单中的选项或工具条中与调试有关的按钮执行下列操作:单次读取、全部写入、强制、取消强制、取消全部强制、读取全部强制。右键单击状态表中的某个操作数,从弹出的菜单中可选择对该操作数强制或取消强制。    (1)状态表单次读取状态信息。单次读取(仅限状态表)是对全部数值程序状态的一次更新。状态表监控停止时,选择菜单栏中的“调试”→“单次读取”或单击工具条上的“单次读取”按钮(一副眼镜图标),可从PLC收集当前数据,并在状态表中的“当前值”列显示出来。如果已经启动状态表监控,“单次读取”功能则被禁止。    (2)状态表全部写入。为更加便于程序调试,可在监控运行状态下,向程序同时写入一个或多个数值,以模拟一种条件或一系列条件。在“新值”列输入新值后,单击工具栏“全部写入”按钮,或执行菜单命令“调试”→“全部写入”,将所有的新值传送至PLC。程序执行时,所有用写入功能修改的数值生效。    写入数据命令不具有强制功能那样的优先级别。如果在程序中对相应的数据进行操作,写入的数据值可能改变。如果对诸如I0.0和I0.1等输入点使用写入命令,或者逻辑运算的结果与写入值有抵触,写入的数值都不起作用。    (3)状态表强制显示状态表并且使其处于监控状态,在“新值”列中某行写入希望强制的数据,然后单击工具栏中的“强制”按钮,或者单击菜单命令“调试”→“强制”来强制数据。一旦使用了强制功能,被强制的数值旁边将显示锁定图标,如图3-48所示。
状态表强制
    图3-48    状态表强制    黄色的锁定图标表示该地址被显式强制,对它取消强制之前用其他方法不能改变此地址的值。灰色的锁定图标表示该地址被隐式强制,对它取消强制之前不能改变此地址的值。例如,如果VW100被显式强制,则VB100与VB101被隐式强制,因为它们是VW100的一部分。被隐式强制的数值本身不能取消强制,在改变VB100中的数值之前,必须取消对VW100的强制。    灰色的半块锁定图标表示该地址的一部分被强制。例如,如果VW100被显式强制,因为VW101的第一字节是VW100的第二字节,VW101的一部分也被强制。不能对部分强制的数值本身取消强制,要改变该地址数值,必须先取消使它被部分强制地址的强制。    对于无须改变值的变量(“新值”为空,并且在“当前值”域中存在一个数值),只需在“当前值”列中选中它,然后使用强制命令,则强制为当前值。    每次扫描都会将修改的数值用于该地址直到取消强制。强制值具有高优先级。    (4)对单个操作数取消强制是利用取消强制功能从所选地址解除强制。选择一个被强制的操作数,然后单击工具条中的“取消强制”按钮,或选择菜单栏中的“调试”→“取消强制”,或右键单击某地址任意参数,在弹出的快捷菜单中选择“取消强制”命令,相应强制图标将会消失。    (5)取消全部强制是要对所有地址解除强制,可使用取消全部强制功能。选定某状态表后单击工具条中的“取消全部强制”按钮,或选择菜单栏中的“调试”→“取消全部强制”,或右键单击表中任意位置,在弹出的快捷菜单中选择“取消全部强制”命令,所有强制图标将会消失。使用该功能之前无须选择某个地址。    (6)读取全部强制执行“读取全部强制”功能时,状态表中被强制的地址的当前值列会在曾经被显式强制、隐式强制或部分隐式强制的地址处显示一个图标。