技术论坛

wincc常用脚本-二

作者 主题
奇侠

经验值: 6627
发帖数: 217
精华帖: 3
主题:【分享】wincc常用脚本-二
推荐帖


只看楼主 楼主 2019-04-24 14:46:31

1、打开系统某应用软件(C脚本)

#pragma option(mbcs)


ProgramExecute("C:\Program Files (x86)\VWController-CN(2.0.0.3)\VWController-CN.exe");


注意:从应用属性复制路径后要把改为\


2、if-else语句(C脚本)

int gscAction( void )

{

BOOL bTmp1;

bTmp1 = GetTagBit("flash1"); //Return-Type: BOOL 

if (bTmp1 == 1)

{

  bTmp1 =0;

}

else

{

  bTmp1 = 1;

}

SetTagBit("flash1", (short int)bTmp1); //Return-Type: BOOL 


3、修改趋势控件时间轴(C脚本)

#define Page lpszPictureName

#define Window "控件1"

SetPropWord(Page,Window,"TimeAxisIndex",0);

SetPropWord(Page,Window,"TimeAxisTimeRangeFactor",4);

SetPropWord(Page,Window,"TimeAxisTimeRangeBase",3600000);

以上为4小时

#define Page lpszPictureName

#define Window "控件1"

SetPropWord(Page,Window,"TimeAxisIndex",0);

SetPropWord(Page,Window,"TimeAxisTimeRangeFactor",10);

SetPropWord(Page,Window,"TimeAxisTimeRangeBase",60000);

以上为10分钟

可效仿以上示例实现按钮更改趋势控件时间轴,更改为任意时间范围。


4、更改趋势控件数值轴(C脚本)

int a,b;

a = GetTagDWord("gl_H"); //Return-Type: DWORD 

b = GetTagDWord("gl_L"); //Return-Type: DWORD 



#define Page lpszPictureName

#define Window "控件1"


SetPropWord(Page,Window,"ValueAxisIndex",0);

SetPropWord(Page,Window,"ValueAxisEndValue",a);

SetPropWord(Page,Window,"ValueAxisBeginValue",b);


建立内部变量,按钮动作编写以上脚本



有志者事竟成~~~
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1555593&b_id=5&s_id=0&num=6

版主

经验值: 69043
发帖数: 12262
精华帖: 59
回复:wincc常用脚本-二
推荐帖


只看楼主 1楼 2019-04-24 15:53:24

感谢分享

第二个If else语句就是乒乓键哈


Q群:https://jq.qq.com/?k=9BDuEgf6
以下网友喜欢您的帖子:

  
版主

经验值: 69043
发帖数: 12262
精华帖: 59
回复:wincc常用脚本-二
推荐帖


只看楼主 2楼 2019-04-24 15:53:58

脚本再加上注释就好了,方便初学者学习理解


Q群:https://jq.qq.com/?k=9BDuEgf6
以下网友喜欢您的帖子:

  
版主

经验值: 43587
发帖数: 15780
精华帖: 61
回复:wincc常用脚本-二


只看楼主 3楼 2019-04-25 07:38:37

对于高手来说你这个不难,对于低手来说,你这个难懂。程序加注解是很有必要的。


活到老,学到老!为了生活学习吧!
以下网友喜欢您的帖子:

  
至圣

经验值: 18405
发帖数: 2409
精华帖: 1
回复:wincc常用脚本-二


只看楼主 4楼 2019-04-25 09:19:33


源码分享!


 
以下网友喜欢您的帖子:

  
侠客

经验值: 616
发帖数: 28
精华帖: 0
回复:wincc常用脚本-二
推荐帖


只看楼主 5楼 2019-04-25 09:50:56

其实第二个if else写成如下格式更简捷一些:

SetTagBit("flash1", !GetTagBit("flash1"));

一句搞定。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 16723
发帖数: 1309
精华帖: 2
回复:wincc常用脚本-二


只看楼主 6楼 2019-04-27 11:30:03

干净干净干净


同一个问题ID下,已经先回答此问题的人,如再参考我答案而修改自己答案的,就是王八蛋!
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
wincc常用脚本-二
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。