比较...

图标:

通过使用命令“工程 / 比较” (类别 '文件命令)可以退当前的工程与另一个工程进行比较(“参考工程”)。参考工程和比较选项都将会在比较对话框中罗列,当执行命令的时候,将会出现如下对话框:

 插图 157: 工程比较对话框

“当前打开的工程与以下选型进行比较:”

参考工程可以是:

  • 或者“在磁盘上的工程”:默认情况下,比较的路径与工程所在的目录相同,因此它会与最近保存的版本进行比较。也可以通过修改文件路径改变需要比较的文件,也可以直接输入路径。或者也可以使用标准的对话框进行文件的选择,也可以通过点击按键实现文件的浏览。
  • 或者一个“工程源代码管理器”:在这里必须要进行主机名和端口的区分。之后必须输入涉及工程文件的路径名也可以通过点击打开标准对话框去浏览工程。

“比较选项:”

比较选项中可以有以下一个或者几个选项被激活:

  • “忽略空白处”:比较时不同数目的空白将不会作为不同显示。
  • “忽略注释”:工程中的注释将不会进行比较。
  • “忽略属性”:工程的属性将不会被比较。

通过点击“确定”关闭“工程比较”之后,工程将会按照设置进行比较。

比较的结果会在设备树中进行显示

比较的结果会显示在一个名为“工程比较 - 不同”的新窗口中。

 插图 158: 比较结果示例

在新窗口的工具栏顶端(参阅下文 " 工作在比较模式")会被放置在当前位置,位于标题栏和子窗口的下方。标题栏和子窗口本身被分成当前工程中的左半部分,以及工程的右办部分。相应的文件路径将显示在子窗口中的标题栏中,并且在设备树中会显示两个相关项目的设备树。

其中,可以看到相同的单元显示为黑色并且没有另外的标注。否则会显示该单元的名称。

  • 深蓝色,如果他只存在于参考项目中,同时它的名称将被插入到当前工程的设备树中。
  • 深绿色:如果只存在当前工程中;代替他的名称一个间距将会被插入到当前工程设备树中的当前位置。
  • 深红色在窗口的两端,如果比较的部分有不相同的部分。另外在比较的名称后面将会有一个图标。
  • 红色,如果版本的不同只是关于属性方面(在名称后以图标表示),访问权限(在子单元名称后标示图标)或者添加文件夹(在子单元后面标识图标)。在最后一种情况下,当将鼠标放到当前工程的名称上或者当前相关工程上时,当前单元的名称会立刻显示在当前的子窗口中。

此外,每一行都会包含一个彩色条目并且通过灰色突出显示。

在下面的子窗口中,可以找到更多有关比较的选项,以及一些短语显示可以添加的数量,删除以及修改选项。

工作在比较模式

当前窗口上方的工具栏提供了一组进行比较的选项:

  • 通过在深红区域名称位置双击鼠标,可以得到有关比较单元的详细信息,或者通过点击工程顶端的图标实现同样的功能。经此操作之后,窗口将会支持一个详细信息视图以显示两个不同版本之间的差异,并且不同的元素会根据 以上说明的标记进行显示。
    在一个POU中,将会出现在当前工程的文本或者图形编辑器的左半部分,参考部分将会显示在当前窗口的右部分。最小的比较元素可以是每一行(SL,IL),每一个网络(FBD,LD)或者每一个元素(CFC,SFC),以及一个设备中的变量地址,参数或者表格中的映射。如上描述,表格的左部分显示当前工程右部分显示为参考设备。请注意,不能通过手动的方式在这个比较过程中进行修改,也不能用参考的版本代替当前版本!
  • 点击左手边窗口顶端的图标返回到 测试窗口。
  • 点击鼠标会跳转到设备树中的另一个单元中,这个单元显示不同之处。
  • 通过点击贯标跳转到参考单元的不同部分。
  • 通过使用在参考工程中的块版本也同样作用于当前工程。拷贝工程的顺序是从参考工程到当前工程,反向则不行。
    在详细视图中(参见上文,列表的第一项)一个包含实体的块(线,网络,元素),光标将会自动定位到所有参考入口处,他们具有同样的不同标识(例如子行)。在经过一个详细的比较之后,块将会以高亮的黄色显示。
    比较视图然而,一个块包含光标所在的位置以及所有的子位置。改变相关视图中的块,将会突出以黄色进行显示并且通过复选框标记。在当前的版本中插入一个新的块将会删除标记(除非是用红色十字标识的块),而在参考的版本中同样将会重置标记(除了绿色的附加标记)。一个单独的块可以通过命令被分割成几个单独的部分。当关闭当前的对话框时将会被询问是否要提交这些更改的视图的详细信息。
    通过重复点击取消最后一次执行过程后所做的修改。
  • 通过使用单元(比较视图)或者实体(详细视图,参阅上文,列表中的第一项)鼠标当前所在位置将会被参考工程中对应位置的内容所取代。执行的方式是从参考工程到当前的工程,此操作不可逆。
    在接受一个详细的比较之后,不同之处将会在当前的工程中高亮显示。当返回到比较视图时,会被询问是否要提交所做的修改。如果这两个版本完全一样,他们都将会以黑色进行显示。
    然而,在比较窗口中,在当前工程中已经做过修改的部分将会以黄色高亮显示,其他显示格式是根据制定的格式进行显示。此外,在每个的子名称前都会有一个单选框。 在当前版本中接受一个插入将会自动删除标记并且所有的子项目都将会被标记为一个红色的小十字。尽管如此,接受方将会自动删除输入并且所有其他单元的标记形式都是受当前版本决定的,并且会通过一个绿色的小十字进行标识。进入一个单元之后(参阅上文,列表第一项),将会被询问是否提交这些改变到详细视图中。
    多次重复点击取消从最后一次修改之后所做的修改。
  • 通过文件夹,访问权限或者单元对象的属性,光标将会自动的停在当前的工程上,例如他们的参考版本中。改变的顺序为从参考工程到当前工程,过程是不可逆的。在出现的对话框中可以进行各种设定包括文件夹,访问权限或者工程属性。进行相关操作之后,相关单元将会突出显示为黄色并且会有一个复选标记被添加到文件夹图标,访问权限或者工程属性上。
  • 工具条的最后一个图标之后在进入单元的详细视图之后才能被使用。默认情况下,不同的实体(代码行,网络,元素)以及对应的文件夹都将会以红色进行显示。可以通过点击进行修改:不同的实体将会以(深绿色)在当前的工程中进行显示,在参考工程中没有的将会以(深蓝色)进行显示。备注不一样将会被算作添加或者删除的数据统计。通过回复默认的视图。

示例

 插图 159: 在POU(ST)视图中进行详细比较的示例
 插图 160: 在非同一行中POU(ST)程序的详细比较结果
 插图 161: 在POU(SFC)中的详细比较结果
 插图 162: 在POU(IL)中的详细比较结果
 插图 163: 在POU(FBD)中的详细比较结果
 插图 164: 对于设备的详细比较结果
 插图 165: 对于应用程序编写模块的详细比较结果