首页 理论教育 如何利用参考数据窗口查找程序错误?

如何利用参考数据窗口查找程序错误?

时间:2023-06-23 理论教育 版权反馈
【摘要】:图5-102 利用资源占用情况窗口查找错误3.交叉参考在参考数据窗口,点击工具栏中的“交叉参考”按钮,显示交叉参考,如图5-103所示。图5-103 交叉参考利用交叉参考表可以查找地址重复赋值的情况,图5-103中显示Q5.2在FC5的第2段和FC17的第1段两处作了写操作,为重复赋值,有可能导致程序运行出错。图5-106 未使用的符号列表5.不带符号的地址在参考数据窗口,点击工具栏中的“不带符号的地址”按钮,显示没有定义符号的地址列表。

如何利用参考数据窗口查找程序错误?

STEP7可以对已经编写的程序进行分析和统计,生成参考数据(Reference Data)。这些数据通过直观的表格方式显示,可以让用户对程序的调用结构、资源占用情况等一目了然,能够帮助用户完善程序文档,并且能够让程序的调试和修改更加容易。有两种方法可以显示“参考数据”,如图5-99所示,一是在SIMATIC Manager窗口的“选项”下拉菜单中点击“参考数据”,在子菜单中选择“显示”命令。二是在LAD/STL/FBD编辑器窗口的“选项”下拉菜单中点击“参考数据”,在子菜单中选择“显示”命令。

978-7-111-35042-2-Chapter05-137.jpg

图5-99 显示参考数据

参考数据包括“程序结构”、“资源占用情况”、“交叉参考”、“未使用的符号”和“不带符号的地址”五项。

1.程序结构

在参考数据窗口,点击工具栏中的“程序结构”978-7-111-35042-2-Chapter05-138.jpg按钮,显示程序结构,如图5-100所示。

978-7-111-35042-2-Chapter05-139.jpg

图5-100 程序结构

在程序结构窗口中,显示了项目中所有用户程序块和数据块代码,各程序块之间的调用体系及所用的数据块,对项目的组成结构一目了然。

2.资源占用情况

在参考数据窗口,点击工具栏中的“内存的赋值978-7-111-35042-2-Chapter05-140.jpg按钮,显示资源占用情况,如图5-101所示。在资源占用情况窗口中,显示了CPU系统存储器资源的使用情况,包括“输入过程映像区”、“输出过程映像区”、“位存储器区”、“定时器”和“计数器”。

978-7-111-35042-2-Chapter05-141.jpg

图5-101 资源占用情况

(1)输入、输出、位存储器区域

每行包含内存区域的一个字节,不同的标记代表不同的访问类型,是位、字节、字,还是双字的访问。

白色背景:未访问地址,因而也未分配地址。

X:访问位地址。

蓝色背景:访问字节、字或双字地址。

如果是字节、字或双字访问,列B、W和D中会显示蓝色进度条,条上的黑点表示访问的开始处。B表示被一个字节访问占用,W表示被一个字访问占用,D表示被一个双字访问占用。

(2)定时器,计数器区域

每行包含10个定时器或计数器。

白色背景:未用。

蓝色背景:Txx或Cxx已使用(www.xing528.com)

资源占用情况窗口可以帮助查找地址分配不合理的错误。例如,某项目资源占用情况如图5-102所示,图中被标注的部分存在问题:M25.0、M25.1、M25.7的X与MW24的蓝色背景重叠,MW20与MW21的蓝色背景重叠,说明程序中地址有重叠使用的情况。通过交叉参考可以知道在哪个程序块中地址访问出现了错误。

978-7-111-35042-2-Chapter05-142.jpg

图5-102 利用资源占用情况窗口查找错误

3.交叉参考

在参考数据窗口,点击工具栏中的“交叉参考”978-7-111-35042-2-Chapter05-143.jpg按钮,显示交叉参考,如图5-103所示。在交叉参考表中,显示了项目中内存区域地址在所有程序块中的使用情况。第1列显示程序中使用的内存区域地址,包括输入(I)、输出(Q)、位存储器区(M)、定时器(T)、计数器(C)、数据块(DB)、功能块(FB)、功能(FC)、系统功能块(SFB)、系统功能(SFC)、外设输入(PI)和外设输出(PQ)。第2列显示该地址被应用的程序块。第3列显示对地址的访问类型,读访问(R)、写访问(W)、读/写访问(RW)。第4列显示块的编程语言。第5列显示块中访问点的位置以及用的什么指令。

978-7-111-35042-2-Chapter05-144.jpg

图5-103 交叉参考

利用交叉参考表可以查找地址重复赋值的情况,图5-103中显示Q5.2在FC5的第2段和FC17的第1段两处作了写操作,为重复赋值,有可能导致程序运行出错。

利用交叉参考表可以直接打开问题地址所在的程序块。在图5-102中通过资源占用情况窗口已经知道MW20与MW21重叠使用,在图5-103中点击MW21访问点的位置,右键选择“跳转到位置”命令,即可打开访问MW21的程序块FC5,光标停在指令所在的第1段,如图5-104所示。

978-7-111-35042-2-Chapter05-145.jpg

图5-104 打开访问MW21的程序块FC5

在调试程序过程中,如果某个地址的状态不正常,怀疑是否被重复赋值,可以直接打开该地址的交叉参考表。方法是选中有疑问的地址,右键选择“跳转到”→“应用位置”,即可打开该地址的交叉参考表,如图5-105所示。

978-7-111-35042-2-Chapter05-146.jpg

图5-105 打开某个地址的交叉参考表

4.未使用的符号

在参考数据窗口,点击工具栏中的“未使用的符号”978-7-111-35042-2-Chapter05-147.jpg按钮,显示未使用的符号列表,如图5-106所示。在未使用符号列表中,显示已在符号表中进行了定义,但未在S7用户程序内使用的地址元素。

978-7-111-35042-2-Chapter05-148.jpg

图5-106 未使用的符号列表

5.不带符号的地址

在参考数据窗口,点击工具栏中的“不带符号的地址”978-7-111-35042-2-Chapter05-149.jpg按钮,显示没有定义符号的地址列表。在该列表中,显示已在S7用户程序中使用,但在符号表中没有定义的元素,如图5-107所示。

978-7-111-35042-2-Chapter05-150.jpg

图5-107 没有定义符号的地址

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

我要反馈