矩形中-事件-属性-几何,如何触发

在做一个矩形时,在其属性-几何中,对X/Y宽度、高度做了动态,用的C脚本,问如何触发这些动作。谢谢。
 

最佳答案

如何动态化图形对象的大小和位置?
 描述:
 图形对象的“动态填充”属性只允许从底部到顶部填充对象,即使该对象被旋转。本条目描述了如何动态化一个矩形,以达到棒图从右到左增长的效果。对象的大小和位置也可以通过同样的方法实现动态化。

 在WinCC实例中有以下对象被引用:
   描述 对象名称 属性 
 填充变量 "Level" 无符号8位数值, 下限: 0, 上限: 100 
 边界矩形 "Border" 几何: X=19, Y=39, 宽度=402, 高度=32 
 填充矩形 "LevelRect" 几何: X=20, Y=40, 宽度=400, 高度=30
 颜色: 线颜色 = 背景颜色 

 
 注意:
 对所有的动态都使用变量触发: 

 变量: "Level" 
 更新: "一旦改变"
 选择1:动态值的范围
 为下面的填充矩形设置动态效果。 

 
 图 01 

 位置X: 公式: 420 - (400/100 * 'Level') 
 宽度: 公式: 400/100 * 'Level'

 图 02: 动态位置X

 选择2:用C脚本作动态化
   编号 描述: 
 1 属性"位置 X"的C脚本 
 #include "apdefap.h"
 long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
 {
    int level;
    level = GetTagByte("Level");
    return 420 - ( orgWidth / 100 * level );
 }
  
 2 属性"宽度"的C脚本 
 #include "apdefap.h"
 long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
 {
    int level;
    level = GetTagByte("Level");
    return 400 / 100 * level;
 }
  

 
 选择3: 用VB脚本作动态化
   编 号 描述: 
 1 属性"位置 X"的VB脚本 
 Function Left_Trigger(Byval Item)
    Dim level
    Set level = HMIRuntime.Tags("Level")
    Item.Left = 420-(400/100 * level.Read)
 End Function
  
 2 属性"宽度"的VB脚本 
 Function Width_Trigger(Byval Item)
    Dim level
    Set level = HMIRuntime.Tags("Level")
    Item.Width = 400/100 * level.Read
 End Function
  

 
 结果: 

 
 图 03 

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

提问者对于答案的评价:
很详细,谢谢了,对下楼的,也表示感谢!

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

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

相关推荐

  • WINCC如何重新激活OPC服务器

    WINCC通过OPC与其他PLC通信,第三方的OPC服务器挂了(死掉了),除重启WINCC运行系统外,能不能通过脚本再次激活,当然是只知道OPC服务器的名(称服务器ID),其他就不…

    SIMATIC WinCC 2021年7月5日
  • WINCC以太网通讯

    有一台300PLC,与现场ET200采用DP通讯。问题是:300PLC连接至局域网,上位wincc是否可以从局域网读信息? 问题补充:我指的局域网,是计算机网,即我可以用这台电脑上…

    SIMATIC WinCC 2019年6月11日
  • wincc7.3和winc7.4能同时安装在同一台电脑上吗?

    wincc7.3和winc7.4能同时安装在同一台电脑上吗? 钻石用户推荐最佳答案 经典版Wincc同一系统只能安装一种版本,两个版本可以考虑虚拟机安装。 文档链接 :https:…

    SIMATIC WinCC 2020年11月1日
  • 西门子软件订货号和价格事宜

    西门子wincc7.3在采购的时候需要采购开发+运行的USB狗,根据需求订购点数。那么TIA博图软件是否也有订货号,也是开发+运行USB狗的方式吗?订货号是都少,范围有哪些,包括w…

    2021年7月5日
  • wcc项目复制后,语言怎么回事?

    我从车间用项目复制器把wcc的数据复制过来后,然后自己的电脑上打开,发现图形编辑器的文本都成了???,下面状态栏显示德语,但车间运行时wcc里的文本就是英语啊,怎么回事啊?我安装的…

    SIMATIC WinCC 2019年6月11日
  • 求助WINCC 脚本不启动运行

    脚本运行是变量自加一脚本以及脚本触发都做好 变量也挂好 但是运行时候就是没有变化 一直显示1无变化 这个是什么情况求大神指教 谢谢…

    2020年11月1日
  • wincc flexible变量表

    flexible能否创建变量表格,如S7内的数据块一样,如:第一列变量名,第二列变量数值,等等。。并且可以通过变量名搜索变量。 如何实现? 最佳答案 你可以在wincc&…

    2017年6月29日
  • 请问谁有WinCC Configuration Tool手册

    详细的使用方法 最佳答案 在WINCC 7 的光盘里有 参考资料:http://support.automation.siemens.com/CN/llisap…

    SIMATIC WinCC 2017年10月29日
  • showalarmwindow

    MP277的屏,用系统函数showalarmwindow显示报警窗口,我有新建了报警视图,但showalarmwindow的对象名写什么都不对,对象名应该是什么? 最佳答案 这需要…

    SIMATIC WinCC 2017年11月29日
  • 如何在wincc sp3种移植5.1的项目

    今天装了下英文的wincc sp3,在装的过程种,发现它不像SP2似的有个会自动提出"需要插入wincc 5.1光盘"的选项,我知道如果要移…

    SIMATIC WinCC 2019年6月11日