Wincc控件中下拉式列表框Combo怎么组态?

Wincc控件中下拉式列表框Combo怎么组态?控件属性里那些属性不知道怎么设置,请高手能不能教一下,非常感谢!

问题补充:
还有,怎么点击一个对象比如一个按钮、一个静态文本,得到或显示另外一个对象的名字?怎么用C实现?谢谢!

最佳答案

请参考:
 如何在 OS 上组态一个组合框 (combo box),并且能够自动根据不同语言自动填充相应的文本?
 描述:
 例子 1:
 您可以象本例中描述的那样,使用控件 "Siemens STEP 7 S7 ComboBox" 在OS 运行期间动态得填充。请不要使用控件 "Microsoft Forms 2.0 ComboBox",因为使用这个控件会导致 "pdlrt.exe" 内存需求的不断增长。 

 警告:
 为了在没有 "SIMATIC Manager" 的 "OS" 上使用 "Siemens STEP 7 S7 ComboBox" 控件,必须在相应的计算机上安装注册该控件。您可以在 ES 的路径 "...\SIEMENS\Common\S7ACTLDX\s7actldx.dll" 上找到相关的 DLL 文件。拷贝该文件到每个 OS 上合适的文件夹下。
 如何注册这些控件的指导可以在帮助 "WinCC Information System > Working with WinCC > Creating process pictures > Working with controls > How to change the registration of a control" 下找到。   

 例子 2:
 该例子展示了如何将在 SIMATIC Manager 中组态的枚举 (enumeration) 依据语言显示在组合框中。 

 例1: 动态填充combo box :
 例如,在运行时,您可以将 "Text Library" 中的文本传送到 combo box 来作为选择项。
   No. 描述 
 1 在 WinCC 的文本库中 ("Text Library") 中组态值 :
 按如下图组态文本: 

 Fig. 01 

 注意:
 按照条目 23416727 中介绍的内容来定义您自己的 "Text ID",以便不会被 WinCC 占用。
  
 2 在变量管理中组态文本参考:
 为每个在 "文本库" 中的文本创建一个文本参考并定义相应的文本 ID 作为变量的起始值 (在标签 "Limits/Reporting" 中)。   
 名字:"ComboTextRef2000"  类型: "Text reference" 起始值:"2000" 
 ... 
 名字:"ComboTextRef2006"  类型: "Text reference" 起始值:"2006"
  
 3 在 WinCC 画面中组态 combo box 和脚本   
 创建一个类型为:"Siemens STEP 7 S7 ComboBox" 的控件,控件名字是:"Combo1"。 
 在控件的属性中,设置 "LinesInList" 的值为 "10"。   
 在WinCC 画面中,事件 "Picture Object > Miscellaneous > Open Picture" 中创建如下的 VB 脚本,当画面被调用的时候填充combo box 。

 
 Fig. 02
 Sub OnOpen()

   Const LINECOUNT = 7
   Dim objComboBox
   Dim strComboList
   Dim count

   Set objComboBox = ScreenItems("Combo1")
   objComboBox.Clear()

   For count = 0 To LINECOUNT-1
     strComboList = HMIRuntime.Tags("ComboTextRef"&count+2000).Read
     objComboBox.AddItem (strComboList)
   Next

 End Sub
  
 4 评估 combo box 的值:
 当一个画面被选择后,相应的文本会从文本参考中读出并写到组合框中作为选则项。为了将组合框中所选择的值写到另外一个变量,你可以使用组合框的事件 "S7FlatComboBox > Object Events > Click" 并使用如下的 VB 脚本:  
 Sub Click(Byval Item)
   Dim objVal
   Set objVal = HMIRuntime.Tags("SelectedValue")
   objVal.Write Item.Text
 End Sub
  
 5 结果: 

 Fig. 03 

 现在您可以依据当前所选择的语言来得到 combo box 中不同的选项列表。
  

 
 例 2: 将SIMATIC Manager 中组态的枚举 (enumeration) 传送到组合框: 

 要求:
 该例子建立在条目 27147567 的基础之上:首先,依照这个条目的指导第 4 步。
   No. 描述: 
 1 在全局脚本中创建 VBS 工程模块:
 在 "Global Script VBS" 编辑器中您创建一个新的项目块,例如 "Enumerations.bmo" 并输入如下的脚本。 
 您可以简单地将该脚本下载下来。
  VBS_Fill_combobox.zip ( 689 bytes ) 

  ( 18 KB ) 
 Fig. 04
  
 2 在 WinCC 画面组态combo boxes 和脚本   
 创建两个 "Siemens STEP 7 S7 ComboBox" 类型的对象,名字为:"Combo1" 和 "Combo2"。   
 在您放入 Combo boxes 的 WinCC 画面事件 "Picture Object > Miscellaneous > Open Picture" 中,创建如下的 VB脚本:
 Sub OnOpen()
   Call Fill_combobox ("Combo1", "CFC(1)/TESTENUM.SOURCE")
   Call Fill_combobox ("Combo2", "CFC(1)/TESTENUM.DEST")
 End Sub 

 在 combo box 的事件 "S7FlatComboBox > Object Events > Click" 中,您组态如下的 VB 脚本来将 combo box 中的选择项写回到控制器中:
 Sub Click(Byval Item)
   Const cfcName = "CFC(1)/TESTENUM.SOURCE"
   Dim tagCFC
   Set tagCFC = HMIRuntime.Tags(cfcName)
   tagCFC.Value = Item.ListIndex + 100
   tagCFC.Write
 End Sub
  
 3 结果:
 现在你可以通过组合框来选择块的参数。 

 Fig. 05 

 
 Fig. 06
  

 
  
  
  条目号:28921535     日期:2008-05-28   
  http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&lang=zh&siteid=cseus&objid=28921535
  
 

提问者对于答案的评价:
谢谢各位!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc272690.html

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

相关推荐

  • WINCC与300通讯不上

    使用TCP/IP通讯协议通讯,但SET PG/PC界面没有显示可用的TCP/IP协议,有黄色感叹号,是不是没有装驱动?需要什么驱动?怎么装?网络适配器是正常的,可以使用,…

    SIMATIC WinCC 2019年6月11日
  • 几个独立的WINCC系统 变量归档怎么同步?

    如题,一个总控系统,若干个单机。单机采PLC的变量做归档,总控通过OPC读取单机wincc变量再做一次归档,如何做到单机和总控的归档时间是一样的(总控与单机已做时间同步) 最佳答案…

    2021年7月5日
  • winccv7.0中怎么没有DTPicker控件

    wincc7.0中没有DTPicker控件,能用什么控件代替啊,求大神指导 最佳答案 要现在脚本中引用控件:如:dimfromsetfrom=screenitems("控…

    SIMATIC WinCC 2018年12月14日
  • wincc连接中的作业邮箱怎么设置,编译过程中老是提示错误不能编译

    请输入详细内容wincc连接中的作业邮箱怎么设置,编译过程中老是提示错误不能编译 最佳答案 用户归档的使用参考视频:WinCC V7.3用户归档入门指南http://ww…

    SIMATIC WinCC 2021年7月5日
  • 数据桥授权

    我安装的数据桥(industrial data bridge)版本号为6.0SP1,有一个授权为WinCC Ind.DataBridge(512)&n…

    SIMATIC WinCC 2019年6月11日
  • winCC程序拷到另一台电脑上运行

    编好的winCC程序,需要拷贝到另一台电脑上运行,怎么才能做到运行的电脑上只能进入运行系统,不能看到我的源程序。换句话说,就是客户只能用运行系统,不能查看和修改我的程序 最佳答案 …

    SIMATIC WinCC 2017年6月11日
  • WICC7.0工程师站和操作员站画面共享

    我现在上位机工程师用的是CP1613与CP343-1通讯的,CP1613用的是MAC地址!现在想在工艺台操作员站上实现画面共享!不知道该怎么在NET里组态?请各位大侠们帮忙!对了,…

    SIMATIC WinCC 2019年6月11日
  • wincc 扫描时间

    操作台上有一停止按钮,作用是停止电机, 地址为“I12.0”,我想在这个按钮按下之后,使鼓风机停止,鼓风停止 控制点为:M16.1 上位机上&nbsp…

    SIMATIC WinCC 2020年11月1日
  • Simatic WinCC标准弹出窗口

    我看了Simatic WinCC标准弹出窗口的相关文章,发现可以通过结构体变量,用变量前缀的方式,还有通过动态向导的方式,不知是否有通过数组,索引值的方式?在做结构体变量…

    2021年7月5日
  • wincc flexible中图片颜色失真

    我在项目中将原来的触摸屏类型从MP277改为了MP370,可是原来的彩色图片却出现了失真的现象,可是将该图片导出来编辑的时候图形却正常。图片格式为24位位图BMP。请问大家怎样才能…

    SIMATIC WinCC 2019年6月11日