描述 在同一个 WinCC 在线趋势控件中,通过不同的按钮来选择显示不同测量点的曲线,有两种方法。 ∙ 选择 1: 用脚本分配变量 ∙ 选择 2: 画中画技术 两种方法都是在 "Trend_Function_Main.PDL", "Trend_Function_1.PDL" 和 "Trend_Function_2.PDL" 画面中实现的。这几个画面可以在例子中到。 准备: 变量“testvar1”和“testvar2”分别显示在两个在线控件 Trend 1 和 Trend 2 中。 No. | 步骤 | 1 | 在变量记录中,新建过程值归档“TestArchive”。 | 2 | 在归档中建立相应的变量归档(testvar1 and testvar2)。
Fig. 01 | | |
选择1:WinCC V7.0 中脚本分配变量 在本例中,vbs基本教程WinCC 在线趋势控件的名称为 “Control1”。另外,建立了两个趋势,但是并没有分配给某个变量。分配由 VBS 脚本或 C 脚本完成。 VBS 和 C 脚本在文件 “M1_button_”中。 No. | 步骤 | 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" > "VBS for creating procedures and actions" > "VBS Reference " > "Object types of the ScreenItem object" > "Controls" > "WinCC Online Trend Control " 选择2:画中画技术 本例中,在画面“Trend_Function_Main.PDL”中组态了一个画面窗口,画面窗口中调用了“Trend_Function_1.PDL”和“Trend_Function_2.PDL”两个已经组态好在线趋势控件的画面。VBS 和 C 脚本在文件“M2_pic_”中。 No. | 步骤 | 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 脚本)。 |
发表评论