超多类似画面对象编辑-巧用对象名-暂时只有C脚本

已锁定

RENHQ

版主 西门子1847工业学习平台

  • 帖子

    12215
  • 精华

    59
  • 被关注

    1931

论坛等级:至圣

注册时间:2008-12-28

钻石 钻石 如何晋级?

超多类似画面对象编辑-巧用对象名-暂时只有C脚本

2516

21

2021-09-01 10:26:35

6.1 前言

这两天有网友问,画面上如果有N多按钮需要做,怎么做简单一些,碰巧前段时间帮朋友做了一个项目,里面有个类似的要求,要求是这样的:画面上有好几十个图片,每个图片代表一个设备,鼠标放上去之后能够显示该设备的名称、状态等。这位网友的要求差不多,不过之前的那个我是用VBS实现的,而且还是有些繁琐,这位网友要用C脚本做,这里试着实验一下。

6.2 要求

       画面上有N多按钮如附图:


为了减小图片大小,做9个按钮作为示例

为了编辑简单,减少工作量,总结有这样的要求:

1)     按钮上需要显示不同的问题,文本为”骨仓XX#”,XX为编号0-200

2)     点击按钮,弹窗显示“确认选择仓位XX吗”,点击是,把XX送入变量bin_select里面

3)     增加按钮的时候,只复制粘帖,然后根据需要排布位置,改一下按钮对象编号即可。

6.3 实现方法

利用WinCC在复制粘帖对象时,会自动把对象名称的最后的数字自动加1(如果对象是从1开始,不是从1开始的,那可能就自动变成1或者1不重复的数字),这样利用脚本获取按钮对象的对象名称,然后把编号获取出来,再进行字符串拼接,就能实现这个功能。

  按钮对象取名按”BT_GC_1”为”骨仓1#”开始,至”BT_GC_9”为”骨仓9#”

  bin_select变量为内部无符号32位整数,用来防止点击按钮之后的编号。


  为方便脚本修改,脚本在全局脚本的项目函数里面写。思路主要就是获取按钮对象名称比如:”BT_GC_1”,然后查找”_”符号,把最后面的数字给提取出来,然后再根据需要连接字符串等操作。

详细脚本如下:

6.3.1 按钮文本的相关脚本

按钮脚本:

 

函数脚本:


6.3.2 按钮动作:

鼠标动作脚本:


其函数脚本:


6.4 测试图



6.5 补充点

这个主要是用于做项目的时候,有多个类似多项的时候用,而且需要对脚本有一定的了解,按钮里面的脚本组态完全一样,做好一个按钮,其他的复制粘帖就好了,特别是编号能连续起来,如果不能连续起来的话,那就后期删除用不到的对象,或者手动改成需要的编号,能减少不少重复的操作,其他的功能比如打开不同的画面,修改其他的属性,也一样能实现,具体就是修改函数脚本了。

由于C脚本不是很熟悉,在字符串截取的时候,费了挺长时间,而且也不知道采用的是不是最好的方案。个人对VBS更熟悉一些,实现起来可能也能更简单点。

后面再附上VBS的脚本吧


我没怎么做过项目,具体的客户需求了解的还是不多。如果你还有别的需求,可以留言讨论。


超多类似画面对象编辑-巧用对象名-暂时只有C脚本 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有31058条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。