如何能快速或者自动 使大量iofield等组件与变量关联

变量与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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午4:07
下一篇 2019年6月11日 上午4:08

相关推荐

  • WINCC与plc tcp/ip连接

    公司有台Wincc电脑版本7.0与400PLC通过named connection连接。然后我现在想改为tcp/ip连接  ,已经通过变量的导出更改了…

    SIMATIC WinCC 2020年11月1日
  • WINCC的C动作编译显示未定义符号

    #include "apdefap.h"void OnLButtonDown(char* lpszPictureName,&nbs…

    SIMATIC WinCC 2018年12月9日
  • WINCCFIEXIBLE SMART中入和设置语言却换?

    对应的是那个函数 钻石用户推荐最佳答案 函数是SetLanguage使用参考:smart屏创建多语言项目http://www.ad.siemens.com.cn/productpo…

    SIMATIC WinCC 2021年7月5日
  • wincc6.2 客户端显示问题

    当wincc客户端连接显示后,发现项目界面显示不完整 ,可以用鼠标拖着放大如图,但是不能完整显示整个界面,需要如何处理才能实现全屏等比例显现。 图片说明:  &…

    2020年11月1日
  • wincc软件

    我装的是6.0SP2亚洲版的,打开6.0SP3的画面时提示打开文件错误 1.用现有版本怎样能打开? 2.有单独的补丁SP3下载并且可用的? 3.或哪有…

    SIMATIC WinCC 2019年6月11日
  • SQLserver2005安装问题

    安装wincc6.2需要的SQLserver2005时有一个SQLserver Database Services安装不上,每次在生成安装路径是为报错,记录中提…

    SIMATIC WinCC 2019年6月11日
  • 英文版WINCC建立的项目是否在中文版中运行

    英文版WINCC建立的项目是否在中文版中运行 最佳答案 可以!在WinCC视图里有语言的选项,将英文改为中文。 提问者对于答案的评价:非常满意

    SIMATIC WinCC 2019年6月11日
  • Excel表格数据导入MSFlexGrid表格中显示不了

    根据官方视频教程中演示的操作,VBS脚本运行后选择一个Excel文件,然后表格控件中没有任何显示了,请教前辈哪里错了,图1为VBS脚本,图2为脚本运行前,图3为脚本运行后 图片说明…

    2021年7月5日
  • WINCC运行声音文件

    我想咨询下WINCC 可以运行声音文件么?比如有报警时运行某个声音文件!!可以的话麻烦赐教下!!谢谢 最佳答案 可以参考:Horn 功能使用入门:http://…

    SIMATIC WinCC 2019年6月11日
  • WINCC 分屏 问题

    现在有个项目,使用WINCC V7.4 ,一台电脑,操作人员使用,另外有3个特殊画面显示在65寸液晶电视上,也是连接这台电脑,如何显示这种分屏(分4个屏且大小不…

    SIMATIC WinCC 2021年7月5日