在 WinCC 中如何在一个画面中显示不同的趋势图?西门子官网复制

在 WinCC 中如何在一个画面中显示不同的趋势图?

  • 文档
  •  
  • 涉及产品
在同一个 WinCC 在线趋势控件中,通过不同的按钮来选择显示不同测量点的曲线,有两种方法。
 

两种方法都是在 "Trend_Function_Main.PDL", "Trend_Function_1.PDL" 和 "Trend_Function_2.PDL" 画面中实现的。这几个画面可以在例子中找到。

准备
变量“testvar1”和“testvar2”分别显示在两个在线控件 Trend 1 和 Trend 2 中。
  

  1. 在变量记录中,新建过程值归档“TestArchive”。
      
  2. 在归档中建立相应的变量归档(testvar1 and testvar2)。
      

  

选择1 - WinCC V7.0 中脚本分配变量

在本例中,WinCC 在线趋势控件的名称为 “Control1”。另外,建立了两个趋势,但是并没有分配给某个变量。分配由 VBS 脚本或 C 脚本完成。 VBS 和 C 脚本在文件 “M1_button_assign_tag.txt”中。
  

  1. 将 WinCC 在线趋势控件组态为显示最多趋势。
      
  2. 组态一个按钮(在对象选项板中选择“标准”〉“窗口对象”〉“按钮”)。
      
  3. 右键按钮选择属性,选择“事件”〉“按钮”〉“鼠标”。
      
  4. 右键“鼠标动作”对应的闪电符号,选择 VBS 动作。
      
  5. 通过如下脚本,创建一个对象(如“objCon1”) (C 脚本不需要创建对象)

    Dim objCon1
    Set objCon1 = HMIRuntime.ActiveScreen.ScreenItems("Control1")
      
  6. 将变量联系到相应的趋势中(Index 0 = Trend 1, Index 1 = Trend 2, ... )。

    'testvar1
    objCon1.TrendIndex = 0
    objCon1.TrendTagName = "TestArchive\testvar1"

    'testvar2
    objCon1.TrendIndex = 1
    objCon1.TrendTagName = "TestArchive\testvar2"

注意

  • 更多关于使用 VBS 或 C 脚本建立变量变化请参考条目: 10259719
  • 更多关于 WinCC  在线趋势控件的动态方法及属性设置请参考 WinCC Information System:
    "使用 WinCC > 归档过程值 >  过程值的输出 > 过程值输出到过程画面中 > 在过程画面中以趋势形式输出过程值 > WinCC 在线趋势控件"
      
  •  
  •  
  •  
  •  

选择2 - 画中画技术

本例中,在画面“Trend_Function_Main.PDL”中组态了一个画面窗口,画面窗口中调用了“Trend_Function_1.PDL”和“Trend_Function_2.PDL”两个已经组态好在线趋势控件的画面。VBS 和 C 脚本在文件“M2_pic_in_pic.txt”中。
  

  1. 在图形编辑器中,创建第一个测量点的画面。
    注意:
    这个 PDL 画面的名称最好来自于测量点的名字,并且可以从变量列表中复制其名字。
      
  2. 在画面中插入 WinCC 在线趋势控件。连接趋势到测量点(WinCC V7.0)的归档变量(如 testvar1)。

    在图片中插入一个应用程序窗口并且连接到测量点的趋势模板(老板本)。

  3. 然后相应的调整图像的几何属性和应用程序窗口。

    本例中,高350像素,宽550像素。这个大小是根据画面窗口的大小定的。
      

     

  4. 重复步骤3和4,为其他的测量点创建画面。
    将应用程序窗口链接到每一个曲线模板上,然后用测量点的名字保存图像。
       

  5. 下一步创建一个新图片,可以用不同的按钮调用不同的趋势。
    在这个画面中,为已经建好的画面插入一个宽(550 pixels)高(350 pixels)的画面窗口。属性可自由选择。

    警告:
    不要将画面窗口连接到某个画面,这个工作是运行时动态完成的。

  6. 在鼠标单击事件中插入如下源代码。注意根据您的项目更改图片名称。

    C 动作
    SetVisible("Trend_Function_Main","PictureWindow1",1);
    SetPictureName("Trend_Function_Main","PictureWindow1","Trend_Function_1.PDL");

    VBS 动作
    Dim objCon1
    'create objects
      Set objCon1 = HMIRuntime.ActiveScreen.ScreenItems("PictureWindow1")
    'configuration
      objCon1.Visible = 1
      objCon1.PictureName= "Trend_Function_1.PDL"

  7. 现在可以通过 Picture Tree Manager 将画面“Trend_Function_Main.PDL”合并到画面图层。

 

例子
为了在项目中可以使用这些图片,必须按照前面“准备”中提到方式建立归档变量 “testvar1”和“testvar2”。此外,将下面三个 PDL 文件拷贝到项目文件夹下的 “GraCS”中。
(...Siemens\WinCC\WinCCProjects\<Project_name>).
此例是在 WinCC V.0.中建立的。

ZIP 文件中包含了三个 PDL 文件(WinCC 画面)和两个 TXT 文件(VBS and C 脚本)。

 Registrierung notwendig  1804857_WinCC_display_trend_curves.zip (36,1 KB)

关键字
趋势组态,画面组态

posted @ 2023-07-18 10:24  恩小佐  Views(1629)  Comments(0Edit  收藏  举报