网站标志
导航菜单
当前日期时间
当前时间:
购物车
购物车中有 0 件商品 去结算 我的订单
商品搜索
商品搜索:
文章正文
Wincc批量修改图形中变量
作者:管理员    发布于:2015-05-28 20:25:41    文字:【】【】【
比如我有64个图形,按顺序分别连接DB0.DBX0.0到DB0.DBX7.7。我现在只能将图形属性一个一个的打开,挨个添加。
   能不能将他们导出到一个excel表里改(添加变量可以在excel表里改)。
答:

应该是可以,但我仅仅做过添加io域的。感觉不是非常的好用,反正我是测试后在没有用了。
在 Graphics Designer 中选择 Tools -> Macros -> Visual Basic Editor,该环境与 Excel 的宏环境类似。需要有一定的 VBA 基础,这里给一个简单的例程。在 D:\siemens\WinCCProjects\WinCC_test\test.xls 工作簿的sheet1 工作表中,第一列为 I/O 区域含义文本(比如启动速度),第二列为 I/O 区域直连变量(比如tag1)。

Sub CreateIOField()
Dim objStaticText As HMIStaticText
Dim objIOField As HMIIOField
Dim objVariableTrigger As HMIVariableTrigger
Set Excel_1 = CreateObject("excel.application")
Excel_1.Workbooks.Open "D:\siemens\WinCCProjects\WinCC_test\test.xls"
Set wksheet = Excel_1.Sheets("sheet1")
j = 30
K = 5
For i = 1 To 41
If wksheet.cells(i, 2).value <> "" Then
    Set objStaticText = ActiveDocument.HMIObjects.AddHMIObject("0_MyText" & i, "HMIStaticText")
    With objStaticText
    .Text = wksheet.cells(i, 1).value
    .Left = j
    .Top = K
    .Layer = 19
    .AdaptBorder = True
    End With
    Set objIOField = ActiveDocument.HMIObjects.AddHMIObject("0_MyIOField" & i, "HMIIOField") ''IOField
    With objIOField
    .Left = j + 200
    .Top = K
    .Width = 45
    .Height = 21
    .OutputFormat = 999.9
    End With
Set objVariableTrigger = objIOField.OutputValue.CreateDynamic(hmiDynamicCreationTypeVariableDirect, wksheet.cells(i, 2))

    With objVariableTrigger
    .CycleType = hmiVariableCycleTypeOnChange
    End With
K = K + 22
End If
Next
Excel_1.Workbooks.Close
Excel_1.Quit
Set wksheet = Nothing
Set Excel_1 = Nothing
End Sub

浏览 (137) | 评论 (0) | 评分(0) | 支持(0) | 反对(0) | 发布人:管理员
将本文加入收藏夹
新闻详情
脚注栏目
|
脚注信息
机电工程网(C) 2015-2020 All Rights Reserved.    联系我们