1 2 2.1 
在短暂的初始化后,交叉索引程序将被启动。注意:如果交叉索引无法正常启动,请参考 FAQ:https://www.php.cn/link/8e3187c1c7ad8ec804b4d2fcd7c25bd4
左侧框显示“项目对象”列表,其中包含了 WinCC 项目中的所有引用对象,如变量、画面和文本等。右侧框显示对象使用位置列表,列出了对象名称及其使用位置。可以通过点击中间的“链接”按钮将两个表关联起来。关联后,左侧选中的对象的具体信息将会在右侧列表中显示。如图 03
从图 03 中可以看到,左右两表关联后,右侧列表中显示了左侧表中选中对象 float3 的相关信息。该对象被使用在文件或编辑器中,如“picture01.PDL”画面和 VBS 全局动作“GlobalVBAction2.bac”。在画面中使用的具体位置为“脚本中的变量”和“VBS 动作”。使用 float3 对象的具体对象包括“按钮”和“VBS 函数”。在左侧项目对象列表框中,可以设置过滤器,默认无过滤。过滤器如图 04
可以在第一列过滤器中输入对象名称进行过滤,交叉索引会精确过滤出包含所输入字符的所有对象。也可以通过第二列和第三列的过滤器选择,索引出指定类型的项目对象,如变量或画面,还可以索引出未使用或已使用的对象。
2.2 2.2.1 索引未使用的变量在项目最终完成后,一些客户希望清理未使用的变量,以避免对项目运行造成不良影响。此时可以通过交叉索引过滤出未使用的变量进行清理。但在清理过程中需要特别注意。首先通过对象类型过滤器和使用状态过滤器将未使用的变量过滤出来,如图 05。
从图 05 中可以看到项目对象列表中列出了一些变量,并被标记为未使用状态。清理时需要注意:1. 蓝色框中以 @ 开头的均为系统自动创建的系统变量,请勿删除。2. 绿色框中的为结构变量。对于结构变量需要注意,从 WinCC V7.5 SP1 开始,可以通过面板(Faceplate)直接关联结构变量而无需逐一关联结构变量中的结构元素变量。因此在对列表中列出的结构元素变量清理时,也需要特别注意这些结构变量是否已经被关联到了面板实例,如图 06,如果已被关联则不能删除。
图中的两个面板实例实际已经关联了“Tank1”及“Tank2”两个结构变量,因此这两个结构变量中的所有结构元素变量会被标记为“未使用”状态,均不可以删除。3. 红色框中的变量为普通变量。虽然在列表中被标记为未使用状态,但在清理时也需要注意。因为在 WinCC 脚本编写中使用变量时需要按照规范进行编写,如果未按规范编写则会出现在交叉索引中无法正确索引出变量的情况。例如使用变量“unused1”时不规范的 VB 脚本编写如图 07。
例如使用变量“unused2”时不规范的 C 脚本编写如图 08。
如果使用了图 07 及图 08 中不规范的脚本编写,脚本可以正确执行,但会导致图 05 中变量“unused1”及“unused2”都被标记为未使用状态的情况。规范的 VB 脚本以及 C 脚本如图 09。
修改为如图 09 的规范脚本编写后,交叉索引的结果将变为如图 10。
2 FAQ titleEntry-ID: Entry ID, V 0.0, mm/yyyy 12 Siemens AG copyright year All rights reserved变量“unused1”及“unused2”变为已使用状态。在 VB 脚本的编写过程中必须人为按照规范进行编写。而如果 C 脚本的编写未能按照规范编写,在后期可以通过交叉索引助手程序进行脚本转换,从而使得变量能够正确的被索引。交叉索引助手将在 2.4 章节介绍。2.2.2 索引已使用的变量在项目最终完成后,经常需要知道变量在什么地方被使用,以便项目调试和排错。此时可以通过交叉索引过滤出已使用的变量,通过链接便可知道变量在什么位置被使用。首先通过对象类型过滤器和使用状态过滤器将已使用的变量过滤出来,如图 11。
从图 11 中可以看到项目对象列表中列出了一些变量,并被标记为已使用状态。例如变量“Tag1”,通过点击“链接”按钮后,在右侧使用位置列表中即可显示出变量“Tag1”所使用的地方。在“pic1.PDL”及“pic2.PDL”中均被使用到。并且清楚地标识出了在画面中使用该变量的对象:“按钮 1”、“圆 1”及“输入/输出域 1”。包括使用的位置也非常明确,例如脚本、变量或者直接连接。而要找到这些相应的位置,并不需要手动打开这些画面进行查找。只需要按照图 11 中的鼠标操作步骤,即可快速打开画面并定位到所使用的位置上,结果如图 12。
从图 11 中也可以看出在画面“pic1.PDL”及“pic2.PDL”中均使用了变量“Tag1”。如果希望将画面“pic2.PDL”所使用的变量“Tag1”全部替换为“Tag2”,使用交叉索引进行操作也会变得非常简单。操作步骤如图 13。
在执行图 13 中的操作之前,使用到索引对象的编辑器需要全部关闭,否则将会看到提示信息,如图 14。
替换完成后,交叉索引中的结果将变为如图 15。
使用这种替换方式,可以同时将多个编辑器或多个画面中的变量进行统一替换,不会在项目中引起不一致问题。2.2.3 索引不存在的变量在项目组态过程中,有时需要修改变量名称,或者有些变量会被删除。而修改或删除后可能会遗忘曾今在项目的某些地方使用过这些变量。这样的结果可能会导致项目运行过程中出现不必要的错误。在这种情况下,交叉索引可以很方便地解决这样的问题。例如,将变量“Tag1”在变量管理器中重命名为“Tag01”。然后就通过交叉索引过滤的方式找出已被使用但却已不存在的变量“Tag1”,如图 16。
此时,即可通过图 13 的操作方法将变量替换为新的变量“Tag01”。如果项目中不再需要,则可以通过图 11 中的跳转方法跳转到具体使用位置,将其删除。
2.3 与变量的使用情况类似,在交叉索引中也可以索引出所有画面以及它们的使用情况。如图 17。
如图 17 中所示,同样存在以下 3 种情况:1. 已使用的。当画面在画面窗口中被引用时会被标记为已使用,如图 17 中的画面“popupScreen.PDL”。按钮中调用了也会被标记为已使用,如图 18 中的画面“dynamicType.PDL”。
包括通过 VB 脚本或 C 脚本加载的画面,如图 19。
前提是 VB 及 C 脚本都按照规范进行编写,如图 20。
2. 未使用的。在项目中没有被关联的画面以及 VB 及 C 脚本调用时未按规范进行编写,如图 21,也会被标记为未使用状态。
未按规范编写的脚本可以正确执行,但交叉索引中则无法正确索引出画面的使用状态,如图 22。
2.4 
然后根据向导进行操作,如图 24。
操作开始前将脚本编辑器以及画面编辑器关闭。操作完成后,全局脚本和画面脚本中的 C 脚本对变量与画面的引用将会转换为规范的编写,如图 25
经过转换的变量及画面引用,在交叉索引中即可正确索引到,如图 26。

以上就是WinCC 交叉索引的使用的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号