变量与iofield等组件多了 工作量很大 如何能快速或者自动 使大量iofield等组件与变量关联
最佳答案
我一般用以下两种方法:
1、新建一个对象,组态好变量连接、脚本等,复制大量相同对象,使用对象的 Linking -> Tag Connections -> Find and Replace 来替换掉对象变量连接、脚本中的变量。
该方法比较简单,当变量名有规律时组态时间短,具体可参考:
《WINCC中的C动作可以复制吗?》
http://www.ad.siemens.com.cn/service/answer/solution.asp?Q_id=66056&cid=1032
2、对于编程工程师提给的变量 Excel 文件,变量较多时使用上一种方法组态费时,可以使用 Graphics Designer 的 VBA 即 Macro 功能。
在 Graphics Designer 中选择 Tools -> Macros -> Visual Basic Editor,或者 Alt+F11 打开宏编辑环境,该环境与 Excel 的宏环境类似。需要有一定的 VBA 基础,下面贴出一个简单的例程。在 D:\test1.xls 工作簿的 sheet2 工作表中,第一列为 I/O 区域含义文本,第二列为 I/O 区域直连变量。
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:\test1.xls"
Set wksheet = Excel_1.Sheets("sheet2")
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")
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
3、WinCC Add-On 也提供类似工具。
《在何处能够找到 WinCC 的附加软件和其他有用工具的信息?》
http://support.automation.siemens.com/CN/view/zh/17544346
提问者对于答案的评价:
谢谢 我试试
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc265940.html