看到它有没有一种似曾相识的感觉?
PCS 7中或WinCC应用OS项目编辑器之后会出现在底部系统导航按钮区。有了该按钮我们可以在OS运行过程中在线创建自定义的趋势组,并保存后下次直接调用。
图1-1 趋势组按钮及对话框及趋势曲线
但是,经常在热线中对趋势组的使用遇到如下的问题:
1、为什么在其中一台客户端上创建的趋势组,在其他客户端上看不到?
2、OS服务器项目完整下载会导致自定义的趋势组丢失吗?
3、OS服务器项目更换下载路径或删除项目重新下载后原来创建的趋势组也跟着消失了?
4、客户端上创建的趋势组在其他客户端上可以正常看到,为什么服务器上看不到?服务器上创建的趋势组,两个冗余的服务器可以互相看到,为什么在所有客户端上都看不到?
5、有没有办法在一张画面上同时等比例显示4个趋势组?
6、组态了显示4个趋势组的画面为什么下次切换回来之后又消失了?该如何能再次调用?
针对上面的几种情况,我们来看下个中缘由。
1、为什么在其中一台客户端上创建的趋势组,在其他客户端上看不到?
还记得客户端分配完服务器数据包之后有一步要组态标准服务器吗?对,问题就出现在这儿。而趋势组的存储位置就是为SSM分配标准服务器,否则存在客户端本身,其他客户端也就无法看到该客户端创建的趋势了。
图1-2打开标准服务器组态对话框
图1-3 为SSM组态标准服务器
2、OS服务器项目完整下载会导致自定义的趋势组丢失吗?
只要不删除OS服务器上的项目或更换项目路径之后下载就不会因为完整下载导致自定义的趋势组丢失。看来完整下载也不是盲目的一股脑把所有东西都删除之后全部下载,对于变量记录报警记录以及组态的趋势组等都会有所保留。
3、OS服务器项目更换下载路径或删除项目重新下载后原来创建的趋势组也跟着消失了?
假设已经组态了标准服务器,此时客户端创建的趋势组都保存在OS SERVER的项目文件夹下,如果删除原来的项目确实会删除之前组态的趋势组配置文件,更换下载路径,即使之前旧的项目还在,因为运行的项目为另外路径,此时在客户端上也无法找到趋势组的配置文件。
怎么办呢?我们可以找到旧项目中存放趋势组文件的路径,copy配置文件到新项目中同样的位置即可哦。
趋势组的配置文件位于项目路径下的TRG文件夹下,每个趋势组由两个文件组成(xxx.trc和xxx.trg 其中xxx为创建的趋势组的名字)。例如OS服务器的项目名为SR1,位于C:Project路径下,则TGR配置文件的路径为:C:ProjectSR1TRG
4、客户端上创建的趋势组在其他客户端上可以正常看到,为什么服务器上看不到?服务器上创建的趋势组,两个冗余的服务器可以互相看到,为什么在所有客户端上都看不到?问题现象如下图所示
图1-4 客户端和服务器上互相看不到对方创建的趋势
首先,出现这种现象是正常的,不是因为组态出了问题,而是系统默认的行为就是这样的。
具体可以参考以下FAQ的说明(可以点击阅读原文查看):https://support.industry.siemens.com/cs/cn/en/view/42910715
有没有什么解决办法呢?
客户端的趋势组组态和OS服务器的趋势组组态均已经存在OS SERVER项目下的TRG文件夹下,如下图所示:
图1-5 趋势组的配置文件
两种方式创建的趋势组,在打开趋势画面时有什么不同呢?如下图所示,客户端创建的趋势组所连接的归档变量为服务器数据包中的归档变量,而服务器上创建的趋势组所连接的归档变量即自身的归档变量。
图1-6 不同角色创建的趋势组所连接的归档变量
既然两种趋势组都存在同一个位置,为什么客户端上就只能看到所有客户端创建的趋势组,而服务器同样只能看到冗余伙伴创建的趋势组呢?用记事本打开趋势组的.trg文件,比较下两者有什么区别:
图1-7 服务器和客户机趋势组配置文件比较
通过上面比较就一目了然了,配置文件中用以区分服务器还是客户机上创建的趋势组的标识就是[Location]的值,[Location]={1}表示服务器上创建的趋势组,[Location]={2}表示客户机上创建的趋势组。
我们先把客户端上创建的趋势修改为[Location]={1},看看在服务器上是不是就可以看到客户都安上创建的趋势呢?同理,把服务器上创建的趋势修改为[Location]={2},看看在客户端上是不是就可以看到了呢?如下图所示,正好和修改前的情况反了过来,可以看到对方创建的,但是看不到自己创建的了。
图1-8 修改趋势组配置文件中Location的值
图1-9 修改后,可以看到的趋势组
那就很明显了,要想互相看到对方创建的趋势,我们可以再复制一份对方创建的两个趋势配置文件,然后修改复制的TRG格式配置文件中的[Location]={1}或{2}即可。
例如对于OS客户端上创建的趋势组,我们复制配置文件后(注意也要复制配套的.TRC文件哦),修改复制的配置文件中Location=1,则在OS服务器上就可以看到所有的趋势组了。
图1-10 复制并修改配置文件
图1-11 修改后OS服务器上显示的趋势组数量
那么是不是会导致所有的趋势组都连接服务器数据包中的归档变量或OS服务器本身的归档变量呢?实际上修改后,客户端创建的趋势组所连接的归档变量无疑还是服务器数据包中的归档变量,而服务器创建的仍然直接连接本身归档变量,也没有变为服务器数据包中的归档变量。
5、有没有办法在一张画面上同时等比例显示4个趋势组?
这也不是问题,在OS的运行界面中的系统导航按钮有没有发现一个特别贴切的图标,
就是它(不过藏的有点深,在系统导航按钮的第二页哦),如下图所示,点击方框内的按钮。
图1-12 4趋势组按钮
会弹出一个被分割为4个区域的过程画面,可以将最多四个趋势组分别添加到不同的区域。
图1-13 Display/configure the trend groups in the workingarea
6、组态了显示4个趋势组的画面为什么下次切换回来之后又消失了?该如何能再次调用?
如问题5所述,可以实现在过程画面分为四个区域最多显示4个趋势组,而且可以分别组态。但是当我们组态好对应的趋势组后,切换到其他画面再切换回来时会发现又变成初始界面,需要重新选择趋势组。这就有点过分了,费半天劲选择好了个4个趋势组,每次切换画面后还要再次选择,这功能就鸡肋了。
别着急,PCS 7早就考虑到这种需求了,我们组态好后,可以将当前的画面构成保存起来,然后下次再直接调用保存的画面构成就可以了(不仅可以用来保存我们组态的4个趋势组画面,比如可能要在某个固定的流程画面经常打开多个子画面,也可以将所有的小窗口布局